Commit Graph

48 Commits

Author SHA1 Message Date
PepperBell
1c23302544 Chipping away, Part III 2021-11-02 19:04:52 -07:00
simibubi
00b6a32e77 Chipping away, Part II 2021-11-02 16:25:48 +01:00
PepperBell
0cb7a0260e Chipping away 2021-11-01 22:18:30 -07:00
simibubi
741fa401d8 Move to official class names
- also updated buildscript to 1.17
- some remap corruption from compilation errors in flw/next
2021-11-02 00:08:20 +01:00
PepperBell
9870431db8 Miscellaneous refactors
- Refactor custom rendered items; The renderer now creates the model
instead of the other way around
- Only tick wrench cog rotation and linked controller renderer if client
is not paused
- Move all model swapping code from CreateClient to ModelSwapper
- Register client resource reload listener before initial resource
reload
- Use TextureStitchEvent.Post event instead of resource reload listener
for filling sprites of SpriteShiftEntries
- Reuse Random instance in PartialItemModelRenderer
- Make all config fields final
- Merge package foundation.renderState into foundation.render
- Move BreakProgressHook from package foundation to foundation.block
- Rename ResourceReloadHandler to ClientResourceReloadListener
- Rename ProperDirectionalBlock to WrenchableDirectionalBlock
2021-10-16 01:46:49 -07:00
simibubi
925c98792f (Sp)out of order
- Added behavioural registry for Spout/Block interaction
- Fixed and Refactored TiCon Casting via Spout
- Fixed fluid pipes getting stuck trying to waterlog non-solid blocks with fluid handling capabilities
- Fixed modlist lookup for non-english locales
2021-08-25 13:46:53 +02:00
zelophed
0fe3230640 color me surprised
- move functionality of ColorHelper into a new Color class
- replace usage of java.awt.Color with our own color in most cases
2021-07-31 14:21:19 +02:00
Jozufozu
a52b6d766f MaterialGroups and massive refactors
- Move material stuff to its own package
 - The various render functions in the material tree now bind to specific render layers
 - Instancers can choose which layer to use
 - The layers are SOLID, CUTOUT, and TRANSPARENT
 - More layers are likely unnecessary, but we'll see
 - Deprecate functions in MaterialManager in favor of more builderesque ones using MaterialGroups
 - Catching up with Flywheel
 - Remove MatrixStacker in favor of Flywheel's TransformStack (thread safety too)
