Commit graph

2144 commits

Author SHA1 Message Date
Jozufozu
931b4a33ae Event adjustments to work with optifine shadows 2021-08-05 14:53:22 -07:00
Jozufozu
a35c7150c2 More steps towards actually using the new loader 2021-08-05 12:16:17 -07:00
Jozufozu
9e699b7715 Merge branch 'dev' into shader-pipeline 2021-08-05 00:53:29 -07:00
Jozufozu
cda66c0ad8 Fix #23
- Clamp update divisor
2021-08-04 20:50:37 -07:00
Jozufozu
16e8eec6ab Fix nullpointer in ModelRenderer
- Somehow managed to only do a check in a subclass
 - Add #empty() helper method to IModel
2021-08-04 14:35:16 -07:00
Jozufozu
71ff2363a5 Miscellaneous documentation 2021-08-04 14:35:15 -07:00
Jozufozu
7eb0284db9
Simplify synchronization
- Use `synchronized` on the queue sets in favor of explicit locks.
 - Updates and additions work the same now
 - Move updates processing to separate function
2021-08-03 02:06:41 -07:00
Jordan Ramsay
9ae823ef92 Patch to stop the java.util.ConcurrentModificationException. 2021-08-03 16:52:00 +10:00
Jozufozu
55968d2c98 Switch to MIT Licence 2021-08-02 20:07:49 -07:00
Jozufozu
d4517fbe94 Wrong display value for chunk caching command 2021-08-02 14:22:21 -07:00
Jozufozu
b530ea1be5 Fix chunk caching race condition add toggle
- /flywheel chunkCaching on|off
 - synchronized ftw
2021-08-02 00:06:26 -07:00
Jozufozu
a5850a46c8 Update changelog and remove dead QuaternionTransformStack.java 2021-07-30 14:34:04 -07:00
Jozufozu
0183451a06 Fix issue with missing banner pattern textures
Fixes #12

What the heck

CrumblingRenderer gets classloaded early because of its event listener.

CrumblingRenderer had an innocent static reference to a member of ModelBakery.

This caused ModelBakery to classload before additional enums could be injected into BannerPattern.

¯\_(ツ)_/¯
2021-07-29 18:50:47 -07:00
Jozufozu
d69ff7054e Model changes
- Buffered models directly consume IModels
 - Document IModel more
 - Move contraption world render spoofing to flywheel
 - Miscellaneous new RenderMaths
 - Added WorldModel, renders many blocks given a world instance
 - Fix broken transparency on contraptions when using Flywheel
2021-07-29 01:37:47 -07:00
Jozufozu
17d5081345 Expose ClippingHelper in BeginFrameEvent 2021-07-28 18:13:47 -07:00
Jozufozu
5fd7e10235 More info in RenderLayerEvent 2021-07-28 14:18:24 -07:00
Jozufozu
9e066f8d41 Documentation and organization
- Add a package-info.java to many packages.
 - Annotate the world parameter in Backend#canUseInstancing as nullable.
 - New utility constructor for BlockModel
 - Note that IDynamicInstance#beginFrame and ITickableInstance#tick are run in parallel.
 - Refactor internals of InstancedRenderDispatcher to group things by InstanceWorlds.
 - InstanceWorlds take over most responsibility for dispatching calls.
 - Simplify massive private call chains in InstanceMaterial.
 - Reorganize methods and add some documentation in MaterialManager, MaterialGroup, InstanceMaterial, and Instancer.
 - Remove unused field from MaterialSpec.
 - Remove unused fields from Instancer and InstanceMaterial
 - Document RenderLayer
 - Add RenderLayer field to RenderLayerEvent
2021-07-27 17:31:58 -07:00
Jozufozu
aaf019f3cb Merge branch 'dev' into shader-pipeline
# Conflicts:
#	src/main/java/com/jozufozu/flywheel/backend/ShaderSources.java
2021-07-26 21:58:53 -07:00
Jozufozu
9c92e4d353 Update LightVolume to use enum wrapper for glActiveTexture 2021-07-26 16:18:38 -07:00
Jozufozu
06b5ba2f6d Consistent naming for normal debug mode 2021-07-26 13:42:38 -07:00
Jozufozu
172971d732 Optimize imports 2021-07-23 23:46:30 -07:00
Jozufozu
52e6d64bd9 MaterialManager and MaterialGroup refactor
- Material manager builder
 - No more overload render method/IProgramCallback
 - MaterialRenderers accept a Program consumer instead
2021-07-23 23:45:31 -07:00
Jozufozu
e4a72544ea Update forge
- but not to 36.2.0 because gradle hates me
2021-07-23 16:45:38 -07:00
Jozufozu
07825fb56f Basic model abstraction
- Stop providing a buffered model supplier
 - Instead, provide an IModel supplier
 - IModel exposes basic properties of models
 - IModel exposes a method to copy the model to a VecBuffer
2021-07-23 12:26:32 -07:00
Jozufozu
a42073f59a Merge branch 'dev' into vanilla-opt
# Conflicts:
#	src/main/java/com/jozufozu/flywheel/backend/instancing/Instancer.java
2021-07-22 14:09:28 -07:00
Jozufozu
fe954898bf Instance stealing 2021-07-22 14:07:02 -07:00
Jozufozu
3b906e39a1 MaterialGroups and massive refactors
- Move material stuff to its own package
 - The various render functions in the material tree now bind to specific render layers
 - Instancers can choose which layer to use
 - The layers are SOLID, CUTOUT, and TRANSPARENT
 - More layers are likely unnecessary, but we'll see
 - Deprecate functions in MaterialManager in favor of more builderesque ones using MaterialGroups
2021-07-21 20:28:20 -07:00
Jozufozu
6f06283f6f Instancers like suppliers
- Instancers accept model suppliers instead of models directly
 - gpu resource allocation is deferred until render time
2021-07-19 15:45:00 -07:00
Jozufozu
7f2d8d8cb2 Prime update divisors
- Smooths out load when ticking too many instances
2021-07-18 18:21:30 -07:00
Jozufozu
e1aa055983 Parallel and caching
- NEEDS MORE TESTING
 - Tick and update instances in parallel
 - Mixin to cache chunk lookups
