Commit Graph

578 Commits

Author SHA1 Message Date
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
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
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
55d91ef4a1 crude heater particles 2020-07-15 13:39:45 +02:00
9fe29193de Heated Mixing JEI support 2020-07-14 19:50:23 +02:00
d4f0743522 fix build issue 2020-07-14 17:46:26 +02:00
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
376b6cc851 blaze heater lighting (moved heat level to block state) 2020-07-14 16:24:40 +02:00
0580318b38 new heater fuel and fueling system 2020-07-14 15:54:02 +02:00
7404972cf6 resolved culling issues + crude heater voxel shape 2020-07-14 10:40:19 +02:00
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
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
a44ef1733b Merge branch 'heatedMixer' into mc1.15/dev 2020-07-12 14:54:03 +02:00
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
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
02450bd2f7 More recipe Serializer changes
- added Interface IExtendedProcessingRecipe supporting requiredHeat, fluid inputs and fluid outputs
- set Mixing recipes to use the extended serializer in AllRecipeTypes
- removed constructor parameters specifying fluid usage in recipes that do not support fluids (and changed the ConversionRecipe JEI support class back)
- cleaned up annotations, ordered AllRecipeType enum values and imports, reformatted recipe code
2020-07-11 16:18:17 +02:00
simibubi
1ea7eeb040 Merge branch 'mc1.15/dev' into mc1.15/collision 2020-07-11 12:33:01 +02:00
simibubi
04b81128cd SeatState
- Added textures, models and blockstates for seats
2020-07-11 01:28:37 +02:00
a73919357b fluid reading for the processing recipes and its serializer 2020-07-10 22:46:11 +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
3902569cbd Fix another kinetic loop when removing shafts from a belt segment 2020-07-10 12:49:24 +02:00
simibubi
cf80822024 Merge branch 'mc1.15/v0.2.x' into mc1.15/dev 2020-07-10 12:47:36 +02:00
simibubi
16e08a0693 Distribu-tunnel
- Fixed dynamic Mechanical Arm parts not being lit correctly
- Fixed Mechanical Arm not always initializing interaction points on the client
- Belt tunnels now create side-openings for belt-like blocks such as the depot
- Belt tunnels no longer create flaps when there is a belt funnel connected to that side
- Brass tunnels can now distribute items among their output sides and other connected tunnels, taking into account their sided filtering
2020-07-09 21:55:14 +02:00
simibubi
26112ddc93 Fix build issues
- Not sure why but this seems to have worked
2020-07-09 01:28:14 +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
f9fe47eea5 Merge branch 'basin fluid support' into mc1.15/dev 2020-07-08 18:29:35 +02:00
3bcdac6080 Crude basin fluid support
- basin can now store fluid
- fluid stored in basin will be bundled together with item in a MultiIngredientTypeList supporting both items and fluids
2020-07-08 18:29:02 +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
6511cbcd7b Belt casing overhaul
- Sideways and Vertical belts can now be reinforced with casing
- Belts can now be reinforced with andesite casing
- Reinforcing belts no longer consumes the casing block
- Reworked reinforced belt models
- Fixed flipped diagonal belt casing once again
- Fixed belts breaking instantly when punched in survival mode
2020-07-07 16:03:49 +02:00
Prusias
2d04c87865 Fixes issue 388, When placing a casing or shaft on a active belt it creates a looping power source. This is avoided by using KineticTileEntity.switchToBlockState, which safely modifies the kinetic network. 2020-07-07 11:04:25 +02:00
simibubi
0f4d65778e Belt model polish
- Touched up belt models
- Fixed bottom/top diagonal belt casing being reversed
2020-07-07 00:48:53 +02:00
d5c98043ad Merge branch 'mc1.15/dev' of https://github.com/Creators-of-Create/Create into mc1.15/dev 2020-07-06 23:42:45 +02:00
0c6bbcc5ed Brittle and Non-movable block tags
- added a block tag non_movable conatining blocks that should not be moved with contraptions
- added a block tag for brittle blocks breaking without support
- moved obsidian from hardcoded to non_movable block tag
- moved flower pots, doors and bells from hardcoded to brittle block tag
- registrate block tagging of brittle blocks
- made immersive engineering connectors non-movable to avoid reported weird behavior
2020-07-06 23:37:44 +02:00
simibubi
fd2d496882 Merge branch 'mc1.15/dev' of https://github.com/Creators-of-Create/Create into mc1.15/dev 2020-07-06 22:09:38 +02:00
simibubi
1907e69c35 Tilted belts
- Mechanical belts can now connect vertical shafts together
2020-07-06 22:09:35 +02:00
a0b4b5fa93 Fix AllTags namespace import 2020-07-06 12:24:03 +02:00
d0d981fba5 More compat
- Made Create cobble stone variants part of forge:cobblestone
- autumnity wood compat
- changed biomes o'plenty flower crushing to milling (as it is with vanilla flowers)
2020-07-06 11:40:58 +02:00
8ddf3fabba Merge branch 'non_player_kinetic_placement_fix' into mc1.15/dev 2020-07-04 14:29:38 +02:00
ff32c6c6ae fix null player crashes 2020-07-04 14:26:37 +02:00
Zelophed
957f9355b7 Display Arm Interaction Points
- placed mechanical arms will show their in/out puts if you look at them while holding a wrench
2020-07-03 23:56:50 +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
cd189a5fa9 Chute Implementation
- Chutes can now transfer items
- Chutes now propagate air flow from attached fans
- Fixed a few issues with mechanical arms
- Removed unused chute models
- Implemented appropriate interactions between funnels and chutes
2020-07-02 17:23:42 +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