Commit graph

2166 commits

Author SHA1 Message Date
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
lcy0x1
f0305d7027 check funnel first to fix bug 2022-01-09 18:02:21 -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
cf1eac3edd Fixed javadoc failing the build 2022-01-09 15:54:50 +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
676beab44b
Merge pull request #2587 from shartte/patch-1
- Fixed Item Drain recipes in JEI marking the fluid as an input
2022-01-09 13:25:22 +01:00
simibubi
236b4004fc Glurability
- Fixed Super Glue not showing a correct damage bar
2022-01-09 02:39:24 +01:00
shartte
d906940b95
Fix Output-Flag for Emptied Fluid in JEI
The category for EmptyingRecipe in JEI marks the fluid slot as an input slot, confusing JEI recipe transfer handlers (like AE2).
2022-01-09 01:32:07 +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
simibubi
96c5480dee
Merge pull request #2499 from git-async/mc1.18/dev
- Fixed Stockpile Switch prioritizing item inventories over fluid inventories
2022-01-08 13:52:59 +01:00
simibubi
b75c844adb
Merge pull request #2529 from mrh0/furnaceEngineChanges
- Addons are now able to register non-furnace blocks as valid sources of a furnace engines' power
2022-01-08 13:45:14 +01:00
Jozufozu
e6914b1a6f Fix crash rendering biome-tinted blocks on contraptions
- Biome colors now line up with the world
2022-01-07 14:22:31 -08: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
Jozufozu
2cdbdfa218 Towards client-only flywheel
- Fix nullpointer with belt lighter
 - Remove references to GridAlignedBB and ImmutableBox in Contraption
2022-01-05 11:12:26 -08:00
Jozufozu
5910ad5a03 Move Belt LightListener to inner class 2022-01-04 14:22:58 -08:00
Jozufozu
5f81b31fe4 More Instancers 2022-01-04 14:11:11 -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
MRH0
67d2d12c9b Update FurnaceEngineModifiers.java 2021-12-31 17:32:14 +01:00
MRH0
2f35b76f1a Update FurnaceEngineModifiers.java 2021-12-31 16:34:48 +01:00
MRH0
6107b939a5 cleanup 2021-12-31 16:29:22 +01:00
MRH0
8145014847 Disconnecting the Furnace Engine from AbstractFurnaceBlock
Adds the abillity to register any block as a power source to the furnace engine. This will allow for more flexability and remove the need to implement AbstractFurnaceBlock and AbstractFurnaceBlockEntity.
2021-12-31 03:17:56 +01:00
Aeiou
345b83ee90 Improve comment clarity on height-related methods in ContraptionWorld and WrappedWorld 2021-12-30 15:32:55 -05:00
Aeiou
a12708b336 big brain fix c: 2021-12-30 13:51:48 -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
simibubi
8e4dcb958d Stonehedge
- Fixed Harvesters hard-colliding with leaves when used with pistons, pulleys or a gantry carriage
- Fixed kinetic tiles not marking chunks for saving when speed or stress changes
- Dedicated Servers no longer create a resourcepack folder
2021-12-28 13:04:22 +01:00
Jozufozu
ffeecfdce0 Go through GlVertexArray
- VAO state is now handled by GlVertexArray objects
 - IndexedModel no longer inherits from VBOModel
 - BufferedModel doesn't need #clearState
 - Likely fixes crash on intel drivers
2021-12-27 19:16:06 -08: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
git-async
2d095995e4
Fix Stockpile Switch prioritizing item inventories 2021-12-23 17:38:02 -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
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
Aeiou
eafce50904
Merge branch 'Creators-of-Create:mc1.18/dev' into mc1.18/dev 2021-12-21 16:48:44 -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
Aeiou
e6c99b250e Add more LevelHeightAccessor Overrides to WrappedWorld to avoid logical conflicts with other mods which may make changes to the default vanilla implementations of these methods. In particular, Create Refabricated would conflict with Lithium if Starlight was installed. These changes prevent such an issue from occurring if a Forge mod were to attempt a similar optimization to Lithium's, where Level heights are assumed to behave in predictable, static ways 2021-12-20 16:56:28 -05:00
Aeiou
7fd531199c Add Starlight to Mods enum, along with an executeIfInstalled method. Use said method in WrappedChunk in place of an if-statement to execute Starlight-dependent code 2021-12-20 16:56:27 -05:00
Aeiou
11e6c3f45a Change from jetbrains @NotNull to javax @Nonnull annotation in PlacementSimulationWorld 2021-12-20 16:56:27 -05:00
Aeiou
6938bc2e06 Implement Starlight compatibility. 2021-12-20 16:56:27 -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
simibubi
62b3a0491a Slight tweak to Layered ore frequency 2021-12-07 19:18:56 +01:00