2021-07-18 18:00:09 -07:00
Jozufozu
4b68cd34ef Instanced Shulker boxes
- Preliminary concept of RenderStates
 - Vanilla has this too but it's bloated
2021-07-18 15:05:12 -07:00
Jozufozu
3cc4ec7d6a Utilities created during an attempt at signs
- Cuboids can be inverted across Y and Z
 - TransformStack scaling
 - VecBuffer coloring
2021-07-17 17:06:49 -07:00
Jozufozu
faceccb327 Merge branch 'dev' into shader-pipeline 2021-07-15 12:00:40 -07:00
Jozufozu
fdf839cd02 Mojmixins 2021-07-15 11:51:57 -07:00
Jozufozu
2238a00bac Remap to Mojmap, update gradle 2021-07-15 11:36:24 -07:00
Jozufozu
c4c07d8edd Merge branch 'dev' into shader-pipeline 2021-07-14 17:23:47 -07:00
Jozufozu
c6b0996b8a Ready for 0.1.1 (finally)
- Might have bumped the version too early.
 - Fix crash rendering breaking overlay after reloading resource packs.
2021-07-14 16:52:35 -07:00
Jozufozu
ef46e5acbf Fix gl error spam
- CrumblingProgram was trying to upload a uniform before the location was queried.
 - Adjust WorldProgram init to mitigate this in the future.
2021-07-14 15:47:44 -07:00
Jozufozu
d256397cb8 Fix crash on resource reload
- Backend wasn't properly cleaning up its state
 - Sneaky error in WorldAttached
2021-07-14 15:35:52 -07:00
Jozufozu
95dabd900e Better errors still
- Actually can print something that underlines a span
 - Resolve imports and use the resolutions during building
 - Doesn't actually make sense to have #checkErrors
 - Simplify some regexes
 - Parse structs
2021-07-14 15:20:49 -07:00
Jozufozu
279d3a2de7 Merge branch 'dev' into shader-pipeline 2021-07-13 23:31:16 -07:00
Jozufozu
defc4dace5 Hacky program link debug info
- Log which gl ids are assigned to different programs
 - Log name and basic state information
2021-07-13 15:57:14 -07:00
Jozufozu
9b17c96741 Merge branch 'dev' into shader-pipeline
# Conflicts:
#	src/main/java/com/jozufozu/flywheel/core/WorldContext.java
2021-07-12 23:53:35 -07:00
Jozufozu
07a2cfd7db Protect against java versioning
- Cast ByteBuffers to Buffer before calling #rewind or #flip
2021-07-12 16:45:36 -07:00
Jozufozu
5d47cc6136 Clean up
- Material managers should not be inside WorldContext
 - InstancedRenderDispatcher now stores the material managers
 - Delete crumbling material manager on renderer reload
 - CrumblingRenderer gets its own class
 - CrumblingRenderer is less jank overall
 - Defer InstancedRenderRegistry deprecated function removal until 0.3
2021-07-12 16:42:43 -07:00
Jozufozu
f0822a5cd4 Fix bell not stopping at the bottom of its swing 2021-07-12 15:19:20 -07:00
Jozufozu
88b00e2ce2 Fix import ordering 2021-07-12 15:02:08 -07:00
Jozufozu
37a72842cf Atlases, bells, breaking
- Bell instance
 - Fix some inconsistencies with PartBuilder
 - Store information on texture atlasses
 - Crumbling overlay fixes
2021-07-12 14:52:54 -07:00
Jozufozu
1cfffa4448 Correctly render chests
- Give up on quaternions
 - Lids lazily update transform matrices
 - MatrixTransformStack
2021-07-11 15:54:51 -07:00
Jozufozu
3fb60b06d1 Actually backwards compat is important
- Reintroduce InstancedRenderRegistry#register methods
 - Deprecate the methods
2021-07-10 18:42:15 -07:00
Jozufozu
12abeb0cc5 Rename builders
- *Registrater -> *Config
 - build -> register
2021-07-10 11:36:30 -07:00
Jozufozu
30cc011ee9 Lids everywhere
- Ender chests and trapped chests, too
 - Chests orient themselves correctly
 - Lids do not position themselves correctly
 - Some math, will probably replace with JOML
2021-07-10 11:33:01 -07:00
Jozufozu
cda3a2e11a Merge branch 'dev' into vanilla-opt
# Conflicts:
#	src/main/java/com/jozufozu/flywheel/FlywheelClient.java
2021-07-09 13:45:52 -07:00
Jozufozu
4d91c06e86 PartialModel gets called from the right place 2021-07-09 13:39:56 -07:00
Jozufozu
0c611dbcb3 4d chest
- Refactor InstancedRenderRegistry to allow for 3rd party TEs to have instances
 - Add ChestInstance, incomplete but there
 - Add basic api for building vanilla formatted models
 - Better instance factory registration
2021-07-09 13:24:26 -07:00
Jozufozu
1ce6e6a70b Sporadic work done in an airport
- Initial ErrorBuilder class
 - Random documentation
2021-07-07 22:08:33 -07:00
Jozufozu
fff46ec348 Common type and character positions
- Shader source abstractions now inherit from AbstractShaderElement
 - Spans keep track of line and column positions
2021-07-06 12:38:32 -07:00
Jozufozu
b10e4024c3 Load a single file
- Use the new immutable sources system to load a single file
 - It doesn't compile it yet
 - Slightly less verbose name
2021-07-05 12:09:13 -07:00
Jozsef
fa5d586f0a Merge branch 'dev' into shader-pipeline 2021-07-02 13:23:02 -07:00
Jozsef
608204ee0a Crash fix and refactor
- Check that sectionY is within the bounds of the chunk's section array, fixes #2
 - Refactor usages of Tile and Entity InstanceManagers to refer to the base class InstanceManager<>
2021-07-02 13:12:33 -07:00
Jozsef
15d5396bc9 More loading tweaks
- Immutable function map
 - Parse #use directives on load
 - Recursive include gathering
 - More sane spec loading in WorldContext
 - StateSensitiveMultiProgram builder
 - Rename confusing game state things
