Captains log

This commit is contained in:
simibubi 2023-05-13 12:37:52 +02:00
parent 3f31353fea
commit 2b02e56052
4 changed files with 158 additions and 19 deletions

138
## Changes.md Normal file
View File

@ -0,0 +1,138 @@
## Additions
- Netherite Backtank
- Netherite Diving Helmet and Boots
- Contraption Controls
- Elevator Pulley
- Copycat Panels and Copycat Steps
- Block of Andesite Alloy
- Block of Industrial Iron
- Large Water Wheel
- Mechanical Roller
- Andesite, Brass and Copper Doors
- Andesite, Brass and Copper Bars
- Andesite, Brass and Copper Scaffolding
- Clipboard
- Mangrove Windows (1.19)
## Changes
- Overhauled models and textures of Andesite & Brass components (Kryppers)
- Reworked textures of colored blocks such as seats and sails (dani)
- New filter sprites (vectorwing)
- Valve handles can now be used to precisely turn mechanical bearings by a set angle
- Pulley ropes are now climbable
- Lowered hitbox of seats for improved traversability inside contraptions
- Improved safety for players standing on vertically moving contraptions
- Pulley contraptions will now make an effort to place remote players at y values sensible to the client
- Fixed seated entities on rotating contraptions not rendering at the correct location
- Deployers no longer fail to activate in chunks claimed or protected by the player that placed them
- Fixed couplings, schematics and in-world overlays not rendering correctly at coordinates far from the origin
- Fixed Bearings, Pistons, Pulleys and Gantries powered by a Sequenced Gearshift not moving precisely to its instructions at high speeds
- Minecart contraptions no longer visually jump to a location when stalled
- Mechanical bearings now snap to a rounded angle when stopped
- Contraption storage now accepts more chests and barrels from other mods
- Players can now open chests and barrels on assembled contraptions
- Mechanical Pumps no longer reverse direction based on kinetic input
- Fixed pipe connections pulling fluids with half the speed compared to a directly attached pump
- Substantially increased speed of visual flow propagation inside pipe networks
- Portable storage interfaces now stall for longer after an exchange has happened, and shorter otherwise
- Single train track blocks with slopes connected on either side will angle themselves to create a smoother ascend across both
- Multiple pulleys can now attach to contraptions in a synchronised group
- Display Boards now update text instantaneously at high input rpm
- Diving helmets now always grant aqua affinity
- Diving helmets can no longer be enchanted with aqua affinity
- Water wheel fins are no longer directional
- Water wheels now only have one speed level
- Water wheels can now take the appearance of any reasonably implemented wood type
- Added sided door control options to elevator contact and train station UI
- Liquid can no longer spread perpendicularly on top of water wheels
- Overhauled UX of scroll values and item filtering
- Filtered item extraction can now be configured to pull "up to x items" per operation
- Connected textures now use and apply the getAppearance() standard by Forge, allowing them to connect across other mods' facades, etc. (1.19)
- Boiler status now highlights information about water flow when insufficient
- The majority of in-world options no longer require a wrench
- Chutes can now be encased in Industrial Iron Blocks
- Chutes are now less prone to resetting shape when moved or rotated
- Moved metal block variants to Building Blocks tab
- Changed stonecutting ingredient of metal block variants from sheet to ingot
- Base stone blocks can now be stonecut back from their cut variants
- Fixed track placement allowing an s-bend between two sloped track pieces in specific arrangements
- Fixed funnels losing filters when changing between types
- New randomised textures for natural palette stone types (Kryppers)
- Readjusted palette stone generation to use taller layers
- World generation now places fewer stone type veins by default
- Fixed lava fans voiding items that have smoking & smelting recipes with different outputs
- Filter items now filter for their own item type if left empty
- Valve handles no longer create stress config entries for each dyed variant
- Place near initial angle mode on bearings now has a smaller interval considered 'near'
- Players can now take items from saws via right-click
- Item Drains now accept dropped items as input
- Train track placement overlay now explicitly mentions the ctrl key
- Fixed Mechanical Saws not rendering as animated when using rubidium
- Fixed a ui element of the Station Screen rendering behind the background
- Belts printed instantly or via cannon now retain the correct type of casing
- Scheduled trains no longer slow down for slight ascends/descents on a straight track
- Fixed saplings and other non-collidables sticking to chassis or super glue
- Encased Fluid Pipes no longer z-fight on open pipe faces
- Valve handles now turn twice as quickly
- Bearings no longer have the angle-indicating nook on their block
- Depot hitbox is now a simple cuboid
- Fixed belts encased with andesite briefly showing brass textures
- Fixed Filters and Attribute Filters not stacking with unmodified, equivalent stacks
- Fixed Attribute Filters saving the name tag preview item in their data
- Filters and Schedules can now be reset via crafting
- Renamed Sails to Windmill Sails
- Crushing gold ore now yields more experience nuggets
- Fixed valve pipes sometimes not rotating their indicator fully
- Horizontal, encased belts now render a support structure when solid blocks are above them
- Added placement assist for mechanical drills, saws and deployers
- Mechanical Belts can now be waterlogged
- Depots and Ejectors can now be Waterlogged
- Chutes and Funnels can now be Waterlogged
- Fixed upright mechanical saws only able to be oriented in two directions
- Deployers now have their filter slot on the side of the block
- Deployers can now be rotated by wrenching them near the edge of the front face
- Deployers now set filters on blocks only by targeting any location on a correct side
- Fixed Schematics loaded for deployer printing not rotating block entity contents
- Added tripwire to #movable_empty_collider
- Renamed Stockpile Switch to Threshold Switch
- Renamed Content Observer to Smart Observer
- Smart observer and threshold switch can now be oriented to face blocks above or below them
- Smart observer will now also emit redstone when the block in front of it matches its filter
- Fixed non-vanilla signs not accepted as valid display targets
- Brass tunnels with no distribution behaviour no longer show the mode switcher
- Used more contrasting colours for diode and tunnel value inputs
- Fixed crash when hose pulley cannot find reference fluid for infinite draining
- Clipboards can now be used to transfer settings between blocks
- Clipboards can now be used to manually write to Display Boards and Nixie Tubes
- Clipboards can now be used as Material Checklists in the Schematicannon
- Fixed and edited existing tooltips and ponder scenes to include behavioural changes in 0.5.1
- New ponder scenes for Smart Observer, Threshold Switch, Elevator Pulley, Contraption Controls and Mechanical Rollers
- Fixed ponder overlay text rendering with wonky pixels
- Added a ponder category for recently added/changed blocks
- Renamed Filter to List Filter
- Deployers can now apply filters to a Redstone link with less required precision
- Bezier track segments now render with a slight angle to reduce z-fighting
- Fixed offset shaft rotation on encased large cogwheels
- Fixed Smart Fluid Pipe not dropping filter when broken
- Placards and Creative Crates will no longer hold on to special nbt content (except potion data, damage, enchants) of the contained item when imported via Schematicannon
- Schematicannons can no longer print mobs
- Fixed item frames not requiring an exact nbt match for printed contents
- Players can now sneak while using exp nuggets to only consume one item at a time
- Minecart contraption items can no longer be placed in container items like toolboxes or shulkers (configurable)
- Implemented ComputerCraft interaction for Speed Controllers, Display Links, Speedometers, Stressometers, Sequenced Gearshifts and Train Stations (caelwarner)
- Hand crank no longer drains hunger when using the extendo grip (Xstoudi)
- Fixed Encased Chain Drives not reacting to block rotation and mirroring correctly
- Open Ended Pipes now correctly handle Builder's Tea (NerdsOfAFeather)
- Added Config entry for brass tunnel distribution cooldown (Walle123)
- API for custom bogey & track types (Rabbitminers, techno-sam)
- Fixed server crash caused by Gantry Contraptions assembling (Lucasmellof)
- Fix "Lighter than air" fluids displayed incorrectly in spouts (cakeGit)
- Added rotate and mirror methods to Fluid Pipes (xieve)
- Chocolate & Honey fluid fog distance is now configurable (radimous)
- Added a TrackGraph merge event (DaComputerNerd717)
- Fixed players dismounting when trains get assembled (Equinoxxe)
- Added GameTests (TropheusJ)
- Added armor tags (NerdsOfAFeather)
- Major updates now release as patch A

