Commit Graph

638 Commits

Author SHA1 Message Date
simibubi
2d6d360da4 Workstation transfer, Part II
- Intermediate changes, probably doesn't even compile
2020-09-24 13:39:40 +02:00
simibubi
d9d5e60606 Workstation transfer, Part I
- Intermediate changes, probably doesn't even compile
2020-09-24 13:39:12 +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
5538441e9f Still 3 digit compile errors? Fixed a bunch, probably broke a bit too 2020-09-23 11:15:32 +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
simibubi
aef451e3bf Logistics' final stretch, Part II
- Belt observer -> Content observer
- Content observers can now monitor any inventory and funnel transactions
- Stockpile switches no longer only access slots exposed to a specific side of an inventory
- Stockpile switches can now take a filter
2020-09-20 21:34:36 +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
2061072f8c Merge branch 'mc1.15/dev' of https://github.com/Creators-of-Create/Create into mc1.15/dev 2020-09-13 22:00:15 +02:00
simibubi
03cf441674 Distribution modes for tunnels
- Item distribution across belts using brass tunnels can now be configured with a wrench
- Added new icons for the distribution options of arms and tunnels
- Removed obsolete code
- Fixed some weirdness with creative crates and funnels
2020-09-13 22:00:11 +02:00
LordGrimmauld
a015901571
Merge pull request #459 from gamrguy/render-fix
Fix unsided filters that shouldn't render
2020-09-13 11:37:56 +02:00
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
Colman Davenport
adfeeba5a1 Fix unsided unplaced filters still rendering 2020-09-12 15:50:12 -04:00
6604096131 Merge branch 'mc1.15/dev' of https://github.com/Creators-of-Create/Create into mc1.15/dev 2020-09-12 16:37:34 +02:00
d1c6352629 Creative Crate on contraptions 2020-09-12 16:27:48 +02:00
f58245158d Chest Minecart contraptions 2020-09-12 14:59:31 +02:00
2e938c11bd Fix dispense location to be actually where the opening of the dispenser is 2020-09-12 10:23:25 +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
c572b48bbe MovedProjectileDispenserBehaviour#of now takes vanilla inaccuracy and velocity into account 2020-09-11 10:58:17 +02:00
54f91c82aa Fixed entity lookup for projectile dispense behaviours not working outside the dev environment 2020-09-11 09:53:32 +02:00
simibubi
bfd4b9dbda Fixed processing recipe packet data 2020-09-11 00:00:16 +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
4325cef8dc split buffering to prevent crashes when the registered ProjectileDispenseBehavior has some weird stuff going on (mod compat) 2020-09-10 16:33:29 +02:00
34f9516d54 Added indirect projectile dispense behaviours for compatibility with modded projectiles right out of the box. Removed the direct projectile behaviours from vanilla as they are now covered from the indirect implementation. 2020-09-10 16:28:55 +02:00
3d006e7e87 refactor getDispenseStack to getDispenseLocation, delete unused variable declaration in getUseableLocations, added accidentially removed comment back 2020-09-10 13:28:33 +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
simibubi
59339a7bcb Re-attached MovementBehaviour to funnels 2020-09-08 18:42:11 +02:00
e493ab9ce1 Fix hopper minecart being unable to pick up item entities on top of the saw. Remove item handler capability from bottom of saw to achieve this. It is unlocigal logistical components could access the saw from the bottom anyways. 2020-09-06 13:14:52 +02:00
25bce3fc17 Fix schematicannon bedrock breaking with doors, tall flowers and beds 2020-09-06 12:43:41 +02:00
fb7b2e64b2 Fix extendo grip breaking item frames instead of making the item pop off 2020-09-06 12:07:33 +02:00
f85894b232 Fix deployer beehive crash #2 2020-09-06 11:52:41 +02:00
0a4aaaf81e Fix beehive deployer crash 2020-09-06 11:15:01 +02:00
d89807fad9 Fix wand of symmetry not applying fortune or silk touch 2020-09-06 09:35:49 +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
d73ebd0253 Changed polished stone crafting recipe to yield 4 stones to match polished vanilla stones and 1:1 stonecutter recipe 2020-09-05 20:48:34 +02:00
235cc445e8 Made AbstractEncasedShaftBlock#getPushReaction return PushReaction.NORMAL
This disables pushing of clutch, encased shaft and gearshift with vanilla piston, but is overall more consistent.
 To move TEs, use quark.