2021-07-02 12:34:12 -07:00
Jozsef
959434e01a Merge branch 'dev' into shader-pipeline 2021-06-30 16:29:39 -07:00
Jozsef
214642c173 Even more AT culling 2021-06-30 15:50:23 -07:00
Jozsef
7906a3261f Cull AT 2021-06-30 15:43:38 -07:00
Jozsef
1e2c6f49eb Merge branch 'dev' into shader-pipeline 2021-06-30 13:10:50 -07:00
Jozsef
3f03d1f071 Fix else formatting 2021-06-30 13:03:02 -07:00
Jozsef
33cdfb2ae9 Merge branch 'dev' into shader-pipeline
# Conflicts:
#	src/main/java/com/jozufozu/flywheel/backend/ShaderSources.java
2021-06-30 12:58:21 -07:00
Jozsef
f615825846 Pre-port tasks I
- Rename Client to FlywheelClient
 - Remove Shadow plugin
 - Remove generated source set
 - Remove unused properties in gradle.properties
 - Organize all imports
 - Thanks for the list pepper!
2021-06-30 12:43:54 -07:00
Jozsef
70b58c2838 More fun parsing stuff
- Start loading things via ShaderSources
 - More Span functionality
 - Parse function arguments
2021-06-30 11:42:33 -07:00
JozsefA
5b63d36ab0 Merge branch 'dev' into shader-pipeline 2021-06-27 18:50:38 -07:00
JozsefA
f89673a79e Reset StitchedSprites when the atlas is stitched
- Might fix simi's slime issue
2021-06-26 16:05:15 -07:00
JozsefA
68712430eb Merge branch 'dev' into shader-pipeline 2021-06-26 13:07:27 -07:00
JozsefA
9e983562b8 Always dispatch render layer events 2021-06-26 13:05:21 -07:00
JozsefA
2325db4cdf Start work on shader pipeline system
- Unbulit, untested so far
 - Will ultimately supersede shader contexts/templating
 - Laying framework for better compile errors via Span.java
2021-06-25 18:01:50 -07:00
JozsefA
195a7348f3 Instanced entities are compatible with optifine
- Fix mixin related crash on startup
 - Change defaultRequire to 0
