Commit Graph

186 Commits

Author SHA1 Message Date
c9e2f8b05e Deforester works on slime saplings 2020-10-16 11:14:47 +02:00
simibubi
442d89e09e Port Changes to 1.16, Fix server launch 2020-10-12 22:16:06 +02:00
3e3b0dad6e port changes to 1.16 2020-10-10 22:40:59 +02:00
1a4814e724 merge mc1.15/dev into mc1.16/dev 2020-10-10 21:46:40 +02:00
simibubi
f3deb8ba85 Tilted Trains
- The collision response now (semi)-supports yaw-pitch combined rotations of contraptions
- Attempted collision and rendering of contraption couplings moving up and downhill
- Fixed sychronization issues of a mounted contraptions' initial orientation
- Contraption couplings no longer render the virtual coupling connection
- Entities can no longer mount the cart connected by another carts' contraption
- Contraption coupligs no longer rotate backwards when opposite couplings are added onto it
- Minecarts no longer deadlock each other when one of them had stalled due to an unloaded coupling end
- Cart assemblers only disassemble coupling contraptions if both carts are within an inactive cart assembler
- Fixed interactions between coupling contraptions and furnace/chest minecart invs
2020-10-10 21:12:28 +02:00
simibubi
699dc7bb5c Issues with Nested Config groups
- Fixed prefix "kinetics" added to unrelated subsequent config keys due to inconsistent push/pop
- Removed obsolete config values
2020-10-07 11:46:55 +02:00
0d972e144f Fix some more text components 2020-10-06 12:21:13 +02:00
5993c30a3e fix contraption crashing the renderer 2020-10-04 13:48:30 +02:00
simibubi
bc4418a929 Port recent changes to compile 2020-10-04 01:59:51 +02:00
31e35d060f fixed merge conflicts 2020-10-04 01:08:13 +02:00
tterrag
3be810a9eb Yet more porting, bodge to let SchematicWorld implement IServerWorld 2020-10-03 16:27:09 -04:00
simibubi
6e285e2f8b Valves and Valve handles
- Added a straight pipe variant to cut flows using rotational input
- Added a slower more precise variant of the hand crank
- Basins now render their contained fluids
2020-09-25 17:22:16 +02:00
92a6e32b19 Fixed some more stuff 2020-09-24 16:17:16 +02:00
88d52814c5 Fixed tagging and some misc 2020-09-23 23:14:00 +02:00
ae7a24d2a3 Below 3 digit compile errors, finally 2020-09-23 21:42:31 +02:00
2f2a5674f3 Ok, still above 100 compile errors, but progress... 2020-09-22 23:18:13 +02:00
a142cfdb85 Last porty for the day 2020-09-22 22:28:51 +02:00
f01aeee43e even more porty? 2020-09-22 22:00:44 +02:00
fe92f8fb41 Even more porty 2020-09-22 21:17:11 +02:00
83c64121eb Do some porty stuff 2020-09-22 17:44:22 +02:00
tterrag
4beaab9b97 Merge remote-tracking branch 'origin/mc1.15/dev' into mc1.16/dev
Update to 1.16.3

Conflicts:
	src/main/java/com/simibubi/create/AllBlockPartials.java
	src/main/java/com/simibubi/create/AllBlocks.java
	src/main/java/com/simibubi/create/AllTags.java
	src/main/java/com/simibubi/create/ClientEvents.java
	src/main/java/com/simibubi/create/CommonEvents.java
	src/main/java/com/simibubi/create/content/contraptions/components/actors/StorageInterfaceMovement.java
	src/main/java/com/simibubi/create/content/contraptions/components/crafter/MechanicalCrafterTileEntity.java
	src/main/java/com/simibubi/create/content/contraptions/components/deployer/DeployerTileEntity.java
	src/main/java/com/simibubi/create/content/contraptions/components/fan/AirCurrent.java
	src/main/java/com/simibubi/create/content/contraptions/components/fan/NozzleTileEntity.java
	src/main/java/com/simibubi/create/content/contraptions/components/mixer/MechanicalMixerTileEntity.java
	src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/Contraption.java
	src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/ContraptionCollider.java
	src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/ContraptionEntity.java
	src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/glue/SuperGlueItem.java
	src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/glue/SuperGlueRenderer.java
	src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/mounted/CartAssemblerBlock.java
	src/main/java/com/simibubi/create/content/contraptions/fluids/FluidPipeBlock.java
	src/main/java/com/simibubi/create/content/contraptions/fluids/FluidPipeModel.java
	src/main/java/com/simibubi/create/content/contraptions/fluids/FluidTankBlock.java
	src/main/java/com/simibubi/create/content/contraptions/fluids/FluidTankCTBehaviour.java
	src/main/java/com/simibubi/create/content/contraptions/fluids/FluidTankModel.java
	src/main/java/com/simibubi/create/content/contraptions/fluids/PumpBlock.java
	src/main/java/com/simibubi/create/content/contraptions/particle/AirFlowParticle.java
	src/main/java/com/simibubi/create/content/contraptions/processing/HeaterBlock.java
	src/main/java/com/simibubi/create/content/contraptions/processing/HeaterRenderer.java
	src/main/java/com/simibubi/create/content/contraptions/processing/HeaterTileEntity.java
	src/main/java/com/simibubi/create/content/contraptions/relays/belt/BeltHelper.java
	src/main/java/com/simibubi/create/content/curiosities/ChromaticCompoundItem.java
	src/main/java/com/simibubi/create/content/curiosities/symmetry/SymmetryWandScreen.java
	src/main/java/com/simibubi/create/content/curiosities/tools/SandPaperPolishingRecipe.java
	src/main/java/com/simibubi/create/content/logistics/block/extractor/ExtractorBlock.java
	src/main/java/com/simibubi/create/content/logistics/block/extractor/ExtractorMovementBehaviour.java
	src/main/java/com/simibubi/create/content/logistics/block/extractor/ExtractorSlots.java
	src/main/java/com/simibubi/create/content/logistics/block/extractor/ExtractorTileEntity.java
	src/main/java/com/simibubi/create/content/logistics/block/extractor/LinkedExtractorBlock.java
	src/main/java/com/simibubi/create/content/logistics/block/funnel/FunnelFilterSlotPositioning.java
	src/main/java/com/simibubi/create/foundation/fluid/FluidRenderer.java
	src/main/java/com/simibubi/create/foundation/tileEntity/behaviour/belt/TransportedItemStackHandlerBehaviour.java
	src/main/java/com/simibubi/create/foundation/tileEntity/behaviour/inventory/SynchronizedExtraction.java
	src/main/java/com/simibubi/create/foundation/utility/AngleHelper.java
	src/main/java/com/simibubi/create/foundation/utility/BlockHelper.java
	src/main/java/com/simibubi/create/foundation/utility/VecHelper.java
	src/main/java/com/simibubi/create/foundation/utility/outliner/BlockClusterOutline.java
	src/main/java/com/simibubi/create/foundation/utility/outliner/Outline.java
