- 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
- 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
- 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
- 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
- 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
- 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
- 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.
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
- Lots of refactoring in the shader loading code.
- Abstract all the different shader source transformations into ProcessingStage.
- An ordered list of ProcessingStages is called a ShaderTransformer.
- When you acquire sources, a Shader now keeps track of the source location, shader type, and source code all together.
- Nothing is properly hooked up yet.
- A single shader file will be able to be compiled with different opengl targets.
- I plan on using this to implement meshlet rendering as an alternate backend-backend that will be used when available.
- It could also be used to enable compatibility with opengl 3.0 or potentially even 2.0.
- 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
- Put a lot of the reusable code in a sort of standard library
- Need to evaluate just how much should be lumped in there
- Still need to allow for users to create alternate contexts for the builtins
- Normal world and contraptions are still hardcoded contexts
- 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
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 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
- 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.
Added missing blocks and GUI stuff and fixed typos.
Now only
- Most advancements
- A lot of block summaries/tooltips
- All of the pondering
- All attributes
are missing
- 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
- 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
- Ejectors now occasionally track launched items, scanning for any obstacles in their trajectory
- Fixed rendered items passing an Ejectors' target on clients ticking faster than their server
- Removed outdated warnings for 'transposer funnels'
- Fixed Schematicannon clearing blocks outside of a Schematics' bounding box
- Safety check for onBlockPlacedBy with null player
- Deployers with a positioned Schematic as their filter will place blocks accordingly, taking items from the contraption inventory
- Quark magnets don't crash (already fixed).
- Fix quark magnet leaving behind ghost instances.
- Fix crash with belt lighting after being placed by contraptions.
- Simplify tile add/remove mixins and avoid conflict with Performant.
- Avoid FloatBuffer detour when uploading matrix uniforms.
- InstancedTileRenderer no longer has to clean up.
- Properly let go of tickable instances.
- Swich to tabs. (not everything is tabs yet)
- Refactor light and color attributes to their own Enum.
- Quaternion/pivot/position attribute shader.
- Always update an instance when the WorldRenderer checks if it should rerender a block.
- Simplify some names.
- Remove generics in InstanceData classes.
- Deployer Tiles now use the oriented material.
- Press heads now correctly orient themselves.
- ModelData buffers things faster and is simpler.
- Ponder scenes for depot, chute and smart chute
- Fixed saws and drains ejecting items when mounted funnel is backstuffed
- Fixed extracting funnels allowing items to be inserted by arms and belt input
- Vanilla items in ponder tags are marked purple instead of red
- Vertical funnels now block chutes
- Large cogs can no longer be placed right next to crafters or millstones
- Mechanical Arms now stall targeted belt items
- Ponder Scenes have misplaced icons
- placement helper arrows don't render
- Particles in ponders *should* work
-> added WrappedClientWorld to make that work
- fixed ponder crashingon 1.16
- moved gui stuff to matrix stacks
- remove BlockHalper#hasBlockStateProperty, as BlockState#contains is a thing
- ran runData
- Shaders can now reference other files with #flwinclude <"...">.
- Shaders are now located in assets/flywheel/shaders.
- Include paths are namespaced (a la ResourceLocation) and relative to the flywheel shaders root folder.
- Optimized glsl rotations using quaternions (when applicable) and vectorized matrix construction.
- Vectorize diffuse lighting calculations.
- Micro optimization in SmartTileEntity.java
- Promoted actor instance creation to the ActorInstance class.
- Drills and Harvesters' rotational speed is based on their movement speed with Flywheel on.
- Deployers now use Flywheel.
- Fix funnels not rendering filter slot items
- Ponder scenes for the Deployer, Harvester and Plough
- Fixed uvs on Deployer model
- Ploughs can now harvest snow layers
- Fixed TEs not ticking properly when wrap-around-skipping to a keyframe
- Added a block restoration instruction
- Scenes for the Saw
- runData catching up
- User no longer has to manually add instances, new hook instead.
- Use registrate for InstanceFactories.
- Instanced levers.
- Instanced hand cranks.
- Reorganize PhysicalFloat and LerpedFloat.
- Scenes for chassis, super glue, stickers and redstone contact
- Added a warning when players try to use experimental rendering while shaders are active
- Added user view mode for editors to hide coordinates
- Ponder now pauses the game in SP
- Ponder elements now use a separate timer and separate partial ticks
- Fixed virtual funnels not flapping
- Fixed ponder buttons having hover highlights when not clickable
- Fixed ponder button mouse hitbox
- Addressed strange render state bleed with identify mode highlighting
- Fixed Minecart Contraptions started on a powered rail facing in unwanted directions
- Fixed powered rail Cart Assemblers not respecting the solid block rule of powered rails
- Fixed Minecart contraption items not facing away from the player when placed
- Polished every last bit of the belt uvs
- Removed processing recipes from recipe book
- Reorganized items in creative tab
- Tweaked a few model transforms
- Fixed belt uvs
- ponder birbs can now face the cursor
- fix interpolation on ponder birbs
- Fixed log spam when assembling certain blocks (Points of interest) in a contraption
- Fixed content observers not triggering for in-line belt funnels
- Replaced ponderworld particle AT with reflection
- Symmetry Wand now checks for placement permissions
- Lang now uses Locale.ROOT
- Fixed crash using ponder without advanced tooltips enabled
- Added and assigned more ponder tags
- Ponder Scenes for cog, large cog, gearbox, clutch, gearshift, and casings
- Fixed TE model data not queried on schematics and ponder scenes
- added tags and chapters to the ponder registry
- slightly changed how scenes are registered
- added a back stack to the screen opener and some animations to go along with it
- added a interface for icons drawn into screens
- Removed code duplicates
- Made fluid information more generic and concise
- Made fluid information easier to port
- Fixed potion fluid not overriding its translation key
- (I'm sorry, Steven)
- Added Ponder entries for gantry shafts and carriages
- Added ability to mark lang key prefixes as ignored, leaving out 'dev-only' lang entries from the localization templates
- Gantry Pinion -> Gantry Carriage
- Scenes can now be "re-assembled" by their storyboard while Ponder is opened using shift+refresh
- removed the requirement of editor provided lang keys for text windows
- couple fixes, changes to instructions
- Finished ponder entries about funnels
- Smart TEs can now enter "virtual mode" to run both client and server code (support for it needs individual adjustment)
- Removed obsolete quads from the andesite funnels' model
- Not enough ponder instructions
- Fixed upright belt items in ponder UI
- Support for generic entities inside ponder scenes
- Instructions for manipulating/creating entities
- Client-side belts are now slightly smarter inside a ponder world
- Some doc for the doc
- Organized util and scene builder methods into nested classes
- Selection rework, allows for addition and substraction
- World sections now merge into a global world section after fading in
- Support for managing reference to elements created by previous instructions
- more util
- Support for animating world sections to roughly simulate a contraption
- Less paperwork for making new scenes
- Support for outliner chaseAABB
- Support for outlining selections
- Added more descriptive names for sequencer instructions
- 'Await' instruction now requires a rising flank to trigger
- Fixed invalid json of german localization
- Ingored crushing wheel controllers facing in blockstate datagen