Commit Graph

147 Commits

Author SHA1 Message Date
simibubi
edb1b59f41 Housekeeping
- Added an .editorconfig
- Auto-Reformatted most .java files
- Auto-Organized Imports
2021-04-08 19:22:11 +02:00
JozsefA
f2b064fa49 Instanced rope pulleys
- The "magnet" texture is broken
2021-04-06 23:17:16 -07:00
JozsefA
5abc1e0fe7 Instanced pulleys first pass 2021-04-02 13:38:28 -07:00
JozsefA
b9f6a3b94e Instanced bearings 2021-03-31 16:19:58 -07:00
JozsefA
1d2b51250c Instanced Ejectors and better hashing for BehaviourTypes. 2021-03-25 21:27:08 -07:00
simibubi
718142e26f Faith in your Depot
- Added Weighted Ejectors
- Fixed? some tunnel distribution inconsistencies
2021-03-26 00:15:38 +01:00
JozsefA
1310b88828 Lieutenant Scatterbrain II.
- Swich to tabs. (not everything is tabs yet)
 - Refactor light and color attributes to their own Enum.
 - Quaternion/pivot/position attribute shader.
 - Always update an instance when the WorldRenderer checks if it should rerender a block.
 - Simplify some names.
 - Remove generics in InstanceData classes.
 - Deployer Tiles now use the oriented material.
 - Press heads now correctly orient themselves.
 - ModelData buffers things faster and is simpler.
2021-03-22 20:20:52 -07:00
JozsefA
f6cfd377a7 Ticking things.
- Differentiate tickable and dynamic instances.
 - Instanced repeaters.
2021-03-20 16:30:09 -07:00
JozsefA
018c177f1e Better contraption actor instancing.
- Promoted actor instance creation to the ActorInstance class.
 - Drills and Harvesters' rotational speed is based on their movement speed with Flywheel on.
 - Deployers now use Flywheel.
2021-03-16 15:52:37 -07:00
JozsefA
52eed2bab3 Instanced Gauges and Valves, DRY lighting. 2021-03-15 14:20:13 -07:00
JozsefA
b71c831a07 Lieutenant Scatterbrain.
- User no longer has to manually add instances, new hook instead.
 - Use registrate for InstanceFactories.
 - Instanced levers.
 - Instanced hand cranks.
 - Reorganize PhysicalFloat and LerpedFloat.
