- use minecraft's palette-map during serialization and deserialization to reduce compound size in most cases
- also update the placement_indicator sprite sheet
- rebrand
- support for particles
- support for fluids
- support for outliner
- coloured text labels
- debug scenes
- proper UI stuff
- proper layered rendering
schematic rendering is fixed.
both of these are kinda ugly hacks, and there is definitely some rewriting necessary for when it's time to be more opengl compatible.
maybe fix belt lighting, again.
remove old belt assets.
- Fixed floor-mounted cogbrackets not having a particle texture
- Redesigned clutch, gearshift, seq. gearshift and speed controller with up-to-date palettes
- Added Gantry shafts and Gantry pinions
- Further attempts at stabilizing kinetic propagation
- Contraption types can now be added from external code
- Kinetic tile entities now have more control over kinetic propagation rules
- Added backend for loading schematic configurations globally for any component to see
- Encased chain drives are less likely to create a kinetic source loop when wrenched
- Piston and Pulley contraptions are less likely to overshoot targets at high speeds
- Added smart chutes
- Reworked non-mounted funnels to be consistent will all other funnel configurations
- Non-mounted funnels no longer occupy a full block length
- Non-mounted funnels can now insert and extract ground items
- Vertical funnels can no longer transfer between inventories
- Redstone links can now be placed onto any non-empty space
- Mechanical arms no longer arbitrarily wait between operations unless targets are overflowing
- Gave indicators on funnels better visibility
- Chutes now display contents in their goggle overlay
- Mechanical Arms and Wrenches can no longer be assigned to filter slots directly
- Controller rails can now control furnace minecarts
- Controller rails now snap to adjacent rails with the correct facing
- Controller rails no longer get reversed when transitioning to or from a slope in certain orientations
- Controller rails are now craftable
- Fun refactors
- Updated texture
- Recipe adjustments
- apply redstone's block coloring to the controller rail
- add a little more polish to the piston pole placement helper
- textures at create:block/controller_rail_on and _off are currently unused, _analog is used for item only i think
- Fluid Tanks and Creative Fluid Tanks now form a combined fluid inventory on contraptions
- Added the Portable Fluid Interface
- Fixed tanks placed with nbt not clamping their contained fluids
- Item Storage information on Contraptions no longer get sent to the client
- Combined fluid storage synchronizes to the client and applies new contents to the corresponding mounted TE renderers
- Fixed motion of dripping potion particles from fluid pipe flow indication
- Portable Storage interfaces now interrupt their connection when receiving redstone power
- Updated wrench model (Kryppers)
- Funnels on depots and perpendicular to belts use a new model
- Funnels at the end of belts
- no longer have a directional constraint
- can now be extended/retracted manually
- now hold items back at the block boundary
- Extracting Funnels on top of belts can now specify an amount no their filter, taking x items off a nearby stack when possible
- Fixed some issues with belt/funnel interaction
- Items reaching the end of a belt will still be regularly checked by perpendicular funnels in the space
- Contraptions now render blocks in appropriate render layers
- Straight diagonal Chutes now create an intersection when a funnel is directly above them
- Attempted a safety fix to bracket removal from shafts and cogs
- Fixed windmill structures not stalling when their attached network is overstressed
- Added wooden and metal brackets
- Brackets can be applied to shafts, cogs and fluid pipes
- Brackets prevent pipes from connecting to adjacent pipes
- Fixed blockzapper not showing up in the searchable creative menu
- Added config values for hose pulleys
- Hose pulleys now extinguish lit waterloggable blocks
- Hose pulley now break blocks that cannot withstand vanilla fluid flows
- Spout is now wrenchable
- Fixed spout not activating properly
- Added fluid particles that supports fluids without a block variant
- Potion fluids now apply their effects to nearby entities when spilling from an open end
- Fixed pumps not rendering fluid particles when spilling/pulling fluids directly
- Hose Pulley no longer accepts fluids that cannot be placed
- Hose Pulleys and open pipes can no longer place water in the nether
- Some Refactors to the particle system
- Reverted reversed crtl activation for schematic tools
- Added a command to fix broken lighting in some of creates models (enables experimental forge block rendering)
- Fixed fluid ingredients in jei once again
- Fixed fluid tag ingredients being resolved on the client
- Added the hose pulley
- Added creative tanks
- Fixed sails not getting consumed when placed against each other
- Items can now be inserted onto belts regardless of it moving or not
- Fixed item duplication on stopped belts
- Refactored fluid block rendering in JEI
- Reworked model of the schematic table
- Fixed Mechanical Press animation de-sync between server and client
- The press no longer requires a redstone signal to activate on in-world items
- Fixed spouts and basin trying to create potion buckets
- The Mechanical bearing can no longer generate force from wind
- Added the windmill bearing
- Windmill bearings can be configured to rotate counter-clockwise
- Added Sail Frames and Sails
- Sails can by dyed in-world
- Sails negate fall damage
- Sails attach themselves to blocks and do not require a sticky surface or chassis
- Clockwork bearings can now be configured to switch minute and hour hand aswell as use a 24 hour cycle
- Fixed tunnels with windows occluding block faces directly behind them
- Fixed item model of the mechanical saw
- remapped seat tooltips
- remapped outdated lang keys
- applied changes of #395 to 1.15
- Fixed Schematic hotbar overlay sometimes drawing on top of the item icon
- Fixed mechanical arm lighting and render bounds issues
- Refactored JEI plugin to use a builder for categories
- The mixer can now process vanilla potion recipes
- JEI support for fluid potion mixing
- Refined some categories to not show obsolete information
- Compacting and automatic vanilla packing are now in separate tabs
- Fluids can now be manually picked up from a basin
- Basins and Spouts can now extract from and fill vanilla potion items
- Improved the filtering for fluid tests, such as the basin recipe and smart pipes
- Fixed CombinedTankWrapper losing nbt data of transferred fluidstacks
- Fixed players flailing their limbs around while standing still on a moving contraption
- Attempted to reduce drag of remote player positions while on a contraption
- Contraptions no longer log out with the player riding them
- Attribute filters are now made of brass
- Added the ability to disable auto-compat with vanilla recipe types in the configs
- Added a recipe type for custom basin/press compacting
- Basins can now process items and liquids in recipes
- Input items/fluids of a basin can now be extracted or reused in further processing
- A basin diagonally below another basin with collect outputs of recipes processed in the top basin for ease of automation
- (Temporary debug recipes)
- Visual rework of all active UIs
- Fixed large scale renderers such as belts, cannons, pulleys to disappear when partially out of frame
- Schematic and Quill now has the ability to convert a selection to a readied schematic instantly
- Moved option input of cart assemblers to side faces
- Fixed crash when attempting to smelt items on belts/depots
- Stockpile switches can now be inverted
- Fixed stockpile switches not dynamically updating gui indicators frequently enough
- Tanks can no longer be directly interacted with in survival mode
- Sequenced gearshifts now emit a comparator signal based on their current instruction index
- The Piston instruction for sequencers can now accept distances up to 128m
- Fixed some rendering inconsistencies with symmetry mirrors
- Reworked symmetry mirror models to match the tool better
- Attribute filters can now add inverted conditions to the list
- Added the attribute "can be crushed"
- Made the schematicannon interface a little less confusing
- Fixed launched items of the schematicannon rendering warped
- Added a straight pipe variant to cut flows using rotational input
- Added a slower more precise variant of the hand crank
- Basins now render their contained fluids
- Belt observer -> Content observer
- Content observers can now monitor any inventory and funnel transactions
- Stockpile switches no longer only access slots exposed to a specific side of an inventory
- Stockpile switches can now take a filter
- Brass tunnels once again have the ability to synchronize inputs among a chain
- Mechanical arms now have a range limitation
- Mechanical arms now wait with initialization until their area is fully loaded
- Chutes no longer ignore the direction of an attached fans air flow
- Chutes now render particles indicating their movement direction
- Chutes can now pull items up from belts or off the ground
- Fixed item model of shadow casing
- Fixed invisible quads under funnels when no casing is applied to the belt
- Belt mounted funnels can now be perpendicular to the belt theyre on
- Funnels can now transpose items like a hopper when facing down
- Item distribution across belts using brass tunnels can now be configured with a wrench
- Added new icons for the distribution options of arms and tunnels
- Removed obsolete code
- Fixed some weirdness with creative crates and funnels
- Reworked tileentity behaviours for inventory interaction
- Deployers no longer actively pull items from other inventories
- Some more work on basins
- Added a new inventory type wrapping an itemstack handler that automatically syncs the tile entity. It also implements IInventory for recipe shenanigans
- Held items of a deployer can now only be extracted by other blocks if it does not match the filter
- Fixed excess items not able to be extracted from deployers
- Removed some things
- Funnels no longer actively transpose items between chutes and inventories unless they are vertical
- Chutes can now active pull and insert items from/to inventories above/below them
- Added encased and non-opaque versions of the fluid pipe.
- Added new generic te behaviour across pipe blocks for their rims/attachment models
- Pipes and pumps now render a little drain cap when connected to a fluid inventory
- Implemented reworked chute models by Kryppers
- Implemented new basin model by Kryppers
- Chutes now have proper selection bounds
- Some minor texture & model touch-ups
- Fixed symmetry wand position in its GUI
- Fixed some inconsistencies with a tanks' fluidhandler invalidation when resized
- Patched crashes in present fluid handling of the basin
- Tanks now slightly shade horizontal faces of the contained liquid
- Tanks no longer resend data every tick when filled gradually
- Introduced a new lerped value type with better design decisions
- Refactored Smart tileentity serialization to better support custom overrides in contained behaviours
- Pumps propagate flows in the pipe networks in front and behind itself.
- Pumps collect all possible in and outputs across the reachable pipe graph as endpoints
- Flows move across multiple branches of a pipe network when both are equally viable
- Open-ended pipes are treated as endpoints and leak fluid into and out of a block space
- Open endpoints serialize stateful information about fluid units gathered and held at the interface
- Open endpoints turn a fluid block into 1000 fluid units and back
- Open endpoints undo their transaction when their flow changes from pull to push
- Open endpoints cannot pull fluids back when a full liquid block was not placed yet
- Open endpoints waterlog blocks when the provided fluid is water
- A collision response is triggered when different types of fluids meet at open endpoints
- Fluids are transferred instantly by the throughput of a completed flow per tick
- Pumps cut flows when vital pipes are removed
- Pumps do not lose progress of finished flows when an unrelated part of the pipe network changes
- Pumps do not lose progress of finished flows when reversed
- Pumps distribute their throughput across available input flows evenly
- Pumps distribute gathered input fluid across outputs evenly
- Pumps expose furthest reachable pipefaces to other pumps for chained transfer
- Chained pumps with fully overlapping flow sections provide their endpoints at the entrance of the other pump
- Chained pumps with overlapping flow sections participate in two shared endpoints, one for each pump dominating the contested region
- Chained pumps with overlapping flow only transfer via the optimal of the two possible endpoints based on their speeds
- Chained pumps of equal speed pick one of the two available endpoints deterministically
- Pumps transfer without flows when no pipe is between the pump and the endpoint
- Pumps serialize and recover stateful information about held fluid units at open endpoints
- Chained pumps do not actively transfer when both are partaking with push flows (or both pulling)
- A pull flow originating from an inter-pump endpoint only commences when the corresponding push flow is completed
- Chained pumps re-determine the optimal flow when the speed of one is changed at runtime
- Throughput of chained pumps is determined by their weakest link in terms of speed
- Endpoints created for chained pumps is treated equally to other available endpoints when fluid is distributed
- Pipes do not contain a physical amount of fluid.
- Pipes never hold serialized vital stateful information about fluid transfer.
- Pipes synchronize local flow progress and fluid type to clients
- Flows in a pipe progress with the speed of the network flow
- A networks flow speed depends on the speed of the aggregated pump
- Pipe flows of different flow graphs of different pumps interact with each other
- A collision response is triggered when two different types of fluid meet within a pipe
- Pipes spawn particles to illustrate contained flows/liquids of flows
- The fluid transfer role is exposed through a TE behaviour with some callbacks and properties
- Open endpoints show particles when interacting with in-world fluids