Commit Graph

2067 Commits

Author SHA1 Message Date
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
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
13b2e6dd6b Fix Toolbox moving items into player armor slots 2021-12-22 22:13:38 -05:00
reidbhuntley
7791d340e1 Add null check to chutes 2021-12-22 21:30:30 -05:00
reidbhuntley
bf59956f23 Fix summoned Crafting Blueprint entities corrupting the world 2021-12-22 21:14:02 -05:00
reidbhuntley
fa22830b04 Fix cart contraptions turning the wrong way on fast, tight turns 2021-12-22 20:13:48 -05:00
reidbhuntley
14d15089db
Merge pull request #2384 from dithpri/smart-chute-fix
Fix powered smart chutes outputting items
2021-12-22 13:32:12 -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
reidbhuntley
9897666249 Merge remote-tracking branch 'origin/mc1.18/dev' into mc1.18/dev 2021-12-21 17:08:20 -05:00
PepperCode1
7942b570f0 Brackets, models, and reload listeners
- Fix bracket contraption rotation; Fix #1856
- Make sure KineticTileEntityRenderer only renders once
- Make use of new ModelUtil method in BakedModelRenderHelper
- Clear up BracketedKineticBlockModel and PipeAttachmentModel logic
- Replace ISimpleReloadListener usage with ResourceManagerReloadListener
2021-12-21 13:44:00 -08:00
reidbhuntley
75d4295118 Merge remote-tracking branch 'origin/mc1.17/dev' into mc1.18/dev
# Conflicts:
#	src/main/java/com/simibubi/create/foundation/tileEntity/SmartTileEntity.java
2021-12-21 16:40:14 -05:00
reidbhuntley
10f84bcd79 Temporary fix for Forge 1.17 setRemoved() regression 2021-12-21 16:28:14 -05:00
reidbhuntley
a61739eb1e Merge remote-tracking branch 'origin/mc1.18/dev' into mc1.18/dev 2021-12-21 12:23:12 -05:00
reidbhuntley
0a9c10a13d Fix Schematicannon rail placement crash 2021-12-21 12:22:49 -05:00
Jozufozu
5f46560fb2 StructType doesn't need #asBatched and #asInstanced
- More organized this way
 - BatchingTransformer function moved into Batched
2021-12-20 22:38:34 -08:00
Jozufozu
848eb904f5 Fluid#isSame is asymmetric
- Fixes #2490
2021-12-20 21:51:49 -08:00
reidbhuntley
b9310e93a9 Add mineable-with-pickaxe tag to new palette partial blocks 2021-12-20 19:50:17 -05:00
Jozufozu
94a160699c Use task engine/sync to update instances 2021-12-17 02:17:39 -08:00
Jozufozu
3e01d3f441 Batching Engine
- Implement alternate backend using SBBs
2021-12-15 17:13:09 -08:00
simibubi
257767cbec Version up! 2021-12-13 08:20:16 +01:00
Cael Warner
01866db72e
Fixed null pointer when resetting gameplay settings in config menu
- Added a null check to make sure a config value has a comment before trying to split the comment
- Fixes #2412
2021-12-11 20:58:23 -08:00
Cael Warner
51763382d3
Pulleys will now work in worlds with non-default world heights 2021-12-11 18:29:55 -08:00
Cael Warner
aa4668ef28
Fixed issues with new world height
- Pulleys are now able to extend below Y=0
- Super Glue can now be placed above Y=256, all the way up to the new world height limit of 320
- Fixes #2421, fixes #2426, fixes #2427
2021-12-11 17:44:03 -08:00
PepperBell
080b048b2f SmarterTileEntity
- Clean up SyncedTileEntity and SmartTileEntity
- Allow schematicannons to be rotated based on placement angle
- Fix DirectionalExtenderScrollOptionSlot rotation
- Remove deprecated usage of JsonReader and LazyLoadedValue
- Move ToolSelectionScreen to content.schematics.client
- Organize imports
- Update to 1.18.1
2021-12-10 16:58:05 -08:00
Jozufozu
8101f19611 Worlds are bigger now
- Stop clamping Y in [0, 256)
2021-12-10 00:28:33 -08:00
simibubi
858fbd5c1a Merge branch 'mc1.17/dev' into mc1.18/dev 2021-12-10 01:45:35 +01:00
Jozufozu
2efbcdbd6b No more material spec, everything is StructType 2021-12-09 16:42:13 -08:00
simibubi
4350c3c334 Moving the Buds 2021-12-10 01:37:35 +01:00
simibubi
2f8cfc24bc Ah its not actually that good 2021-12-10 01:19:51 +01:00
Jozufozu
ef5afd42c3 Move api package 2021-12-09 15:32:55 -08:00
simibubi
967323d0f8 Version bump 2021-12-09 18:47:22 +01:00
Jozufozu
1a3f27abc8 Reorganize, rename, refactor, 0.4.0
- Move most user facing interfaces to flywheel.api package
 - Refactor InstanceData to have no package private classes
 - Remove 'I' prefix from many interfaces
 - ILightUpdateListener -> LightListener
 - IMultiProgram -> ContextAwareProgram
 - IFlatLight -> FlatLit
 - All materials use the same vertex format: UNLIT_MODEL