2021-03-13 20:45:24 -08:00
zelophed
438ac99b2d fix dist issues for dedicated server 2021-03-12 15:51:25 +01:00
JozsefA
d0a6f4123b Instanced flywheels, engines, and schematicannons. 2021-03-10 13:44:04 -08:00
JozsefA
2ddf57cd76 Instanced mixers and presses. 2021-03-09 15:46:15 -08:00
JozsefA
e943705fb7 Merge remote-tracking branch 'upstream/mc1.15/dev' into mc1.15/dev
# Conflicts:
#	src/main/java/com/simibubi/create/AllTileEntities.java
#	src/main/resources/META-INF/accesstransformer.cfg
2021-03-08 11:06:35 -08:00
simibubi
1a315a11cf Merge branch 'mc1.15/ponder-ui' into mc1.15/dev 2021-03-08 17:29:06 +01:00
JozsefA
d0e5be24d7 Transformed models. 2021-03-08 00:36:23 -08:00
simibubi
c1c6e5e046 Controlled attachment
- Added the Sticker, a redstone-driven block attachment component
- Fixed lighting of TileEntities lowered by a pulley
2021-03-03 05:21:58 +01:00
JozsefA
5499fdbad0 The flappening.
Tunnel and funnel flaps are now rendered with the new engine.
2021-03-02 15:54:31 -08:00
simibubi
2e1129a3a5 Thinking about Gantries
- Added Ponder entries for gantry shafts and carriages
- Added ability to mark lang key prefixes as ignored, leaving out 'dev-only' lang entries from the localization templates
- Gantry Pinion -> Gantry Carriage
- Scenes can now be "re-assembled" by their storyboard while Ponder is opened using shift+refresh
- removed the requirement of editor provided lang keys for text windows
- couple fixes, changes to instructions
2021-03-02 05:53:43 +01:00
simibubi
d59fea1079 Bloat.
- Auto-Organize inputs
- runData after lang PRs
- change runWhenOn to non-deprecated unsafeRunWhenOn, now that late forge version is required
- Address a few warnings
2021-02-18 19:43:22 +01:00
JozsefA
d2e30eeab5 finish merge
remove old assets
2021-02-16 14:47:03 -08:00
JozsefA
15302495f5 Merge remote-tracking branch 'upstream/mc1.15/dev' into mc1.15/experimental-rendering-merge
# Conflicts:
#	src/main/java/com/simibubi/create/AllEntityTypes.java
#	src/main/java/com/simibubi/create/AllSpriteShifts.java
#	src/main/java/com/simibubi/create/content/contraptions/base/KineticTileEntity.java
#	src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/Contraption.java
#	src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/OrientedContraptionEntityRenderer.java
#	src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/bearing/MechanicalBearingTileEntity.java
#	src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/mounted/MountedContraption.java
#	src/main/java/com/simibubi/create/content/contraptions/relays/advanced/SpeedControllerRenderer.java
#	src/main/java/com/simibubi/create/content/contraptions/relays/belt/BeltRenderer.java
#	src/main/java/com/simibubi/create/content/contraptions/relays/belt/BeltTileEntity.java
#	src/main/java/com/simibubi/create/foundation/command/AllCommands.java
#	src/main/java/com/simibubi/create/foundation/utility/outliner/Outliner.java
2021-02-15 21:27:08 -08:00
JozsefA
d50e07369b flywheels render with the new tech, and therefore have more accurate lighting 2021-02-04 19:21:25 -08:00
simibubi
374f3c9547 Climb or Convey
- Added Gantry shafts and Gantry pinions
- Further attempts at stabilizing kinetic propagation
- Contraption types can now be added from external code
- Kinetic tile entities now have more control over kinetic propagation rules
- Added backend for loading schematic configurations globally for any component to see
- Encased chain drives are less likely to create a kinetic source loop when wrenched
- Piston and Pulley contraptions are less likely to overshoot targets at high speeds
2021-02-04 21:02:30 +01:00
JozsefA
e690f2b8ac okay you can use it now
fixed a lighting bug (with a hack, again)
everything now uses the new api
(kinetic components on contraptions are slightly broken)
2021-01-27 14:03:18 -08:00
JozsefA
67d59540cf THIS IS NOT READY FOR USE
new rendering api/pipeline
not everything is there yet, but a lot is
2021-01-26 19:45:13 -08:00
simibubi
525fc03278 Demise of the hopper funnel
- Added smart chutes
- Reworked non-mounted funnels to be consistent will all other funnel configurations
- Non-mounted funnels no longer occupy a full block length
- Non-mounted funnels can now insert and extract ground items
- Vertical funnels can no longer transfer between inventories
- Redstone links can now be placed onto any non-empty space
- Mechanical arms no longer arbitrarily wait between operations unless targets are overflowing
- Gave indicators on funnels better visibility
- Chutes now display contents in their goggle overlay
- Mechanical Arms and Wrenches can no longer be assigned to filter slots directly
2021-01-22 20:43:59 +01:00
simibubi
2744cabf14 How to 0.3
- Updated and Finished up remaining item/block tooltips
- Encased belts are now called encased chain drives for easier distinction
2020-12-11 19:36:13 +01:00
simibubi
2a56bb76be Casing case closed, Part II
- Encasing fluid pipes now locks their configuration
- Encased fluid pipes now join textures with adjacent casing blocks
- Fixed windowed pipe not allowing to be encased
- Fixed wrapped models not passing down model data in multi layered situations
2020-12-03 23:49:12 +01:00
simibubi
e3bef624a0 Casing case closed
- Encased shafts and gearboxes can now join textures with respective casing blocks
- Added back encased shaft items for creative mode
- Fixed encased shafts able to be created with casing and cogs
2020-12-02 21:49:57 +01:00
simibubi
8ff98dc3fb Fluid Delivery
- Fluid Tanks and Creative Fluid Tanks now form a combined fluid inventory on contraptions
- Added the Portable Fluid Interface
- Fixed tanks placed with nbt not clamping their contained fluids
- Item Storage information on Contraptions no longer get sent to the client
- Combined fluid storage synchronizes to the client and applies new contents to the corresponding mounted TE renderers
- Fixed motion of dripping potion particles from fluid pipe flow indication
- Portable Storage interfaces now interrupt their connection when receiving redstone power
2020-11-25 18:54:59 +01:00
simibubi
e701569fee Automatic Acrobatics
- Added the item drain
- Refactored pulley renderers
- Fixed belt funnel not dropping filters
- Fixed funnel filter slot positioning on upward facing funnels
- Sails can now be sheared
- Fixed the kinetic connectivity of the rotation speed controller
- Valve handles can now by dyed in world
- Seats can now be dyed in world
- Fixed Stockpile Switch emitting redstone power towards its detection target
- Organized Imports
- Fixed server launch issues
2020-10-30 19:28:33 +01: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
simibubi
b14664d45f Windmill is Bearing is Clockwork
- Fixed Mechanical Press animation de-sync between server and client
- The press no longer requires a redstone signal to activate on in-world items
- Fixed spouts and basin trying to create potion buckets
- The Mechanical bearing can no longer generate force from wind
- Added the windmill bearing
- Windmill bearings can be configured to rotate counter-clockwise
- Added Sail Frames and Sails
- Sails can by dyed in-world
- Sails negate fall damage
- Sails attach themselves to blocks and do not require a sticky surface or chassis
- Clockwork bearings can now be configured to switch minute and hour hand aswell as use a 24 hour cycle
- Fixed tunnels with windows occluding block faces directly behind them
- Fixed item model of the mechanical saw
2020-10-22 00:50:17 +02:00
simibubi
dd95096bfa Smart Fluid Pipes
- Added craftable pipes with filtering capabilities
- Added missing recipe for the Portable Storage Interface
2020-10-17 18:20:05 +02:00
simibubi
9852d84fb8 More logistical errands
- Arms can no longer feed random junk to a jukebox
- Arms are no longer oblivious to hot-swapped blocks in its target areas
- Arms can now directly extract from and insert to Deployers and Crafters
- Arms can now feed blaze burners
- Fixed brass funnels deleting items inserted into a full or stalled inventory
- Fixed brass funnels in hopper mode not showing amounts on filters when transferring between server-only inventories
- Arms & Deployers can now be paused using a redstone signal; stopping them after their next completed cycle
- Fixed zapper tools not applying changes when the screen is closed using the confirm button
- Reorganized valve handle registration
- Added more preliminary recipes
2020-10-12 16:03:26 +02:00
d5f2d9b101 fruit loops 2020-10-01 18:49:40 +02: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
simibubi
d9d5e60606 Workstation transfer, Part I
- Intermediate changes, probably doesn't even compile
2020-09-24 13:39:12 +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
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
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
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
Zelophed
cd60fd4d59 refactor AllTileEntities to match Registrate workflow 2020-08-21 12:59:30 +02:00
simibubi
80406e8782 Cleanup crew
- More refactors and enhancements to the blaze burner
2020-07-23 17:41:15 +02:00
a44ef1733b Merge branch 'heatedMixer' into mc1.15/dev 2020-07-12 14:54:03 +02:00