mirror of
https://github.com/Jozufozu/Flywheel.git
synced 2024-12-27 23:47:09 +01:00
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. ¯\_(ツ)_/¯
This commit is contained in:
parent
b47bd45510
commit
e20612cd30
2 changed files with 7 additions and 4 deletions
|
@ -53,8 +53,6 @@ public class CrumblingRenderer {
|
||||||
INVALIDATOR = state.getSecond();
|
INVALIDATOR = state.getSecond();
|
||||||
}
|
}
|
||||||
|
|
||||||
private static final RenderType crumblingLayer = ModelBakery.DESTROY_TYPES.get(0);
|
|
||||||
|
|
||||||
public static void renderBreaking(ClientWorld world, Matrix4f viewProjection, double cameraX, double cameraY, double cameraZ) {
|
public static void renderBreaking(ClientWorld world, Matrix4f viewProjection, double cameraX, double cameraY, double cameraZ) {
|
||||||
if (!Backend.getInstance()
|
if (!Backend.getInstance()
|
||||||
.canUseInstancing(world)) return;
|
.canUseInstancing(world)) return;
|
||||||
|
@ -64,6 +62,7 @@ public class CrumblingRenderer {
|
||||||
if (activeStages.isEmpty()) return;
|
if (activeStages.isEmpty()) return;
|
||||||
|
|
||||||
State state = STATE.get();
|
State state = STATE.get();
|
||||||
|
RenderType layer = ModelBakery.DESTROY_TYPES.get(0);
|
||||||
|
|
||||||
InstanceManager<TileEntity> renderer = state.instanceManager;
|
InstanceManager<TileEntity> renderer = state.instanceManager;
|
||||||
|
|
||||||
|
@ -71,7 +70,7 @@ public class CrumblingRenderer {
|
||||||
ActiveRenderInfo info = Minecraft.getInstance().gameRenderer.getMainCamera();
|
ActiveRenderInfo info = Minecraft.getInstance().gameRenderer.getMainCamera();
|
||||||
|
|
||||||
MaterialManager<CrumblingProgram> materials = state.materialManager;
|
MaterialManager<CrumblingProgram> materials = state.materialManager;
|
||||||
crumblingLayer.setupRenderState();
|
layer.setupRenderState();
|
||||||
|
|
||||||
for (Int2ObjectMap.Entry<List<TileEntity>> stage : activeStages.int2ObjectEntrySet()) {
|
for (Int2ObjectMap.Entry<List<TileEntity>> stage : activeStages.int2ObjectEntrySet()) {
|
||||||
int i = stage.getIntKey();
|
int i = stage.getIntKey();
|
||||||
|
@ -92,7 +91,7 @@ public class CrumblingRenderer {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
crumblingLayer.clearRenderState();
|
layer.clearRenderState();
|
||||||
|
|
||||||
GlTextureUnit.T0.makeActive();
|
GlTextureUnit.T0.makeActive();
|
||||||
Texture breaking = textureManager.getTexture(ModelBakery.BREAKING_LOCATIONS.get(0));
|
Texture breaking = textureManager.getTexture(ModelBakery.BREAKING_LOCATIONS.get(0));
|
||||||
|
|
|
@ -36,6 +36,10 @@ public class Lazy<T> {
|
||||||
return Pair.of(lazy, killSwitch);
|
return Pair.of(lazy, killSwitch);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static <T> Lazy<T> of(NonNullSupplier<T> factory) {
|
||||||
|
return new Lazy<>(factory);
|
||||||
|
}
|
||||||
|
|
||||||
public static class KillSwitch<T> {
|
public static class KillSwitch<T> {
|
||||||
|
|
||||||
private final Lazy<T> lazy;
|
private final Lazy<T> lazy;
|
||||||
|
|
Loading…
Reference in a new issue