Commit graph

514 commits

Author SHA1 Message Date
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
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
grimmauld
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
LordGrimmauld
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
LordGrimmauld
2675d6ae2f Campfire movement behaviour
- Campfire now spawns smoke when moved
2020-08-09 13:32:08 +02:00
LordGrimmauld
111e69d189 bell movement behaviour 2020-08-09 12:40:33 +02:00
LordGrimmauld
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
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
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
Zelophed
2a3da7e4d0 he do be munching tho
-added sounds to the runData again
2020-07-19 17:08:20 +02:00
simibubi
19ca9dd7d6 Fix build and dist issues
- Fixed javac not inferring type vars correctly
- Fixed client particle classes being loaded on server dist
2020-07-19 13:53:27 +02:00
simibubi
a009540190 CubeParticle hotfix
- Switched to additive cube particle mode
- Fixed cube particles not rendering properly with other entities in frame
2020-07-19 00:50:03 +02:00
simibubi
257dc11f55 Merge branch 'mc1.15/dev' of https://github.com/Creators-of-Create/Create into mc1.15/dev 2020-07-19 00:32:11 +02:00
simibubi
217138255e Tanks, Obama
- Reworked fluid tanks to incorporate new assets and functionality
2020-07-19 00:22:14 +02:00
Zelophed
b2a5a4822a more changes to heater and particles
-heater now uses a enum for the blaze state
-added new particles for the heater
-changed heaters voxel shape
2020-07-18 20:07:22 +02:00
LordGrimmauld
e7a851c8c0 Fixed block tag gen and loading, fixed fan generating over extinguished camp fires 2020-07-17 09:40:09 +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
53a58def49 Contact points and Friction
- Entities are now moved with the relative motion of their contact point
2020-07-15 15:01:59 +02:00
LordGrimmauld
55d91ef4a1 crude heater particles 2020-07-15 13:39:45 +02:00
LordGrimmauld
9fe29193de Heated Mixing JEI support 2020-07-14 19:50:23 +02:00
LordGrimmauld
d4f0743522 fix build issue 2020-07-14 17:46:26 +02:00
LordGrimmauld
ffb1b17626 reworked blaze heater heating system (again) 2020-07-14 17:23:07 +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
LordGrimmauld
376b6cc851 blaze heater lighting (moved heat level to block state) 2020-07-14 16:24:40 +02:00
LordGrimmauld
0580318b38 new heater fuel and fueling system 2020-07-14 15:54:02 +02:00
LordGrimmauld
7404972cf6 resolved culling issues + crude heater voxel shape 2020-07-14 10:40:19 +02:00
LordGrimmauld
42b78b01eb Blaze heater fan interaction
- moved fan transparent blocks to block tag
- added blaze heater as transparent
- blaze heater on lowest level is now a valid bulk smokig block
- blaze heater on heat 2 and higher is now a valid bulk smelting block (that requires fuel but does not spill lava or set your house on fire)
2020-07-14 00:05:22 +02:00
LordGrimmauld
509edd9181 Empty Blaze Heater
- added empty blaze heater
- catching blazes (rclick blazes or a blaze spawner)
- only blaze heaters with blaze can heat basins or power fans
- updated item tooltip to fit the discussed fueling system
2020-07-13 23:33:55 +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
LordGrimmauld
a44ef1733b Merge branch 'heatedMixer' into mc1.15/dev 2020-07-12 14:54:03 +02:00
LordGrimmauld
12595490c7 Heater functionality:
- Heated Mixing: Mixing can now require the player to heat the basin (with either the usual fan heaters for a heat level of 1 or the blaze heater for higher heat levels)
- Made mixing brass ingots from copper and zinc ingots require heating (as example)
- added the blaze heater to valid fan heaters
- added TE renderer for fan heater to display a blaze head always facing the player
- added fueling of blaze heater with furnace fuel (onUse event, not with inventory to challenge the automation. To be discussed.)

todo:
- add heat requirement display to JEI
- better item model for blaze heater
- new special fuel for higher heat levels
- fan stoking
2020-07-12 13:13:43 +02:00
LordGrimmauld
ae785b5a66 blaze_heater 2020-07-12 10:57:53 +02:00