View File

@ -608,7 +608,7 @@ public abstract class Contraption {
blockstate = blockstate.setValue(RedstoneContactBlock.POWERED, true);
if (AllBlocks.POWERED_SHAFT.has(blockstate))
blockstate = BlockHelper.copyProperties(blockstate, AllBlocks.SHAFT.getDefaultState());
if (blockstate.getBlock() instanceof ControlsBlock)
if (blockstate.getBlock() instanceof ControlsBlock && getType() == ContraptionType.CARRIAGE)
blockstate = blockstate.setValue(ControlsBlock.OPEN, true);
if (blockstate.hasProperty(SlidingDoorBlock.VISIBLE))
blockstate = blockstate.setValue(SlidingDoorBlock.VISIBLE, false);

View File

@ -21,57 +21,57 @@ public class PonderTag implements ScreenElement {
public static final PonderTag
KINETIC_RELAYS = create("kinetic_relays").item(AllBlocks.COGWHEEL.get(), true, false)
KINETIC_RELAYS = create("kinetic_relays").item(AllBlocks.COGWHEEL.get())
.defaultLang("Kinetic Blocks", "Components which help relaying Rotational Force elsewhere")
.addToIndex(),
KINETIC_SOURCES = create("kinetic_sources").item(AllBlocks.WATER_WHEEL.get(), true, false)
KINETIC_SOURCES = create("kinetic_sources").item(AllBlocks.WATER_WHEEL.get())
.defaultLang("Kinetic Sources", "Components which generate Rotational Force")
.addToIndex(),
KINETIC_APPLIANCES = create("kinetic_appliances").item(AllBlocks.MECHANICAL_PRESS.get(), true, false)
KINETIC_APPLIANCES = create("kinetic_appliances").item(AllBlocks.MECHANICAL_PRESS.get())
.defaultLang("Kinetic Appliances", "Components which make use of Rotational Force")
.addToIndex(),
FLUIDS = create("fluids").item(AllBlocks.FLUID_PIPE.get(), true, false)
FLUIDS = create("fluids").item(AllBlocks.FLUID_PIPE.get())
.defaultLang("Fluid Manipulators", "Components which help relaying and making use of Fluids")
.addToIndex(),
LOGISTICS = create("logistics").item(Blocks.CHEST, true, false)
LOGISTICS = create("logistics").item(Blocks.CHEST)
.defaultLang("Item Transportation", "Components which help moving items around")
.addToIndex(),
REDSTONE = create("redstone").item(Items.REDSTONE, true, false)
REDSTONE = create("redstone").item(Items.REDSTONE)
.defaultLang("Logic Components", "Components which help with redstone engineering")
.addToIndex(),
DECORATION = create("decoration").item(Items.ROSE_BUSH, true, false)
DECORATION = create("decoration").item(Items.ROSE_BUSH)
.defaultLang("Aesthetics", "Components used mostly for decorative purposes"),
CREATIVE = create("creative").item(AllBlocks.CREATIVE_CRATE.get(), true, false)
CREATIVE = create("creative").item(AllBlocks.CREATIVE_CRATE.get())
.defaultLang("Creative Mode", "Components not usually available for Survival Mode")
.addToIndex(),
MOVEMENT_ANCHOR = create("movement_anchor").item(AllBlocks.MECHANICAL_PISTON.get(), true, false)
MOVEMENT_ANCHOR = create("movement_anchor").item(AllBlocks.MECHANICAL_PISTON.get())
.defaultLang("Movement Anchors",
"Components which allow the creation of moving contraptions, animating an attached structure in a variety of ways")
.addToIndex(),
CONTRAPTION_ACTOR = create("contraption_actor").item(AllBlocks.MECHANICAL_HARVESTER.get(), true, false)
CONTRAPTION_ACTOR = create("contraption_actor").item(AllBlocks.MECHANICAL_HARVESTER.get())
.defaultLang("Contraption Actors",
"Components which expose special behaviour when attached to a moving contraption")
.addToIndex(),
CONTRAPTION_ASSEMBLY = create("contraption_assembly").item(AllItems.SUPER_GLUE.get(), true, false)
CONTRAPTION_ASSEMBLY = create("contraption_assembly").item(AllItems.SUPER_GLUE.get())
.defaultLang("Block Attachment Utility",
"Tools and Components used to assemble structures moved as an animated Contraption")
.addToIndex(),
SAILS = create("windmill_sails").item(AllBlocks.WINDMILL_BEARING.get())
SAILS = create("windmill_sails").item(AllBlocks.WINDMILL_BEARING.get(), true, true)
.defaultLang("Sails for Windmill Bearings",
"Blocks that count towards the strength of a Windmill Contraption when assembled. Each of these have equal efficiency in doing so."),
ARM_TARGETS = create("arm_targets").item(AllBlocks.MECHANICAL_ARM.get())
ARM_TARGETS = create("arm_targets").item(AllBlocks.MECHANICAL_ARM.get(), true, true)
.defaultLang("Targets for Mechanical Arms",
"Components which can be selected as inputs or outputs to the Mechanical Arm"),
@ -84,13 +84,11 @@ public class PonderTag implements ScreenElement {
"Components that have been added or changed significantly in the latest versions of Create")
.addToIndex(),
DISPLAY_SOURCES = create("display_sources").item(AllBlocks.DISPLAY_LINK.get(), true, false)
.item(AllBlocks.DISPLAY_LINK.get(), false, true)
DISPLAY_SOURCES = create("display_sources").item(AllBlocks.DISPLAY_LINK.get(), true, true)
.defaultLang("Sources for Display Links",
"Components or Blocks which offer some data that can be read with a Display Link"),
DISPLAY_TARGETS = create("display_targets").item(AllBlocks.DISPLAY_LINK.get(), true, false)
.item(AllBlocks.DISPLAY_LINK.get(), false, true)
DISPLAY_TARGETS = create("display_targets").item(AllBlocks.DISPLAY_LINK.get(), true, true)
.defaultLang("Targets for Display Links",
"Components or Blocks which can process and display the data received from a Display Link");
@ -158,7 +156,7 @@ public class PonderTag implements ScreenElement {
}
public PonderTag item(ItemLike item) {
return this.item(item, true, true);
return this.item(item, true, false);
}
@Override

View File

@ -4,6 +4,7 @@ import java.text.NumberFormat;
import java.util.Locale;
import net.minecraft.client.Minecraft;
import net.minecraft.util.Mth;
public class LangNumberFormat {
@ -25,6 +26,8 @@ public class LangNumberFormat {
}
public static String format(double d) {
if (Mth.equal(d, 0))
d = 0;
return numberFormat.get()
.format(d)
.replace("\u00A0", " ");