2021-12-09 00:44:43 -08:00
simibubi
1590acd1ab Merge branch 'mc1.17/dev' into mc1.18/dev 2021-12-09 06:13:15 +01:00
simibubi
12768ee8b3 Send me a null 2021-12-09 06:10:53 +01:00
simibubi
46fc25f8e9 More suitable ids for brass diode TEs 2021-12-09 06:10:23 +01:00
simibubi
59f9ae1f30 Merge branch 'mc1.17/dev' into mc1.18/dev 2021-12-09 02:41:56 +01:00
simibubi
4708dcfca9 The less handsome Basin
- Fluid networks can now pull lava and water from filled cauldrons
2021-12-09 02:40:07 +01:00
simibubi
ed3df18a01 Port recent changes 2021-12-08 23:03:34 +01:00
simibubi
973576c030 Merge branch 'mc1.17/dev' into mc1.18/dev 2021-12-08 22:47:18 +01:00
simibubi
8eea60ddee Tuff on the Eyes
- Slightly reduced the amount of block types represented in one batch of ore layers
2021-12-08 22:44:00 +01:00
Jozufozu
35bfa8a15c #tick and #beginFrame on creation
- Fixes weird delay in object appearance when reloading chunks
2021-12-08 12:30:08 -08:00
Jozufozu
4041897d29 Groups store their types again
- Fix crash rendering breaking overlay
2021-12-08 12:28:38 -08:00
simibubi
2e56ad6714 Pillar of Jank
- Added connectivity restrictions to pillar blocks
- Fixed reversed uvs on z-axis pillars
- Fluid Pipes now require twice the amount of Copper
2021-12-08 16:57:23 +01:00
Jozufozu
a3476fd54c Keeping up
- Contraptions always use ArrayModelRenderer
 - De-duplicate UI framebuffer swapping code
 - Unbind VAO between contraption structure drawing and engine drawing
 - Bump flywheel build
2021-12-07 23:15:09 -08:00
Jozufozu
5ad0d1d704 Merge branch 'mc1.17/dev' into mc1.18/dev 2021-12-07 21:19:25 -08:00
Jozufozu
5ae4e49787 Get started on a batching engine
- An Engine is a MaterialManager and a RenderDispatcher
 - Refactor InstanceManager's ctor to use the MaterialManager interface instead of the concrete type
 - MaterialManagerImpl -> InstancingEngine
 - Add skeleton for BatchingEngine
 - Hack in InstanceWorld to switch between the 2
 - Rename/move existing MaterialManager impl to new package
2021-12-07 13:41:43 -08:00