Commit Graph

294 Commits

Author SHA1 Message Date
simibubi
651e06a70a Down the Refactor rabbit hole
- 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
2020-09-13 00:59:14 +02:00
simibubi
fe2c27db35 Spout refinements
- Fixed upright items rendering inconsistently between belt and depot
- Fixed various timing and sync issues with the spout
- Added a recipe type for spout filling
- Fixed more co-modification on belts
- Item and fluid nbt tags in recipes are now data-generated as json objects rather than strings
- Transported item processing can now leave items behind
- Transported item processing now has more meaningful result data
- Tweaked spout animation
- Fixed cullfaces on spout model
2020-09-11 14:31:26 +02:00
simibubi
f564ce1a33 The Buffer Kerfuffle
- Refactored animated bytebuffers
- Fixed animated buffers bleeding vertices and rendering inconsitently when switching from/to optifine shaders
2020-09-10 23:37:14 +02:00
7784e5b58d Added potion moved dispense behaviour, fixed dispense behaviour output stack not being used resulting in potential dupes 2020-09-10 13:23:05 +02:00
3b516f5022 Unstackable items are a thing, i guess 2020-09-10 11:41:23 +02:00
3c128946f3 Fix seapickle blockzapper dupe 2020-09-05 22:05:57 +02:00
637dee0919 Zapper and cannon now place crops in basic growth state 2020-09-05 22:02:07 +02:00
7fea4a66a0 fixed client to-desktop crash with ":" in schematic name 2020-09-05 21:30:36 +02:00
1f06acb497 Change item requirements for block zapper and schematicannon
grass path -> grass block
farmland -> dirt block
2020-09-05 21:24:00 +02:00
Zelophed
770fbd6aaa crude dev tool for chunk unloading
- add a dev utility that allows us to force-unload chunks
- move mechanical arm scrollbox
- fix oxidizing blocks trying to access a blockstate from unloaded chunks when on the border
2020-09-04 18:04:00 +02:00
simibubi
5a7c09aa25 Filtered Basin Processing
- Basins can now be assigned a filter to narrow down the range of recipes that can be applied to its ingredients
- Some random asset updates
2020-09-04 15:16:07 +02:00
121dd935b5 Fix turtle egg blockzapper dupe 2020-09-04 14:35:49 +02:00
simibubi
00a9b1c6c7 Not enough datagen
- Expanded the RecipeProvider infrastructure
- Migrated mechanical crafting recipes to generated
- Migrated cooking recipes to generated
- Fixed missing particles on vertical motor model
- Adjusted a few recipes
2020-09-04 12:20:19 +02:00
simibubi
213b504854 ProcessingRecipe Refactor
- Reworked and cleaned up Create's ProcessingRecipes
- Prepared ProcessingRecipes for fluid ingredients and outputs
- Added datagen infrastructure to ProcessingRecipes
- Migrated all hand-written ProcessingRecipes to generated
- Removed scrollinput on mixers
- Fixed recipe lookup cache not invalidating on datapack reload
- Removed "catalyst" ingredients
2020-09-04 01:23:09 +02:00
simibubi
2855a22221 Grunthog Day
- Migrated Shaped and Shapeless crafting recipes to generated
- Added the reworked spout asset by Kryppers
2020-08-31 12:49:36 +02:00
simibubi
230a6cf848 Sploosh
- Added the Spout
- Added Safety check to the drain cap rendering condition
Highly unstable
2020-08-28 22:45:27 +02:00
simibubi
0349217082 Grunt work detected
- Added a foundation for generating recipes of vanilla types
- Transferred a couple recipes from main to generated as POC
2020-08-27 02:35:57 +02:00
simibubi
e52765cce0 Encased and Windowed Pipes
- 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
2020-08-25 20:12:33 +02:00
simibubi
a4b4c770be Asset Break
- 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
2020-08-24 23:45:37 +02:00
simibubi
2040d66c3e Fundamentals of Fluid Transfer
- 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
2020-08-24 21:02:03 +02:00
Zelophed
8e349380a5 fix tooltips getting occluded by certain gui elements
- addresses #412
- addresses #366
2020-08-21 20:46:09 +02:00
simibubi
7e167f3b29 Couple things, Part I
- Added Foundation and POC of minecart couplings and carriage contraptions. highly unstable
2020-08-05 22:10:05 +02:00
simibubi
f0abbaacd7 Riding the engine
- Fixed incompatibility between seats and furnace cart contraptions
2020-07-24 19:43:33 +02:00
simibubi
80406e8782 Cleanup crew
- More refactors and enhancements to the blaze burner
2020-07-23 17:41:15 +02:00
simibubi
f5af1cd81e Merge branch 'mc1.15/dev' into mc1.15/collision 2020-07-22 19:07:33 +02:00
simibubi
f48d1f7b1c Pick me up
- Seats now pick up non-player entities when touching them while being moved
- Seats now drop off entities when being moved into a solid block
- Previously colliding entities now get moved to match their position on the placed structure on disassembly
- Contraption motion no longer gets fed into the collision response for non-minecart contraptions
- The server now gets frequent updates about client players riding a contraption, fixes instabilities with projectiles, damage and anti-fly detection
- Players can now take fall damage when colliding with contraptions
2020-07-22 18:56:48 +02:00
simibubi
9a04c51418 These are not the chunks you are looking for
- Experimental fix to disappearing entities when contraption seating reaches across chunk boundaries on save
2020-07-22 14:12:19 +02:00
simibubi
7994835cb0 Seats, part II
- Any living entity can now use seats
- Fix client sync issues with seats
- Fixed contraptions double-reversing roll and pitch values when communicating to the collision engine
- Seats now transfer their passengers to a contraption when moved and back when disassembled
- Attempted further refinements to the collision response of horizontally rotated contraptions
- Set up a hook to inject custom interaction between players and contraption mounted blocks on right-click
- Seats can now by mounted by players while assembled to a contraption
- Minor refactors to the contraption class
2020-07-22 01:18:09 +02:00
simibubi
5ebb44f50b Projected stepheight
- The oriented collision response now accounts for an entities' step height to automatically climb blocks such as stairs or slabs
2020-07-19 20:54:29 +02:00
simibubi
217138255e Tanks, Obama
- Reworked fluid tanks to incorporate new assets and functionality
2020-07-19 00:22:14 +02:00
simibubi
e276302cee LeastReality's Belt Tunnel Rework
- Replaced belt tunnel assets; adjusted blockstates and animations accordingly
2020-07-16 19:13:00 +02:00
simibubi
ebc2944788 Robust entry collisions
- Collision separation now supports motion sweeping in order to avoid tunnelling when entities drop onto contraptions from a greater height
- Further improved the collision response
- Entities can no longer be clipped into solid walls by the collision response
2020-07-14 16:58:10 +02:00
simibubi
c58310b293 Actually playable
- Fixed some left-over math bugs
- Greatly improved contraption-player collision response, especially with rotating structures
2020-07-12 23:57:27 +02:00
a44ef1733b Merge branch 'heatedMixer' into mc1.15/dev 2020-07-12 14:54:03 +02:00
ae785b5a66 blaze_heater 2020-07-12 10:57:53 +02:00
simibubi
a0ff70a1bb Not enough polish
- Reworked belt assets and renderer once again
2020-07-12 02:05:29 +02:00
simibubi
1ea7eeb040 Merge branch 'mc1.15/dev' into mc1.15/collision 2020-07-11 12:33:01 +02:00
simibubi
367296e6c1 Logistical enhancements and fixes
- Arms can no longer insert into powered brass funnels
- Slight ArmInteractionPoint refactor
- Arms can now interact with Millstones, Basins, Jukeboxes, Crushing Wheels and the Mechanical Saw
- Fixed crash when logging into a world with a running mixer
- Arms now start to dance when one of their in or outputs is a running jukebox
- Arms can now be mounted on the ceiling
- Arms now always prefer the interaction points that were selected first
- Fixed belt funnels not updating their blockstate properly when transitioning from other funnel types
- Vertical funnels next to the end of a belt will now stall the belt when unable to collect incoming items
- Minor model & texture touch ups
- Arm no longer cancels player interaction when its empty handed
- Fixed chutes not vertically interacting with andesite funnels
2020-07-10 19:48:04 +02:00
simibubi
8d056d082a Brass Tunnel connectivity and filtering
- Brass tunnels now visually connect for upcoming splitter functionality
- Added a tileentity behaviour that allows separate filtering for each face
- Added filtering to brass tunnels
2020-07-08 22:24:33 +02:00
simibubi
279504cccf Tunnel clean-up & QOL
- Removed synchronization behaviour of belt tunnels
- Belt tunnels can now be placed on non-reinforced belt segments, and will apply the missing casing automatically
- Bunch more renames
- Small tweaks to the andesite tunnel texture
- Mechanical arms can no longer take from belts covered by a tunnel
- Belt tunnels can now create a window when directly next to a funnel
- Fixed tunnel flaps not being triggered when inserting into a covered belt
2020-07-08 13:41:55 +02:00
simibubi
dbd89199ac Andesite Logistics
- Removed pre-0.3 funnel blocks
- Added andesite variant to reality funnels, without filtering or redstone control
- Added andesite variant to belt tunnels
- Reality Funnel -> Brass Funnel
2020-07-08 01:36:34 +02:00
simibubi
5cf3dde0a1 Populang hotfix
- Fixed invalid json in populated lang templates
2020-07-02 17:39:31 +02:00
simibubi
9e9dd8b507 Merge branch 'mc1.15/dev' of https://github.com/Creators-of-Create/Create into mc1.15/dev 2020-07-02 17:25:37 +02:00
simibubi
f820e2be27 Mechanical Arm Implementation
- The arm blockitem can now be used to select inputs & outputs
- Arms now transfer items between inputs and outputs
- Arm support for Belts, Depots and Funnels
- Some safety checks in net code
- Minor refactor to NBTHelper
2020-07-01 22:02:00 +02:00
Zelophed
480dcdebed Goggle overlay offset
-added two config entries to offset the goggle overlay on x/y axis
-added a command (/create overlay [reset]) to allow editing the overlay position ingame
2020-06-29 01:07:21 +02:00
simibubi
5411bc3565 Dangle Flap Reflappified
- Belt funnels now render with animated flaps
- Extracting funnels can now be given a stack size
- Filtering now supports setting the extraction count for empty filter slots (wildcard)
2020-06-28 18:16:46 +02:00
simibubi
ce1c5d8697 Belt funnel & World funnel implementation
- Funnels on belts can now extract and insert items according to their setting and filter
- Funnels can now push/pull items to/from a depot
- Fixed creative crates not marking their inventory as removed when destroyed
- Funnels can now pick up items colliding with their front face
- When holding a funnel the game will now always prefer placement over block interaction
- Fixed items not able to be held in place by tunnels
2020-06-28 13:31:11 +02:00
simibubi
f7ad748a09 Depot Implementation and Interaction
- Depots can now hold on to items similarly to belts
- Item processing such as the press and bulk smelting now targets a Processing TE behaviour, rather than the belt only
- The press and similar processing can no longer commence whenever there is a block with a collision shape between item and machine
- Implemented item processing for Depots
- Items can seamlessly traverse from belts to depots
2020-06-27 15:20:22 +02:00
simibubi
9fe1d85199 Reworked belt processing and interfacing
- Removed the IBeltAttachment system
- Item processing on belts is now a TE behaviour
- Added TE behaviour for allowing belts (and similar) to directly insert items
- Massive refactor to the Belts' inventory
- Fixed fast moving items missing their processing step
- Saws, Basins, Crushing Wheels, Belts and Crafters now interact through the new behaviour rather than hard-coded interactions
- Fixed items (visually) disappearing on saws while queueing up
- Items on belts now back up a little further away from the end of the belt
2020-06-26 21:38:10 +02:00
simibubi
69dd19cd58 Filtered Funneling
- Added filtering behaviour and in-world slots to new funnel blocks
- Filtering behaviour now supports slots active on multiple sides
- Funnels no longer wipe their TE when changing state
- Fixed VoxelShape for extended belt funnels
2020-06-26 12:35:24 +02:00