From aa1a45f16493b53dbc4093c84bb17e5c151a6c02 Mon Sep 17 00:00:00 2001 From: JozsefA Date: Fri, 7 May 2021 21:24:07 -0700 Subject: [PATCH] Block breaking overlay is animated now --- .../jozufozu/flywheel/backend/Backend.java | 87 ++++++++----------- .../backend/core/CrumblingRenderer.java | 14 +++ .../core/{ => materials}/BasicAttributes.java | 2 +- .../core/{ => materials}/BasicData.java | 2 +- .../core/{ => materials}/IFlatLight.java | 2 +- .../core/{ => materials}/ModelAttributes.java | 2 +- .../core/{ => materials}/ModelData.java | 2 +- .../{ => materials}/OrientedAttributes.java | 2 +- .../core/{ => materials}/OrientedData.java | 2 +- .../core/{ => materials}/OrientedModel.java | 2 +- .../{ => materials}/TransformAttributes.java | 2 +- .../{ => materials}/TransformedModel.java | 2 +- .../backend/instancing/InstancedModel.java | 2 +- .../instancing/InstancedTileRenderer.java | 24 +++-- .../instancing/TileEntityInstance.java | 6 +- .../contraptions/base/KineticData.java | 2 +- .../contraptions/base/RotatingModel.java | 2 +- .../actors/HarvesterActorInstance.java | 2 +- .../components/crank/HandCrankInstance.java | 2 +- .../deployer/DeployerActorInstance.java | 2 +- .../components/deployer/DeployerInstance.java | 2 +- .../components/flywheel/FlyWheelInstance.java | 2 +- .../flywheel/engine/EngineInstance.java | 2 +- .../components/mixer/MixerInstance.java | 2 +- .../components/press/PressInstance.java | 2 +- .../bearing/BearingInstance.java | 2 +- .../bearing/StabilizedBearingInstance.java | 2 +- .../chassis/StickerInstance.java | 2 +- .../gantry/GantryCarriageInstance.java | 2 +- .../pulley/AbstractPulleyInstance.java | 16 ++-- .../pulley/HosePulleyInstance.java | 2 +- .../pulley/RopePulleyInstance.java | 2 +- .../fluids/pipes/FluidValveInstance.java | 2 +- .../relays/belt/BeltInstancedModel.java | 2 +- .../relays/gauge/GaugeInstance.java | 2 +- .../content/logistics/block/FlapData.java | 2 +- .../block/depot/EjectorInstance.java | 2 +- .../diodes/AdjustableRepeaterInstance.java | 2 +- .../block/mechanicalArm/ArmInstance.java | 2 +- .../block/redstone/AnalogLeverInstance.java | 2 +- .../block/SchematicannonInstance.java | 2 +- .../foundation/mixin/RenderHooksMixin.java | 9 +- .../foundation/render/AllMaterialSpecs.java | 8 +- .../foundation/render/AllProgramSpecs.java | 8 +- 44 files changed, 129 insertions(+), 115 deletions(-) create mode 100644 src/main/java/com/jozufozu/flywheel/backend/core/CrumblingRenderer.java rename src/main/java/com/jozufozu/flywheel/backend/core/{ => materials}/BasicAttributes.java (93%) rename src/main/java/com/jozufozu/flywheel/backend/core/{ => materials}/BasicData.java (96%) rename src/main/java/com/jozufozu/flywheel/backend/core/{ => materials}/IFlatLight.java (94%) rename src/main/java/com/jozufozu/flywheel/backend/core/{ => materials}/ModelAttributes.java (94%) rename src/main/java/com/jozufozu/flywheel/backend/core/{ => materials}/ModelData.java (92%) rename src/main/java/com/jozufozu/flywheel/backend/core/{ => materials}/OrientedAttributes.java (93%) rename src/main/java/com/jozufozu/flywheel/backend/core/{ => materials}/OrientedData.java (97%) rename src/main/java/com/jozufozu/flywheel/backend/core/{ => materials}/OrientedModel.java (93%) rename src/main/java/com/jozufozu/flywheel/backend/core/{ => materials}/TransformAttributes.java (93%) rename src/main/java/com/jozufozu/flywheel/backend/core/{ => materials}/TransformedModel.java (93%) diff --git a/src/main/java/com/jozufozu/flywheel/backend/Backend.java b/src/main/java/com/jozufozu/flywheel/backend/Backend.java index 9be7ca63e..ade41072b 100644 --- a/src/main/java/com/jozufozu/flywheel/backend/Backend.java +++ b/src/main/java/com/jozufozu/flywheel/backend/Backend.java @@ -1,18 +1,16 @@ package com.jozufozu.flywheel.backend; -import static org.lwjgl.opengl.GL11.GL_REPEAT; import static org.lwjgl.opengl.GL11.GL_TEXTURE_2D; -import static org.lwjgl.opengl.GL11.GL_TEXTURE_WRAP_S; -import static org.lwjgl.opengl.GL11.GL_TEXTURE_WRAP_T; import static org.lwjgl.opengl.GL11.glBindTexture; -import static org.lwjgl.opengl.GL11.glTexParameteri; import static org.lwjgl.opengl.GL13.GL_TEXTURE0; import static org.lwjgl.opengl.GL13.glActiveTexture; +import java.util.BitSet; import java.util.Collection; import java.util.HashMap; import java.util.Map; import java.util.SortedSet; +import java.util.Vector; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; @@ -20,7 +18,7 @@ import org.lwjgl.opengl.GL; import org.lwjgl.opengl.GLCapabilities; import com.jozufozu.flywheel.backend.core.BasicProgram; -import com.jozufozu.flywheel.backend.core.CrumblingProgram; +import com.jozufozu.flywheel.backend.core.CrumblingRenderer; import com.jozufozu.flywheel.backend.core.EffectsContext; import com.jozufozu.flywheel.backend.core.WorldContext; import com.jozufozu.flywheel.backend.core.WorldTileRenderer; @@ -31,14 +29,13 @@ import com.jozufozu.flywheel.backend.gl.versioned.GlCompat; import com.jozufozu.flywheel.backend.instancing.IFlywheelWorld; import com.jozufozu.flywheel.backend.instancing.InstancedModel; import com.jozufozu.flywheel.backend.instancing.MaterialSpec; -import com.mojang.blaze3d.platform.GlStateManager; -import com.mojang.blaze3d.systems.RenderSystem; import com.simibubi.create.content.contraptions.KineticDebugger; import com.simibubi.create.foundation.config.AllConfigs; import com.simibubi.create.foundation.utility.WorldAttached; import it.unimi.dsi.fastutil.longs.Long2ObjectMap; import net.minecraft.client.Minecraft; +import net.minecraft.client.renderer.ActiveRenderInfo; import net.minecraft.client.renderer.DestroyBlockProgress; import net.minecraft.client.renderer.RenderType; import net.minecraft.client.renderer.WorldRenderer; @@ -47,10 +44,10 @@ import net.minecraft.client.renderer.texture.Texture; import net.minecraft.client.renderer.texture.TextureManager; import net.minecraft.client.world.ClientWorld; import net.minecraft.entity.Entity; -import net.minecraft.inventory.container.PlayerContainer; import net.minecraft.resources.IReloadableResourceManager; import net.minecraft.resources.IResourceManager; import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.LazyValue; import net.minecraft.util.ResourceLocation; import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.vector.Matrix4f; @@ -68,7 +65,13 @@ public class Backend { public static EffectsHandler effects; public static WorldAttached> tileRenderer = new WorldAttached<>(() -> new WorldTileRenderer<>(WorldContext.INSTANCE)); - public static WorldAttached> blockBreaking = new WorldAttached<>(() -> new WorldTileRenderer<>(WorldContext.CRUMBLING)); + public static LazyValue> blockBreaking = new LazyValue<>(() -> { + Vector renderers = new Vector<>(10); + for (int i = 0; i < 10; i++) { + renderers.add(new CrumblingRenderer()); + } + return renderers; + }); private static Matrix4f projectionMatrix = new Matrix4f(); private static boolean instancingAvailable; @@ -215,67 +218,49 @@ public class Backend { layer.endDrawing(); } + private static final RenderType CRUMBLING = ModelBakery.BLOCK_DESTRUCTION_RENDER_LAYERS.get(0); + public static void renderBreaking(ClientWorld world, Matrix4f viewProjection, double cameraX, double cameraY, double cameraZ) { if (!canUseInstancing(world)) return; - WorldTileRenderer renderer = blockBreaking.get(world); - if (renderer == null) return; WorldRenderer worldRenderer = Minecraft.getInstance().worldRenderer; Long2ObjectMap> breakingProgressions = worldRenderer.blockBreakingProgressions; if (breakingProgressions.isEmpty()) return; + Vector renderers = blockBreaking.getValue(); + + BitSet bitSet = new BitSet(10); for (Long2ObjectMap.Entry> entry : breakingProgressions.long2ObjectEntrySet()) { BlockPos breakingPos = BlockPos.fromLong(entry.getLongKey()); - SortedSet sortedset1 = entry.getValue(); - if (sortedset1 != null && !sortedset1.isEmpty()) { - renderer.add(world.getTileEntity(breakingPos)); + SortedSet progresses = entry.getValue(); + if (progresses != null && !progresses.isEmpty()) { + int blockDamage = progresses.last().getPartialBlockDamage(); + bitSet.set(blockDamage); + renderers.get(blockDamage).add(world.getTileEntity(breakingPos)); } } - renderer.beginFrame(Minecraft.getInstance().gameRenderer.getActiveRenderInfo()); - - RenderType layer = RenderType.getCutoutMipped(); - - layer.startDrawing(); + TextureManager textureManager = Minecraft.getInstance().textureManager; + ActiveRenderInfo info = Minecraft.getInstance().gameRenderer.getActiveRenderInfo(); glActiveTexture(GL_TEXTURE0); - TextureManager textureManager = Minecraft.getInstance().textureManager; - Texture breaking = textureManager.getTexture(ModelBakery.BLOCK_DESTRUCTION_STAGE_TEXTURES.get(5)); + CRUMBLING.startDrawing(); + bitSet.stream().forEach(i -> { + Texture breaking = textureManager.getTexture(ModelBakery.BLOCK_DESTRUCTION_STAGE_TEXTURES.get(i)); + CrumblingRenderer renderer = renderers.get(i); + renderer.beginFrame(info); - if (breaking != null) { + if (breaking != null) { + glBindTexture(GL_TEXTURE_2D, breaking.getGlTextureId()); + renderer.render(RenderType.getCutoutMipped(), viewProjection, cameraX, cameraY, cameraZ, program -> program.setTextureScale(64, 64)); + } - glBindTexture(GL_TEXTURE_2D, breaking.getGlTextureId()); - glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT); - glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT); - - RenderSystem.enableBlend(); - RenderSystem.blendFuncSeparate(GlStateManager.SourceFactor.DST_COLOR, GlStateManager.DestFactor.SRC_COLOR, GlStateManager.SourceFactor.ONE, GlStateManager.DestFactor.ZERO); - - RenderSystem.enableAlphaTest(); - RenderSystem.alphaFunc(516, 0.003921569F); - - RenderSystem.polygonOffset(-1.0F, -10.0F); - RenderSystem.enablePolygonOffset(); - } - - renderer.render(layer, viewProjection, cameraX, cameraY, cameraZ, program -> program.setTextureScale(64, 64)); - - if (breaking != null) { - glBindTexture(GL_TEXTURE_2D, textureManager.getTexture(PlayerContainer.BLOCK_ATLAS_TEXTURE).getGlTextureId()); - - RenderSystem.disableBlend(); - RenderSystem.defaultBlendFunc(); - - RenderSystem.polygonOffset(0.0F, 0.0F); - RenderSystem.disablePolygonOffset(); - } - - layer.endDrawing(); - - renderer.invalidate(); + renderer.invalidate(); + }); + CRUMBLING.endDrawing(); } public static void enqueueUpdate(TileEntity te) { diff --git a/src/main/java/com/jozufozu/flywheel/backend/core/CrumblingRenderer.java b/src/main/java/com/jozufozu/flywheel/backend/core/CrumblingRenderer.java new file mode 100644 index 000000000..f1be59600 --- /dev/null +++ b/src/main/java/com/jozufozu/flywheel/backend/core/CrumblingRenderer.java @@ -0,0 +1,14 @@ +package com.jozufozu.flywheel.backend.core; + +import net.minecraft.util.math.BlockPos; + +public class CrumblingRenderer extends WorldTileRenderer { + public CrumblingRenderer() { + super(WorldContext.CRUMBLING); + } + + @Override + protected boolean shouldTick(BlockPos worldPos, float lookX, float lookY, float lookZ, int cX, int cY, int cZ) { + return true; + } +} diff --git a/src/main/java/com/jozufozu/flywheel/backend/core/BasicAttributes.java b/src/main/java/com/jozufozu/flywheel/backend/core/materials/BasicAttributes.java similarity index 93% rename from src/main/java/com/jozufozu/flywheel/backend/core/BasicAttributes.java rename to src/main/java/com/jozufozu/flywheel/backend/core/materials/BasicAttributes.java index 1592e99fd..4309c1365 100644 --- a/src/main/java/com/jozufozu/flywheel/backend/core/BasicAttributes.java +++ b/src/main/java/com/jozufozu/flywheel/backend/core/materials/BasicAttributes.java @@ -1,4 +1,4 @@ -package com.jozufozu.flywheel.backend.core; +package com.jozufozu.flywheel.backend.core.materials; import com.jozufozu.flywheel.backend.gl.attrib.CommonAttributes; import com.jozufozu.flywheel.backend.gl.attrib.IAttribSpec; diff --git a/src/main/java/com/jozufozu/flywheel/backend/core/BasicData.java b/src/main/java/com/jozufozu/flywheel/backend/core/materials/BasicData.java similarity index 96% rename from src/main/java/com/jozufozu/flywheel/backend/core/BasicData.java rename to src/main/java/com/jozufozu/flywheel/backend/core/materials/BasicData.java index 2f910eff4..3759ba6e2 100644 --- a/src/main/java/com/jozufozu/flywheel/backend/core/BasicData.java +++ b/src/main/java/com/jozufozu/flywheel/backend/core/materials/BasicData.java @@ -1,4 +1,4 @@ -package com.jozufozu.flywheel.backend.core; +package com.jozufozu.flywheel.backend.core.materials; import java.nio.ByteBuffer; diff --git a/src/main/java/com/jozufozu/flywheel/backend/core/IFlatLight.java b/src/main/java/com/jozufozu/flywheel/backend/core/materials/IFlatLight.java similarity index 94% rename from src/main/java/com/jozufozu/flywheel/backend/core/IFlatLight.java rename to src/main/java/com/jozufozu/flywheel/backend/core/materials/IFlatLight.java index 7b6885c12..250ffda90 100644 --- a/src/main/java/com/jozufozu/flywheel/backend/core/IFlatLight.java +++ b/src/main/java/com/jozufozu/flywheel/backend/core/materials/IFlatLight.java @@ -1,4 +1,4 @@ -package com.jozufozu.flywheel.backend.core; +package com.jozufozu.flywheel.backend.core.materials; import com.jozufozu.flywheel.backend.instancing.InstanceData; diff --git a/src/main/java/com/jozufozu/flywheel/backend/core/ModelAttributes.java b/src/main/java/com/jozufozu/flywheel/backend/core/materials/ModelAttributes.java similarity index 94% rename from src/main/java/com/jozufozu/flywheel/backend/core/ModelAttributes.java rename to src/main/java/com/jozufozu/flywheel/backend/core/materials/ModelAttributes.java index c5ba5e858..16ed122dd 100644 --- a/src/main/java/com/jozufozu/flywheel/backend/core/ModelAttributes.java +++ b/src/main/java/com/jozufozu/flywheel/backend/core/materials/ModelAttributes.java @@ -1,4 +1,4 @@ -package com.jozufozu.flywheel.backend.core; +package com.jozufozu.flywheel.backend.core.materials; import com.jozufozu.flywheel.backend.gl.attrib.CommonAttributes; import com.jozufozu.flywheel.backend.gl.attrib.IAttribSpec; diff --git a/src/main/java/com/jozufozu/flywheel/backend/core/ModelData.java b/src/main/java/com/jozufozu/flywheel/backend/core/materials/ModelData.java similarity index 92% rename from src/main/java/com/jozufozu/flywheel/backend/core/ModelData.java rename to src/main/java/com/jozufozu/flywheel/backend/core/materials/ModelData.java index cef67d359..3ae82a855 100644 --- a/src/main/java/com/jozufozu/flywheel/backend/core/ModelData.java +++ b/src/main/java/com/jozufozu/flywheel/backend/core/materials/ModelData.java @@ -1,4 +1,4 @@ -package com.jozufozu.flywheel.backend.core; +package com.jozufozu.flywheel.backend.core.materials; import java.nio.ByteBuffer; diff --git a/src/main/java/com/jozufozu/flywheel/backend/core/OrientedAttributes.java b/src/main/java/com/jozufozu/flywheel/backend/core/materials/OrientedAttributes.java similarity index 93% rename from src/main/java/com/jozufozu/flywheel/backend/core/OrientedAttributes.java rename to src/main/java/com/jozufozu/flywheel/backend/core/materials/OrientedAttributes.java index a92ed42ac..9d74baef4 100644 --- a/src/main/java/com/jozufozu/flywheel/backend/core/OrientedAttributes.java +++ b/src/main/java/com/jozufozu/flywheel/backend/core/materials/OrientedAttributes.java @@ -1,4 +1,4 @@ -package com.jozufozu.flywheel.backend.core; +package com.jozufozu.flywheel.backend.core.materials; import com.jozufozu.flywheel.backend.gl.attrib.CommonAttributes; import com.jozufozu.flywheel.backend.gl.attrib.IAttribSpec; diff --git a/src/main/java/com/jozufozu/flywheel/backend/core/OrientedData.java b/src/main/java/com/jozufozu/flywheel/backend/core/materials/OrientedData.java similarity index 97% rename from src/main/java/com/jozufozu/flywheel/backend/core/OrientedData.java rename to src/main/java/com/jozufozu/flywheel/backend/core/materials/OrientedData.java index 209458c17..a7f30a96c 100644 --- a/src/main/java/com/jozufozu/flywheel/backend/core/OrientedData.java +++ b/src/main/java/com/jozufozu/flywheel/backend/core/materials/OrientedData.java @@ -1,4 +1,4 @@ -package com.jozufozu.flywheel.backend.core; +package com.jozufozu.flywheel.backend.core.materials; import java.nio.ByteBuffer; diff --git a/src/main/java/com/jozufozu/flywheel/backend/core/OrientedModel.java b/src/main/java/com/jozufozu/flywheel/backend/core/materials/OrientedModel.java similarity index 93% rename from src/main/java/com/jozufozu/flywheel/backend/core/OrientedModel.java rename to src/main/java/com/jozufozu/flywheel/backend/core/materials/OrientedModel.java index 76ed0baac..6c5ca0544 100644 --- a/src/main/java/com/jozufozu/flywheel/backend/core/OrientedModel.java +++ b/src/main/java/com/jozufozu/flywheel/backend/core/materials/OrientedModel.java @@ -1,4 +1,4 @@ -package com.jozufozu.flywheel.backend.core; +package com.jozufozu.flywheel.backend.core.materials; import com.jozufozu.flywheel.backend.gl.attrib.VertexFormat; import com.jozufozu.flywheel.backend.instancing.InstancedModel; diff --git a/src/main/java/com/jozufozu/flywheel/backend/core/TransformAttributes.java b/src/main/java/com/jozufozu/flywheel/backend/core/materials/TransformAttributes.java similarity index 93% rename from src/main/java/com/jozufozu/flywheel/backend/core/TransformAttributes.java rename to src/main/java/com/jozufozu/flywheel/backend/core/materials/TransformAttributes.java index a94064541..48c85b185 100644 --- a/src/main/java/com/jozufozu/flywheel/backend/core/TransformAttributes.java +++ b/src/main/java/com/jozufozu/flywheel/backend/core/materials/TransformAttributes.java @@ -1,4 +1,4 @@ -package com.jozufozu.flywheel.backend.core; +package com.jozufozu.flywheel.backend.core.materials; import com.jozufozu.flywheel.backend.gl.attrib.IAttribSpec; import com.jozufozu.flywheel.backend.gl.attrib.IVertexAttrib; diff --git a/src/main/java/com/jozufozu/flywheel/backend/core/TransformedModel.java b/src/main/java/com/jozufozu/flywheel/backend/core/materials/TransformedModel.java similarity index 93% rename from src/main/java/com/jozufozu/flywheel/backend/core/TransformedModel.java rename to src/main/java/com/jozufozu/flywheel/backend/core/materials/TransformedModel.java index 04436dc0b..4d848b2e9 100644 --- a/src/main/java/com/jozufozu/flywheel/backend/core/TransformedModel.java +++ b/src/main/java/com/jozufozu/flywheel/backend/core/materials/TransformedModel.java @@ -1,4 +1,4 @@ -package com.jozufozu.flywheel.backend.core; +package com.jozufozu.flywheel.backend.core.materials; import com.jozufozu.flywheel.backend.gl.attrib.VertexFormat; import com.jozufozu.flywheel.backend.instancing.InstancedModel; diff --git a/src/main/java/com/jozufozu/flywheel/backend/instancing/InstancedModel.java b/src/main/java/com/jozufozu/flywheel/backend/instancing/InstancedModel.java index 53a21c878..d58b20a16 100644 --- a/src/main/java/com/jozufozu/flywheel/backend/instancing/InstancedModel.java +++ b/src/main/java/com/jozufozu/flywheel/backend/instancing/InstancedModel.java @@ -11,7 +11,7 @@ import org.lwjgl.opengl.GL20; import com.jozufozu.flywheel.backend.Backend; import com.jozufozu.flywheel.backend.BufferedModel; -import com.jozufozu.flywheel.backend.core.ModelAttributes; +import com.jozufozu.flywheel.backend.core.materials.ModelAttributes; import com.jozufozu.flywheel.backend.gl.GlBuffer; import com.jozufozu.flywheel.backend.gl.GlVertexArray; import com.jozufozu.flywheel.backend.gl.attrib.VertexFormat; diff --git a/src/main/java/com/jozufozu/flywheel/backend/instancing/InstancedTileRenderer.java b/src/main/java/com/jozufozu/flywheel/backend/instancing/InstancedTileRenderer.java index 4b6bcee9a..2f038c01d 100644 --- a/src/main/java/com/jozufozu/flywheel/backend/instancing/InstancedTileRenderer.java +++ b/src/main/java/com/jozufozu/flywheel/backend/instancing/InstancedTileRenderer.java @@ -9,9 +9,9 @@ import javax.annotation.Nullable; import com.jozufozu.flywheel.backend.Backend; import com.jozufozu.flywheel.backend.core.BasicProgram; -import com.jozufozu.flywheel.backend.core.ModelData; -import com.jozufozu.flywheel.backend.core.OrientedData; import com.jozufozu.flywheel.backend.core.WorldContext; +import com.jozufozu.flywheel.backend.core.materials.ModelData; +import com.jozufozu.flywheel.backend.core.materials.OrientedData; import com.jozufozu.flywheel.backend.gl.shader.ShaderCallback; import com.simibubi.create.foundation.render.AllMaterialSpecs; @@ -107,21 +107,29 @@ public abstract class InstancedTileRenderer

{ if (dynamicInstances.size() > 0) { for (IDynamicInstance dyn : dynamicInstances.values()) { - if (!dyn.decreaseFramerateWithDistance()) { - dyn.beginFrame(); - continue; - } - - if (shouldTick(dyn.getWorldPosition(), lookX, lookY, lookZ, cX, cY, cZ)) + if (!dyn.decreaseFramerateWithDistance() || shouldTick(dyn.getWorldPosition(), lookX, lookY, lookZ, cX, cY, cZ)) dyn.beginFrame(); } } } + /** + * Render every model for every material. + * + * @param layer Which vanilla {@link RenderType} is being drawn? + * @param viewProjection How do we get from camera space to clip space? + */ public void render(RenderType layer, Matrix4f viewProjection, double camX, double camY, double camZ) { render(layer, viewProjection, camX, camY, camZ, null); } + /** + * Render every model for every material. + * + * @param layer Which vanilla {@link RenderType} is being drawn? + * @param viewProjection How do we get from camera space to clip space? + * @param callback Provide additional uniforms or state here. + */ public void render(RenderType layer, Matrix4f viewProjection, double camX, double camY, double camZ, ShaderCallback

callback) { for (RenderMaterial material : materials.values()) { if (material.canRenderInLayer(layer)) diff --git a/src/main/java/com/jozufozu/flywheel/backend/instancing/TileEntityInstance.java b/src/main/java/com/jozufozu/flywheel/backend/instancing/TileEntityInstance.java index 292021e48..bec358be7 100644 --- a/src/main/java/com/jozufozu/flywheel/backend/instancing/TileEntityInstance.java +++ b/src/main/java/com/jozufozu/flywheel/backend/instancing/TileEntityInstance.java @@ -3,9 +3,9 @@ package com.jozufozu.flywheel.backend.instancing; import java.util.Arrays; import java.util.stream.Stream; -import com.jozufozu.flywheel.backend.core.IFlatLight; -import com.jozufozu.flywheel.backend.core.ModelData; -import com.jozufozu.flywheel.backend.core.OrientedData; +import com.jozufozu.flywheel.backend.core.materials.IFlatLight; +import com.jozufozu.flywheel.backend.core.materials.ModelData; +import com.jozufozu.flywheel.backend.core.materials.OrientedData; import net.minecraft.block.BlockState; import net.minecraft.tileentity.TileEntity; diff --git a/src/main/java/com/simibubi/create/content/contraptions/base/KineticData.java b/src/main/java/com/simibubi/create/content/contraptions/base/KineticData.java index 69d8d61b7..e813cc7f2 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/base/KineticData.java +++ b/src/main/java/com/simibubi/create/content/contraptions/base/KineticData.java @@ -2,7 +2,7 @@ package com.simibubi.create.content.contraptions.base; import java.nio.ByteBuffer; -import com.jozufozu.flywheel.backend.core.BasicData; +import com.jozufozu.flywheel.backend.core.materials.BasicData; import com.jozufozu.flywheel.backend.instancing.InstancedModel; import com.simibubi.create.foundation.utility.ColorHelper; diff --git a/src/main/java/com/simibubi/create/content/contraptions/base/RotatingModel.java b/src/main/java/com/simibubi/create/content/contraptions/base/RotatingModel.java index 4cc26671f..5eaadbc5a 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/base/RotatingModel.java +++ b/src/main/java/com/simibubi/create/content/contraptions/base/RotatingModel.java @@ -1,6 +1,6 @@ package com.simibubi.create.content.contraptions.base; -import com.jozufozu.flywheel.backend.core.BasicAttributes; +import com.jozufozu.flywheel.backend.core.materials.BasicAttributes; import com.jozufozu.flywheel.backend.gl.attrib.VertexFormat; import com.jozufozu.flywheel.backend.instancing.InstancedModel; import com.jozufozu.flywheel.backend.instancing.InstancedTileRenderer; diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/actors/HarvesterActorInstance.java b/src/main/java/com/simibubi/create/content/contraptions/components/actors/HarvesterActorInstance.java index 2f5810e9d..60dfede9b 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/actors/HarvesterActorInstance.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/actors/HarvesterActorInstance.java @@ -2,7 +2,7 @@ package com.simibubi.create.content.contraptions.components.actors; import static net.minecraft.state.properties.BlockStateProperties.HORIZONTAL_FACING; -import com.jozufozu.flywheel.backend.core.ModelData; +import com.jozufozu.flywheel.backend.core.materials.ModelData; import com.jozufozu.flywheel.backend.instancing.InstancedModel; import com.jozufozu.flywheel.backend.instancing.RenderMaterial; import com.mojang.blaze3d.matrix.MatrixStack; diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/crank/HandCrankInstance.java b/src/main/java/com/simibubi/create/content/contraptions/components/crank/HandCrankInstance.java index a1ed191ee..8cd33f08d 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/crank/HandCrankInstance.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/crank/HandCrankInstance.java @@ -1,7 +1,7 @@ package com.simibubi.create.content.contraptions.components.crank; -import com.jozufozu.flywheel.backend.core.ModelData; import com.jozufozu.flywheel.backend.core.PartialModel; +import com.jozufozu.flywheel.backend.core.materials.ModelData; import com.jozufozu.flywheel.backend.instancing.IDynamicInstance; import com.jozufozu.flywheel.backend.instancing.InstancedModel; import com.jozufozu.flywheel.backend.instancing.InstancedTileRenderer; diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/deployer/DeployerActorInstance.java b/src/main/java/com/simibubi/create/content/contraptions/components/deployer/DeployerActorInstance.java index 7a97e0b98..544fbf41f 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/deployer/DeployerActorInstance.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/deployer/DeployerActorInstance.java @@ -3,8 +3,8 @@ package com.simibubi.create.content.contraptions.components.deployer; import static com.simibubi.create.content.contraptions.base.DirectionalAxisKineticBlock.AXIS_ALONG_FIRST_COORDINATE; import static com.simibubi.create.content.contraptions.base.DirectionalKineticBlock.FACING; -import com.jozufozu.flywheel.backend.core.ModelData; import com.jozufozu.flywheel.backend.core.PartialModel; +import com.jozufozu.flywheel.backend.core.materials.ModelData; import com.jozufozu.flywheel.backend.instancing.InstancedModel; import com.jozufozu.flywheel.backend.instancing.RenderMaterial; import com.mojang.blaze3d.matrix.MatrixStack; diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/deployer/DeployerInstance.java b/src/main/java/com/simibubi/create/content/contraptions/components/deployer/DeployerInstance.java index ad3fcd28f..e638631ea 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/deployer/DeployerInstance.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/deployer/DeployerInstance.java @@ -3,8 +3,8 @@ package com.simibubi.create.content.contraptions.components.deployer; import static com.simibubi.create.content.contraptions.base.DirectionalAxisKineticBlock.AXIS_ALONG_FIRST_COORDINATE; import static com.simibubi.create.content.contraptions.base.DirectionalKineticBlock.FACING; -import com.jozufozu.flywheel.backend.core.OrientedData; import com.jozufozu.flywheel.backend.core.PartialModel; +import com.jozufozu.flywheel.backend.core.materials.OrientedData; import com.jozufozu.flywheel.backend.instancing.IDynamicInstance; import com.jozufozu.flywheel.backend.instancing.ITickableInstance; import com.jozufozu.flywheel.backend.instancing.InstancedTileRenderer; diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/flywheel/FlyWheelInstance.java b/src/main/java/com/simibubi/create/content/contraptions/components/flywheel/FlyWheelInstance.java index e085391c2..96627328b 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/flywheel/FlyWheelInstance.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/flywheel/FlyWheelInstance.java @@ -6,7 +6,7 @@ import java.util.Collections; import java.util.List; import com.google.common.collect.Lists; -import com.jozufozu.flywheel.backend.core.ModelData; +import com.jozufozu.flywheel.backend.core.materials.ModelData; import com.jozufozu.flywheel.backend.instancing.IDynamicInstance; import com.jozufozu.flywheel.backend.instancing.InstanceData; import com.jozufozu.flywheel.backend.instancing.InstancedModel; diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/flywheel/engine/EngineInstance.java b/src/main/java/com/simibubi/create/content/contraptions/components/flywheel/engine/EngineInstance.java index eb5c2cb2b..f435111ae 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/flywheel/engine/EngineInstance.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/flywheel/engine/EngineInstance.java @@ -1,7 +1,7 @@ package com.simibubi.create.content.contraptions.components.flywheel.engine; -import com.jozufozu.flywheel.backend.core.ModelData; import com.jozufozu.flywheel.backend.core.PartialModel; +import com.jozufozu.flywheel.backend.core.materials.ModelData; import com.jozufozu.flywheel.backend.instancing.InstancedTileRenderer; import com.jozufozu.flywheel.backend.instancing.TileEntityInstance; import com.mojang.blaze3d.matrix.MatrixStack; diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/mixer/MixerInstance.java b/src/main/java/com/simibubi/create/content/contraptions/components/mixer/MixerInstance.java index a930a77e6..b49dd5432 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/mixer/MixerInstance.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/mixer/MixerInstance.java @@ -1,6 +1,6 @@ package com.simibubi.create.content.contraptions.components.mixer; -import com.jozufozu.flywheel.backend.core.OrientedData; +import com.jozufozu.flywheel.backend.core.materials.OrientedData; import com.jozufozu.flywheel.backend.instancing.IDynamicInstance; import com.jozufozu.flywheel.backend.instancing.InstancedTileRenderer; import com.simibubi.create.AllBlockPartials; diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/press/PressInstance.java b/src/main/java/com/simibubi/create/content/contraptions/components/press/PressInstance.java index b0e78648e..86b386dfc 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/press/PressInstance.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/press/PressInstance.java @@ -1,6 +1,6 @@ package com.simibubi.create.content.contraptions.components.press; -import com.jozufozu.flywheel.backend.core.OrientedData; +import com.jozufozu.flywheel.backend.core.materials.OrientedData; import com.jozufozu.flywheel.backend.instancing.IDynamicInstance; import com.jozufozu.flywheel.backend.instancing.InstancedTileRenderer; import com.simibubi.create.AllBlockPartials; diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/bearing/BearingInstance.java b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/bearing/BearingInstance.java index f5b8a1169..7ca1af20f 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/bearing/BearingInstance.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/bearing/BearingInstance.java @@ -1,7 +1,7 @@ package com.simibubi.create.content.contraptions.components.structureMovement.bearing; -import com.jozufozu.flywheel.backend.core.OrientedData; import com.jozufozu.flywheel.backend.core.PartialModel; +import com.jozufozu.flywheel.backend.core.materials.OrientedData; import com.jozufozu.flywheel.backend.instancing.IDynamicInstance; import com.jozufozu.flywheel.backend.instancing.InstancedTileRenderer; import com.simibubi.create.AllBlockPartials; diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/bearing/StabilizedBearingInstance.java b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/bearing/StabilizedBearingInstance.java index ecb98bee6..aea9824bc 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/bearing/StabilizedBearingInstance.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/bearing/StabilizedBearingInstance.java @@ -1,6 +1,6 @@ package com.simibubi.create.content.contraptions.components.structureMovement.bearing; -import com.jozufozu.flywheel.backend.core.OrientedData; +import com.jozufozu.flywheel.backend.core.materials.OrientedData; import com.simibubi.create.AllBlockPartials; import com.simibubi.create.content.contraptions.components.structureMovement.MovementContext; import com.simibubi.create.content.contraptions.components.structureMovement.render.ActorInstance; diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/chassis/StickerInstance.java b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/chassis/StickerInstance.java index cabddfe5b..9f595e99f 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/chassis/StickerInstance.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/chassis/StickerInstance.java @@ -1,6 +1,6 @@ package com.simibubi.create.content.contraptions.components.structureMovement.chassis; -import com.jozufozu.flywheel.backend.core.ModelData; +import com.jozufozu.flywheel.backend.core.materials.ModelData; import com.jozufozu.flywheel.backend.instancing.IDynamicInstance; import com.jozufozu.flywheel.backend.instancing.InstancedTileRenderer; import com.jozufozu.flywheel.backend.instancing.TileEntityInstance; diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/gantry/GantryCarriageInstance.java b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/gantry/GantryCarriageInstance.java index 860923dc4..c9be46e89 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/gantry/GantryCarriageInstance.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/gantry/GantryCarriageInstance.java @@ -1,6 +1,6 @@ package com.simibubi.create.content.contraptions.components.structureMovement.gantry; -import com.jozufozu.flywheel.backend.core.ModelData; +import com.jozufozu.flywheel.backend.core.materials.ModelData; import com.jozufozu.flywheel.backend.instancing.IDynamicInstance; import com.jozufozu.flywheel.backend.instancing.InstancedTileRenderer; import com.mojang.blaze3d.matrix.MatrixStack; diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/pulley/AbstractPulleyInstance.java b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/pulley/AbstractPulleyInstance.java index 3c09ecf5b..d7b2f4886 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/pulley/AbstractPulleyInstance.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/pulley/AbstractPulleyInstance.java @@ -1,8 +1,15 @@ package com.simibubi.create.content.contraptions.components.structureMovement.pulley; +import net.minecraft.util.Direction; +import net.minecraft.util.math.BlockPos; +import net.minecraft.util.math.MathHelper; +import net.minecraft.util.math.vector.Vector3f; +import net.minecraft.world.IBlockDisplayReader; +import net.minecraft.world.LightType; + import java.util.Arrays; -import com.jozufozu.flywheel.backend.core.OrientedData; +import com.jozufozu.flywheel.backend.core.materials.OrientedData; import com.jozufozu.flywheel.backend.instancing.IDynamicInstance; import com.jozufozu.flywheel.backend.instancing.InstancedModel; import com.jozufozu.flywheel.backend.instancing.InstancedTileRenderer; @@ -15,13 +22,6 @@ import com.jozufozu.flywheel.backend.light.LightUpdater; import com.simibubi.create.content.contraptions.base.KineticTileEntity; import com.simibubi.create.content.contraptions.relays.encased.ShaftInstance; -import net.minecraft.util.Direction; -import net.minecraft.util.math.BlockPos; -import net.minecraft.util.math.MathHelper; -import net.minecraft.util.math.vector.Vector3f; -import net.minecraft.world.IBlockDisplayReader; -import net.minecraft.world.LightType; - public abstract class AbstractPulleyInstance extends ShaftInstance implements IDynamicInstance, LightUpdateListener { final OrientedData coil; diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/pulley/HosePulleyInstance.java b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/pulley/HosePulleyInstance.java index 2c574c770..18ed0ed05 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/pulley/HosePulleyInstance.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/pulley/HosePulleyInstance.java @@ -1,6 +1,6 @@ package com.simibubi.create.content.contraptions.components.structureMovement.pulley; -import com.jozufozu.flywheel.backend.core.OrientedData; +import com.jozufozu.flywheel.backend.core.materials.OrientedData; import com.jozufozu.flywheel.backend.instancing.InstancedModel; import com.jozufozu.flywheel.backend.instancing.InstancedTileRenderer; import com.simibubi.create.AllBlockPartials; diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/pulley/RopePulleyInstance.java b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/pulley/RopePulleyInstance.java index 036c91ed1..5e90df5fd 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/pulley/RopePulleyInstance.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/pulley/RopePulleyInstance.java @@ -1,7 +1,7 @@ package com.simibubi.create.content.contraptions.components.structureMovement.pulley; -import com.jozufozu.flywheel.backend.core.OrientedData; +import com.jozufozu.flywheel.backend.core.materials.OrientedData; import com.jozufozu.flywheel.backend.instancing.InstancedModel; import com.jozufozu.flywheel.backend.instancing.InstancedTileRenderer; import com.simibubi.create.AllBlockPartials; diff --git a/src/main/java/com/simibubi/create/content/contraptions/fluids/pipes/FluidValveInstance.java b/src/main/java/com/simibubi/create/content/contraptions/fluids/pipes/FluidValveInstance.java index 6c2d1a278..f3785b232 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/fluids/pipes/FluidValveInstance.java +++ b/src/main/java/com/simibubi/create/content/contraptions/fluids/pipes/FluidValveInstance.java @@ -1,6 +1,6 @@ package com.simibubi.create.content.contraptions.fluids.pipes; -import com.jozufozu.flywheel.backend.core.ModelData; +import com.jozufozu.flywheel.backend.core.materials.ModelData; import com.jozufozu.flywheel.backend.instancing.IDynamicInstance; import com.jozufozu.flywheel.backend.instancing.InstancedTileRenderer; import com.mojang.blaze3d.matrix.MatrixStack; diff --git a/src/main/java/com/simibubi/create/content/contraptions/relays/belt/BeltInstancedModel.java b/src/main/java/com/simibubi/create/content/contraptions/relays/belt/BeltInstancedModel.java index 10d68db54..58dc8e651 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/relays/belt/BeltInstancedModel.java +++ b/src/main/java/com/simibubi/create/content/contraptions/relays/belt/BeltInstancedModel.java @@ -1,6 +1,6 @@ package com.simibubi.create.content.contraptions.relays.belt; -import com.jozufozu.flywheel.backend.core.BasicAttributes; +import com.jozufozu.flywheel.backend.core.materials.BasicAttributes; import com.jozufozu.flywheel.backend.gl.attrib.VertexFormat; import com.jozufozu.flywheel.backend.instancing.InstancedModel; import com.jozufozu.flywheel.backend.instancing.InstancedTileRenderer; diff --git a/src/main/java/com/simibubi/create/content/contraptions/relays/gauge/GaugeInstance.java b/src/main/java/com/simibubi/create/content/contraptions/relays/gauge/GaugeInstance.java index 94178337b..684d14396 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/relays/gauge/GaugeInstance.java +++ b/src/main/java/com/simibubi/create/content/contraptions/relays/gauge/GaugeInstance.java @@ -2,7 +2,7 @@ package com.simibubi.create.content.contraptions.relays.gauge; import java.util.ArrayList; -import com.jozufozu.flywheel.backend.core.ModelData; +import com.jozufozu.flywheel.backend.core.materials.ModelData; import com.jozufozu.flywheel.backend.instancing.IDynamicInstance; import com.jozufozu.flywheel.backend.instancing.InstancedModel; import com.jozufozu.flywheel.backend.instancing.InstancedTileRenderer; diff --git a/src/main/java/com/simibubi/create/content/logistics/block/FlapData.java b/src/main/java/com/simibubi/create/content/logistics/block/FlapData.java index 2eed76a0f..d0cfacc4e 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/FlapData.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/FlapData.java @@ -2,7 +2,7 @@ package com.simibubi.create.content.logistics.block; import java.nio.ByteBuffer; -import com.jozufozu.flywheel.backend.core.IFlatLight; +import com.jozufozu.flywheel.backend.core.materials.IFlatLight; import com.jozufozu.flywheel.backend.instancing.InstanceData; import com.jozufozu.flywheel.backend.instancing.InstancedModel; diff --git a/src/main/java/com/simibubi/create/content/logistics/block/depot/EjectorInstance.java b/src/main/java/com/simibubi/create/content/logistics/block/depot/EjectorInstance.java index 53b1db9ab..7b2f66191 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/depot/EjectorInstance.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/depot/EjectorInstance.java @@ -1,6 +1,6 @@ package com.simibubi.create.content.logistics.block.depot; -import com.jozufozu.flywheel.backend.core.ModelData; +import com.jozufozu.flywheel.backend.core.materials.ModelData; import com.jozufozu.flywheel.backend.instancing.IDynamicInstance; import com.jozufozu.flywheel.backend.instancing.InstancedTileRenderer; import com.mojang.blaze3d.matrix.MatrixStack; diff --git a/src/main/java/com/simibubi/create/content/logistics/block/diodes/AdjustableRepeaterInstance.java b/src/main/java/com/simibubi/create/content/logistics/block/diodes/AdjustableRepeaterInstance.java index 2c27676d0..e6abc4765 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/diodes/AdjustableRepeaterInstance.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/diodes/AdjustableRepeaterInstance.java @@ -1,6 +1,6 @@ package com.simibubi.create.content.logistics.block.diodes; -import com.jozufozu.flywheel.backend.core.ModelData; +import com.jozufozu.flywheel.backend.core.materials.ModelData; import com.jozufozu.flywheel.backend.instancing.ITickableInstance; import com.jozufozu.flywheel.backend.instancing.InstancedTileRenderer; import com.jozufozu.flywheel.backend.instancing.TileEntityInstance; diff --git a/src/main/java/com/simibubi/create/content/logistics/block/mechanicalArm/ArmInstance.java b/src/main/java/com/simibubi/create/content/logistics/block/mechanicalArm/ArmInstance.java index a33af9b12..455659db6 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/mechanicalArm/ArmInstance.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/mechanicalArm/ArmInstance.java @@ -3,7 +3,7 @@ package com.simibubi.create.content.logistics.block.mechanicalArm; import java.util.ArrayList; import com.google.common.collect.Lists; -import com.jozufozu.flywheel.backend.core.ModelData; +import com.jozufozu.flywheel.backend.core.materials.ModelData; import com.jozufozu.flywheel.backend.instancing.IDynamicInstance; import com.jozufozu.flywheel.backend.instancing.InstanceData; import com.jozufozu.flywheel.backend.instancing.InstancedModel; diff --git a/src/main/java/com/simibubi/create/content/logistics/block/redstone/AnalogLeverInstance.java b/src/main/java/com/simibubi/create/content/logistics/block/redstone/AnalogLeverInstance.java index 8c2aaacac..995952c78 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/redstone/AnalogLeverInstance.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/redstone/AnalogLeverInstance.java @@ -1,6 +1,6 @@ package com.simibubi.create.content.logistics.block.redstone; -import com.jozufozu.flywheel.backend.core.ModelData; +import com.jozufozu.flywheel.backend.core.materials.ModelData; import com.jozufozu.flywheel.backend.instancing.IDynamicInstance; import com.jozufozu.flywheel.backend.instancing.InstancedModel; import com.jozufozu.flywheel.backend.instancing.InstancedTileRenderer; diff --git a/src/main/java/com/simibubi/create/content/schematics/block/SchematicannonInstance.java b/src/main/java/com/simibubi/create/content/schematics/block/SchematicannonInstance.java index a64f62969..0a011f316 100644 --- a/src/main/java/com/simibubi/create/content/schematics/block/SchematicannonInstance.java +++ b/src/main/java/com/simibubi/create/content/schematics/block/SchematicannonInstance.java @@ -1,6 +1,6 @@ package com.simibubi.create.content.schematics.block; -import com.jozufozu.flywheel.backend.core.ModelData; +import com.jozufozu.flywheel.backend.core.materials.ModelData; import com.jozufozu.flywheel.backend.instancing.IDynamicInstance; import com.jozufozu.flywheel.backend.instancing.InstancedModel; import com.jozufozu.flywheel.backend.instancing.InstancedTileRenderer; diff --git a/src/main/java/com/simibubi/create/foundation/mixin/RenderHooksMixin.java b/src/main/java/com/simibubi/create/foundation/mixin/RenderHooksMixin.java index 416352b46..f61c3b175 100644 --- a/src/main/java/com/simibubi/create/foundation/mixin/RenderHooksMixin.java +++ b/src/main/java/com/simibubi/create/foundation/mixin/RenderHooksMixin.java @@ -67,7 +67,14 @@ public class RenderHooksMixin { Backend.listeners.refresh(world); } - @Inject(at = @At(value = "INVOKE", target = "Lit/unimi/dsi/fastutil/longs/Long2ObjectMap;long2ObjectEntrySet()Lit/unimi/dsi/fastutil/objects/ObjectSet;"), method = "render") + + @Inject(at = + @At( + value = "INVOKE", + target = "Lnet/minecraft/client/renderer/WorldRenderer;checkEmpty(Lcom/mojang/blaze3d/matrix/MatrixStack;)V", + ordinal = 2 // after the game renders the breaking overlay normally + ), + method = "render") private void renderBlockBreaking(MatrixStack stack, float p_228426_2_, long p_228426_3_, boolean p_228426_5_, ActiveRenderInfo info, GameRenderer gameRenderer, LightTexture lightTexture, Matrix4f p_228426_9_, CallbackInfo ci) { diff --git a/src/main/java/com/simibubi/create/foundation/render/AllMaterialSpecs.java b/src/main/java/com/simibubi/create/foundation/render/AllMaterialSpecs.java index 6f0ba694e..662fb707b 100644 --- a/src/main/java/com/simibubi/create/foundation/render/AllMaterialSpecs.java +++ b/src/main/java/com/simibubi/create/foundation/render/AllMaterialSpecs.java @@ -2,10 +2,10 @@ package com.simibubi.create.foundation.render; import static com.jozufozu.flywheel.backend.Backend.register; -import com.jozufozu.flywheel.backend.core.ModelData; -import com.jozufozu.flywheel.backend.core.OrientedData; -import com.jozufozu.flywheel.backend.core.OrientedModel; -import com.jozufozu.flywheel.backend.core.TransformedModel; +import com.jozufozu.flywheel.backend.core.materials.ModelData; +import com.jozufozu.flywheel.backend.core.materials.OrientedData; +import com.jozufozu.flywheel.backend.core.materials.OrientedModel; +import com.jozufozu.flywheel.backend.core.materials.TransformedModel; import com.jozufozu.flywheel.backend.instancing.InstancedModel; import com.jozufozu.flywheel.backend.instancing.MaterialSpec; import com.simibubi.create.Create; diff --git a/src/main/java/com/simibubi/create/foundation/render/AllProgramSpecs.java b/src/main/java/com/simibubi/create/foundation/render/AllProgramSpecs.java index 3756d453e..a4b8fbccb 100644 --- a/src/main/java/com/simibubi/create/foundation/render/AllProgramSpecs.java +++ b/src/main/java/com/simibubi/create/foundation/render/AllProgramSpecs.java @@ -2,10 +2,10 @@ package com.simibubi.create.foundation.render; import static com.jozufozu.flywheel.backend.Backend.register; -import com.jozufozu.flywheel.backend.core.BasicAttributes; -import com.jozufozu.flywheel.backend.core.ModelAttributes; -import com.jozufozu.flywheel.backend.core.OrientedAttributes; -import com.jozufozu.flywheel.backend.core.TransformAttributes; +import com.jozufozu.flywheel.backend.core.materials.BasicAttributes; +import com.jozufozu.flywheel.backend.core.materials.ModelAttributes; +import com.jozufozu.flywheel.backend.core.materials.OrientedAttributes; +import com.jozufozu.flywheel.backend.core.materials.TransformAttributes; import com.jozufozu.flywheel.backend.gl.shader.ProgramSpec; import com.jozufozu.flywheel.backend.gl.shader.ShaderConstants; import com.simibubi.create.Create;