Commit graph

1427 commits

Author SHA1 Message Date
simibubi
fa47939428 Catching up
- Fixed client-side trains not animating their wheels properly
- Client-side stations now receive information about a trains' orientation and whether it can be disassembled
- Server-safe train relocation
- Fixed client trains not catching up with received location when graph id changes
- Coupling renderer now entirely client-side
- Fixed Coupling render artefacts whenever a carriage drives out of the view frustum
- Fixed train information interpolated too quickly when a train has multiple carriage entities
2022-03-08 18:03:57 +01:00
simibubi
9629cb84eb Look ma, both threads!
- Movement of client-side trains is now controlled via network packets (Manual controls and Relocation not yet adjusted for sidedness)
- Modified train settings now get broadcasted to other players
- Cleaned up redundant delegation between classes involved in controlling the carriages
2022-03-08 03:51:03 +01:00
simibubi
3c64ada850 The Client is always right
- Fixed edge points getting wiped near where two graphs just merged
- Fixed edge points not migrating to modified edges properly
- Graph edge points are now synched by netcode (signals, stations)
- Fixed incorrect stopping position when approaching station manually while the train is still moving backwards
- Fixed single-group edges not being deserialised correctly
- Edge data is now synched by netcode
- Signal edge groups are now synched by netcode
- Signal block indication can now get necessary information client-side
2022-03-04 18:30:18 +01:00
simibubi
3362e6a05e Signal Station
- Refactored Stations and Signals into a more unified and expandable edge point abstraction
- Trains no longer depart a station when a red signal is close by
- Fixed inconsistent pathfinding when stations, signals and trains are sharing a graph edge
2022-02-28 22:52:14 +01:00
simibubi
cf308cdc7f Steamy
- Fluid tanks become boilers when engines are attached
- Added the steam engine
- Some tweaks and fixes to girder connectivity
2022-02-22 19:41:30 +01:00
PepperCode1
fcb5267ae0 Merge branch 'mc1.18/dev' into mc1.18/global-railways
Conflicts:
	gradle.properties
	src/main/java/com/simibubi/create/foundation/render/SuperByteBuffer.java
2022-02-21 10:51:42 -08:00
PepperCode1
0cf0d3930e Shuffling the shade
- Update Flywheel and add support for unshaded quads
- Fix models marking shafts and other parts as unshaded
- Refactor SchematicRenderer buffer building
- Improve block entity render bounding box caching
- Fix #2785
2022-02-19 21:42:40 -08:00
simibubi
34bc21658a "|" means go
- Added Signals
- Nixie tubes no longer have a base plate
- Nixie tubes can now mount to walls
- Nixie tubes display signal info when mounted to a signal box
- Train speeds are now configurable
- More Jank patrol
- Track debug now on 'H' & 'J'
2022-02-16 03:14:31 +01:00
PepperCode1
ed4a371fa0 Shootable glow berries
- Add glow berries as a potato cannon projectile type; Closes #2406
2022-02-13 14:41:09 -08:00
PepperCode1
160e823282 JEI and glowing fixes
- Fix sequenced assembly scene in newer JEI versions; Fix #2779
- Fix inconsistent JEI fan scenes; Fix #2748
- Fix glowing RenderTypes not respecting lightmap values
2022-02-13 14:04:52 -08:00
PepperCode1
3aa0644426 Diffuse fixes II
- Add ForcedDiffuseState to push/pop forced diffuse calculators
- Transform the SBB instead of the global PoseStack when applying ponder
transforms
- Tweak used shaders in RenderTypes
- Rename LerpedFloat.Interpolater to Interpolator
- Update Flywheel
2022-02-12 21:15:41 -08:00
simibubi
033e7e1a0d Proper Propa
- Improvements to graph building
- Fixed a number of issues caused by junctions and inconsistent track propagation
- Trains no longer disassemble with reversed carriage spacing
- Trains can no longer jump to perpendicular tracks on an intersection
2022-02-11 00:20:58 +01:00
simibubi
2ca099ce6b Rise of the Jank II
- Girders can now connect to brackets vertically
- Fixed girders not updating connections when built with placement assist
- Tracks now actively update girder shapes placed beneath the ties
- Fixed bezier girder texture inconsistencies to the block models
- Fixed flywheel rendered tracks creating headless instances
- Fixed track not removing its tileentity properly when changing to basic state
- Fixed track rendering not using the correct normals for diffuse
- Fixed tracks not rendering in schematic previews
- Tracks now transform correctly in schematics
- Fixed tracks not validating for target track after placement via schematic
- Tracks can now merge TE data when placed into each other via schematic
- Fixed junctions not working correctly with graph building
2022-02-09 21:13:33 +01:00
PepperCode1
99e94f7c6e Update Flywheel + diffuse fixes
- Fix ponder diffuse when using shaders
- Partially fix incorrect diffuse formula being used in the nether
- Invalidate schematic renderers at the appropriate time
2022-02-08 20:58:13 -08:00
simibubi
2b750c943a Down the steel-reinforced rabbit hole
- Added track junctions
- Girder block pillars now connect textures
- Girders now render a panel towards connected solid blocks and chutes
- Shafts can now be encased with girders
- Added placement assist for girders
2022-02-09 02:05:48 +01:00
simibubi
26d6a7b3e4 Stacks of Cache
- Instancing support for bezier girders
- Transformation matrices for bezier segments are only calculated once
2022-02-08 18:18:16 +01:00
simibubi
051e7ffc1f Mipped Sleepers
- Distant tracks are now a lot easier on the eyes
2022-02-08 04:34:22 +01:00
simibubi
380104a850 Girdert of here!
- New Metal Girder block
- Experimental Girder renderer for track curves
2022-02-08 01:49:35 +01:00
simibubi
0cd56e67f2 Giga Shiny
- New track texture by Kryppers
2022-02-07 04:52:50 +01:00
simibubi
f64c355816 Back & Forth
- Reverse steering is no longer inverted
- Fixed previous passengers not being removed from seat when player uses it
- Trains with two mounted controls/conductors can now pathfind backwards out of a station
- Fixed auto-approach not working properly while reversing or controlling a dual powered train the opposite direction
- Fixed icon display order and disassembly location of reversed trains in a station
- Fixed inaccurate train length()
- Blaze burners can now drive a train
- Non player train drivers are now required to sit in front of a controls block
- Schedule now interrupts when no conductors are found
- Fixed reversing trains not iterating carriages in the correct direction
2022-02-07 01:54:20 +01:00
PepperCode1
3c71e8041b Remove unnecessary code
- Remove block vertex color code
- Remove experimentalRendering config
- Move as much Item.Properties configuration to AllItems as possible
2022-02-06 12:22:43 -08:00
Jozufozu
962975a09d Beziterating
- Instanced tracks
 - Cleaner bezier connection iteration