2021-06-24 19:37:31 -07:00
JozsefA
c58674d678 Comment out debug line 2021-06-24 14:21:19 -07:00
JozsefA
de8e324d32 Change behavior of tagged struct parsing in shaders
- Explicit call to Shader#parseStructs is required before they can be read.
 - Fixes a startup crash on some drivers (apparently nvidia is cool with #[...], but other drivers fail)
2021-06-24 14:20:24 -07:00
JozsefA
f8e05d7f8a Fix complaint about an unknown custom packet identifier 2021-06-24 10:42:25 -07:00
JozsefA
5c1f186264 Fix crash on resource reload
- Properly delete MaterialManagers and ShaderContexts
 - Reload renderers on resource reload
 - More utility methods in WorldAttached
2021-06-24 01:20:03 -07:00
JozsefA
2bde33af00 Cleanup flywheel event listeners, fix crash on server startup 2021-06-23 13:19:03 -07:00
JozsefA
78611b0038 Print final shader source on compilation error 2021-06-23 09:08:34 -07:00
JozsefA
6b67e3d55d Add fabulous depth fix 2021-06-22 20:06:00 -07:00
JozsefA
9565a679be Little tweaks and add the logo to mods.toml 2021-06-19 16:52:23 -07:00
JozsefA
96670f3276 Commands, config, and a logo
- Added /flywheel backend command to replace /create experimentalRendering
 - Added /flywheel normalOverlay command
 - Need to think more about a good way to do this in a client only way
 - Added basic config
 - Logo in README.md (thanks, dani!)
2021-06-18 22:52:33 -07:00
JozsefA
3a82535e2d Nuke mod class 2021-06-16 13:03:40 -07:00
JozsefA
7dd19fb99e Update mods.toml 2021-06-16 12:57:52 -07:00
JozsefA
3c6de355e8 Add licence 2021-06-16 11:58:17 -07:00
JozsefA
7b427e3c92 Yeet 2021-06-16 11:19:33 -07:00
JozsefA
d612cfdd34 Merge remote-tracking branch 'origin/mc1.16/dev' into chromatic-projector 2021-06-11 10:31:18 -07:00
JozsefA
c1dadf3860 Instance managers are abstract 2021-06-10 14:34:16 -07:00
reidbhuntley
5bd0c73f45 Flipping pipes
- Pipes not connected to anything will no longer change direction when a non-connective block is placed next to them
2021-06-10 17:12:45 -04:00
simibubi
1b5ede1a5d main menu title
- Added new logo to the Create menu screen
2021-06-10 20:32:17 +02:00
simibubi
1f48c698e8 ITE refactor 2021-06-09 23:48:34 +02:00
simibubi
2852756a68 Deny ProcessingInventories from Mounted Storage 2021-06-09 17:16:10 +02:00
simibubi
971ce29b6a Skip.
- Config UI automatically skips to the layer of config where multiple options are available
- Removed range tooltips
- Config entries in UI list are now sorted by name, with config groups at priority
2021-06-09 16:53:54 +02:00
simibubi
169669680b Colour shift
- Switched to a more readable text colour for the config ui
- Slight tweaks to ponder button colours as well
- Replaced discord link with project page
2021-06-09 16:17:29 +02:00
simibubi
7fae3e4968 Promp
- Changed the layout of save/discard/leave prompts
- Leaving with unsaved changes now gives you the option to save
- Config tooltips now use standard Create tooltip splitting
2021-06-09 13:52:52 +02:00
JozsefA
b4a1fbf2c7 Instanced entities are lit 2021-06-09 00:26:54 -07:00
reidbhuntley
911aec5a3f Gave stockpile switch output a delay (like comparators have) to improve stability 2021-06-08 22:06:34 -04:00
simibubi
212cd593a7 Create menu, Part I
- Added an intermediate menu screen for in-game links and configs
- Couple slight tweaks to config UI
2021-06-09 02:17:32 +02:00
Kryppers
3372947c75 Wrench UV fix 2021-06-08 11:03:06 +01:00
JozsefA
1ce141850b Merge remote-tracking branch 'origin/chromatic-projector' into mc1.16/chromatic-projector 2021-06-07 18:24:25 -07:00
JozsefA
9cc03a81d7 Instanced entities stage 1 2021-06-07 18:12:46 -07:00
PepperCode1
3c84087f15 Fix saw and PSI diffuse
- Fix saw and portable storage/fluid interface diffuse lighting
- Remove "disableDiffuseTransform" option from SuperByteBuffer
- Switch argument order in RenderedContraption constructor to be consistent with superclass (ContraptionWorldHolder)
2021-06-07 16:14:51 -07:00
JozsefA
285b8f98cf Instanced entities stage 0 2021-06-07 02:43:36 -07:00
JozsefA
d47f898c76 Move away from a static backend class, add a registration event 2021-06-06 15:46:16 -07:00
reidbhuntley
12bfc78443 Bundle o' bugfixes
- Fix Extendo Grip not applying extended reach when equipped on rejoin
- Fix mechanical crafters duping + dropping their items when added to minecart contraption
- Fix Wand of Symmetry duping rails under placed cart assemblers
- Lecterns now keep NBT when moved by contraption
- Super glue entities hanging on positions above build limit now get removed
- Fix harvester replanting sweet berry bushes in wrong state
- Cuckoo clock and clockwork bearing now go crazy in unnatural dimensions
2021-06-06 16:59:15 -04:00
reidbhuntley
c97da3868f Prevent AgriCraft/InfinityLib crash 2021-06-05 16:14:16 -04:00
PepperBell
823520e047 Improve handling of dyed blocks
- Create DyedBlockList for storing and accessing a set of dyed blocks
- Switch usage of BlockEntry<?>[] to DyedBlockList in AllBlocks
- These changes also finally fix the compilation error related to generic arrays
2021-06-05 10:43:16 -07:00
reidbhuntley
fec329e3d2 Make deployer check for consumed actions too 2021-06-05 12:29:56 -04:00
reidbhuntley
dff459a75f Fix bad behavior with small-max-stack-sized items when extracting multiple items at once 2021-06-05 12:29:56 -04:00
PepperBell
16cf6a44de Fix ponder typo
- Fix "exacly" typo in adjustable chain gearshift ponder scene
- Resolves #1718
2021-06-04 21:53:04 -07:00
PepperBell
2bada365b3 Registrate colors and organized item rendering
- Use Registrate's block and item color registration instead of running
the events manually
- Move utility color handler methods to foundation.utility
- Move all item rendering classes to foundation.item.render
- Move IBlockVertexColor from foundation.block to
foundation.block.render
- Remove unnecessary raw cast in CreateRegistrate
2021-06-04 21:26:25 -07:00
JozsefA
457fff78f3 Mostly untangle the loading functions, enforce triangles 2021-06-04 17:55:05 -07:00
JozsefA
9bac709dfd Event system, sort of untangle backend 2021-06-04 15:56:46 -07:00
JozsefA
bef6d77a59 Start working on instanced enti- oh wait I've got to do all this other stuff first
- Separate model-level instance management from object-level instance management
 - Separate material management from rendering
 - A few things here and there related to entity instancing
 - Add a rudimentary command to spawn superglue
2021-06-03 21:23:06 -07:00
Kryppers
cecf2102cf Back to the blueprints 2021-06-03 19:42:30 +01:00
simibubi
032fa90ec6 Click to Craft
- Added Crafting Blueprints
- Bit of "Ghost-item" Container refactoring
2021-06-03 01:03:43 +02:00
JozsefA
d7ed765dde Debug text 2021-06-01 13:47:38 -07:00
JozsefA
59dd21b85a Merge remote-tracking branch 'origin/mc1.16/dev' into mc1.16/chromatic-projector
# Conflicts:
#	src/main/java/com/simibubi/create/AllContainerTypes.java
#	src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/AbstractContraptionEntity.java
2021-06-01 11:47:15 -07:00
JozsefA
c4b828ba56 Allocate no more than 3 quad->triangle EBOs ever. 2021-05-31 14:58:49 -07:00
simibubi
8fe3901c98 Remove leftover debug call 2021-05-31 22:48:45 +02:00
JozsefA
a526156440 Move a package 2021-05-31 12:51:11 -07:00
reidbhuntley
53ba59c082
Improve stability of sequenced gearshift (esp. for rotations) (#1695) 2021-05-31 15:42:12 -04:00
simibubi
a9ced3fea2 SoundScapes, Part IV
- Fixed diving helmet activating when wielder is only partially submerged in water
- Fixed diving helmet activating for players in creative mode
- Added sounds for the Mechanical Saw
- Added clicking sounds for the Linked Controller
- Gantry contraptions now make contraption noises
- Soundscapes now lower their volume based on the distance between listener and center of noise
2021-05-31 20:48:22 +02:00
simibubi
1532d9e4f6
Merge pull request #1684 from PepperCode1/mc1.16/cobblestone-drops
Cobblestone Drops and Smelting
2021-05-31 16:29:10 +02:00
simibubi
616a515939
Merge pull request #1680 from reidbhuntley/bugfix
More bug fixes
2021-05-31 16:25:37 +02:00
JozsefA
8fab6c4643 Instance triangles 2021-05-30 22:16:03 -07:00
JozsefA
3500b4ec87 Contraption triangles 2021-05-30 20:53:08 -07:00
JozsefA
2300ef2088 Organization, renaming, and fixing a dumb crash 2021-05-30 17:05:41 -07:00
reidbhuntley
a633bc47be Actually, we should prevent all updates caused by SchematicWorld 2021-05-30 14:36:06 -04:00
reidbhuntley
b890204f44 Fix schematic init crash caused by updating null ChunkSections 2021-05-30 01:40:24 -04:00
reidbhuntley
2bedc94bc6 Fix schematic deployment crash caused by some Mekanism blocks 2021-05-29 22:09:58 -04:00
PepperBell
c013345860 Cobblestone drops and smelting
- Make regular palette stone blocks drop their cobblestone variant instead of themselves (unless silk touch is used)
- Add smelting recipes for cobblestone palette blocks
- Rename PaletteBlockPatterns to PaletteBlockPattern
- Move PatternNameType to PaletteBlockPattern
- Rename some fields
2021-05-29 16:31:36 -07:00
reidbhuntley
51c0e347b8 Fix chest minecarts clearing their inventory when disassembled 2021-05-29 15:17:24 -04:00
PepperBell
9235aa93ba JEI Fixes
- Fix #1661: blasting-only recipes would not be shown under the bulk blasting category
- Add ability to remove matching recipes by type while using the category builder
- Fix fan catalyst items being italicized
- Add and tweak some visibility modifiers
2021-05-28 23:10:12 -07:00
reidbhuntley
55abcde5d5 Allow block breakers to work at center of bearing 2021-05-28 23:27:44 -04:00
reidbhuntley
0aaa09260b Fix minecart coupling item dupe 2021-05-28 14:42:47 -04:00
zelophed
5975a3cbac Merge remote-tracking branch 'origin/mc1.16/dev' into mc1.16/dev 2021-05-28 14:42:39 +02:00
zelophed
975d898ac6 all the configs
- make it easier for addon devs to hook into create's config ui
- change the config command to allow for:
  - opening any mod's registered config
  - changing single values at a time

- possibly solve incompatibility with CalemiUtils mod and placement helpers
2021-05-28 14:42:27 +02:00
simibubi
ded259fbc9
Merge pull request #1662 from PepperCode1/mc1.16/piglin-compat
Add Piglin Compat
2021-05-27 14:29:41 +02:00
simibubi
66f2e00c78
Merge pull request #1659 from PepperCode1/mc1.16/fan-processing-cleanup
Clean Up In-World Processing
2021-05-27 14:29:16 +02:00
simibubi
9b14d99933
Merge pull request #1632 from dunois2737/mc1.16/dev
Update zh_tw.json for create 0.3.1
2021-05-27 14:22:37 +02:00
simibubi
d82c8bd913
Merge pull request #1606 from joker876/mc1.16/dev
Update pl_pl.json to add latest translation
2021-05-27 14:21:17 +02:00
PepperBell
bcb365baa9 Fix processing for fireproof items with recipes
- Check for smelting and blasting recipes before checking for
fireproof-ness
2021-05-26 20:54:17 -07:00
PepperBell
773f74d33e Add piglin compat
- Fix #678 by adding golden sheets and crushed gold ore to the piglin_loved tag
2021-05-26 20:13:07 -07:00
PepperBell
462089b43a Clean up in world processing
- Use static RecipeWrapper for finding recipes instead of making a new TileEntity every time
- Move InWorldProcessing from logistics to contraptions/processing
- Fix #799 by disallowing blasting processing on fireproof items
2021-05-26 19:47:19 -07:00
simibubi
2e37807e7f
Merge pull request #1657 from reidbhuntley/config-button
Add button to open new config menu
2021-05-26 22:09:20 +02:00
simibubi
09691b4b40 Redstone gamepads
- Added the Linked Controller
2021-05-26 22:03:06 +02:00
reidbhuntley
73fd42baf5 Add button to open new config menu 2021-05-25 22:33:44 -04:00
JozsefA
de451553dd Use VAOs for contraption structures 2021-05-25 12:46:34 -07:00
JozsefA
7f9ff3b7ca Merge remote-tracking branch 'origin/mc1.16/dev' into mc1.16/chromatic-projector 2021-05-25 12:23:55 -07:00
simibubi
ffa252ac25 PR compat 2021-05-25 14:43:08 +02:00
simibubi
4d51e6096b
Merge pull request #1650 from PepperCode1/mc1.16/cleanup
Cleanup and Refactoring
2021-05-25 14:14:12 +02:00
JozsefA
c8814f123b More sane models
- BufferedModel is no longer abstract.
 - InstancedModel no longer inherits from BufferedModel, it accepts one as input.
 - Replace usage of IndexedModel with BufferedModel
2021-05-24 17:50:13 -07:00
PepperBell
d31fe013ce Fix dyed handle compilation error
- Revert DYED_VALVE_HANDLES to using an array instead of a Vector
2021-05-24 13:49:59 -07:00
PepperBell
20cd8da377 Allow registering custom block movement checks
Registering block movement checks works by using one of the six static register methods on an instance of an implementation of one of the six corresponding interfaces. Each one takes some arguments and returns a CheckResult, which defines whether to return from the global check or fall through to the next registered check or fallback check.

- Rename BlockMovementTraits to BlockMovementChecks
- Rename some check methods to be consistent
- Pass World instead of IBlockReader to isBlockAttachedTowards
- Make the bottom half of doors attach up and down
- Remove door check from Contrapion#moveBlock as it is unnecessary
2021-05-24 13:32:39 -07:00
reidbhuntley
3f31b765dd Make fan and nozzles not push players flying in creative 2021-05-24 15:19:54 -04:00
reidbhuntley
0cd49317d7 Revert "Make gantry carriage brittle"
This reverts commit bfc8c3e3
2021-05-23 22:42:03 -04:00
JozsefA
db53b7a3cf Fix gl error spam 2021-05-23 19:36:44 -07:00
JozsefA
341a385628 Merge remote-tracking branch 'origin/mc1.16/dev' into mc1.16/chromatic-projector
# Conflicts:
#	src/generated/resources/assets/create/lang/en_us.json
#	src/main/java/com/simibubi/create/AllBlocks.java
#	src/main/java/com/simibubi/create/AllTileEntities.java
#	src/main/java/com/simibubi/create/content/contraptions/components/deployer/DeployerTileEntity.java
#	src/main/java/com/simibubi/create/foundation/gui/AllIcons.java
#	src/main/java/com/simibubi/create/foundation/networking/AllPackets.java
#	src/main/resources/assets/create/textures/gui/icons.png
#	src/main/resources/create.mixins.json
2021-05-23 14:11:40 -07:00
reidbhuntley
eb075f683b Allow deployer to place cart assemblers 2021-05-23 16:40:15 -04:00
reidbhuntley
b0a84a9bc1 Fix breaking piston pole making piston base unusable 2021-05-23 15:08:43 -04:00
reidbhuntley
5ec8312322 Fix DoublePlantBlock dupe using deployers 2021-05-23 00:16:01 -04:00
reidbhuntley
73895604c8 Fix filter dupe, allow Schematicannon to place brackets 2021-05-22 21:50:31 -04:00
PepperBell
6c390977d8 Init Cleanup
- Refactor AllContainerTypes to use Registrate
- Replace RegistryEntry in AllEntityTypes and AllFluids with EntityEntry and FluidEntry, respectively
- Make AllEntityTypes use Registrate to register entity renderers instead of a separate method
- Refactor AllColorHandlers
- Fix error when a POI block is moved by a contraption
- Rename some static final fields to be upper snake case
- Make static fields in Create and CreateClient final
- Add I prefix to Coordinate interface
- Fix typo (BracketedTileEntityBehaviour#isBacketPresent)
- Make mixins go in alphabetical order
- Make pack.mcmeta use 2 spaces for indents
2021-05-22 18:00:10 -07:00
JozsefA
9352ef9ede Json program specs, new extension/gamestate system.
- Program specs are now loaded from json instead of being defined in code and registered manually.
 - Within the json spec, a program can define a list of states.
 - A state consists of:
   - A "when" clause.
   - A list of strings to be #defined.
   - A list of extensions to apply at program link time.
 - Each frame, the first state whose "when" clause returns true will be used.
 - A when clause consists of:
  - A state provider defined by a resource location.
  - A value to match.
 - When the value returned by the provider matches the value defined in the when clause, the when clause is considered to be 'true'.
 - There is syntactic sugar for when a provider returns a boolean value.
 - This system is in its infancy, and there is plenty of room for improvement.
2021-05-22 17:45:01 -07:00
reidbhuntley
bfc8c3e306 Make gantry carriage brittle, defer brittle blocks 2021-05-22 17:35:49 -04:00
simibubi
aea44aa3fb
Merge pull request #1613 from reidbhuntley/schematics-crash
Various bugfixes regarding schematics
2021-05-22 17:50:45 +02:00
dunois2737
62026e3f13
update zh_tw for create 0.3.1 2021-05-22 16:10:23 +09:00
dunois2737
9a935969bb
update zh_tw for create 0.3.1 2021-05-22 16:06:26 +09:00
simibubi
56830052f3
Merge pull request #1568 from PepperCode1/mc1.16/fix-bugs
Fix Some Bugs
2021-05-22 04:14:58 +02:00
reidbhuntley
c2cc124239 Better support for partially safe NBT writing 2021-05-21 20:33:28 -04:00
reidbhuntley
68b3ba7215 Allow Schematicannon to defer blocks to print at end 2021-05-21 16:57:01 -04:00
reidbhuntley
ff5984a48e Prevent rail fix from allowing floating rails 2021-05-21 13:38:13 -04:00
reidbhuntley
e1f1b1af9f Clean up gantry fix 2021-05-21 13:21:05 -04:00
reidbhuntley
c7d3166fd1 Clean up gantry fix 2021-05-21 13:18:15 -04:00
reidbhuntley
d0040260d7 Assemble gantry carriage when shaft is extended 2021-05-21 00:46:35 -04:00
reidbhuntley
305b16fea9 Store Schematicannon options in block item as NBT 2021-05-20 22:53:08 -04:00
JozsefA
d58897d59a Nothing in particular 2021-05-20 17:59:26 -07:00
reidbhuntley
badec3aad0 Add proper rotation and mirroring to CartAssemblerBlock 2021-05-20 16:31:04 -04:00
reidbhuntley
8edfa73352 Hack to prevent rails placed by cannon from updating 2021-05-20 13:50:42 -04:00
reidbhuntley
947496995a Make schematics write tags for filtering behaviour 2021-05-20 00:45:51 -04:00
JozsefA
9a178ef9d8 Abstract fog
- WorldPrograms no longer accept an explicit fog mode.
 - They now inherit from a class that takes a list of arbitrary shader extensions
2021-05-19 19:11:06 -07:00
JozsefA
4d755dc506 More simplification
- Move more stuff to the flywheel namespace
 - Give up on ShaderConstants, there's a better way to do it
 - A semblance of better crash reports
2021-05-19 16:35:37 -07:00
reidbhuntley
e916b06862 Added model data refresh mixin 2021-05-18 21:52:35 -04:00
PepperBell
480d86c5ad Fix beds on contraptions
- Add beds tag to brittle tag
- Let contraptions know bed halves are attached to each other
2021-05-18 18:50:54 -07:00
JozsefA
fd6e06b487 whoops everything was spinning backwards 2021-05-18 14:46:45 -07:00
JozsefA
c299e84512 Be lazy grabbing instance fields statically 2021-05-18 14:41:16 -07:00
JozsefA
c48b94f0fb Merge remote-tracking branch 'origin/chromatic-projector' into mc1.16/chromatic-projector
# Conflicts:
#	src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/render/ContraptionRenderDispatcher.java
2021-05-18 14:07:34 -07:00
JozsefA
55703d8838 Move to the template system and overhaul instance attributes
- All material shaders now use the template system.
 - Because of the template system, we can know what attributes a material has, along with how they're formatted.
 - All of the *Attribute enums are effectively inlined, as the context they used to provide is no longer needed.
2021-05-18 14:05:52 -07:00
PepperBell
18977da884 Minor fixes part 2 2021-05-17 12:07:45 -07:00
Kryppers
6c3bec250f Pixel perfect
Fixed one of the tank rivets being out of place by one pixel.
2021-05-17 20:04:16 +01:00
joker876
a74c8127f3
Update pl_pl.json 2021-05-17 10:59:39 +02:00
JozsefA
695fe98d28 MaterialSpecs choose their model formats 2021-05-16 20:37:26 -07:00
PepperBell
fd6c930a65 Merge remote-tracking branch 'upstream/chromatic-projector' into
contraption-lighting

# Conflicts:
#	src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/render/RenderedContraption.java
#	src/main/java/com/simibubi/create/foundation/render/SuperByteBuffer.java
2021-05-16 19:12:14 -07:00
PepperBell
61b101f0c6 Refactor contraption matrices
- Create ContraptionMatrices class for better management of matrices during the contraption rendering process
- Fix diffuse lighting when rendering contraptions without Flywheel
- Clean up TileEntityRenderHelper
- Add disableDiffuseTransform to SuperByteBuffer and fix light calculation logic
2021-05-16 18:42:56 -07:00
JozsefA
6227e81066 TemplateBuffer is no more
- Instead, BufferBuilderReader can decode parts of a BufferBuilder.
 - BufferedModel and its subclasses are now created directly with a ByteBuffer.
 - ContraptionModel renamed to IndexedModel.
 - InstancedModel and IndexedModel both now take model formats as arguments.
 - All of this allows for better abstraction, composition, and control of models rendered with Flywheel.
2021-05-16 15:39:52 -07:00
JozsefA
9ff193946c Refactor InstancedModel to not rely on inheritance
- Instead, MaterialSpecs store the information
 - RenderMaterials are now generic on InstanceData instead of InstancedModel
 - RenderMaterials are directly constructed with and store a MaterialSpec
2021-05-15 16:41:56 -07:00
PepperBell
f33b08d996 Minor fixes
- Fix holder refresh
- Fix SuperByteBuffer light calculation
- Remove unused import
2021-05-15 12:15:06 -07:00
PepperBell
67052fd00c Add lighting to non-Flywheel contraptions
- Pass contraption world to movement behavior rendering
- Add hybrid lighting option to SuperByteBuffer (takes max of world light and vertex light)
- Create ContraptionWorldHolder for caching contraption worlds for contraptions that are not rendered with Flywheel
- Refactor some parts of contraption rendering
2021-05-15 00:21:20 -07:00
JozsefA
79977aee14 Choose between 2 different implementations of a mapped buffer
- MappedBufferRange (GL30) and MappedFullBuffer (GL15) so far
 - Persistent mapping (optionally?) would be nice
2021-05-14 22:51:14 -07:00
JozsefA
8efe8ed01e Port the fixed lightmap shift to WorldContext 2021-05-14 18:32:27 -07:00
JozsefA
3856283353 Merge remote-tracking branch 'origin/chromatic-projector' into mc1.16/chromatic-projector
# Conflicts:
#	src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/render/ContraptionModel.java
2021-05-14 18:07:13 -07:00
JozsefA
a9cdb1ab6b Begin buffer rework 2021-05-14 18:04:25 -07:00
PepperBell
dac9010f20 Optimize lighting checks
Also
- Set null layer after rendering contraption
2021-05-14 17:23:10 -07:00
PepperBell
6c1c7a10d9 Fix darker contraptions
Also
- Partially fix incorrect vertex lighting (make sure to not sure Forge's lighting calculator)
- Reorder some lighting to make it more efficient
- Cleanup some things
2021-05-14 16:34:35 -07:00
JozsefA
7abc860809 Fix fluid rendering in tanks and pipes on fabulous graphics 2021-05-13 11:37:04 -07:00
JozsefA
56b2046957 It can actually load and link something
- Lots of refactoring in the shader loading code.
 - Abstract all the different shader source transformations into ProcessingStage.
 - An ordered list of ProcessingStages is called a ShaderTransformer.
 - When you acquire sources, a Shader now keeps track of the source location, shader type, and source code all together.
2021-05-12 15:14:33 -07:00
JozsefA
c1b7a1c19d Extremely fancy shader templating
- Nothing is properly hooked up yet.
 - A single shader file will be able to be compiled with different opengl targets.
 - I plan on using this to implement meshlet rendering as an alternate backend-backend that will be used when available.
 - It could also be used to enable compatibility with opengl 3.0 or potentially even 2.0.
2021-05-11 18:24:12 -07:00
JozsefA
2c4d650639 Organize the mixins 2021-05-11 12:34:38 -07:00
JozsefA
916b187aa8 Better belt breaking 2021-05-11 11:39:13 -07:00
JozsefA
f6937ffb0c Only a few moves left
- flywheel stuff only barely depends on create
 - start drafting what multiple backends could look like
2021-05-11 11:02:43 -07:00
JozsefA
70401e4ac4 More tweaking
- FLWFinalizeColor takes care of assigning gl_FragColor
 - Multiply crumbling alpha with diffuse alpha
2021-05-08 23:29:02 -07:00
PepperBell
bc6a6a3c9b Merge remote-tracking branch 'upstream/mc1.16/dev' into mc1.16/fix-bugs 2021-05-08 20:56:21 -07:00
PepperBell
b10ceaf63d Improve normal scaling fix 2021-05-08 20:02:32 -07:00
simibubi
ca5b9b4fb9 Bugs and things
- Recipes for the diving gear
- Idle Windmill Bearings now attach their structure when moved as part of another contraption
- Fixed pumps not updating transfer speed when directly between containers
- Fixed Multiblock Fluid tanks showing inconsistent information on their goggle overlay
- Creative Fluid tanks no longer show a goggle overlay
- Fixed Funnels and other interfaces not updating properly when affected chunks are unloaded and reloaded
- Fixed tooltips rendering behind item icon in the filter screens
2021-05-08 18:37:30 +02:00
JozsefA
4111680755 FLWFinalizeWorld takes care of assigning gl_Position 2021-05-07 23:22:40 -07:00
JozsefA
05b56b9b5e Error when missing #flwbuiltins in WorldContext 2021-05-07 22:15:07 -07:00
JozsefA
aa1a45f164 Block breaking overlay is animated now 2021-05-07 21:24:07 -07:00
Kryppers
39fb642fd9 The compressioning
50 to 90% compression across all textures
2021-05-08 01:14:22 +01:00
JozsefA
5821476c9f Strip png metadata, save 157KB 2021-05-07 16:42:28 -07:00
Kryppers
c56464d0df copper polish 2021-05-08 00:17:29 +01:00
PepperBell
e05db3cd76 Check for incorrect FluidBucketWrapper usage
Items that use FluidBucketWrapper incorrectly:
- Will not get filling recipes
- Cannot be filled with the spout
2021-05-07 13:33:18 -07:00
JozsefA
3171a0b7e5 Block breaking animations for arbitrary flywheel tiles.
- Kinda jank so far, but it's great progress.
 - This is also a really good showcase for how flexible the ShaderContext system is.
2021-05-06 18:38:05 -07:00
PepperCode1
da6f2652e7 Merge branch 'mc1.16/dev' of https://github.com/Creators-of-Create/Create into mc1.16/fix-bugs 2021-05-06 14:15:18 -07:00
PepperBell
970a5c2f53 Fix JEI Scene Lighting
- Fix sudden light transitions in JEI scenes
- Allow block GuiGameElements to set custom lighting
- Remove deprecated GuiGameElement methods
2021-05-06 14:14:31 -07:00
PepperBell
4ed97b3655 Fix super glue rendering
- Fix super glue normals, rotation, and reflection.
- Move render check to appropriate method.
- Minor optimizations.
2021-05-06 14:10:12 -07:00
simibubi
187c448513 Deploying items on items
- Added the Deploying recipe type
- Deployers can now polish items on belts or depots
- Deployers now make a little polishing sound when using sandpaper
2021-05-06 16:40:33 +02:00
JozsefA
9736ba19b5 Things here and there
- Move CreateClient.kineticRenderer to Backend
 - InstancedTileRenderers keep track of their own queuedUpdates
 - Sort of a listener system for some render events
2021-05-04 23:56:50 -07:00
JozsefA
55e3f50f64 MaterialSpecs act alone
- No more awkward MaterialType/MaterialSpec business
 - MaterialTypes are registered directly
 - FastRenderDispatcher merged with backend
2021-05-04 21:00:55 -07:00
JozsefA
b6f13aa7ff More granularity for shader context loading 2021-05-04 16:22:27 -07:00
PepperCode1
b0dad3bf79 Merge branch 'mc1.16/dev' of https://github.com/Creators-of-Create/Create into mc1.16/fix-bugs 2021-05-04 12:18:55 -07:00
zelophed
ca4ca11232 Merge remote-tracking branch 'origin/mc1.16/dev' into mc1.16/dev 2021-05-04 20:09:18 +02:00
simibubi
859d9fccf6 RenderType hotfix 2021-05-04 18:44:02 +02:00
simibubi
b38dd90431 Subcreatica, Part II
- Diving helmets now display a timer near the hotbar when underwater
- Copper backtanks now play an effect when accumulated air is maxed
- Copper backtank blocks can now be waterlogged
- Copper backtank cogs now animate
- Fixed subtitle of equip sounds
2021-05-04 18:04:00 +02:00
zelophed
dc6baae0ea add a missing placement helper
- for placing small cogs against integrated cog wheels
2021-05-04 17:17:09 +02:00
zelophed
3c4e504f61 Merge remote-tracking branch 'origin/mc1.16/dev' into mc1.16/dev
# Conflicts:
#	src/main/java/com/simibubi/create/events/ClientEvents.java
#	src/main/resources/create.mixins.json
2021-05-04 16:12:07 +02:00
JozsefA
bc5630e593 ShaderContexts
- A huge step towards more arbitrary shader usage
 - Need to work on registration of the different parts
 - Things are unorganized
2021-05-03 21:46:33 -07:00
PepperCode1
163361f5ca Merge branch 'mc1.16/dev' of https://github.com/Creators-of-Create/Create into mc1.16/fix-bugs 2021-05-03 19:55:21 -07:00
simibubi
076783eb7e Subcreatica
- Added the Copper Backtank
- Added Diving helmet and boots
2021-05-04 03:50:17 +02:00
PepperBell
77ee23c208 Fix crate rarity 2021-05-03 18:35:57 -07:00
JozsefA
fcbab5b820 #flwbuiltins and oh so much less overhead
- Put a lot of the reusable code in a sort of standard library
 - Need to evaluate just how much should be lumped in there
 - Still need to allow for users to create alternate contexts for the builtins
 - Normal world and contraptions are still hardcoded contexts
2021-05-03 13:42:23 -07:00
zelophed
fd62f2f8f4 Merge remote-tracking branch 'origin/mc1.16/dev' into mc1.16/dev
# Conflicts:
#	src/main/java/com/simibubi/create/CreateClient.java
#	src/main/java/com/simibubi/create/compat/jei/category/BlockzapperUpgradeCategory.java
#	src/main/java/com/simibubi/create/content/curiosities/symmetry/SymmetryWandScreen.java
#	src/main/java/com/simibubi/create/content/curiosities/zapper/ZapperScreen.java
2021-05-03 19:58:39 +02:00
zelophed
2442e3ac00 merge & comment cleanup 2021-05-03 18:25:57 +02:00
zelophed
c36346b97d Merge branch 'mc1.16/config-ui' into mc1.16/dev
# Conflicts:
#	src/main/java/com/simibubi/create/content/contraptions/goggles/GoggleConfigScreen.java
#	src/main/java/com/simibubi/create/foundation/command/AllCommands.java
#	src/main/java/com/simibubi/create/foundation/command/FabulousWarningCommand.java
#	src/main/java/com/simibubi/create/foundation/command/OverlayConfigCommand.java
#	src/main/java/com/simibubi/create/foundation/command/PonderCommand.java
#	src/main/java/com/simibubi/create/foundation/command/ToggleDebugCommand.java
#	src/main/java/com/simibubi/create/foundation/command/ToggleExperimentalRenderingCommand.java
#	src/main/java/com/simibubi/create/foundation/gui/AbstractSimiContainerScreen.java
#	src/main/java/com/simibubi/create/foundation/gui/AbstractSimiScreen.java
#	src/main/java/com/simibubi/create/foundation/gui/AllIcons.java
#	src/main/java/com/simibubi/create/foundation/gui/UIRenderHelper.java
#	src/main/java/com/simibubi/create/foundation/ponder/NavigatableSimiScreen.java
#	src/main/java/com/simibubi/create/foundation/ponder/PonderProgressBar.java
#	src/main/java/com/simibubi/create/foundation/ponder/PonderUI.java
#	src/main/java/com/simibubi/create/foundation/ponder/content/PonderIndexScreen.java
#	src/main/java/com/simibubi/create/foundation/ponder/content/PonderTagScreen.java
#	src/main/java/com/simibubi/create/foundation/ponder/ui/ChapterLabel.java
#	src/main/java/com/simibubi/create/foundation/ponder/ui/PonderButton.java
#	src/main/resources/create.mixins.json
2021-05-03 16:54:32 +02:00
zelophed
ae76821190 more changes to color and theme 2021-05-03 16:14:58 +02:00
JozsefA
35768b5ade Step towards arbitrary shader contexts 2021-05-02 14:16:02 -07:00
JozsefA
15f4cd305e Merge remote-tracking branch 'origin/mc1.16/dev' into mc1.16/chromatic-projector 2021-05-02 11:50:39 -07:00
simibubi
fd030d3273 Post PR datagen
- Fixed worldshaper asset errors
- Removed zero-width spaces from pl_pl localization file (broke datagen)
- Regenerated unfinished lang templates
2021-05-02 19:37:39 +02:00