2020-09-20 00:37:27 -04:00
simibubi
990d80412e Logistics' final stretch, Part I
- Brass tunnels once again have the ability to synchronize inputs among a chain
- Mechanical arms now have a range limitation
- Mechanical arms now wait with initialization until their area is fully loaded
- Chutes no longer ignore the direction of an attached fans air flow
- Chutes now render particles indicating their movement direction
- Chutes can now pull items up from belts or off the ground
- Fixed item model of shadow casing
- Fixed invisible quads under funnels when no casing is applied to the belt
- Belt mounted funnels can now be perpendicular to the belt theyre on
- Funnels can now transpose items like a hopper when facing down
2020-09-19 15:19:22 +02:00
simibubi
f58a7c8482 Fun with funnels
- Reworked funnel assets
- Andesite funnels can now be controlled via redstone input
- Re-introduced creative mounted storage
2020-09-14 21:10:38 +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
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
121dd935b5 Fix turtle egg blockzapper dupe 2020-09-04 14:35:49 +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
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
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
80406e8782 Cleanup crew
- More refactors and enhancements to the blaze burner
2020-07-23 17:41:15 +02:00
tterrag
c1f68ab830 Prospective 1.16 port start - only find/replace fixes so far 2020-07-22 22:16:11 -04:00
simibubi
f5af1cd81e Merge branch 'mc1.15/dev' into mc1.15/collision 2020-07-22 19:07:33 +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
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
simibubi
a0ff70a1bb Not enough polish
- Reworked belt assets and renderer once again
2020-07-12 02:05:29 +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
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
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
20de324b72 PipeState
- Implemented dynamic models and blockstates of copper pipes
2020-06-14 22:24:46 +02:00
simibubi
752bcf06c0 Bug fixes
- Fixed encoding of generated degree symbols in lang
- Fixed pistons along x moving at inconsistent speeds, overshooting their bounds
- Fixed belts along x not moving entities
- Fixed diagonal belts along z teleporting entities miles away
- Fixed tree fertilizer not working
2020-06-08 13:34:51 +02:00
simibubi
82a2d128f1 Ported ISTERs
- Removed temporary lang partial with entity names
- Fixed and Refactored the item renderers of the Wrench, Blockzappers, Worldshapers, Symmetry Wand and Deforester
- Tweaked blockzapper beam rendering to look less clunky
- Fixed selection of zapper tools not showing after they had been dual-wielded
2020-06-04 15:04:49 +02:00
simibubi
36ab939126 "Batched" rendering, huh
- Schematic previews can now render TEs
- Schematic renderer no longer relies on negative scale and noCull for mirrored previews (fixes a few inconsistencies)
- Avoided blending issues with the outliner system when using multiple textures throughout a batch
- Introduced SuperRenderTypeBuffer as an attempt to give options for render order in the RWLE context (does not fix the early flushing in the fallback buffer)
2020-06-03 22:04:05 +02:00
simibubi
3d68bec18a Item registrates, and more porty
- All Items are now using registrate
- Blockzapper now renders an outline around its affected area
- Ported rainbow debug ™️
- Reworked the custom item model/renderer system
- Schematics now preview their structure again
- SuperByteBuffers now support being rendered into non-BufferBuilders
2020-05-28 01:29:26 +02:00
simibubi
8d8f96c778 Fixed outliners' culling issue 2020-05-27 13:12:57 +02:00