2022-02-06 01:07:17 -08:00
Jozufozu
87bdd8d586 Merge branch 'mc1.18/dev' into mc1.18/global-railways 2022-02-05 20:05:29 -08:00
simibubi
18a84006ca Instanced Bonus
- fixed PSI actor instance not updated with recent changes
2022-02-06 04:27:05 +01:00
simibubi
a6e86520f5 Rise of the Jank
- address some bezier track z fighting
- portable storage interfaces now stay connected until a contraption departs
- seats can now collect entities when collided with on a contraption
- clicking on seats now tries to mount any leashed mobs first
- fixed seated entities not staying on seats on disassembly. this probably also fixed issues with sub-contraptions (oops)
- fixed portable storage interface not working on train contraptions
2022-02-06 04:17:18 +01:00
Jozufozu
9c42988135 Portable clipping interface
- Fix PSI z-fighting
2022-02-05 12:43:28 -08:00
PepperCode1
66b6304fd3 Smoothly lit tracks
- Fix diffuse lighting on tracks
- Minor tweaks to schedule and station screens
2022-02-04 18:41:30 -08:00
simibubi
0a931a77ef Manual Steering
- Trains can now travel backwards through the graph
- Controls are now a requirement for assembly
- Double-endedness now depends on two opposite controls blocks anywhere on the train
- Players can now manually control trains via a mounted controls block
2022-02-05 02:06:31 +01:00
simibubi
478d891a04 Cut and Paste
- Trains no longer disappear when a new train is created
- Trains now crash into other trains
- Fixed navigation complaining when schedule starts at current station
- Fixed contraption interaction not iterating all potential colliders
- Hovering tooltip for derailed trains
- Trains can now be relocated using a wrench
2022-02-04 05:15:53 +01:00
PepperCode1
d71b10cf72 Update to Flywheel 0.6.1
- Make SchematicWorld use plains instead of forest biome
2022-02-02 21:43:23 -08:00
simibubi
c3e1e9df3f Graph hopping, Part II
- added "/create dumpRailways" command
- trains now react to changes of the graph beneath them
- trains now notify owner of unexpected issues
- filtered navigation wildcard works now
- navigation now smarter I guess
- navigation cancelled when track path gets disconnected
- stations and trains no longer disassociate when graph is edited
- schedule no longer skips entry when navigation gets interrupted
- trains can now be in a "de-railed" state
2022-02-03 02:51:14 +01:00
simibubi
c6278dbd24 Graph hopping, Part I
- Cannot send train off while still in assembly mode
- Missing shafts in bogey render
- Moving to Lang keys
- Fix diagonal bends using weird constraints
- Cannot assemble tracks and stations on contraptions
- Track placement now helpful with 45° slope tracks
- Stations on Diagonal tracks can now be navigated to
- Stations no longer crash when target track missing
- Reduced Trackpropagator network traffic
- Stations now migrate to newly created trackgraphs/edges when network changes
- Stations now distribute properly to trackgraph segments that got split apart
- Client thread no longer creates stations
2022-02-02 01:21:28 +01:00
simibubi
576d00d3a0 Choowo what's this?
- It trains
2022-02-01 01:14:21 +01:00
simibubi
30a026ab0c Patch D
- Safety check for schematicannon entities
- Some tagging
2022-01-25 18:58:37 +01:00
Jozufozu
746d9867db Client only flywheel
- Mark off everything using PartialModel or ContraptionLighter as client-only
 - Likely needs more testing