2020-09-05 18:41:40 +02:00
44bc5506cf Fix zinc ore sound inconsistency 2020-09-05 18:39:06 +02:00
a2e4ffbf86 Fix deployer adding empty NBT tag to items ike food or bonemeal if they could not be used 2020-09-05 17:43:02 +02:00
fd457c1216 Fix superglued pressure plates 2020-09-05 17:11:18 +02:00
2d94838a3e Fix beacon reading 2020-09-05 12:33:16 +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
fc048d4e76 Access transform go poof 2020-09-03 12:41:08 +02:00
bbac660048 Is this a Helmet? 2020-09-02 15:53:13 +02:00
a792880351 Clay pigeons 2020-09-02 15:38:24 +02:00
b070adc3e3 oops, double particles 2020-09-02 10:49:05 +02:00
25712f8b39 Drop and Dispense in inventories 2020-09-02 10:45:24 +02:00
f1cad974aa Stability fix for backup itemstack on catched null TE errors 2020-09-02 10:23:56 +02:00
c81e105964 Fix Glass bottle moved dispense behaviour, fix filter for pulled items 2020-09-02 10:20:11 +02:00
7e4ca0475e Add experimental dropper and dispenser movement behaviours.
WIP: (probably) unstable, definitely buggy
Unfinished: Bottles, maybe spawn eggs
2020-09-01 22:41:17 +02:00
Zelophed
53e0c61da7 Mechanical Arm Round Robin
- added a scroll option to the arm that enables round robin for in- and output
2020-08-31 16:01:26 +02:00
simibubi
6cf36e47bf Fix Build Issues 2020-08-31 15:26:07 +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
84079c769e Merge branch 'mc1.15/dev' of https://github.com/Creators-of-Create/Create into mc1.15/dev 2020-08-28 22:45:31 +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
Zelophed
a5e19673e3 tweak Drill and Saw damage
- also removes redundant cast in AllTileEntities
2020-08-28 21:24:08 +02:00
Zelophed
7989bae1c0
Merge pull request #444 from YukkuriC/master
DamageSource lang of drill and saw fix
2020-08-28 21:16:00 +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
0d1085ef09 Late-night adjustments
- Reduced ambient dripping particles of fluid pipes
- Fixed reversed uvs on encased fans
- Fixed tile entities not being added to contraptions client-side
2020-08-25 23:33:39 +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
Yukkuri C
052fd8e7b6 DamageSource lang of drill and saw fix
- create.(drill|saw) -> create.mechanical_\1
- unused DrillTileEntity.damageSourceDrill removed
2020-08-23 13:14:34 +08:00
Zelophed
8e349380a5 fix tooltips getting occluded by certain gui elements
- addresses #412
- addresses #366
2020-08-21 20:46:09 +02:00
Zelophed
cd60fd4d59 refactor AllTileEntities to match Registrate workflow 2020-08-21 12:59:30 +02:00
7faf29775d fix casing blockstate of clutch and gearshift 2020-08-20 17:02:36 +02:00
Zelophed
bc5bcd0a6d whoops, forgot about this 😳 👉👈
- encased shaft supports multiple casings, applied with right click
- fix gl state after rendering our cube particle
2020-08-18 13:53:05 +02:00
348409a0a4 Movement behaviour registration changes
- buffering SeatMovementBehaviour
- changed visibility of AllMovementBehaviours.addMovementBehaviour(ResourceLocation, MovementBehaviour) to public for easier mod compat
- added console warn message when something tries to register more than one movement behaviour per block
2020-08-09 14:36:07 +02:00
2675d6ae2f Campfire movement behaviour
- Campfire now spawns smoke when moved
2020-08-09 13:32:08 +02:00
111e69d189 bell movement behaviour 2020-08-09 12:40:33 +02:00
9bf81f4d7f movement behaviour hash map 2020-08-08 23:37:36 +02:00
simibubi
e15c19222f Hotfix
Optional: exists
simi: null
2020-08-06 21:34:22 +02:00
simibubi
bb5a6c45f6 Couple things, Part II
- Fixed a few major issues with dual cart assembly
- Attempted to fight the heavy loss of momentum in coupling physics
2020-08-06 16:29:40 +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
a5e666d85e casings, indeed.
- Implemented the new casing variants
- Fixed missing particle textures on cogwheels
- Implemented Copper Tiles
2020-08-05 00:41:07 +02:00
tterrag
515eb0026d Improve blaze burner particles
- Now curl around blocks that are placed above
- Spawns a burst of particles when fuel is added
2020-07-28 23:57:29 -04: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
tterrag
f2b8d85303 Better blaze head rotation 2020-07-23 01:34:58 -04:00
tterrag
8087d7013c Fix server crash when using heater on a spawner 2020-07-22 23:37:42 -04:00
tterrag
716840116b Port everything in root package
CommonEvents / All***
2020-07-22 22:34:05 -04: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
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
Zelophed
d3e7b23d6e Seats, part I 2020-07-20 01:19:20 +02:00