- added an event to add custom deploying recipes for addons(that partly need more data and therefore can't use the existing deploying recipe json format)
- made deploying recipe scanning cancelable by event
- added a safety check to tile entity behaviours to prevent concurrent modification exceptions when loading old worlds (0.2 time, dev 0.3)
- MateralManager, MaterialGroup, and InstanceMaterial are all interfaces
- Separate (T)EI facing API from implementation
- Comment out debug log in ModelPool
- Renamed SpawnerMovementSetting to ContraptionMovementSetting and moved it to its own class
- Added a contraption movement setting registry
- Made checks previously checking only spawner movement setting and the block being a spawner to check using ContraptionMovementSetting.get(block)
- Call ContraptionRenderDispatcher#invalidate, at some point during a tick, and the structure will be reset.
- Move contraption compartment to SBBContraptionManager
- Contraption compartment uses custom pair with better hash function instead of apache commons pair
- Call ContraptionRenderDispatcher#invalidate, at some point during a tick, and the structure will be reset.
- Move contraption compartment to SBBContraptionManager
- Contraption compartment uses custom pair with better hash function instead of apache commons pair
- New Loader class in charge of loading and compiling everything
- ShaderSources now only loads sources
- ShaderSources is immutable now
- Resolver singleton in charge of managing name resolutions
- ProgramSpecs go through Resolver
- WorldShaderPipeline no longer needs reference to ShaderSources
- Reorganize everything
- Isolate SourceFile related things
- Should consider decoupling ShaderLoader from resource loading
- Document a lot of newer things
- Index functions
- Awkward WorldContext builder
- Template responsible for providing shader inputs
- Template is now an abstract class
- Template provides GLSL version
- ProgramSpecs now only accept one file
- Redo shader loading
- Now loads an immutable SourceFile containing some metadata
- Replace legacy compilation pipeline with improved new one using new api
- Builtins are defined in one file, now "header"
- New ErrorReporter/ErrorBuilder methods
- Fancier shader loading errors
- Remove utility methods from PonderRegistry and only leave the one
essential method
- Move utility registration methods to PonderRegistrationHelper
- Move entry builder methods to entry class, PonderStoryBoardEntry
- Move listed tags list to tag registry
- Make ponder chapters namespaced
- Add localization and language datagen support for ponder chapters
- Fixed Chutes pulling from inventories causing major framerate drops
- Fixed Chutes sending update packets when idling
- Added a max range for filter slot rendering of blocks
- Synced TEs are no longer able to cause side-effects by calling sendData on the Render Thread
+ FurnaceEngineModifiers which hold a Block -> float map of modifiers
~ Changed FurnaceEngineTileEntity to use the FurnaceEngineModifiers map instead of hardcoded modifier fro the Blast Furnace.
This will allow addon modders to change the speed modifier of a Furnace block.
- More conventional naming for fields of ContraptionMatrices
- Encapsulate fields in ContraptionMatrices
- Move creation to RenderLayerEvent
- De-clutter RenderedContraption#beginFrame
- Bump flywheel version
- Fixed ammo-specific fire damage not dropping cooked drops from killed entities
- Fixed Schematicannons not visually aiming toward current block trajectory
- Fixed placed Schematics using smaller boundaries than the original
- Added the option to enable/disable placing air blocks with instant creative schematic printing
- Added safety check for Missing/Migrated filter attributes #2065
- Added safety check for Crushing wheels near unloaded blocks
- Added safety check for instant printing an invalid Schematic
+ Added create:sandpaper to AllRecipeTypes and datagen.
~ Changed hardcoded list of sandpaper items to Tag.
This would enable me to include the Diamond Grit Sandpaper from CC&A in the deployer recipe. Node: There might be more applications for this tag.
- Make PonderRegistry use a ThreadLocal current namespace
- Add synchronized blocks to some methods that modify maps or lists
- Move some non-thread safe method calls to the event.enqueueWork
lambdas
- Buffered models directly consume IModels
- Document IModel more
- Move contraption world render spoofing to flywheel
- Miscellaneous new RenderMaths
- Added WorldModel, renders many blocks given a world instance
- Fix broken transparency on contraptions when using Flywheel
- Different subclasses for flywheel rendering and sbb rendering
- Select which to use on renderer reload, gather context, and when create buffers are invalidated
- ContraptionRenderDispatcher's meat was moved to WorldContraptions
- Rename ContraptionWorldHolder to ContraptionRenderInfo
- One ContraptionMatrices per contraption per frame
- Cull contraptions
- Bump flywheel version
- SBB contraption rendering is done through Flywheel's RenderLayerEvent
- Fix instanced tile rendering on contraptions and in ponder worlds
- Bump flywheel version
- Some package-info.javas
- Make stress value getters fallback to default value map if provider is
absent
- Rename StressConfigDefaults to BlockStressDefaults and move to block
package
- Rename StressConfigValues to BlockStressValues and move to block
package
- Add StressConfigValues to allow registering stress value providers and
getting values by namespace
- Use correct namespace inside StressConfigDefaults builder transformers
- Expose StressConfigDefaults maps
- Add methods to manually register default stress values
- Only add stress configs for defaults that have the create namespace
- Clean up ItemDescription#getKineticStats
- Press/Spout placement offset no longer activates when clicking the side of a block
- Press/Spout placement offset no longer activates on invalid belt slopes
- Block-items without innate fluid handling no longer require sneaking to be placed next to item drains
- The Goggle overlay can now be activated by external add-ons
- The Goggle overlay default colour now has less opacity
- The Goggle overlay now fades in over a couple ticks
- Update more usage of glActiveTexture to the enum wrapper
- Fix superglue rendering in the solid layer
- Fix issue caused by states with different textures on contraptions
- Bump flywheel version
- Add backtank layer to all player models
- Only add backtank layer if entity renderer returns BipedModel
- Make copper armor considered to be worn only when in the correct armor
slot
- add config options that allow some more customization of the overlay renderer (addresses #2020)
- overlay position has been reset to its default position, because the config path changed
- allow integer config values to be entered and displayed as hex or binary (inside the config gui only)
- how integer values are displayed can be changed with a special comment
- minor changes to theme, that allow keys to refer to one another
- Fixed crash when simultaneously converting and destroying a Peculiar Bell (#2008)
- Fixed Stockpile Switch not updating its signal when the inventory it's watching is moved (#1980)
- Fixed Potato Cannon projectiles being able to move players in creative mode (#1950)
- Fixed Lectern Controller not rendering buttons when being used by a different player
- Stop providing a buffered model supplier
- Instead, provide an IModel supplier
- IModel exposes basic properties of models
- IModel exposes a method to copy the model to a VecBuffer
- Move material stuff to its own package
- The various render functions in the material tree now bind to specific render layers
- Instancers can choose which layer to use
- The layers are SOLID, CUTOUT, and TRANSPARENT
- More layers are likely unnecessary, but we'll see
- Deprecate functions in MaterialManager in favor of more builderesque ones using MaterialGroups
- Catching up with Flywheel
- Remove MatrixStacker in favor of Flywheel's TransformStack (thread safety too)
- Rename AnimatedKinetics#defaultBlockElement to
AnimatedKinetics#blockElement
- Add static alternative to AnimatedKinetics#blockElement meant to be
used outside of subclasses
- Version bump
- Implement #1969
- Guard emptying JEI integration from empty item outputs, addresses #1994
- Goggles icon no longer renders when menu button is set invisible, addresses #1979
- Fixed missing blaze burner in JEI's display of heated compacting recipes, addresses #1970
- Add full support for custom namespaces in ponder
- Make ponder files use Minecraft's resource system
- Allow easily registering and generating ponder lang for any namespace
- Mechanical Arms remember their targets when placed by Schematicannon (for real this time)
- Mechanical Arms will now rotate/mirror their targets when rotated/mirrored in a schematic or contraption
- Copper backtanks can no longer accumulate air pressure when waterlogged
- Copper backtanks now emit a comparator output
- Removed id prefix requirement for ponder and seq. assembly tooltips #1931
- Improved the odds to succeed of existing sequenced assembly recipes
- "junk" -> "salvage"
- Fixed blocks not updating their neighbors when being assembled into a contraption
- Fixed Stockpile Switch not updating its redstone output when its signal is inverted
- Reduced lag caused by many active nearby soul particles
- The Wither's shield is now immune to potato projectiles
- Fixed potato projectile potion effect weirdness
- Golden Apple potato projectiles can now cure Zombie Villagers
- Potato Recovery will no longer drop Golden Apples that successfully hit an entity
- add create's panorama as a background for config ui when opened from the main menu
- fix panoramas moving at a inconsistent speed
- add a optional speed limit to physical floats
- When a Lectern Controller that a player is using is broken, they are no longer prevented from using any other Lectern Controllers
- Fixed weirdness when activating a Lectern Controller while holding another Linked Controller
- Set recovery chance for unenchanted Potato Cannons to 0
- Power enchantment on Potato Cannons now scales the damage of the projectile type instead of adding to it
- Changed Potato Cannon crafting recipe to better fit the new model
- Brass tunnels now show a goggle tooltip of contained items within their group
- Right-clicking brass tunnels now retrieves all contained items from their group
- Fixed large amounts of output in crushing wheels getting voided due to its buffer capacity
- Fixed basin processing running constant recipe lookups while backed up #1911
- Fixed mixer retracting after every operation when auto-output is active
- Fixed localization of potato cannon ammo tooltip
- Added several enchantment compatibilities to the Potato Cannon
- Added the Potato Recovery Enchantment
- Clockwork Component -> Precision Mechanism
- Re-organized bell models
- Added a little warm-up timer for held haunted bells
- Tweaks to all Sequenced assembly recipes
- Fixed missing particle of incomplete cogwheels
- Sequenced Assembly mid-products are no longer stackable
- Cogwheels and Large Cogwheels can now be created via sequenced assembly
- Higher return at lower cost
- Might want to nerf?
- Add placement helper for Deployers on belts/depots/etc.
- Multiple SequencedAssemblyRecipes can now start with the same item
- Copper Backtank now recharges the durability of pneumatic tools in the wearer's inventory rather than being used as a separate durability source
- Potato Cannon and Extendo Grip now become inactive instead of breaking when running out of durability
- Added new Potato Cannon projectile types and tweaked values of existing types
- Potato projectiles can now catch fire and ignite entities like arrows
- Made splitting potato projectiles more consistent
- Lectern Controller can now be pick-blocked in creative and be placed by Schematicannon
- Fixed Schematicannon treating schematics with a single block in them as empty
- Soul base particles now also disappear early if their location gets lit
- Renamed Cursed Bell to Haunted Bell
This commit removes Create's fluid milk, and changes things to instead
use the milk fluid already provided by Forge. This makes the mod more
compatible with other mods. I also added an event subscriber to the
MissingMappings event in the AllFluids class, to convert already
existing Create milk to Forge milk so that players don't lose any stored
milk.
Note: I did not update language files and remove textures to reflect the
fact that Create's milk to longer existsMissingMappings, so right now
there are some unused resources that can be cleaned up.
- Added config control for ambient sounds
- Spilled milk off a pipe end now clears effects on entities
- Non-placeable fluids now exit an open pipe at a fixed rate of 1mb/t
- Air currents can now pass through Campfires vertically
- Fixed perpendicular movement actors not activating consistently
- Fixed chutes directly between two inventories transferring items instantly
- Fixed jittering visuals of the clientside chute item near containers
- Rail blocks can now be picked up with a wrench
- Fix fluid rendering in JEI scenes
- Add more separate options to SuperByteBuffer
- Fix copper backtank diffuse when worn
- Fix enchantment glint on custom rendered items; Closes#1846
- Blueprint overlay now renders a '1' for single missing items
- Dough can now be created in the mixer without the need of buckets
- JEI no longer shows all available machines as catalysts for sequenced assembly recipes
- Tweaked item processing behaviour of mechanical saws
- Fixed placement assist not playing placement sounds
- Saws now yield more planks
- Saws can no longer process stacks of items, unless configured to
- Removed unused sounds
- Soul particles now disappear early if their location gets lit
- Stationary cursed bell range is doubled
- Mechanical Arms now require clockwork components to craft
- Extendo-grips now require clockwork components to craft
- Mechanical Arms now take significantly less stress units to power
- Added recipe for the potato cannon
- Bells no longer require ghast tears
- Added JEI integration to Sequenced Assembly
- Bit of Refactoring
- The amount of steps before the transformation occurs are no longer random
- Intermediate item now shows assembly progress in its tooltip
- Added the Clockwork Element
- Added the Sequenced Assembly recipe type (needs JEI)
- Added cascaded datagen for assembly sequence and each of its available processing types
- Temporary test recipe
- Added support for Sequenced Assembly to Press, Deployer, Spout and Saw
- Removed Integrated Circuits
- Removed Lapis sheets
- Added proper rendering, tooltips, sounds, and particle effects to the bells
- Added a crafting recipe for the Peculiar Bell
- Added a conversion method for obtaining Cursed Bells
- Fixed the soul indicators showing up in non-full blocks
- Create ILightingSettings and CustomLightingSettings to better manage
custom lighting
- Allow item GuiGameElements to have custom lighting
- Add defaultBlockElement methods to automatically apply default custom
lighting to JEI scenes
- Add blaze head bobbing to JEI scenes
- Shift elements on JEI washing scene
- Use an empty screen instead of creating a new one in IScreenRenderable
- Cart Assemblers now have a specific direction
- Assembled cart contraptions assemble and disassemble according to the assemblers direction
- Cart contraptions no longer turn exponentially
- Cart contraption now turn more sluggishly the larger they are
- Some changes to the cart assembler model
- Introduced proper first-person rendering of Potato Cannons, inherited from blockzappers
- Introduced proper dual wield handling for Potato Cannons
- Potato cannons are no longer stackable
- Added a couple more attributes to ammo types
- potatoes and carrots now plant a crop when hitting farmland
- Added a couple particle effects
- Fwoomp sound now slightly randomizes its pitch
- Add chocolate melting, honey liquification, and honey compacting
recipes
- Create honey tag field and use Forge's milk tag field
- Make fluid fields final
- Closes#1845
- Change positions of more GUI elements
- Fix mistakes from last cleanup
- Add window offset to AbstractSimiScreen
- Implement container usability check properly and add
IInteractionChecker
- Render schematic and quill in schematic prompt screen
- Rename curiosities2.png to curiosities_2.png
- Various other tweaks, fixes, and improvements
- Resolves#1847
- Added the Potato Cannon
- Extendogrips now have durability, which is not consumed while wearing a copper backtank (same applies for potato cannon)
- Added a few projectile types for testing
- Add many checks when reading NBT to prevent crashes
- Store rendered strings and only update when necessary
- Reorganize some code and rename some members
- Implemented ponder scenes for Fluid Pipes and Copper Casing
- Adjusted Fluid transfer, containment and rendering behaviours to function in 'virtual' environments
- Added scene for deployer's new item processing
- Fixed particles rendering faced away from the camera
- Fixed airflow particles not getting lit properly
- Fixed lack of culling in Gui ItemStack elements
- Prepared texts for all fluid-related storyboards
- Fixed ponder progress bar not displaying
- Added tooltips for newly added tools and equipment
- Fixed depth issues in Ponder UI
- Fixed lack of backface culling in ponder
- Added placeholder storyboards for missing ponder scenes
- Fixed menu screen cogs rendering behind the background
- Fixed menu screen not pausing the game
- Blueprint crafting overlay now attempts to show a list of items matching an ingredient filter in the respective slot
- Fixed JEI prematurely transferring the blueprint recipe when viewed
- Changed blueprint entity and item rendering to be more Optifine friendly (?)
- Punching blueprints now clears the slot before breaking it
- Fix a dist issue with KTEs
- Added recipe for blueprint
- Deactivate controller if in spectator mode
- Prevent packet handling if in spectator mode, except for resets
- Deactivate controller if a screen is opened
- Resolves#1774
Allows Basins to interact with downward facing Funnels located at an offset below and to the side. Previously would show a connection between basin and funnel but would not interact with them.
- Change positions of GUI elements to improve the overall experience
- Fix window and extra areas to be perfectly aligned with drawn textures
- Add SlotMovers to new screens
- Fix schematicannon progress bar; Resolves#1674
- Fix black background in curiosities2.png
- Move all title creation to getDisplayName
- Other minor tweaks
- Config UI automatically skips to the layer of config where multiple options are available
- Removed range tooltips
- Config entries in UI list are now sorted by name, with config groups at priority
- Changed the layout of save/discard/leave prompts
- Leaving with unsaved changes now gives you the option to save
- Config tooltips now use standard Create tooltip splitting
- Fix saw and portable storage/fluid interface diffuse lighting
- Remove "disableDiffuseTransform" option from SuperByteBuffer
- Switch argument order in RenderedContraption constructor to be consistent with superclass (ContraptionWorldHolder)
- Fix Extendo Grip not applying extended reach when equipped on rejoin
- Fix mechanical crafters duping + dropping their items when added to minecart contraption
- Fix Wand of Symmetry duping rails under placed cart assemblers
- Lecterns now keep NBT when moved by contraption
- Super glue entities hanging on positions above build limit now get removed
- Fix harvester replanting sweet berry bushes in wrong state
- Cuckoo clock and clockwork bearing now go crazy in unnatural dimensions
- Create DyedBlockList for storing and accessing a set of dyed blocks
- Switch usage of BlockEntry<?>[] to DyedBlockList in AllBlocks
- These changes also finally fix the compilation error related to generic arrays
- Use Registrate's block and item color registration instead of running
the events manually
- Move utility color handler methods to foundation.utility
- Move all item rendering classes to foundation.item.render
- Move IBlockVertexColor from foundation.block to
foundation.block.render
- Remove unnecessary raw cast in CreateRegistrate
- Separate model-level instance management from object-level instance management
- Separate material management from rendering
- A few things here and there related to entity instancing
- Add a rudimentary command to spawn superglue
- Fixed diving helmet activating when wielder is only partially submerged in water
- Fixed diving helmet activating for players in creative mode
- Added sounds for the Mechanical Saw
- Added clicking sounds for the Linked Controller
- Gantry contraptions now make contraption noises
- Soundscapes now lower their volume based on the distance between listener and center of noise
- Make regular palette stone blocks drop their cobblestone variant instead of themselves (unless silk touch is used)
- Add smelting recipes for cobblestone palette blocks
- Rename PaletteBlockPatterns to PaletteBlockPattern
- Move PatternNameType to PaletteBlockPattern
- Rename some fields
- Fix#1661: blasting-only recipes would not be shown under the bulk blasting category
- Add ability to remove matching recipes by type while using the category builder
- Fix fan catalyst items being italicized
- Add and tweak some visibility modifiers
- make it easier for addon devs to hook into create's config ui
- change the config command to allow for:
- opening any mod's registered config
- changing single values at a time
- possibly solve incompatibility with CalemiUtils mod and placement helpers
- Use static RecipeWrapper for finding recipes instead of making a new TileEntity every time
- Move InWorldProcessing from logistics to contraptions/processing
- Fix#799 by disallowing blasting processing on fireproof items
- BufferedModel is no longer abstract.
- InstancedModel no longer inherits from BufferedModel, it accepts one as input.
- Replace usage of IndexedModel with BufferedModel
Registering block movement checks works by using one of the six static register methods on an instance of an implementation of one of the six corresponding interfaces. Each one takes some arguments and returns a CheckResult, which defines whether to return from the global check or fall through to the next registered check or fallback check.
- Rename BlockMovementTraits to BlockMovementChecks
- Rename some check methods to be consistent
- Pass World instead of IBlockReader to isBlockAttachedTowards
- Make the bottom half of doors attach up and down
- Remove door check from Contrapion#moveBlock as it is unnecessary
- Refactor AllContainerTypes to use Registrate
- Replace RegistryEntry in AllEntityTypes and AllFluids with EntityEntry and FluidEntry, respectively
- Make AllEntityTypes use Registrate to register entity renderers instead of a separate method
- Refactor AllColorHandlers
- Fix error when a POI block is moved by a contraption
- Rename some static final fields to be upper snake case
- Make static fields in Create and CreateClient final
- Add I prefix to Coordinate interface
- Fix typo (BracketedTileEntityBehaviour#isBacketPresent)
- Make mixins go in alphabetical order
- Make pack.mcmeta use 2 spaces for indents
- Program specs are now loaded from json instead of being defined in code and registered manually.
- Within the json spec, a program can define a list of states.
- A state consists of:
- A "when" clause.
- A list of strings to be #defined.
- A list of extensions to apply at program link time.
- Each frame, the first state whose "when" clause returns true will be used.
- A when clause consists of:
- A state provider defined by a resource location.
- A value to match.
- When the value returned by the provider matches the value defined in the when clause, the when clause is considered to be 'true'.
- There is syntactic sugar for when a provider returns a boolean value.
- This system is in its infancy, and there is plenty of room for improvement.
- All material shaders now use the template system.
- Because of the template system, we can know what attributes a material has, along with how they're formatted.
- All of the *Attribute enums are effectively inlined, as the context they used to provide is no longer needed.
- Create ContraptionMatrices class for better management of matrices during the contraption rendering process
- Fix diffuse lighting when rendering contraptions without Flywheel
- Clean up TileEntityRenderHelper
- Add disableDiffuseTransform to SuperByteBuffer and fix light calculation logic
- Instead, BufferBuilderReader can decode parts of a BufferBuilder.
- BufferedModel and its subclasses are now created directly with a ByteBuffer.
- ContraptionModel renamed to IndexedModel.
- InstancedModel and IndexedModel both now take model formats as arguments.
- All of this allows for better abstraction, composition, and control of models rendered with Flywheel.
- Instead, MaterialSpecs store the information
- RenderMaterials are now generic on InstanceData instead of InstancedModel
- RenderMaterials are directly constructed with and store a MaterialSpec
- Pass contraption world to movement behavior rendering
- Add hybrid lighting option to SuperByteBuffer (takes max of world light and vertex light)
- Create ContraptionWorldHolder for caching contraption worlds for contraptions that are not rendered with Flywheel
- Refactor some parts of contraption rendering
Also
- Partially fix incorrect vertex lighting (make sure to not sure Forge's lighting calculator)
- Reorder some lighting to make it more efficient
- Cleanup some things
- Recipes for the diving gear
- Idle Windmill Bearings now attach their structure when moved as part of another contraption
- Fixed pumps not updating transfer speed when directly between containers
- Fixed Multiblock Fluid tanks showing inconsistent information on their goggle overlay
- Creative Fluid tanks no longer show a goggle overlay
- Fixed Funnels and other interfaces not updating properly when affected chunks are unloaded and reloaded
- Fixed tooltips rendering behind item icon in the filter screens
- Added the Deploying recipe type
- Deployers can now polish items on belts or depots
- Deployers now make a little polishing sound when using sandpaper
- Move CreateClient.kineticRenderer to Backend
- InstancedTileRenderers keep track of their own queuedUpdates
- Sort of a listener system for some render events
- Diving helmets now display a timer near the hotbar when underwater
- Copper backtanks now play an effect when accumulated air is maxed
- Copper backtank blocks can now be waterlogged
- Copper backtank cogs now animate
- Fixed subtitle of equip sounds
- Removed the Blockzapper
- Removed the Deforester
- Handheld Worldshaper -> Creative Worldshaper
- Worldshapers now have a "surface" and "cluster" brush type
- Worldshapers now follow the creative colour palette
- Some UI touch-ups for tools
ISimpleReloadListener is a reload listener functional interface meant to
be used when preparation is not needed. All current reload listeners
have been moved to this interface, which allows them to be lambdas and
not have to create a new Object for every reload.
- Increased minimum sound threshold for ambient noise
- Sounds for contraption (dis-)assembly
- Sounds for more wrench interactions
- Hand crank clicks less furiously
- Block breakers now make block breaking noises
- Crafting noises
In the linearizeDepth function in area_effect.frag, I was multiplying by 2, but the scaling of the world was off. The number I found that works best is e - 0.99, and I have no idea why.
- Contraptions with exceeding spawn packet sizes no longer get sent to the client
- Minecart Contraptions with exceeding nbt packet sizes can no longer be picked up
- Renamed "Metal Blocks" to "Blocks of Metal"
- Fixed basins not continuing their processing when items are extracted by funnel #1416
- Basins now accept full stacks for items thrown into the top manually
- Fixed Smart Chutes not dropping filter items
- Fixed Smart Chutes not updating attached diagonal chutes properly when removed
- Fixed Server-side crash when coupling two minecarts from a glitched self-colliding pile
- Millstone now accepts items from belts/ejectors directly
- Fixed Redstone-triggered components losing tile data after moved by a Contraption
- Super glue between non-solids can now be removed while the glue item is equipped
- Fixed Deployers not able to interact with glued blocks
- Fixed incorrect lang mapping of UI button descriptions
- Placement assist block preview now lights properly, doesn't z-fight and fades in gradually
- Pickaxe and Axe are now effective on piston extension poles
- Fixed block breaking animations inside the ponder UI
- Fixed Ponder Scenes rendering on top of the progress bar
- Fixed Mechanical Press not retracting when items were removed early
- Fixed Windmill Bearings allowing to be moved while assembled
- Mechanical Pistons now silence the "missing poles" error after poles were added
- Fixed entities attempting to path-find through Creates' non-solids #1390
- Fixed Redstone Links occasionally wiping their frequency when moved in a Contraption
- Fixed Flywheels doubling their SU capacity after every chunk reload
- Fixed display of numeric formats using non-breaking space #1374
- Signs can now be moved on a contraption #1315
- Fixed Typo in german localization #1363
- Fixed Windmill Bearings keeping su information after relocation #1364
- Fixed Symmetry Wand using up too many items #1342
- Fixed Nixies rendering inconsistently
- Fixed belts not showing items under certain conditions
- Fixed vertical/sideways belts accepting items from other belts
- Spouts can now interact with belts/depots with a mounted funnel
- Copy the projection matrix when vanilla would be uploading it to GL.
- This should account for just about everything.
Unrelated to the fix:
- Shader programs now have more flexibility in specialization.
- Accomplished with IMultiProgram.
- Remove unnecessary SHADER_DEBUG_OUTPUT boolean.
-Moved deforester not loosing durability from leaves to DeforesterItem instead of Tree mining
- added destroyBlocks method in TreeCutter$Tree for less doubled code
- Mechanical Saws currently break the tree with an empty "hand" as they did before
- Silktouch and Fortune enchants are now being applied from deforesters
- Fixed Spawners losing nbt data when moved
- Nixie tubes now update their texts starting from the clicked block, rather than the leftmost one in the chain
- Fixed inconsistency between block and item model of the furnace engine
- Fixed a couple overlooked ponder lang issues
- Fixed weighted ejector not accepting arbitrary gold plates in its recipe
- Fix crash opening ponder from screens with an opened recipe book
- Filterless Creative Crates now serve as universal supply to schematic-driven deployers
- An attempt to force-update ejectors to not miss out on lid animations
- Fixed schematic-driven deployers not copying safe nbt data
- Fixed slow merging of collision shapes
- Improved async handling of the collision shape merger
- BBs far away from an entity now get skipped in the collision cycle
- InstanceKey is no more.
- InstanceData and co. keep track of removals and updates.
- InstancedModel's buffer management is much more sane now.
- Re-add mixin to #tickBlockEntities and ensure compat with Performant.
- Move ...backend.instancing.impl to backend.core
- Deployers now place block drops into their internal inventory
- Deployers can now harvest honey or honeycombs from beehives
- Pipes can now connect to and drain liquid honey from beehives