2022-01-24 13:41:34 -08:00
simibubi
65e6c24c32 Maintenance Day
- Bump forge
- Mechanical Harvester no longer crashes the game on newer forge versions
- Fixed Cocoa Beans being harvested too early
- Fixed incompatibility with Abnormals' custom tree types
- Fixed incompatibility with Serene Seasons
- Fixed incompatibility with Terralith
- Added a couple of Raw Ore compatibility recipes
2022-01-24 16:40:30 +01:00
Jozufozu
6fd1e2cc63 Shader sanity branch cleanup
- Disable FlwContraption rendering while using batching engine
 - Bump flywheel build/version
2022-01-17 18:46:44 -08:00
Jozufozu
d3bbeb5a7a Reorganize and simplify
- Remove AllMaterialSpecs#flwInit
2022-01-17 16:42:24 -08:00
Jozufozu
88d8d24663 Separate vertex and fragment shaders and templates 2022-01-17 16:42:24 -08:00
Jozufozu
9f64ae4e9a Almost sane shaders
- No more ShaderContext. Programs are directly retrieved through ProgramCompilers.
 - Templates don't need generics
 - Remove ExtensibleGlProgram
2022-01-17 16:42:24 -08:00
Jozufozu
2856594cc8 Pass RenderLayer into contraption structure context 2022-01-17 16:42:23 -08:00
Jozufozu
2b6348855a Shader sanity
- Keeping up with Flywheel changes
2022-01-17 16:42:23 -08:00
Jozufozu
33d0f8c352 Fix crash rendering contraption with batching engine 2022-01-17 16:27:00 -08:00
Jozufozu
6a189458ac Fix visual artifacts and gl log spam with contraptions and batching engine 2022-01-13 13:35:15 -08:00
PepperCode1
d0a660c0ae Virtual rendering fixes
- Fix blocks in schematic renders being too dark
- Fix shafts and cogs fired from a schematicannon not rendering
2022-01-11 20:15:33 -08:00
Jozufozu
541e5bd6ae Fix crash extending belts 2022-01-11 13:43:04 -08:00
PepperCode1
a666f24ee0 Souls and flames
- Fix lit soul blaze burner providing smoking instead of haunting
- Fix horses displaying soul particles even when not being haunted
- Add hauntable item attribute
- Re-add right clicking lit blaze burner with shovel to extinguish it
- Move most fan type functionality to abstract methods in the enum
constant
- Rework FurnaceEngineModifiers
2022-01-09 14:00:55 -08:00
simibubi
04c76bb6f0 The meaning of null
- Fixed Client-side TileEntities ignoring data packets with empty compound tags
- Fixed Stickers not visually updating when powered
- Fixed Cocoa pods colliding with piston/pulley/gantry harvesters
- Fixed Bulk Smoking using Haunting particles
- Unified particle emission locations between depot and belt fan processing
- Updated Haunting recipes
2022-01-09 20:06:04 +01:00
simibubi
4aa44f1a3a Misc Patches
- Fixed Brass funnels with configured amounts inserting partial stacks when target inventory is almost full #2589
- Fixed toolbox not marking a chunk for saving when contents change #2574
- Fixed Contraptions no longer sending disassembly packets and thus dropping players through blocks #2538
2022-01-09 15:42:01 +01:00
simibubi
236b4004fc Glurability
- Fixed Super Glue not showing a correct damage bar
2022-01-09 02:39:24 +01:00