Commit Graph

1578 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
aa1a45f164 Block breaking overlay is animated now 2021-05-07 21:24:07 -07: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
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
4974df5c99
Merge pull request #1544 from PepperCode1/mc1.16/model-cleanup
Cleanup Models and Custom Item Rendering
2021-05-02 17:42:48 +02:00
simibubi
b086fbd1f2
Merge pull request #1520 from PepperCode1/mc1.16/reload-listeners
Tweak Reload Listener Classes
2021-05-02 17:39:29 +02:00
JozsefA
2112061db0 Vertex shader abstractions 2021-05-01 23:39:36 -07:00
JozsefA
67e75d747a Move backend 2021-05-01 16:32:09 -07:00
JozsefA
2e16b85190 Merge remote-tracking branch 'origin/mc1.16/dev' into mc1.16/chromatic-projector
# Conflicts:
#	src/generated/resources/.cache/cache
#	src/generated/resources/assets/create/lang/unfinished/de_de.json
#	src/generated/resources/assets/create/lang/unfinished/es_es.json
#	src/generated/resources/assets/create/lang/unfinished/es_mx.json
#	src/generated/resources/assets/create/lang/unfinished/fr_fr.json
#	src/generated/resources/assets/create/lang/unfinished/it_it.json
#	src/generated/resources/assets/create/lang/unfinished/ja_jp.json
#	src/generated/resources/assets/create/lang/unfinished/ko_kr.json
#	src/generated/resources/assets/create/lang/unfinished/nl_nl.json
#	src/generated/resources/assets/create/lang/unfinished/pt_br.json
#	src/generated/resources/assets/create/lang/unfinished/ru_ru.json
#	src/generated/resources/assets/create/lang/unfinished/zh_cn.json
#	src/generated/resources/assets/create/lang/unfinished/zh_tw.json
2021-05-01 16:18:32 -07:00
PepperBell
ffd4c75572 Merge remote-tracking branch 'upstream/mc1.16/dev' into
mc1.16/model-cleanup

Conflicts:
	src/main/java/com/simibubi/create/content/curiosities/tools/DeforesterItemRenderer.java
	src/main/java/com/simibubi/create/content/curiosities/zapper/blockzapper/BlockzapperItemRenderer.java
2021-05-01 15:46:50 -07:00
PepperBell
9be5a3ec2a Cleanup 2021-05-01 15:41:03 -07:00
simibubi
8fff3d6745 The great second purge of Tools
- Removed the Blockzapper
- Removed the Deforester
- Handheld Worldshaper -> Creative Worldshaper
- Worldshapers now have a "surface" and "cluster" brush type
- Worldshapers now follow the creative colour palette
- Some UI touch-ups for tools
2021-05-01 13:19:01 +02:00
JozsefA
dc3517eb3a Inversion 2021-04-30 14:28:18 -07:00
JozsefA
37e8e87553 Merge branch 'mc1.16/dev' into mc1.16/chromatic-projector
# Conflicts:
#	src/main/java/com/simibubi/create/foundation/render/backend/Backend.java
#	src/main/java/com/simibubi/create/foundation/render/backend/ShaderLoader.java
#	src/main/java/com/simibubi/create/foundation/render/backend/core/BasicProgram.java
#	src/main/java/com/simibubi/create/foundation/render/backend/gl/GlBuffer.java
#	src/main/java/com/simibubi/create/foundation/render/backend/gl/GlVertexArray.java
#	src/main/java/com/simibubi/create/foundation/render/backend/gl/shader/FogSensitiveProgram.java
#	src/main/java/com/simibubi/create/foundation/render/backend/gl/shader/GlProgram.java
#	src/main/java/com/simibubi/create/foundation/render/backend/gl/shader/ProgramSpec.java
#	src/main/java/com/simibubi/create/foundation/render/backend/gl/versioned/GlCompat.java
#	src/main/java/com/simibubi/create/foundation/render/backend/gl/versioned/instancing/DrawInstanced.java
#	src/main/java/com/simibubi/create/foundation/render/backend/gl/versioned/instancing/InstancedArrays.java
#	src/main/java/com/simibubi/create/foundation/render/backend/gl/versioned/instancing/VertexArrayObject.java
#	src/main/java/com/simibubi/create/foundation/render/backend/instancing/InstancedModel.java
#	src/main/java/com/simibubi/create/foundation/render/backend/instancing/RenderMaterial.java
2021-04-30 12:15:32 -07:00
JozsefA
c9718b0a1b No more compartments in Flywheel.
It never really needed them in the first place.
2021-04-30 00:31:52 -07:00
JozsefA
322496f3b4 Reformat backend 2021-04-29 17:19:08 -07:00
JozsefA
d9b04138df Whoops flywheels are straight again 2021-04-29 15:12:08 -07:00
JozsefA
063e98983f Oh god the line endings
- Isolate AllBlockPartials to PartialModel
 - Further cleanup to PartialBufferer