2021-07-21 20:30:35 -07:00
PepperBell
4bdd802170 Organize imports 2021-07-17 00:46:35 -07:00
a048285699 Bulk remap, compiles 2021-07-15 11:32:03 +02:00
PepperBell
b5c0684dd6 Rendering refactors
- Fix fluid rendering in JEI scenes
- Add more separate options to SuperByteBuffer
- Fix copper backtank diffuse when worn
- Fix enchantment glint on custom rendered items; Closes #1846
2021-07-03 01:03:37 -07:00
simibubi
12085ed909 Merge branch 'mc1.16/fluid-ponder' into mc1.16/dev 2021-06-24 23:38:56 +02:00
simibubi
ab8b8e41da Thinking about Pipes
- Survival mode players can now configure the fluid supplied by a creative fluid tank
- Pondering for Tanks, Creative Tanks and Hose Pulleys
2021-06-24 18:22:28 +02:00
JozsefA
3ce4e2c5e8 Cleanup flywheel event listeners, fix crash on server startup 2021-06-23 13:19:03 -07:00
JozsefA
64c55c1205 Merge remote-tracking branch 'origin/mc1.16/dev' into mc1.16/chromatic-projector
# Conflicts:
#	README.md
#	src/generated/resources/.cache/cache
#	src/generated/resources/assets/create/lang/unfinished/de_de.json
#	src/generated/resources/assets/create/lang/unfinished/es_es.json
#	src/generated/resources/assets/create/lang/unfinished/es_mx.json
#	src/generated/resources/assets/create/lang/unfinished/fr_fr.json
#	src/generated/resources/assets/create/lang/unfinished/it_it.json
#	src/generated/resources/assets/create/lang/unfinished/ja_jp.json
#	src/generated/resources/assets/create/lang/unfinished/ko_kr.json
#	src/generated/resources/assets/create/lang/unfinished/nl_nl.json
#	src/generated/resources/assets/create/lang/unfinished/pl_pl.json
#	src/generated/resources/assets/create/lang/unfinished/pt_br.json
#	src/generated/resources/assets/create/lang/unfinished/ru_ru.json
#	src/generated/resources/assets/create/lang/unfinished/zh_cn.json
#	src/generated/resources/assets/create/lang/unfinished/zh_tw.json
#	src/main/java/com/simibubi/create/foundation/fluid/FluidRenderer.java
2021-06-22 21:13:34 -07:00
simibubi
0a376b719e Thinking with Pipes
- Implemented ponder scenes for Fluid Pipes and Copper Casing
- Adjusted Fluid transfer, containment and rendering behaviours to function in 'virtual' environments
2021-06-21 18:46:31 +02:00
JozsefA
9bac709dfd Event system, sort of untangle backend 2021-06-04 15:56:46 -07:00
JozsefA
7abc860809 Fix fluid rendering in tanks and pipes on fabulous graphics 2021-05-13 11:37:04 -07:00
simibubi
edb1b59f41 Housekeeping
- Added an .editorconfig
- Auto-Reformatted most .java files
- Auto-Organized Imports
2021-04-08 19:22:11 +02:00
simibubi
67cb69aaea Merge branch 'mc1.15/dev' into mc1.16/dev 2020-12-15 23:21:52 +01:00
simibubi
64b2c61389 Bug fixes
- Fixed spout creating potions from any fluid
- Fixed pipes not actually transferring the type of fluid selected by layer II flow propagation
- Fixed some fluid handlers erasing nbt data of extracted fluidstacks
- Fix sidedness issues in Config packets
2020-12-15 23:13:22 +01:00
simibubi
afa477d81b Merge branch 'mc1.15/dev' into mc1.16/dev 2020-12-09 21:00:06 +01:00
simibubi
9a7886f406 Backwards for Progress
- Rebuilt the entire fluid propagation and transfer system with a new approach
2020-12-09 16:05:52 +01:00
4de7c118f4 merge and port. I WANT IT NOOOOW! 2020-12-05 11:42:14 +01:00
simibubi
16705c5cb5 A flock of fluids
- Added Fluids for chocolate, honey, milk and tea
2020-12-03 20:41:55 +01:00
simibubi
0a98171384 Merge branch 'mc1.15/dev' into mc1.16/dev 2020-11-06 20:49:00 +01:00
simibubi
d5f08aab76 Brackets and spilled potions
- Added wooden and metal brackets
- Brackets can be applied to shafts, cogs and fluid pipes
- Brackets prevent pipes from connecting to adjacent pipes
- Fixed blockzapper not showing up in the searchable creative menu
- Added config values for hose pulleys
- Hose pulleys now extinguish lit waterloggable blocks
- Hose pulley now break blocks that cannot withstand vanilla fluid flows
- Spout is now wrenchable
- Fixed spout not activating properly
- Added fluid particles that supports fluids without a block variant
- Potion fluids now apply their effects to nearby entities when spilling from an open end
- Fixed pumps not rendering fluid particles when spilling/pulling fluids directly
- Hose Pulley no longer accepts fluids that cannot be placed
- Hose Pulleys and open pipes can no longer place water in the nether
- Some Refactors to the particle system
- Reverted reversed crtl activation for schematic tools
- Added a command to fix broken lighting in some of creates models (enables experimental forge block rendering)
- Fixed fluid ingredients in jei once again
- Fixed fluid tag ingredients being resolved on the client
2020-11-04 19:08:01 +01:00
Bob Dole
c739fdbb09 Resolved merge conflicts - Does not Build 2020-10-30 03:06:15 -04:00
simibubi
5abfc15e9e Destroyer of Lakes
- Added the hose pulley
- Added creative tanks
- Fixed sails not getting consumed when placed against each other
- Items can now be inserted onto belts regardless of it moving or not
- Fixed item duplication on stopped belts
- Refactored fluid block rendering in JEI
- Reworked model of the schematic table
2020-10-30 02:16:08 +01:00
Bob Dole
b30d3369cd Merge remote-tracking branch 'upstream/mc1.15/dev' into mc1.16/dev
- Resolved merge conflicts
2020-10-19 23:22:24 -04:00
simibubi
b7bed44a61 Basic Brewing
- Refactored JEI plugin to use a builder for categories
- The mixer can now process vanilla potion recipes
- JEI support for fluid potion mixing
- Refined some categories to not show obsolete information
- Compacting and automatic vanilla packing are now in separate tabs
- Fluids can now be manually picked up from a basin
- Basins and Spouts can now extract from and fill vanilla potion items
- Improved the filtering for fluid tests, such as the basin recipe and smart pipes
- Fixed CombinedTankWrapper losing nbt data of transferred fluidstacks
2020-10-19 22:07:05 +02:00
simibubi
cbeb5dc649 Merge branch 'mc1.15/dev' into mc1.16/dev 2020-10-12 22:15:32 +02:00
simibubi
afa94c3e77 Blazier updates
- Fixed some sync & block update issues with blaziers
- Changed the fuel pellet item
- JEI can now display fluid in- and outputs of basin recipes
2020-10-12 21:55:09 +02:00
131669c9ff Temporarily fix fluid tag serialization 2020-10-11 12:38:50 +02:00
b9476b58ce bare basin business, but 1.16 2020-10-06 21:42:31 +02:00
simibubi
378164b8b9 More unfinished basin business
- Fixed players flailing their limbs around while standing still on a moving contraption
- Attempted to reduce drag of remote player positions while on a contraption
- Contraptions no longer log out with the player riding them
- Attribute filters are now made of brass
- Added the ability to disable auto-compat with vanilla recipe types in the configs
- Added a recipe type for custom basin/press compacting
- Basins can now process items and liquids in recipes
- Input items/fluids of a basin can now be extracted or reused in further processing
- A basin diagonally below another basin with collect outputs of recipes processed in the top basin for ease of automation
- (Temporary debug recipes)
2020-10-06 20:43:13 +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
92a6e32b19 Fixed some more stuff 2020-09-24 16:17:16 +02:00
simibubi
2d6d360da4 Workstation transfer, Part II
- Intermediate changes, probably doesn't even compile
2020-09-24 13:39:40 +02:00
a142cfdb85 Last porty for the day 2020-09-22 22:28:51 +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
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
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
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
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
tterrag
c1f68ab830 Prospective 1.16 port start - only find/replace fixes so far 2020-07-22 22:16:11 -04:00
simibubi
217138255e Tanks, Obama
- Reworked fluid tanks to incorporate new assets and functionality
2020-07-19 00:22:14 +02:00