- Allow defining custom potato cannon projectile types through JSON in
datapacks
- Separate PotatoCannonProjectileTypes into PotatoCannonProjectileType,
PotatoProjectileTypeManager, and BuiltinPotatoProjectileTypes
- Allow setting a custom render mode when building a projectile type
- Prevent the potato cannon itself from being used as ammo
- Toolboxes keep nbt on pickup
- Toolbox radial menu supports mouse wheel
- Added Dispose-all buttons
- Synced slots detach when moving stacks back into the toolbox
- Fixed missing data on client on login
- 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
- 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
- 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
- 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
- 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"
- completely remade the texture from scratch of both the potato cannon and it's cog
- did some slight model tweaks to the potato cannon itself as well
- no changes to the animations should be needed
- 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 localization of potato cannon ammo tooltip
- Added several enchantment compatibilities to the Potato Cannon
- Added the Potato Recovery Enchantment
- this includes tweaks for the haunted bell model!
- general tweaks to both peculiar and haunted bells, by both me and kryppers
- the bell base is now wood instead of brass! and is now less bulky
- 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
- 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.
the currently named "peculiar bell" has been tweaked, and the stands for the bell have been completely remodeled
the cursed bell has not been touched, waiting on an animated texture from kryppers before proceeding
- 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
- 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