2021-04-29 14:03:52 -07:00
JozsefA
446b24f1cf Random stuff
- Multiply by 31 in some hash functions
 - Remove unused render utility classes
2021-04-29 11:44:45 -07:00
JozsefA
e33ab160ac Start to cleanup the AllBlockPartials methods 2021-04-28 22:47:51 -07:00
JozsefA
81b0cf77e1 Contraption renderer checks for flywheel worlds
- Should fix an issue with smaller units
2021-04-28 22:08:45 -07:00
PepperBell
80921ebd6b Remove ISimpleReloadListener lambda types 2021-04-28 21:25:06 -07:00
PepperBell
9140c2ad4c Merge branch 'mc1.16/dev' of https://github.com/Creators-of-Create/Create.git into mc1.16/dev 2021-04-28 13:38:26 -07:00
PepperBell
61f2a35a61 Add ISimpleReloadListener
ISimpleReloadListener is a reload listener functional interface meant to
be used when preparation is not needed. All current reload listeners
have been moved to this interface, which allows them to be lambdas and
not have to create a new Object for every reload.
2021-04-28 13:37:21 -07:00
zelophed
f47feee20d its called padding
- also includes some more changes to theme and colors
2021-04-28 21:44:03 +02:00
JozsefA
18d23f69e0 Merge remote-tracking branch 'origin/mc1.16/dev' into mc1.16/chromatic-projector
# Conflicts:
#	src/generated/resources/.cache/cache
#	src/generated/resources/assets/create/lang/en_us.json
#	src/generated/resources/assets/create/lang/unfinished/de_de.json
#	src/generated/resources/assets/create/lang/unfinished/es_es.json
#	src/generated/resources/assets/create/lang/unfinished/es_mx.json
#	src/generated/resources/assets/create/lang/unfinished/fr_fr.json
#	src/generated/resources/assets/create/lang/unfinished/it_it.json
#	src/generated/resources/assets/create/lang/unfinished/ja_jp.json
#	src/generated/resources/assets/create/lang/unfinished/ko_kr.json
#	src/generated/resources/assets/create/lang/unfinished/nl_nl.json
#	src/generated/resources/assets/create/lang/unfinished/pt_br.json
#	src/generated/resources/assets/create/lang/unfinished/ru_ru.json
#	src/generated/resources/assets/create/lang/unfinished/zh_cn.json
#	src/generated/resources/assets/create/lang/unfinished/zh_tw.json
2021-04-28 12:42:41 -07:00
simibubi
ab6b18e42d SoundScapes, Part III
- Increased minimum sound threshold for ambient noise
- Sounds for contraption (dis-)assembly
- Sounds for more wrench interactions
- Hand crank clicks less furiously
- Block breakers now make block breaking noises
- Crafting noises
2021-04-28 17:55:05 +02:00
JozsefA
54f5783489 More versatile ui/settings
- The channel mask still needs work
 - Add contrast filter
2021-04-28 00:01:26 -07:00
simibubi
35d0ce8387 Widget resize
- Condensed the main reading space of config UIs
- Reworked some of the widgets to better arrange themselves in a column
2021-04-27 20:07:29 +02:00
zelophed
de00f90a37 pondering all over again 2021-04-27 02:48:50 +02:00
zelophed
c85870ea2d boxing elements 2021-04-25 19:54:18 +02:00
JozsefA
70188889be Persistence is key
- Projectors now remember their setting and sync between clients
2021-04-23 17:20:16 -07:00
JozsefA
e8ab21c184 More polish
- UI icons
 - Color masking
 - Better scroll ux
 - FilterSphere now has its own file
2021-04-23 14:38:31 -07:00