- Use DeferredRegister/RegistryObject where possible
- Refactor worldgen code to be cleaner and support datagen
- Fix zinc ore only generating on chunk corners
- Remove fan_heaters block tag
- Abstract all custom registries behind improved CreateRegistry class
- Remove usage of ForgeRegistryEntry.delegate and IRegistryDelegate
where possible
- Replace usage of IForgeRegistryEntry#getRegistryName with
RegisteredObjects#getKeyOrThrow where key is expected to be not null
- Move all component creation to the Components class
- Backport some other miscellaneous changes from 1.19
- Fix printed funnels not having filters; remove funnel survival NBT
processor
- Fix printed tunnels not having filters
- Fix printed deployers not keeping mode
- Remove boolean argument from IPartialSafeNBT.writeSafe as it was
always false
- Fix filters not rendering in schematic renders
- Fix incorrect lighting on funnels in schematic renders
- Improve rendering of crumbling overlay in ponders
- Further improve CameraMixin
- Use computeIfAbsent in TorquePropagator
- Organize imports
- All GUIs and HUDs now respect spectator mode and the hideGui option
- Fix some HUDs not reseting GL state
- Blaze burners no longer turn towards the player if they are invisible
- Ponder buttons that display the main item for a ponder tag now have a
different background color
- Added LangBuilder to streamline things that make use of chat components
- Started migrating a bunch of text to use lang builders
- Glowing display board text now has a higher alpha
- Banners will now be printed with the correct pattern
- To print a banner, the item with the exact same pattern is required
- Add ISpecialBlockEntityItemRequirement for BlockEntities
- Allow StackRequirements to check match with other stack
- Add StrictNbtStackRequirement that also checks the stack NBT
- Add banners tag to safe_nbt tag
- Fixed NPE with train sounds
- Belts launched by a schematicannon can no longer replace bedrock
- Placards now unpower one game tick sooner
- Fixed station display link not assigning default values correctly
- Fixed Train doors able to be destroyed in a single punch
- Increased distance at which activated whistles can be heard
- Super glue captured by schematics or /c clone now gets cropped to the selected boundary
- Controlled contraptions now save their anchor block position in relative coords
- Optimize CreateJEI recipe list construction
- Optimize PotionMixingRecipes
- Add basic modded brewing recipe compatibility
- Fix dyed sails not being placed when printing schematics
- Fix sideways belts not being placed correctly when printing schematics
- Fix MechanicalCraftingCategory not applying the model matrix
- Add Upgrade Aquatic compatible fertilizer recipes; Resolve#658
- Replace almost all reflection with access transformers or accessor
mixins
- Remove duplicate sails tag
- Improve metal compatibility
- Switch to a linked set in StringSerializableTrigger to prevent
inconsistent generation of aesthetics.json
- Other minor changes
- Add new config and tags for better control over infinite draining
behaviour
- Pipes spilling water will now extinguish entities and fires; pipes
spilling lava will now set entities on fire
- Fix some bugs and inconvenient behavior with the config menus
- Fix fluids destroying crushing wheel controllers
- Fix crushing wheel controller using output direction instead of input
direction at times
- Rename blaze burner fuel tags
- Improve GhostBlockRenderer
- Organize imports
- Update Forge
- Update Flywheel and add support for unshaded quads
- Fix models marking shafts and other parts as unshaded
- Refactor SchematicRenderer buffer building
- Improve block entity render bounding box caching
- Fix#2785
- Add ForcedDiffuseState to push/pop forced diffuse calculators
- Transform the SBB instead of the global PoseStack when applying ponder
transforms
- Tweak used shaders in RenderTypes
- Rename LerpedFloat.Interpolater to Interpolator
- Update Flywheel
- Girders can now connect to brackets vertically
- Fixed girders not updating connections when built with placement assist
- Tracks now actively update girder shapes placed beneath the ties
- Fixed bezier girder texture inconsistencies to the block models
- Fixed flywheel rendered tracks creating headless instances
- Fixed track not removing its tileentity properly when changing to basic state
- Fixed track rendering not using the correct normals for diffuse
- Fixed tracks not rendering in schematic previews
- Tracks now transform correctly in schematics
- Fixed tracks not validating for target track after placement via schematic
- Tracks can now merge TE data when placed into each other via schematic
- Fixed junctions not working correctly with graph building
- Fix ponder diffuse when using shaders
- Partially fix incorrect diffuse formula being used in the nether
- Invalidate schematic renderers at the appropriate time
- Bump forge
- Mechanical Harvester no longer crashes the game on newer forge versions
- Fixed Cocoa Beans being harvested too early
- Fixed incompatibility with Abnormals' custom tree types
- Fixed incompatibility with Serene Seasons
- Fixed incompatibility with Terralith
- Added a couple of Raw Ore compatibility recipes
- Sort of get the batching engine working for contraptions but this feels wrong
- TaskEngine gets passed in methods
- Better naming for TaskEngines
- Do BufferSource ourselves
- Change BufferBuilderMixin to allow for injection into BufferBuilder objects
- Fix bracket contraption rotation; Fix#1856
- Make sure KineticTileEntityRenderer only renders once
- Make use of new ModelUtil method in BakedModelRenderHelper
- Clear up BracketedKineticBlockModel and PipeAttachmentModel logic
- Replace ISimpleReloadListener usage with ResourceManagerReloadListener
- Clean up SyncedTileEntity and SmartTileEntity
- Allow schematicannons to be rotated based on placement angle
- Fix DirectionalExtenderScrollOptionSlot rotation
- Remove deprecated usage of JsonReader and LazyLoadedValue
- Move ToolSelectionScreen to content.schematics.client
- Organize imports
- Update to 1.18.1
- Move most user facing interfaces to flywheel.api package
- Refactor InstanceData to have no package private classes
- Remove 'I' prefix from many interfaces
- ILightUpdateListener -> LightListener
- IMultiProgram -> ContextAwareProgram
- IFlatLight -> FlatLit
- All materials use the same vertex format: UNLIT_MODEL
- Port to 1.18
- ChunkUtil discontinued
- SmartTileEntities write to metadata
- Features generate from -64 up
- World Wrappers weren't convoluted enough
- Haunted bell considers >0 safe
- Missing GuiUtils methods continued in RemovedGuiUtils
- Fixed TileEntities in Ponder not receiving blockstate changes
- Fixed Ponder selection rendering offset
- Re-introduced the depth-sorting hack for PonderUI
- Editing mode is now a Config Option
- Fixed Non-Container Screens no longer closing on "E"
- Added tooltip for Experience Nuggets
- Fixed Schematic Prompt no longer starting auto-focused on the text field
- Pulse Extenders now actually extend the pulse, rather than emitting for a fixed time
- Updated Ponder Scenes for the repeaters
- Picking encased kinetic blocks no longer returns a creative-only item
- Added a Ponder Scene with encased cogwheels
- Implemented change of top & bottom texture for copper roof blocks
- Fix rotation indicator particles
- Fix sail dyeing
- Turn BreakProgressHook into DestroyProgressRenderingHandler interface
- Refactor overlay rendering to properly use API
- Change SpriteShiftEntry to use StitchedSprites
- Use OnDatapackSyncEvent instead of mixin
- Organize foundation.ponder package
- Remove usage of deprecated:
- Durability bar methods
- Constants class
- Add ToolBoxInstance
- Move from MatrixTransformStack to TransformStack.cast where possible
- SuperByteBuffer implements transform traits on its own
- Bump flywheel build
- Replace AngleHelper.horizontalAngle with horizontalAngleNew (return 0
instead of -90 for vertical directions)
- Fix FluidRenderer not calculating correct UVs for integer positions
- Fix FluidRenderer rendering streams and flowing texture incorrectly
- Slightly improve performance of outlines
- Rename PartialBufferer to CachedBufferer
- Move specific code out of SuperByteBufferCache into CachedBufferer and
BakedModelRenderHelper
- Move Compartment inside SuperByteBufferCache
- Rename some methods and fields
- Use vanilla's widget lists instead of custom ones
- Use press callback instead of overriding mouseClicked
- Switch old container classes to extend ContainerBase or
GhostItemContainer
- Organize foundation.gui package
- Remove deprecated methods in Color
- Various other changes