Commit Graph

2149 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
2a4cfef7a8 Cannot empty this
- Fixed crash when water cauldrons are loaded as part of a schematic
2022-01-25 21:33:40 +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
FortressNebula
91775aff41 Allow copper block set to use different root directories
CopperBlockSet has many useful functionalities that addons could use for their own metals that also oxidize. It'd be nicer and more intuitive for anyone going through our github, however, if they could be in their own separate directory.
2022-01-19 19:14:34 +00: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
74a147db30 Remove "states" field from program jsons 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
0b25335f8e Compile everything on the fly 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