Commit Graph

1280 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
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
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
cf1eac3edd Fixed javadoc failing the build 2022-01-09 15:54:50 +01:00
simibubi
6dceee2478 Adjustments 2022-01-08 15:34:03 +01:00
simibubi
8a99a08d7c Merge branch 'mc1.18/dev' into pr/2503 2022-01-08 14:33:33 +01:00
Jozufozu
0ff67382ee Fix visual artifacts with contraptions while using opfine.
- Fix darkening of tile entities while using shaders

I think the buffers from the shadow pass were bleeding into the color pass.
2022-01-06 13:05:29 -08:00
PepperCode1
c8ba7b88cc Update to Flywheel 0.5.1 2022-01-03 23:52:36 -08:00
PepperCode1
cf3dac6ad0 Prevent loading connected textures on server
- Wrap ConnectedTextureBehaviour and AllSpriteShifts instances in
Suppliers where necessary
- Use client connection's instead of level's RecipeManager when finding
recipes for JEI
- Add missing override annotations in SymmetryEffectPacket
- Organize imports
2022-01-03 15:23:42 -08:00
Aeiou
345b83ee90 Improve comment clarity on height-related methods in ContraptionWorld and WrappedWorld 2021-12-30 15:32:55 -05:00
simibubi
3deb23303d Moss, Paper, Scissors
- Dripstone and Lush Caves can now replace exposed create stone types with their own generated blocks
2021-12-28 13:48:30 +01:00
Jozufozu
150158d7be Merge branch 'The-Vowels/mc1.18/dev' into mc1.18/dev
# Conflicts:
#	src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/render/ContraptionRenderDispatcher.java
#	src/main/java/com/simibubi/create/foundation/utility/worldWrappers/PlacementSimulationWorld.java
#	src/main/java/com/simibubi/create/foundation/utility/worldWrappers/chunk/WrappedChunk.java
2021-12-26 15:43:55 -08:00
Jozufozu
d98a07736c No more diffuse divide
- Move PlacementSimulationWorld to Flywheel as VirtualRenderWorld
 - Simplify ModelTransformer
 - Model doesn't need #configure
 - Bump Flywheel build
2021-12-25 15:56:15 -08:00
Aeiou
658f5125e0 Merge remote-tracking branch 'upstream/mc1.18/dev' into mc1.18/dev
# Conflicts:
#	src/main/java/com/simibubi/create/foundation/utility/worldWrappers/PlacementSimulationWorld.java
2021-12-24 21:41:27 -05:00
Jozufozu
0a4311b51e Contraptions and engines
- Sort of get the batching engine working for contraptions but this feels wrong
 - TaskEngine gets passed in methods
 - Better naming for TaskEngines
 - Do BufferSource ourselves
 - Change BufferBuilderMixin to allow for injection into BufferBuilder objects
2021-12-23 23:22:53 -08:00
lcy0x1
6327aad3f6 add netherrack farming machine (harsh recipe) 2021-12-23 21:15:08 -05:00
lcy0x1
edd5bafee4 add soul smoking and some simple recipe 2021-12-23 15:37:03 -05:00
Jozufozu
3cb84a5db5 Merge branch 'mc1.18/flwbatching' into mc1.18/dev 2021-12-22 22:06:07 -08:00
Jozufozu
748c25b3ec Better config/backend to account for multiple engines
- Rename probably too many things
 - Needs to be tested with Optifine
2021-12-22 22:00:27 -08:00
reidbhuntley
5d435e1da7 Merge remote-tracking branch 'origin/mc1.17/dev' into mc1.18/dev 2021-12-22 22:19:17 -05:00
reidbhuntley
fa22830b04 Fix cart contraptions turning the wrong way on fast, tight turns 2021-12-22 20:13:48 -05:00
Jozufozu
97490e51ca Finally safe vertex formats
- true to false for Pepper
 - IBufferedModel -> BufferedModel
 - VertexFormat -> BufferLayout
 - Use ImmutableList in BufferLayout
 - LayoutItem naming consistency
 - Try to reduce usage of raw BufferLayouts
 - Move vertex interfaces to api package
 - #createWriter and #createReader in VertexType
 - Some documentation
2021-12-22 02:45:46 -08:00
Jozufozu
b8034b4b2e util and core cleanup
- Consolidate/audit utility classes
 - Move more towards sane vertex types
2021-12-22 00:22:43 -08:00
Jozufozu
aa96a28f0b Make the BatchingEngine not jittery
- Stop having threads compete for a single BufferBuilder
 - ...by skirting around minecraft's BufferSource
 - Begin work on making vertex writing sane
2021-12-21 22:47:30 -08:00