diff --git a/src/main/java/com/simibubi/create/compat/jei/DoubleItemIcon.java b/src/main/java/com/simibubi/create/compat/jei/DoubleItemIcon.java index b1bc80078..fb1d6ba23 100644 --- a/src/main/java/com/simibubi/create/compat/jei/DoubleItemIcon.java +++ b/src/main/java/com/simibubi/create/compat/jei/DoubleItemIcon.java @@ -2,7 +2,7 @@ package com.simibubi.create.compat.jei; import java.util.function.Supplier; -import com.mojang.blaze3d.platform.GlStateManager; +import com.mojang.blaze3d.systems.RenderSystem; import mezz.jei.api.gui.drawable.IDrawable; import net.minecraft.client.Minecraft; @@ -39,23 +39,23 @@ public class DoubleItemIcon implements IDrawable { } RenderHelper.enableGUIStandardItemLighting(); - GlStateManager.color4f(1, 1, 1, 1); - GlStateManager.enableDepthTest(); - GlStateManager.pushMatrix(); - GlStateManager.translated(xOffset, yOffset, 0); + RenderSystem.color4f(1, 1, 1, 1); + RenderSystem.enableDepthTest(); + RenderSystem.pushMatrix(); + RenderSystem.translated(xOffset, yOffset, 0); - GlStateManager.pushMatrix(); - GlStateManager.translated(1, 1, 0); + RenderSystem.pushMatrix(); + RenderSystem.translated(1, 1, 0); Minecraft.getInstance().getItemRenderer().renderItemIntoGUI(primaryStack, 0, 0); - GlStateManager.popMatrix(); + RenderSystem.popMatrix(); - GlStateManager.pushMatrix(); - GlStateManager.translated(10, 10, 100); - GlStateManager.scaled(.5, .5, .5); + RenderSystem.pushMatrix(); + RenderSystem.translated(10, 10, 100); + RenderSystem.scaled(.5, .5, .5); Minecraft.getInstance().getItemRenderer().renderItemIntoGUI(secondaryStack, 0, 0); - GlStateManager.popMatrix(); + RenderSystem.popMatrix(); - GlStateManager.popMatrix(); + RenderSystem.popMatrix(); } } diff --git a/src/main/java/com/simibubi/create/compat/jei/category/BlastingViaFanCategory.java b/src/main/java/com/simibubi/create/compat/jei/category/BlastingViaFanCategory.java index a2970b286..2fe1c390e 100644 --- a/src/main/java/com/simibubi/create/compat/jei/category/BlastingViaFanCategory.java +++ b/src/main/java/com/simibubi/create/compat/jei/category/BlastingViaFanCategory.java @@ -1,6 +1,6 @@ package com.simibubi.create.compat.jei.category; -import com.mojang.blaze3d.platform.GlStateManager; +import com.mojang.blaze3d.systems.RenderSystem; import com.simibubi.create.AllItems; import com.simibubi.create.Create; import com.simibubi.create.compat.jei.DoubleItemIcon; @@ -49,29 +49,29 @@ public class BlastingViaFanCategory extends ProcessingViaFanCategory state); - GlStateManager.popMatrix(); + RenderSystem.popMatrix(); - GlStateManager.pushMatrix(); - GlStateManager.translated(0, 200, 0); - GlStateManager.rotated(90, 1, 0, 0); - GlStateManager.rotated(270, 0, 0, 1); + RenderSystem.pushMatrix(); + RenderSystem.translated(0, 200, 0); + RenderSystem.rotated(90, 1, 0, 0); + RenderSystem.rotated(270, 0, 0, 1); ScreenElementRenderer.renderBlock(() -> state); - GlStateManager.popMatrix(); + RenderSystem.popMatrix(); - GlStateManager.pushMatrix(); - GlStateManager.translated(-103, -100, 0); + RenderSystem.pushMatrix(); + RenderSystem.translated(-103, -100, 0); ScreenElementRenderer.renderBlock(() -> state); - GlStateManager.popMatrix(); + RenderSystem.popMatrix(); - GlStateManager.popMatrix(); + RenderSystem.popMatrix(); } } diff --git a/src/main/java/com/simibubi/create/compat/jei/category/BlockzapperUpgradeCategory.java b/src/main/java/com/simibubi/create/compat/jei/category/BlockzapperUpgradeCategory.java index 783d14774..48e4b501e 100644 --- a/src/main/java/com/simibubi/create/compat/jei/category/BlockzapperUpgradeCategory.java +++ b/src/main/java/com/simibubi/create/compat/jei/category/BlockzapperUpgradeCategory.java @@ -7,7 +7,7 @@ import java.util.Arrays; import java.util.List; import java.util.stream.Collectors; -import com.mojang.blaze3d.platform.GlStateManager; +import com.mojang.blaze3d.systems.RenderSystem; import com.simibubi.create.AllItems; import com.simibubi.create.Create; import com.simibubi.create.compat.jei.DoubleItemIcon; @@ -116,13 +116,13 @@ public class BlockzapperUpgradeCategory implements IRecipeCategory recipe.getRecipeOutput()); - GlStateManager.popMatrix(); + RenderSystem.popMatrix(); } } \ No newline at end of file diff --git a/src/main/java/com/simibubi/create/compat/jei/category/PolishingCategory.java b/src/main/java/com/simibubi/create/compat/jei/category/PolishingCategory.java index a12209cb7..3eae7a0ce 100644 --- a/src/main/java/com/simibubi/create/compat/jei/category/PolishingCategory.java +++ b/src/main/java/com/simibubi/create/compat/jei/category/PolishingCategory.java @@ -3,7 +3,7 @@ package com.simibubi.create.compat.jei.category; import java.util.Arrays; import java.util.List; -import com.mojang.blaze3d.platform.GlStateManager; +import com.mojang.blaze3d.systems.RenderSystem; import com.simibubi.create.AllItems; import com.simibubi.create.Create; import com.simibubi.create.ScreenResources; @@ -96,14 +96,14 @@ public class PolishingCategory implements IRecipeCategory> implements public void draw(T recipe, double mouseX, double mouseY) { renderWidgets(recipe, mouseX, mouseY); - GlStateManager.pushMatrix(); - GlStateManager.color3f(1, 1, 1); - GlStateManager.enableDepthTest(); + RenderSystem.pushMatrix(); + RenderSystem.color3f(1, 1, 1); + RenderSystem.enableDepthTest(); - GlStateManager.translated(28, 18, 0); - GlStateManager.rotated(10.5, -1f, 0, 0); - GlStateManager.rotated(15.5, 0, 1, 0); - GlStateManager.scaled(.6f, .6f, .6f); + RenderSystem.translated(28, 18, 0); + RenderSystem.rotated(10.5, -1f, 0, 0); + RenderSystem.rotated(15.5, 0, 1, 0); + RenderSystem.scaled(.6f, .6f, .6f); ScreenElementRenderer.renderBlock(this::renderFanCasing); - GlStateManager.pushMatrix(); + RenderSystem.pushMatrix(); float angle = AnimatedKinetics.getCurrentAngle() * 12; float t = 25; - GlStateManager.translatef(t, -t, t); - GlStateManager.rotated(angle, 0, 0, 1); - GlStateManager.translatef(-t, t, -t); + RenderSystem.translatef(t, -t, t); + RenderSystem.rotated(angle, 0, 0, 1); + RenderSystem.translatef(-t, t, -t); - GlStateManager.translatef(t, 0, 175); - GlStateManager.rotated(90, 0, 1, 0); - GlStateManager.translatef(-t, 0, -175); + RenderSystem.translatef(t, 0, 175); + RenderSystem.rotated(90, 0, 1, 0); + RenderSystem.translatef(-t, 0, -175); ScreenElementRenderer.renderModel(this::renderFanInner); - GlStateManager.popMatrix(); + RenderSystem.popMatrix(); - GlStateManager.translated(-10, 0, 95); - GlStateManager.rotated(7, 0, 1, 0); + RenderSystem.translated(-10, 0, 95); + RenderSystem.rotated(7, 0, 1, 0); renderAttachedBlock(); - GlStateManager.popMatrix(); + RenderSystem.popMatrix(); } diff --git a/src/main/java/com/simibubi/create/compat/jei/category/SplashingCategory.java b/src/main/java/com/simibubi/create/compat/jei/category/SplashingCategory.java index fbf53fac5..b0ecc5acd 100644 --- a/src/main/java/com/simibubi/create/compat/jei/category/SplashingCategory.java +++ b/src/main/java/com/simibubi/create/compat/jei/category/SplashingCategory.java @@ -3,7 +3,7 @@ package com.simibubi.create.compat.jei.category; import java.util.Arrays; import java.util.List; -import com.mojang.blaze3d.platform.GlStateManager; +import com.mojang.blaze3d.systems.RenderSystem; import com.simibubi.create.AllItems; import com.simibubi.create.Create; import com.simibubi.create.ScreenResources; @@ -111,28 +111,28 @@ public class SplashingCategory extends ProcessingViaFanCategory @Override public void renderAttachedBlock() { BlockState state = Blocks.WATER.getDefaultState().with(FlowingFluidBlock.LEVEL, 8); - GlStateManager.pushMatrix(); - GlStateManager.translated(0, 0, 200); + RenderSystem.pushMatrix(); + RenderSystem.translated(0, 0, 200); - GlStateManager.pushMatrix(); - GlStateManager.translated(0, 200, 0); - GlStateManager.rotated(90, 1, 0, 0); + RenderSystem.pushMatrix(); + RenderSystem.translated(0, 200, 0); + RenderSystem.rotated(90, 1, 0, 0); ScreenElementRenderer.renderBlock(() -> state); - GlStateManager.popMatrix(); + RenderSystem.popMatrix(); - GlStateManager.pushMatrix(); - GlStateManager.translated(0, 200, 0); - GlStateManager.rotated(90, 1, 0, 0); - GlStateManager.rotated(270, 0, 0, 1); + RenderSystem.pushMatrix(); + RenderSystem.translated(0, 200, 0); + RenderSystem.rotated(90, 1, 0, 0); + RenderSystem.rotated(270, 0, 0, 1); ScreenElementRenderer.renderBlock(() -> state); - GlStateManager.popMatrix(); + RenderSystem.popMatrix(); - GlStateManager.pushMatrix(); - GlStateManager.translated(-103, -100, 0); + RenderSystem.pushMatrix(); + RenderSystem.translated(-103, -100, 0); ScreenElementRenderer.renderBlock(() -> state); - GlStateManager.popMatrix(); + RenderSystem.popMatrix(); - GlStateManager.popMatrix(); + RenderSystem.popMatrix(); } } diff --git a/src/main/java/com/simibubi/create/compat/jei/category/animations/AnimatedCrafter.java b/src/main/java/com/simibubi/create/compat/jei/category/animations/AnimatedCrafter.java index 89fd71bf6..a7b00dd70 100644 --- a/src/main/java/com/simibubi/create/compat/jei/category/animations/AnimatedCrafter.java +++ b/src/main/java/com/simibubi/create/compat/jei/category/animations/AnimatedCrafter.java @@ -1,6 +1,6 @@ package com.simibubi.create.compat.jei.category.animations; -import com.mojang.blaze3d.platform.GlStateManager; +import com.mojang.blaze3d.systems.RenderSystem; import com.simibubi.create.AllBlockPartials; import com.simibubi.create.AllBlocks; import com.simibubi.create.foundation.gui.ScreenElementRenderer; @@ -30,43 +30,43 @@ public class AnimatedCrafter extends AnimatedKinetics { @Override public void draw(int xOffset, int yOffset) { - GlStateManager.pushMatrix(); - GlStateManager.enableDepthTest(); - GlStateManager.rotatef(-15.5f, 1, 0, 0); - GlStateManager.rotatef(-22.5f, 0, 1, 0); - GlStateManager.translatef(xOffset, yOffset, 0); - GlStateManager.translatef(-45, -5, 0); - GlStateManager.scaled(.45f, .45f, .45f); + RenderSystem.pushMatrix(); + RenderSystem.enableDepthTest(); + RenderSystem.rotatef(-15.5f, 1, 0, 0); + RenderSystem.rotatef(-22.5f, 0, 1, 0); + RenderSystem.translatef(xOffset, yOffset, 0); + RenderSystem.translatef(-45, -5, 0); + RenderSystem.scaled(.45f, .45f, .45f); ScreenElementRenderer.renderModel(() -> cogwheel(true)); ScreenElementRenderer.renderBlock(this::body); - GlStateManager.translatef(0, 50, 0); + RenderSystem.translatef(0, 50, 0); ScreenElementRenderer.renderModel(() -> cogwheel(false)); ScreenElementRenderer.renderBlock(this::body); if (four) { - GlStateManager.translatef(50, -50, 0); + RenderSystem.translatef(50, -50, 0); ScreenElementRenderer.renderModel(() -> cogwheel(false)); ScreenElementRenderer.renderBlock(this::body); - GlStateManager.translatef(0, 50, 0); + RenderSystem.translatef(0, 50, 0); ScreenElementRenderer.renderModel(() -> cogwheel(true)); ScreenElementRenderer.renderBlock(this::body); } else { - GlStateManager.translatef(0, 50, 0); + RenderSystem.translatef(0, 50, 0); ScreenElementRenderer.renderModel(() -> cogwheel(true)); ScreenElementRenderer.renderBlock(this::body); } - GlStateManager.popMatrix(); + RenderSystem.popMatrix(); } private IBakedModel cogwheel(boolean forward) { float t = 25; - GlStateManager.translatef(t, -t, -t); - GlStateManager.rotated(getCurrentAngle() * 2 * (forward ? 1 : -1), 0, 0, 1); - GlStateManager.rotated(90, 1, 0, 0); - GlStateManager.translatef(-t, t, t); + RenderSystem.translatef(t, -t, -t); + RenderSystem.rotated(getCurrentAngle() * 2 * (forward ? 1 : -1), 0, 0, 1); + RenderSystem.rotated(90, 1, 0, 0); + RenderSystem.translatef(-t, t, t); return AllBlockPartials.SHAFTLESS_COGWHEEL.get(); } diff --git a/src/main/java/com/simibubi/create/compat/jei/category/animations/AnimatedCrushingWheels.java b/src/main/java/com/simibubi/create/compat/jei/category/animations/AnimatedCrushingWheels.java index 110625ced..57639a2c1 100644 --- a/src/main/java/com/simibubi/create/compat/jei/category/animations/AnimatedCrushingWheels.java +++ b/src/main/java/com/simibubi/create/compat/jei/category/animations/AnimatedCrushingWheels.java @@ -1,6 +1,6 @@ package com.simibubi.create.compat.jei.category.animations; -import com.mojang.blaze3d.platform.GlStateManager; +import com.mojang.blaze3d.systems.RenderSystem; import com.simibubi.create.AllBlocks; import com.simibubi.create.foundation.gui.ScreenElementRenderer; @@ -22,35 +22,35 @@ public class AnimatedCrushingWheels extends AnimatedKinetics { @Override public void draw(int xOffset, int yOffset) { - GlStateManager.enableDepthTest(); - GlStateManager.translatef(xOffset, yOffset, 0); - GlStateManager.translatef(-45, 10, 0); - GlStateManager.rotatef(22.5f, 0, 1, 0); - GlStateManager.scaled(.45f, .45f, .45f); + RenderSystem.enableDepthTest(); + RenderSystem.translatef(xOffset, yOffset, 0); + RenderSystem.translatef(-45, 10, 0); + RenderSystem.rotatef(22.5f, 0, 1, 0); + RenderSystem.scaled(.45f, .45f, .45f); ScreenElementRenderer.renderBlock(this::leftWheel); ScreenElementRenderer.renderBlock(this::rightWheel); } private BlockState leftWheel() { float angle = getCurrentAngle(); - GlStateManager.translatef(-50, 0, 0); + RenderSystem.translatef(-50, 0, 0); float t = 25; - GlStateManager.translatef(t, -t, t); - GlStateManager.rotated(angle, 0, 0, 1); - GlStateManager.translatef(-t, t, -t); + RenderSystem.translatef(t, -t, t); + RenderSystem.rotated(angle, 0, 0, 1); + RenderSystem.translatef(-t, t, -t); return AllBlocks.CRUSHING_WHEEL.get().getDefaultState().with(BlockStateProperties.AXIS, Axis.X); } private BlockState rightWheel() { float angle = -getCurrentAngle(); - GlStateManager.translatef(50, 0, 0); + RenderSystem.translatef(50, 0, 0); float t = 25; - GlStateManager.translatef(t, -t, t); - GlStateManager.rotated(angle, 0, 0, 1); - GlStateManager.translatef(-t, t, -t); + RenderSystem.translatef(t, -t, t); + RenderSystem.rotated(angle, 0, 0, 1); + RenderSystem.translatef(-t, t, -t); return AllBlocks.CRUSHING_WHEEL.get().getDefaultState().with(BlockStateProperties.AXIS, Axis.X); } diff --git a/src/main/java/com/simibubi/create/compat/jei/category/animations/AnimatedMixer.java b/src/main/java/com/simibubi/create/compat/jei/category/animations/AnimatedMixer.java index 7493a3ac5..a851c9ec1 100644 --- a/src/main/java/com/simibubi/create/compat/jei/category/animations/AnimatedMixer.java +++ b/src/main/java/com/simibubi/create/compat/jei/category/animations/AnimatedMixer.java @@ -1,6 +1,6 @@ package com.simibubi.create.compat.jei.category.animations; -import com.mojang.blaze3d.platform.GlStateManager; +import com.mojang.blaze3d.systems.RenderSystem; import com.simibubi.create.AllBlockPartials; import com.simibubi.create.AllBlocks; import com.simibubi.create.foundation.gui.ScreenElementRenderer; @@ -22,42 +22,42 @@ public class AnimatedMixer extends AnimatedKinetics { @Override public void draw(int xOffset, int yOffset) { - GlStateManager.pushMatrix(); - GlStateManager.enableDepthTest(); - GlStateManager.translatef(xOffset, yOffset, 0); - GlStateManager.rotatef(-15.5f, 1, 0, 0); - GlStateManager.rotatef(22.5f, 0, 1, 0); - GlStateManager.translatef(-45, -5, 0); - GlStateManager.scaled(.45f, .45f, .45f); + RenderSystem.pushMatrix(); + RenderSystem.enableDepthTest(); + RenderSystem.translatef(xOffset, yOffset, 0); + RenderSystem.rotatef(-15.5f, 1, 0, 0); + RenderSystem.rotatef(22.5f, 0, 1, 0); + RenderSystem.translatef(-45, -5, 0); + RenderSystem.scaled(.45f, .45f, .45f); - GlStateManager.pushMatrix(); + RenderSystem.pushMatrix(); ScreenElementRenderer.renderModel(this::cogwheel); - GlStateManager.popMatrix(); + RenderSystem.popMatrix(); - GlStateManager.pushMatrix(); + RenderSystem.pushMatrix(); ScreenElementRenderer.renderBlock(this::body); - GlStateManager.popMatrix(); + RenderSystem.popMatrix(); - GlStateManager.pushMatrix(); + RenderSystem.pushMatrix(); ScreenElementRenderer.renderModel(this::pole); - GlStateManager.popMatrix(); + RenderSystem.popMatrix(); - GlStateManager.pushMatrix(); + RenderSystem.pushMatrix(); ScreenElementRenderer.renderModel(this::head); - GlStateManager.popMatrix(); + RenderSystem.popMatrix(); - GlStateManager.pushMatrix(); + RenderSystem.pushMatrix(); ScreenElementRenderer.renderBlock(this::basin); - GlStateManager.popMatrix(); + RenderSystem.popMatrix(); - GlStateManager.popMatrix(); + RenderSystem.popMatrix(); } private IBakedModel cogwheel() { float t = 25; - GlStateManager.translatef(t, -t, -t); - GlStateManager.rotated(getCurrentAngle() * 2, 0, 1, 0); - GlStateManager.translatef(-t, t, t); + RenderSystem.translatef(t, -t, -t); + RenderSystem.rotated(getCurrentAngle() * 2, 0, 1, 0); + RenderSystem.translatef(-t, t, t); return AllBlockPartials.SHAFTLESS_COGWHEEL.get(); } @@ -66,21 +66,21 @@ public class AnimatedMixer extends AnimatedKinetics { } private IBakedModel pole() { - GlStateManager.translatef(0, 51, 0); + RenderSystem.translatef(0, 51, 0); return AllBlockPartials.MECHANICAL_MIXER_POLE.get(); } private IBakedModel head() { float t = 25; - GlStateManager.translatef(0, 51, 0); - GlStateManager.translatef(t, -t, -t); - GlStateManager.rotated(getCurrentAngle() * 4, 0, 1, 0); - GlStateManager.translatef(-t, t, t); + RenderSystem.translatef(0, 51, 0); + RenderSystem.translatef(t, -t, -t); + RenderSystem.rotated(getCurrentAngle() * 4, 0, 1, 0); + RenderSystem.translatef(-t, t, t); return AllBlockPartials.MECHANICAL_MIXER_HEAD.get(); } private BlockState basin() { - GlStateManager.translatef(0, 85, 0); + RenderSystem.translatef(0, 85, 0); return AllBlocks.BASIN.get().getDefaultState(); } } diff --git a/src/main/java/com/simibubi/create/compat/jei/category/animations/AnimatedPress.java b/src/main/java/com/simibubi/create/compat/jei/category/animations/AnimatedPress.java index de97288c7..49bdb190d 100644 --- a/src/main/java/com/simibubi/create/compat/jei/category/animations/AnimatedPress.java +++ b/src/main/java/com/simibubi/create/compat/jei/category/animations/AnimatedPress.java @@ -2,7 +2,7 @@ package com.simibubi.create.compat.jei.category.animations; import static com.simibubi.create.foundation.utility.AnimationTickHolder.ticks; -import com.mojang.blaze3d.platform.GlStateManager; +import com.mojang.blaze3d.systems.RenderSystem; import com.simibubi.create.AllBlockPartials; import com.simibubi.create.AllBlocks; import com.simibubi.create.foundation.gui.ScreenElementRenderer; @@ -34,40 +34,40 @@ public class AnimatedPress extends AnimatedKinetics { @Override public void draw(int xOffset, int yOffset) { - GlStateManager.pushMatrix(); - GlStateManager.enableDepthTest(); - GlStateManager.translatef(xOffset, yOffset, 0); - GlStateManager.rotatef(-15.5f, 1, 0, 0); - GlStateManager.rotatef(22.5f, 0, 1, 0); - GlStateManager.translatef(-45, -5, 0); - GlStateManager.scaled(.45f, .45f, .45f); + RenderSystem.pushMatrix(); + RenderSystem.enableDepthTest(); + RenderSystem.translatef(xOffset, yOffset, 0); + RenderSystem.rotatef(-15.5f, 1, 0, 0); + RenderSystem.rotatef(22.5f, 0, 1, 0); + RenderSystem.translatef(-45, -5, 0); + RenderSystem.scaled(.45f, .45f, .45f); - GlStateManager.pushMatrix(); + RenderSystem.pushMatrix(); ScreenElementRenderer.renderBlock(this::shaft); - GlStateManager.popMatrix(); + RenderSystem.popMatrix(); - GlStateManager.pushMatrix(); + RenderSystem.pushMatrix(); ScreenElementRenderer.renderBlock(this::body); - GlStateManager.popMatrix(); + RenderSystem.popMatrix(); - GlStateManager.pushMatrix(); + RenderSystem.pushMatrix(); ScreenElementRenderer.renderModel(this::head); - GlStateManager.popMatrix(); + RenderSystem.popMatrix(); if (basin) { - GlStateManager.pushMatrix(); + RenderSystem.pushMatrix(); ScreenElementRenderer.renderBlock(this::basin); - GlStateManager.popMatrix(); + RenderSystem.popMatrix(); } - GlStateManager.popMatrix(); + RenderSystem.popMatrix(); } private BlockState shaft() { float t = 25; - GlStateManager.translatef(t, -t, -t); - GlStateManager.rotated(getCurrentAngle() * 2, 1, 0, 0); - GlStateManager.translatef(-t, t, t); + RenderSystem.translatef(t, -t, -t); + RenderSystem.rotated(getCurrentAngle() * 2, 1, 0, 0); + RenderSystem.translatef(-t, t, t); return AllBlocks.SHAFT.get().getDefaultState().with(BlockStateProperties.AXIS, Axis.Z); } @@ -89,12 +89,12 @@ public class AnimatedPress extends AnimatedKinetics { } else { verticalOffset = 0; } - GlStateManager.translated(0, -verticalOffset * 50, 0); + RenderSystem.translated(0, -verticalOffset * 50, 0); return AllBlockPartials.MECHANICAL_PRESS_HEAD.get(); } private BlockState basin() { - GlStateManager.translatef(0, 85, 0); + RenderSystem.translatef(0, 85, 0); return AllBlocks.BASIN.get().getDefaultState(); } diff --git a/src/main/java/com/simibubi/create/compat/jei/category/animations/AnimatedSaw.java b/src/main/java/com/simibubi/create/compat/jei/category/animations/AnimatedSaw.java index a75faa4a8..25ae6ca42 100644 --- a/src/main/java/com/simibubi/create/compat/jei/category/animations/AnimatedSaw.java +++ b/src/main/java/com/simibubi/create/compat/jei/category/animations/AnimatedSaw.java @@ -1,6 +1,6 @@ package com.simibubi.create.compat.jei.category.animations; -import com.mojang.blaze3d.platform.GlStateManager; +import com.mojang.blaze3d.systems.RenderSystem; import com.simibubi.create.AllBlocks; import com.simibubi.create.foundation.gui.ScreenElementRenderer; import com.simibubi.create.modules.contraptions.components.saw.SawBlock; @@ -24,30 +24,30 @@ public class AnimatedSaw extends AnimatedKinetics { @Override public void draw(int xOffset, int yOffset) { - GlStateManager.pushMatrix(); - GlStateManager.enableDepthTest(); - GlStateManager.translatef(xOffset, yOffset, 0); - GlStateManager.rotatef(-15.5f, 1, 0, 0); - GlStateManager.rotatef(22.5f, 0, 1, 0); - GlStateManager.translatef(-45, -5, 0); - GlStateManager.scaled(.6f, .6f, .6f); + RenderSystem.pushMatrix(); + RenderSystem.enableDepthTest(); + RenderSystem.translatef(xOffset, yOffset, 0); + RenderSystem.rotatef(-15.5f, 1, 0, 0); + RenderSystem.rotatef(22.5f, 0, 1, 0); + RenderSystem.translatef(-45, -5, 0); + RenderSystem.scaled(.6f, .6f, .6f); - GlStateManager.pushMatrix(); + RenderSystem.pushMatrix(); ScreenElementRenderer.renderBlock(this::shaft); - GlStateManager.popMatrix(); + RenderSystem.popMatrix(); - GlStateManager.pushMatrix(); + RenderSystem.pushMatrix(); ScreenElementRenderer.renderBlock(this::block); - GlStateManager.popMatrix(); + RenderSystem.popMatrix(); - GlStateManager.popMatrix(); + RenderSystem.popMatrix(); } private BlockState shaft() { float t = 25; - GlStateManager.translatef(t, -t, t); - GlStateManager.rotated(-getCurrentAngle() * 2, 0, 0, 1); - GlStateManager.translatef(-t, t, -t); + RenderSystem.translatef(t, -t, t); + RenderSystem.rotated(-getCurrentAngle() * 2, 0, 0, 1); + RenderSystem.translatef(-t, t, -t); return AllBlocks.SHAFT.get().getDefaultState().with(BlockStateProperties.AXIS, Axis.X); } diff --git a/src/main/java/com/simibubi/create/config/AllConfigs.java b/src/main/java/com/simibubi/create/config/AllConfigs.java index de8d357e5..79d4f3b70 100644 --- a/src/main/java/com/simibubi/create/config/AllConfigs.java +++ b/src/main/java/com/simibubi/create/config/AllConfigs.java @@ -44,7 +44,7 @@ public class AllConfigs { pair.getKey().onLoad(); } - public static void onReload(ModConfig.ConfigReloading event) { + public static void onReload(ModConfig.Reloading event) { for (Pair pair : configs) if (pair.getKey().specification == event.getConfig().getSpec()) pair.getKey().onReload(); diff --git a/src/main/java/com/simibubi/create/foundation/behaviour/ValueBox.java b/src/main/java/com/simibubi/create/foundation/behaviour/ValueBox.java index 5bf696de6..47935f8fe 100644 --- a/src/main/java/com/simibubi/create/foundation/behaviour/ValueBox.java +++ b/src/main/java/com/simibubi/create/foundation/behaviour/ValueBox.java @@ -1,6 +1,6 @@ package com.simibubi.create.foundation.behaviour; -import com.mojang.blaze3d.platform.GlStateManager; +import com.mojang.blaze3d.systems.RenderSystem; import com.simibubi.create.ScreenResources; import com.simibubi.create.foundation.behaviour.scrollvalue.INamedIconOptions; import com.simibubi.create.foundation.utility.Lang; @@ -67,19 +67,19 @@ public class ValueBox { super.render(highlighted); FontRenderer font = Minecraft.getInstance().fontRenderer; String countString = count == 0 ? "*" : count + ""; - GlStateManager.translated(17.5f, -5f, 7f); + RenderSystem.translated(17.5f, -5f, 7f); boolean isFilter = stack.getItem() instanceof FilterItem; if (isFilter) - GlStateManager.translated(3, 8, 7.25f); + RenderSystem.translated(3, 8, 7.25f); else - GlStateManager.translated(-7 - font.getStringWidth(countString), 10, 10 + 1 / 4f); + RenderSystem.translated(-7 - font.getStringWidth(countString), 10, 10 + 1 / 4f); double scale = 1.5; - GlStateManager.rotated(0, 1, 0, 0); - GlStateManager.scaled(scale, scale, scale); + RenderSystem.rotated(0, 1, 0, 0); + RenderSystem.scaled(scale, scale, scale); font.drawString(countString, 0, 0, isFilter ? 0xFFFFFF : 0xEDEDED); - GlStateManager.translated(0, 0, -1 / 16f); + RenderSystem.translated(0, 0, -1 / 16f); font.drawString(countString, 1 - 1 / 8f, 1 - 1 / 8f, 0x4F4F4F); } @@ -98,8 +98,8 @@ public class ValueBox { super.render(highlighted); FontRenderer font = Minecraft.getInstance().fontRenderer; double scale = 4; - GlStateManager.scaled(scale, scale, 1); - GlStateManager.translated(-4, -4, 5); + RenderSystem.scaled(scale, scale, 1); + RenderSystem.translated(-4, -4, 5); int stringWidth = font.getStringWidth(text); float numberScale = (float) font.FONT_HEIGHT / stringWidth; @@ -108,8 +108,8 @@ public class ValueBox { numberScale = numberScale / 2; float verticalMargin = (stringWidth - font.FONT_HEIGHT) / 2f; - GlStateManager.scaled(numberScale, numberScale, numberScale); - GlStateManager.translated(singleDigit ? stringWidth / 2 : 0, singleDigit ? -verticalMargin : verticalMargin, + RenderSystem.scaled(numberScale, numberScale, numberScale); + RenderSystem.translated(singleDigit ? stringWidth / 2 : 0, singleDigit ? -verticalMargin : verticalMargin, 0); ValueBoxRenderer.renderText(font, text, 0xEDEDED, 0x4f4f4f); @@ -130,13 +130,13 @@ public class ValueBox { public void render(boolean highlighted) { super.render(highlighted); double scale = 4; - GlStateManager.scaled(scale, scale, 1); - GlStateManager.translated(-8, -8, 3/2f); + RenderSystem.scaled(scale, scale, 1); + RenderSystem.translated(-8, -8, 3/2f); icon.draw(0, 0); - GlStateManager.color4f(.25f, .25f, .25f, 1); - GlStateManager.translated(.5f, .5f, -1); + RenderSystem.color4f(.25f, .25f, .25f, 1); + RenderSystem.translated(.5f, .5f, -1); icon.draw(0, 0); - GlStateManager.color4f(1, 1, 1, 1); + RenderSystem.color4f(1, 1, 1, 1); } } diff --git a/src/main/java/com/simibubi/create/foundation/behaviour/ValueBoxRenderer.java b/src/main/java/com/simibubi/create/foundation/behaviour/ValueBoxRenderer.java index 873fa7e94..8386e1119 100644 --- a/src/main/java/com/simibubi/create/foundation/behaviour/ValueBoxRenderer.java +++ b/src/main/java/com/simibubi/create/foundation/behaviour/ValueBoxRenderer.java @@ -1,6 +1,6 @@ package com.simibubi.create.foundation.behaviour; -import com.mojang.blaze3d.platform.GlStateManager; +import com.mojang.blaze3d.systems.RenderSystem; import com.simibubi.create.foundation.utility.ColorHelper; import com.simibubi.create.foundation.utility.TessellatorHelper; import com.simibubi.create.modules.contraptions.relays.elementary.ShaftBlock; @@ -29,45 +29,45 @@ import net.minecraft.util.math.Vec3d; public class ValueBoxRenderer { public static void renderBox(ValueBox box, boolean highlighted) { - GlStateManager.enableBlend(); - GlStateManager.blendFuncSeparate(GlStateManager.SourceFactor.SRC_ALPHA, - GlStateManager.DestFactor.ONE_MINUS_SRC_ALPHA, GlStateManager.SourceFactor.ONE, - GlStateManager.DestFactor.ZERO); - GlStateManager.disableTexture(); + RenderSystem.enableBlend(); + RenderSystem.blendFuncSeparate(RenderSystem.SourceFactor.SRC_ALPHA, + RenderSystem.DestFactor.ONE_MINUS_SRC_ALPHA, RenderSystem.SourceFactor.ONE, + RenderSystem.DestFactor.ZERO); + RenderSystem.disableTexture(); Tessellator tessellator = Tessellator.getInstance(); BufferBuilder bufferbuilder = tessellator.getBuffer(); bufferbuilder.begin(3, DefaultVertexFormats.POSITION_COLOR); - GlStateManager.lineWidth(highlighted ? 3 : 2); + RenderSystem.lineWidth(highlighted ? 3 : 2); Vec3d color = highlighted ? ColorHelper.getRGB(box.highlightColor) : ColorHelper.getRGB(box.passiveColor); AxisAlignedBB bb = box.bb; WorldRenderer.drawBoundingBox(bufferbuilder, bb.minX, bb.minY, bb.minZ, bb.maxX, bb.maxY, bb.maxZ, (float) color.x, (float) color.y, (float) color.z, 1f); - GlStateManager.lineWidth(1); + RenderSystem.lineWidth(1); TessellatorHelper.draw(); - GlStateManager.enableTexture(); + RenderSystem.enableTexture(); float fontScale = -1 / 64f; Vec3d shift = box.labelOffset; FontRenderer font = Minecraft.getInstance().fontRenderer; - GlStateManager.scaled(fontScale, fontScale, fontScale); + RenderSystem.scaled(fontScale, fontScale, fontScale); if (highlighted) { - GlStateManager.pushMatrix(); - GlStateManager.translated(17.5f, -5f, 7f); - GlStateManager.translated(shift.x, shift.y, shift.z); + RenderSystem.pushMatrix(); + RenderSystem.translated(17.5f, -5f, 7f); + RenderSystem.translated(shift.x, shift.y, shift.z); renderText(box, font, box.label); if (!box.sublabel.isEmpty()) { - GlStateManager.translated(0, 10, 0); + RenderSystem.translated(0, 10, 0); renderText(box, font, box.sublabel); } if (!box.scrollTooltip.isEmpty()) { - GlStateManager.translated(0, 10, 0); + RenderSystem.translated(0, 10, 0); renderText(font, box.scrollTooltip, 0x998899, 0x111111); } - GlStateManager.popMatrix(); + RenderSystem.popMatrix(); } box.render(highlighted); @@ -79,9 +79,9 @@ public class ValueBoxRenderer { public static void renderText(FontRenderer font, String text, int color, int shadowColor) { font.drawString(text, 0, 0, color); - GlStateManager.translated(0, 0, -1 / 4f); + RenderSystem.translated(0, 0, -1 / 4f); font.drawString(text, 1, 1, shadowColor); - GlStateManager.translated(0, 0, 1 / 4f); + RenderSystem.translated(0, 0, 1 / 4f); } public static void renderItemIntoValueBox(ItemStack filter) { @@ -90,8 +90,8 @@ public class ValueBoxRenderer { boolean blockItem = modelWithOverrides.isGui3d(); float scale = (!blockItem ? .5f : 1f) - 1 / 64f; float zOffset = (!blockItem ? -.225f : 0) + customZOffset(filter.getItem()); - GlStateManager.scaled(scale, scale, scale); - GlStateManager.translated(0, 0, zOffset); + RenderSystem.scaled(scale, scale, scale); + RenderSystem.translated(0, 0, zOffset); itemRenderer.renderItem(filter, TransformType.FIXED); } diff --git a/src/main/java/com/simibubi/create/foundation/behaviour/base/TileEntityBehaviour.java b/src/main/java/com/simibubi/create/foundation/behaviour/base/TileEntityBehaviour.java index d8bb6aaa2..a9d8fdfc3 100644 --- a/src/main/java/com/simibubi/create/foundation/behaviour/base/TileEntityBehaviour.java +++ b/src/main/java/com/simibubi/create/foundation/behaviour/base/TileEntityBehaviour.java @@ -5,7 +5,7 @@ import net.minecraft.nbt.CompoundNBT; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.Direction; import net.minecraft.util.math.BlockPos; -import net.minecraft.world.IEnviromentBlockReader; +import net.minecraft.world.ILightReader; import net.minecraft.world.World; public abstract class TileEntityBehaviour { @@ -88,12 +88,12 @@ public abstract class TileEntityBehaviour { return tileEntity.getWorld(); } - public static T get(IEnviromentBlockReader reader, BlockPos pos, + public static T get(ILightReader reader, BlockPos pos, IBehaviourType type) { return get(reader.getTileEntity(pos), type); } - public static void destroy(IEnviromentBlockReader reader, BlockPos pos, + public static void destroy(ILightReader reader, BlockPos pos, IBehaviourType type) { T behaviour = get(reader.getTileEntity(pos), type); if (behaviour != null) diff --git a/src/main/java/com/simibubi/create/foundation/behaviour/filtering/FilteringRenderer.java b/src/main/java/com/simibubi/create/foundation/behaviour/filtering/FilteringRenderer.java index bf5f1cfe9..e3c5506e8 100644 --- a/src/main/java/com/simibubi/create/foundation/behaviour/filtering/FilteringRenderer.java +++ b/src/main/java/com/simibubi/create/foundation/behaviour/filtering/FilteringRenderer.java @@ -1,6 +1,6 @@ package com.simibubi.create.foundation.behaviour.filtering; -import com.mojang.blaze3d.platform.GlStateManager; +import com.mojang.blaze3d.systems.RenderSystem; import com.simibubi.create.foundation.behaviour.ValueBox; import com.simibubi.create.foundation.behaviour.ValueBox.ItemValueBox; import com.simibubi.create.foundation.behaviour.ValueBoxRenderer; @@ -45,7 +45,7 @@ public class FilteringRenderer { return; TessellatorHelper.prepareForDrawing(); - GlStateManager.translated(pos.getX(), pos.getY(), pos.getZ()); + RenderSystem.translated(pos.getX(), pos.getY(), pos.getZ()); behaviour.slotPositioning.renderTransformed(state, () -> { @@ -81,7 +81,7 @@ public class FilteringRenderer { BlockState state = tileEntityIn.getBlockState(); TessellatorHelper.prepareForDrawing(); BlockPos pos = tileEntityIn.getPos(); - GlStateManager.translated(pos.getX(), pos.getY(), pos.getZ()); + RenderSystem.translated(pos.getX(), pos.getY(), pos.getZ()); behaviour.slotPositioning.renderTransformed(state, () -> { ValueBoxRenderer.renderItemIntoValueBox(behaviour.getFilter()); diff --git a/src/main/java/com/simibubi/create/foundation/behaviour/inventory/SynchronizedExtraction.java b/src/main/java/com/simibubi/create/foundation/behaviour/inventory/SynchronizedExtraction.java index 3aaf30fbd..16f9b319a 100644 --- a/src/main/java/com/simibubi/create/foundation/behaviour/inventory/SynchronizedExtraction.java +++ b/src/main/java/com/simibubi/create/foundation/behaviour/inventory/SynchronizedExtraction.java @@ -12,11 +12,11 @@ import net.minecraft.block.ChestBlock; import net.minecraft.state.properties.ChestType; import net.minecraft.util.Direction; import net.minecraft.util.math.BlockPos; -import net.minecraft.world.IEnviromentBlockReader; +import net.minecraft.world.ILightReader; public class SynchronizedExtraction { - static boolean extractSynchronized(IEnviromentBlockReader reader, BlockPos inventoryPos) { + static boolean extractSynchronized(ILightReader reader, BlockPos inventoryPos) { List actors = getAllSyncedExtractors(reader, inventoryPos); int startIndex = actors.size() - 1; boolean success = false; @@ -35,7 +35,7 @@ public class SynchronizedExtraction { return success; } - private static List getAllSyncedExtractors(IEnviromentBlockReader reader, + private static List getAllSyncedExtractors(ILightReader reader, BlockPos inventoryPos) { List list = new ArrayList<>(); List inventoryPositions = new ArrayList<>(); diff --git a/src/main/java/com/simibubi/create/foundation/behaviour/linked/LinkRenderer.java b/src/main/java/com/simibubi/create/foundation/behaviour/linked/LinkRenderer.java index 83590ce16..d721e13f6 100644 --- a/src/main/java/com/simibubi/create/foundation/behaviour/linked/LinkRenderer.java +++ b/src/main/java/com/simibubi/create/foundation/behaviour/linked/LinkRenderer.java @@ -2,7 +2,7 @@ package com.simibubi.create.foundation.behaviour.linked; import java.util.function.Consumer; -import com.mojang.blaze3d.platform.GlStateManager; +import com.mojang.blaze3d.systems.RenderSystem; import com.simibubi.create.foundation.behaviour.ValueBox; import com.simibubi.create.foundation.behaviour.ValueBoxRenderer; import com.simibubi.create.foundation.behaviour.base.SmartTileEntity; @@ -42,7 +42,7 @@ public class LinkRenderer { return; TessellatorHelper.prepareForDrawing(); - GlStateManager.translated(pos.getX(), pos.getY(), pos.getZ()); + RenderSystem.translated(pos.getX(), pos.getY(), pos.getZ()); String freq1 = Lang.translate("logistics.firstFrequency"); String freq2 = Lang.translate("logistics.secondFrequency"); @@ -69,7 +69,7 @@ public class LinkRenderer { BlockState state = tileEntityIn.getBlockState(); TessellatorHelper.prepareForDrawing(); BlockPos pos = tileEntityIn.getPos(); - GlStateManager.translated(pos.getX(), pos.getY(), pos.getZ()); + RenderSystem.translated(pos.getX(), pos.getY(), pos.getZ()); renderEachSlot(state, behaviour, first -> { ValueBoxRenderer.renderItemIntoValueBox( diff --git a/src/main/java/com/simibubi/create/foundation/behaviour/scrollvalue/ScrollValueRenderer.java b/src/main/java/com/simibubi/create/foundation/behaviour/scrollvalue/ScrollValueRenderer.java index 35b4263af..3489f8208 100644 --- a/src/main/java/com/simibubi/create/foundation/behaviour/scrollvalue/ScrollValueRenderer.java +++ b/src/main/java/com/simibubi/create/foundation/behaviour/scrollvalue/ScrollValueRenderer.java @@ -1,6 +1,6 @@ package com.simibubi.create.foundation.behaviour.scrollvalue; -import com.mojang.blaze3d.platform.GlStateManager; +import com.mojang.blaze3d.systems.RenderSystem; import com.simibubi.create.AllItems; import com.simibubi.create.AllKeys; import com.simibubi.create.foundation.behaviour.ValueBox; @@ -52,11 +52,11 @@ public class ScrollValueRenderer { if (behaviour instanceof BulkScrollValueBehaviour && AllKeys.ctrlDown()) { BulkScrollValueBehaviour bulkScrolling = (BulkScrollValueBehaviour) behaviour; for (SmartTileEntity smartTileEntity : bulkScrolling.getBulk()) { - GlStateManager.pushMatrix(); + RenderSystem.pushMatrix(); ScrollValueBehaviour other = TileEntityBehaviour.get(smartTileEntity, ScrollValueBehaviour.TYPE); if (other != null) render(world, smartTileEntity.getPos(), face, other, highlight); - GlStateManager.popMatrix(); + RenderSystem.popMatrix(); } } else render(world, pos, face, behaviour, highlight); @@ -65,7 +65,7 @@ public class ScrollValueRenderer { protected static void render(ClientWorld world, BlockPos pos, Direction face, ScrollValueBehaviour behaviour, boolean highlight) { - GlStateManager.translated(pos.getX(), pos.getY(), pos.getZ()); + RenderSystem.translated(pos.getX(), pos.getY(), pos.getZ()); BlockState state = world.getBlockState(pos); if (behaviour.slotPositioning instanceof Sided) ((Sided) behaviour.slotPositioning).fromSide(face); diff --git a/src/main/java/com/simibubi/create/foundation/block/connected/CTModel.java b/src/main/java/com/simibubi/create/foundation/block/connected/CTModel.java index 426212ac4..67a0b5bdc 100644 --- a/src/main/java/com/simibubi/create/foundation/block/connected/CTModel.java +++ b/src/main/java/com/simibubi/create/foundation/block/connected/CTModel.java @@ -11,10 +11,11 @@ import net.minecraft.block.Block; import net.minecraft.block.BlockState; import net.minecraft.client.renderer.model.BakedQuad; import net.minecraft.client.renderer.model.IBakedModel; +import net.minecraft.client.renderer.vertex.DefaultVertexFormats; import net.minecraft.client.renderer.vertex.VertexFormat; import net.minecraft.util.Direction; import net.minecraft.util.math.BlockPos; -import net.minecraft.world.IEnviromentBlockReader; +import net.minecraft.world.ILightReader; import net.minecraftforge.client.model.BakedModelWrapper; import net.minecraftforge.client.model.data.EmptyModelData; import net.minecraftforge.client.model.data.IModelData; @@ -49,7 +50,7 @@ public class CTModel extends BakedModelWrapper { } @Override - public IModelData getModelData(IEnviromentBlockReader world, BlockPos pos, BlockState state, IModelData tileData) { + public IModelData getModelData(ILightReader world, BlockPos pos, BlockState state, IModelData tileData) { if (!(state.getBlock() instanceof IHaveConnectedTextures)) return EmptyModelData.INSTANCE; CTData data = new CTData(); @@ -90,12 +91,12 @@ public class CTModel extends BakedModelWrapper { BakedQuad newQuad = new BakedQuad(Arrays.copyOf(quad.getVertexData(), quad.getVertexData().length), quad.getTintIndex(), - quad.getFace(), quad.getSprite(), quad.shouldApplyDiffuseLighting(), quad.getFormat()); - VertexFormat format = quad.getFormat(); + quad.getFace(), quad.getSprite(), quad.shouldApplyDiffuseLighting()); + VertexFormat format = DefaultVertexFormats.BLOCK; int[] vertexData = newQuad.getVertexData(); for (int vertex = 0; vertex < vertexData.length; vertex += format.getIntegerSize()) { - int uvOffset = format.getUvOffsetById(0) / 4; + int uvOffset = 20 / 4; // TODO 1.15 is this the right offset? int uIndex = vertex + uvOffset; int vIndex = vertex + uvOffset + 1; float u = Float.intBitsToFloat(vertexData[uIndex]); diff --git a/src/main/java/com/simibubi/create/foundation/block/connected/ConnectedTextureBehaviour.java b/src/main/java/com/simibubi/create/foundation/block/connected/ConnectedTextureBehaviour.java index 02d3149d0..1b1055dde 100644 --- a/src/main/java/com/simibubi/create/foundation/block/connected/ConnectedTextureBehaviour.java +++ b/src/main/java/com/simibubi/create/foundation/block/connected/ConnectedTextureBehaviour.java @@ -7,7 +7,7 @@ import net.minecraft.util.Direction; import net.minecraft.util.Direction.Axis; import net.minecraft.util.Direction.AxisDirection; import net.minecraft.util.math.BlockPos; -import net.minecraft.world.IEnviromentBlockReader; +import net.minecraft.world.ILightReader; public abstract class ConnectedTextureBehaviour { @@ -32,7 +32,7 @@ public abstract class ConnectedTextureBehaviour { return reverseUVs(state, face); } - public boolean connectsTo(BlockState state, BlockState other, IEnviromentBlockReader reader, BlockPos pos, + public boolean connectsTo(BlockState state, BlockState other, ILightReader reader, BlockPos pos, BlockPos otherPos, Direction face) { BlockPos blockingPos = otherPos.offset(face); @@ -44,7 +44,7 @@ public abstract class ConnectedTextureBehaviour { return state.getBlock() == other.getBlock(); } - CTContext buildContext(IEnviromentBlockReader reader, BlockPos pos, BlockState state, Direction face) { + CTContext buildContext(ILightReader reader, BlockPos pos, BlockState state, Direction face) { Axis axis = face.getAxis(); boolean positive = face.getAxisDirection() == AxisDirection.POSITIVE; Direction h = axis == Axis.X ? Direction.SOUTH : Direction.WEST; diff --git a/src/main/java/com/simibubi/create/foundation/block/render/ColoredOverlayTileEntityRenderer.java b/src/main/java/com/simibubi/create/foundation/block/render/ColoredOverlayTileEntityRenderer.java index c49687163..3d966d83d 100644 --- a/src/main/java/com/simibubi/create/foundation/block/render/ColoredOverlayTileEntityRenderer.java +++ b/src/main/java/com/simibubi/create/foundation/block/render/ColoredOverlayTileEntityRenderer.java @@ -1,22 +1,30 @@ package com.simibubi.create.foundation.block.render; -import com.simibubi.create.foundation.block.SafeTileEntityRendererFast; +import com.mojang.blaze3d.matrix.MatrixStack; +import com.simibubi.create.foundation.block.SafeTileEntityRenderer; import com.simibubi.create.foundation.utility.SuperByteBuffer; +import com.simibubi.create.modules.contraptions.base.KineticTileEntity; import net.minecraft.block.BlockState; -import net.minecraft.client.renderer.BufferBuilder; +import net.minecraft.client.renderer.IRenderTypeBuffer; +import net.minecraft.client.renderer.RenderType; +import net.minecraft.client.renderer.tileentity.TileEntityRendererDispatcher; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; -public abstract class ColoredOverlayTileEntityRenderer extends SafeTileEntityRendererFast { +public abstract class ColoredOverlayTileEntityRenderer extends SafeTileEntityRenderer { + + public ColoredOverlayTileEntityRenderer(TileEntityRendererDispatcher dispatcher) { + super(dispatcher); + } @Override - public void renderFast(T te, double x, double y, double z, float partialTicks, int destroyStage, - BufferBuilder buffer) { - SuperByteBuffer render = render(getWorld(), te.getPos(), te.getBlockState(), getOverlayBuffer(te), + protected void renderSafe(T te, float partialTicks, MatrixStack ms, IRenderTypeBuffer buffer, + int light, int overlay) { + SuperByteBuffer render = render(te.getWorld(), te.getPos(), te.getBlockState(), getOverlayBuffer(te), getColor(te, partialTicks)); - buffer.putBulkData(render.translate(x, y, z).build()); + render.renderInto(ms, buffer.getBuffer(RenderType.getSolid())); } protected abstract int getColor(T te, float partialTicks); diff --git a/src/main/java/com/simibubi/create/foundation/block/render/ColoredVertexModel.java b/src/main/java/com/simibubi/create/foundation/block/render/ColoredVertexModel.java index 964678f50..81d660ca9 100644 --- a/src/main/java/com/simibubi/create/foundation/block/render/ColoredVertexModel.java +++ b/src/main/java/com/simibubi/create/foundation/block/render/ColoredVertexModel.java @@ -10,10 +10,11 @@ import com.simibubi.create.foundation.block.IHaveColoredVertices; import net.minecraft.block.BlockState; import net.minecraft.client.renderer.model.BakedQuad; import net.minecraft.client.renderer.model.IBakedModel; +import net.minecraft.client.renderer.vertex.DefaultVertexFormats; import net.minecraft.client.renderer.vertex.VertexFormat; import net.minecraft.util.Direction; import net.minecraft.util.math.BlockPos; -import net.minecraft.world.IEnviromentBlockReader; +import net.minecraft.world.ILightReader; import net.minecraftforge.client.model.BakedModelWrapper; import net.minecraftforge.client.model.data.IModelData; import net.minecraftforge.client.model.data.ModelDataMap; @@ -30,7 +31,7 @@ public class ColoredVertexModel extends BakedModelWrapper { } @Override - public IModelData getModelData(IEnviromentBlockReader world, BlockPos pos, BlockState state, IModelData tileData) { + public IModelData getModelData(ILightReader world, BlockPos pos, BlockState state, IModelData tileData) { return new ModelDataMap.Builder().withInitial(POSITION_PROPERTY, pos).build(); } @@ -45,10 +46,9 @@ public class ColoredVertexModel extends BakedModelWrapper { BakedQuad quad = quads.get(i); BakedQuad newQuad = new BakedQuad(Arrays.copyOf(quad.getVertexData(), quad.getVertexData().length), - quad.getTintIndex(), quad.getFace(), quad.getSprite(), quad.shouldApplyDiffuseLighting(), - quad.getFormat()); + quad.getTintIndex(), quad.getFace(), quad.getSprite(), quad.shouldApplyDiffuseLighting()); - VertexFormat format = quad.getFormat(); + VertexFormat format = DefaultVertexFormats.BLOCK; int[] vertexData = newQuad.getVertexData(); BlockPos data = extraData.getData(POSITION_PROPERTY); @@ -57,7 +57,7 @@ public class ColoredVertexModel extends BakedModelWrapper { // continue; for (int vertex = 0; vertex < vertexData.length; vertex += format.getIntegerSize()) { - int colorOffset = format.getColorOffset() / 4; + int colorOffset = 16 / 4; // TODO 1.15 is this the right offset float x = Float.intBitsToFloat(vertexData[vertex]); float y = Float.intBitsToFloat(vertexData[vertex + 1]); float z = Float.intBitsToFloat(vertexData[vertex + 2]); diff --git a/src/main/java/com/simibubi/create/foundation/block/render/CustomRenderedItemModel.java b/src/main/java/com/simibubi/create/foundation/block/render/CustomRenderedItemModel.java index b942b5cf1..8d0c411e1 100644 --- a/src/main/java/com/simibubi/create/foundation/block/render/CustomRenderedItemModel.java +++ b/src/main/java/com/simibubi/create/foundation/block/render/CustomRenderedItemModel.java @@ -5,10 +5,7 @@ import java.util.List; import java.util.Map; import java.util.stream.Collectors; -import javax.vecmath.Matrix4f; - -import org.apache.commons.lang3.tuple.Pair; - +import com.mojang.blaze3d.matrix.MatrixStack; import com.simibubi.create.Create; import net.minecraft.client.renderer.model.IBakedModel; @@ -48,9 +45,9 @@ public abstract class CustomRenderedItemModel extends WrappedBakedModel { } @Override - public Pair handlePerspective(TransformType cameraTransformType) { + public IBakedModel handlePerspective(TransformType cameraTransformType, MatrixStack mat) { currentPerspective = cameraTransformType; - return super.handlePerspective(cameraTransformType); + return super.handlePerspective(cameraTransformType, mat); } protected void addPartials(String... partials) { diff --git a/src/main/java/com/simibubi/create/foundation/block/render/SpriteShiftEntry.java b/src/main/java/com/simibubi/create/foundation/block/render/SpriteShiftEntry.java index 04fc86fc8..ece3d75b4 100644 --- a/src/main/java/com/simibubi/create/foundation/block/render/SpriteShiftEntry.java +++ b/src/main/java/com/simibubi/create/foundation/block/render/SpriteShiftEntry.java @@ -1,5 +1,7 @@ package com.simibubi.create.foundation.block.render; +import java.util.function.Function; + import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.texture.AtlasTexture; import net.minecraft.client.renderer.texture.TextureAtlasSprite; @@ -17,9 +19,9 @@ public class SpriteShiftEntry { } protected void loadTextures() { - AtlasTexture textureMap = Minecraft.getInstance().getTextureMap(); - original = textureMap.getSprite(originalTextureLocation); - target = textureMap.getSprite(targetTextureLocation); + Function textureMap = Minecraft.getInstance().getSpriteAtlas(AtlasTexture.LOCATION_BLOCKS_TEXTURE); + original = textureMap.apply(originalTextureLocation); + target = textureMap.apply(targetTextureLocation); } public ResourceLocation getTargetResourceLocation() { diff --git a/src/main/java/com/simibubi/create/foundation/block/render/WrappedBakedModel.java b/src/main/java/com/simibubi/create/foundation/block/render/WrappedBakedModel.java index 9b4d02bd2..b2f38b2e9 100644 --- a/src/main/java/com/simibubi/create/foundation/block/render/WrappedBakedModel.java +++ b/src/main/java/com/simibubi/create/foundation/block/render/WrappedBakedModel.java @@ -3,11 +3,12 @@ package com.simibubi.create.foundation.block.render; import java.util.List; import java.util.Random; -import javax.vecmath.Matrix4f; - import org.apache.commons.lang3.tuple.Pair; +import com.mojang.blaze3d.matrix.MatrixStack; + import net.minecraft.block.BlockState; +import net.minecraft.client.renderer.Matrix4f; import net.minecraft.client.renderer.model.BakedQuad; import net.minecraft.client.renderer.model.IBakedModel; import net.minecraft.client.renderer.model.ItemCameraTransforms.TransformType; @@ -57,9 +58,9 @@ public class WrappedBakedModel implements IBakedModel { } @Override - public Pair handlePerspective(TransformType cameraTransformType) { - Pair pair = template.handlePerspective(cameraTransformType); - return Pair.of(this, pair.getRight()); + public IBakedModel handlePerspective(TransformType cameraTransformType, MatrixStack mat) { + template.handlePerspective(cameraTransformType, mat); + return this; } @Override @@ -77,4 +78,8 @@ public class WrappedBakedModel implements IBakedModel { return getParticleTexture(EmptyModelData.INSTANCE); } + @Override + public boolean isSideLit() { + return template.isSideLit(); + } } diff --git a/src/main/java/com/simibubi/create/foundation/gui/AbstractSimiContainerScreen.java b/src/main/java/com/simibubi/create/foundation/gui/AbstractSimiContainerScreen.java index 1a1f5e3d1..e856d60ab 100644 --- a/src/main/java/com/simibubi/create/foundation/gui/AbstractSimiContainerScreen.java +++ b/src/main/java/com/simibubi/create/foundation/gui/AbstractSimiContainerScreen.java @@ -6,7 +6,7 @@ import java.util.List; import javax.annotation.Nullable; -import com.mojang.blaze3d.platform.GlStateManager; +import com.mojang.blaze3d.systems.RenderSystem; import com.simibubi.create.foundation.gui.widgets.AbstractSimiWidget; import net.minecraft.client.gui.FontRenderer; @@ -46,12 +46,12 @@ public abstract class AbstractSimiContainerScreen extends C super.render(mouseX, mouseY, partialTicks); - GlStateManager.enableAlphaTest(); - GlStateManager.enableBlend(); - GlStateManager.disableRescaleNormal(); + RenderSystem.enableAlphaTest(); + RenderSystem.enableBlend(); + RenderSystem.disableRescaleNormal(); RenderHelper.disableStandardItemLighting(); - GlStateManager.disableLighting(); - GlStateManager.disableDepthTest(); + RenderSystem.disableLighting(); + RenderSystem.disableDepthTest(); for (Widget widget : widgets) widget.render(mouseX, mouseY, partialTicks); @@ -141,11 +141,11 @@ public abstract class AbstractSimiContainerScreen extends C @Nullable String text, int textColor) { if (!stack.isEmpty()) { if (stack.getItem().showDurabilityBar(stack)) { - GlStateManager.disableLighting(); - GlStateManager.disableDepthTest(); - GlStateManager.disableTexture(); - GlStateManager.disableAlphaTest(); - GlStateManager.disableBlend(); + RenderSystem.disableLighting(); + RenderSystem.disableDepthTest(); + RenderSystem.disableTexture(); + RenderSystem.disableAlphaTest(); + RenderSystem.disableBlend(); Tessellator tessellator = Tessellator.getInstance(); BufferBuilder bufferbuilder = tessellator.getBuffer(); double health = stack.getItem().getDurabilityForDisplay(stack); @@ -154,40 +154,40 @@ public abstract class AbstractSimiContainerScreen extends C this.draw(bufferbuilder, xPosition + 2, yPosition + 13, 13, 2, 0, 0, 0, 255); this.draw(bufferbuilder, xPosition + 2, yPosition + 13, i, 1, j >> 16 & 255, j >> 8 & 255, j & 255, 255); - GlStateManager.enableBlend(); - GlStateManager.enableAlphaTest(); - GlStateManager.enableTexture(); - GlStateManager.enableLighting(); - GlStateManager.enableDepthTest(); + RenderSystem.enableBlend(); + RenderSystem.enableAlphaTest(); + RenderSystem.enableTexture(); + RenderSystem.enableLighting(); + RenderSystem.enableDepthTest(); } if (stack.getCount() != 1 || text != null) { String s = text == null ? String.valueOf(stack.getCount()) : text; - GlStateManager.disableLighting(); - GlStateManager.disableDepthTest(); - GlStateManager.disableBlend(); - GlStateManager.pushMatrix(); + RenderSystem.disableLighting(); + RenderSystem.disableDepthTest(); + RenderSystem.disableBlend(); + RenderSystem.pushMatrix(); - int guiScaleFactor = (int) minecraft.mainWindow.getGuiScaleFactor(); - GlStateManager.translated((float) (xPosition + 16.5f), (float) (yPosition + 16.5f), 0); + int guiScaleFactor = (int) minecraft.getWindow().getGuiScaleFactor(); + RenderSystem.translated((float) (xPosition + 16.5f), (float) (yPosition + 16.5f), 0); double scale = getItemCountTextScale(); - GlStateManager.scaled(scale, scale, 0); - GlStateManager.translated(-fr.getStringWidth(s) - (guiScaleFactor > 1 ? 0 : -.5f), + RenderSystem.scaled(scale, scale, 0); + RenderSystem.translated(-fr.getStringWidth(s) - (guiScaleFactor > 1 ? 0 : -.5f), -font.FONT_HEIGHT + (guiScaleFactor > 1 ? 1 : 1.75f), 0); fr.drawStringWithShadow(s, 0, 0, textColor); - GlStateManager.popMatrix(); - GlStateManager.enableBlend(); - GlStateManager.enableLighting(); - GlStateManager.enableDepthTest(); - GlStateManager.enableBlend(); + RenderSystem.popMatrix(); + RenderSystem.enableBlend(); + RenderSystem.enableLighting(); + RenderSystem.enableDepthTest(); + RenderSystem.enableBlend(); } } } public double getItemCountTextScale() { - int guiScaleFactor = (int) minecraft.mainWindow.getGuiScaleFactor(); + int guiScaleFactor = (int) minecraft.getWindow().getGuiScaleFactor(); double scale = 1; switch (guiScaleFactor) { case 1: @@ -211,10 +211,10 @@ public abstract class AbstractSimiContainerScreen extends C private void draw(BufferBuilder renderer, int x, int y, int width, int height, int red, int green, int blue, int alpha) { renderer.begin(7, DefaultVertexFormats.POSITION_COLOR); - renderer.pos((double) (x + 0), (double) (y + 0), 0.0D).color(red, green, blue, alpha).endVertex(); - renderer.pos((double) (x + 0), (double) (y + height), 0.0D).color(red, green, blue, alpha).endVertex(); - renderer.pos((double) (x + width), (double) (y + height), 0.0D).color(red, green, blue, alpha).endVertex(); - renderer.pos((double) (x + width), (double) (y + 0), 0.0D).color(red, green, blue, alpha).endVertex(); + renderer.vertex((double) (x + 0), (double) (y + 0), 0.0D).color(red, green, blue, alpha).endVertex(); + renderer.vertex((double) (x + 0), (double) (y + height), 0.0D).color(red, green, blue, alpha).endVertex(); + renderer.vertex((double) (x + width), (double) (y + height), 0.0D).color(red, green, blue, alpha).endVertex(); + renderer.vertex((double) (x + width), (double) (y + 0), 0.0D).color(red, green, blue, alpha).endVertex(); Tessellator.getInstance().draw(); } diff --git a/src/main/java/com/simibubi/create/foundation/gui/ScreenElementRenderer.java b/src/main/java/com/simibubi/create/foundation/gui/ScreenElementRenderer.java index cd7bc5fb8..3e0bceee6 100644 --- a/src/main/java/com/simibubi/create/foundation/gui/ScreenElementRenderer.java +++ b/src/main/java/com/simibubi/create/foundation/gui/ScreenElementRenderer.java @@ -4,7 +4,9 @@ import java.util.function.Supplier; import org.lwjgl.opengl.GL11; -import com.mojang.blaze3d.platform.GlStateManager; +import com.mojang.blaze3d.platform.GlStateManager.DestFactor; +import com.mojang.blaze3d.platform.GlStateManager.SourceFactor; +import com.mojang.blaze3d.systems.RenderSystem; import com.simibubi.create.foundation.utility.ColorHelper; import net.minecraft.block.BlockState; @@ -24,18 +26,18 @@ import net.minecraft.util.math.Vec3d; public class ScreenElementRenderer { public static void render3DItem(Supplier transformsAndStack) { - GlStateManager.pushMatrix(); + RenderSystem.pushMatrix(); - GlStateManager.enableBlend(); - GlStateManager.enableRescaleNormal(); - GlStateManager.enableAlphaTest(); - RenderHelper.enableGUIStandardItemLighting(); - GlStateManager.color4f(1.0F, 1.0F, 1.0F, 1.0F); + RenderSystem.enableBlend(); + RenderSystem.enableRescaleNormal(); + RenderSystem.enableAlphaTest(); + RenderHelper.enableGuiDepthLighting(); // TODO 1.15 + RenderSystem.color4f(1.0F, 1.0F, 1.0F, 1.0F); ItemStack stack = transformsAndStack.get(); Minecraft.getInstance().getItemRenderer().renderItemIntoGUI(stack, 0, 0); - GlStateManager.popMatrix(); + RenderSystem.popMatrix(); } public static void renderBlock(Supplier transformsAndState) { @@ -52,16 +54,16 @@ public class ScreenElementRenderer { private static void render(Supplier transformsAndState, Supplier transformsAndModel, int color) { - GlStateManager.pushMatrix(); + RenderSystem.pushMatrix(); - GlStateManager.enableBlend(); - GlStateManager.enableRescaleNormal(); - GlStateManager.enableAlphaTest(); - RenderHelper.enableGUIStandardItemLighting(); - GlStateManager.alphaFunc(516, 0.1F); - GlStateManager.blendFunc(GlStateManager.SourceFactor.SRC_ALPHA, GlStateManager.DestFactor.ONE_MINUS_SRC_ALPHA); - GlStateManager.color4f(1.0F, 1.0F, 1.0F, 1.0F); - GlStateManager.translated(0, 0, 200); + RenderSystem.enableBlend(); + RenderSystem.enableRescaleNormal(); + RenderSystem.enableAlphaTest(); + RenderHelper.enableGuiDepthLighting(); // TODO 1.15 + RenderSystem.alphaFunc(516, 0.1F); + RenderSystem.blendFunc(SourceFactor.SRC_ALPHA, DestFactor.ONE_MINUS_SRC_ALPHA); + RenderSystem.color4f(1.0F, 1.0F, 1.0F, 1.0F); + RenderSystem.translated(0, 0, 200); Minecraft mc = Minecraft.getInstance(); BlockRendererDispatcher blockRenderer = mc.getBlockRendererDispatcher(); @@ -78,15 +80,15 @@ public class ScreenElementRenderer { modelToRender = transformsAndModel.get(); } - GlStateManager.scaled(50, -50, 50); + RenderSystem.scaled(50, -50, 50); mc.getTextureManager().bindTexture(AtlasTexture.LOCATION_BLOCKS_TEXTURE); - GlStateManager.pushMatrix(); + RenderSystem.pushMatrix(); if (fire) { blockRenderer.renderBlockBrightness(blockToRender, 1); } else { - GlStateManager.rotated(90, 0, 1, 0); + RenderSystem.rotated(90, 0, 1, 0); if (color == -1) { blockRenderer.getBlockModelRenderer().renderModelBrightnessColor(modelToRender, 1, 1, 1, 1); } else { @@ -95,7 +97,7 @@ public class ScreenElementRenderer { (float) rgb.y, (float) rgb.z); } } - GlStateManager.popMatrix(); + RenderSystem.popMatrix(); if (stateMode && !blockToRender.getFluidState().isEmpty()) { RenderHelper.disableStandardItemLighting(); @@ -108,10 +110,10 @@ public class ScreenElementRenderer { bufferbuilder.setTranslation(0, 0, 0); } - GlStateManager.disableAlphaTest(); - GlStateManager.disableRescaleNormal(); + RenderSystem.disableAlphaTest(); + RenderSystem.disableRescaleNormal(); - GlStateManager.popMatrix(); + RenderSystem.popMatrix(); } } diff --git a/src/main/java/com/simibubi/create/foundation/gui/ToolSelectionScreen.java b/src/main/java/com/simibubi/create/foundation/gui/ToolSelectionScreen.java index 8d16c4312..f75a51661 100644 --- a/src/main/java/com/simibubi/create/foundation/gui/ToolSelectionScreen.java +++ b/src/main/java/com/simibubi/create/foundation/gui/ToolSelectionScreen.java @@ -3,7 +3,7 @@ package com.simibubi.create.foundation.gui; import java.util.List; import java.util.function.Consumer; -import com.mojang.blaze3d.platform.GlStateManager; +import com.mojang.blaze3d.systems.RenderSystem; import com.simibubi.create.AllKeys; import com.simibubi.create.ScreenResources; import com.simibubi.create.foundation.utility.Lang; @@ -56,17 +56,17 @@ public class ToolSelectionScreen extends Screen { } private void draw(float partialTicks) { - MainWindow mainWindow = Minecraft.getInstance().mainWindow; + MainWindow mainWindow = Minecraft.getInstance().getWindow(); int x = (mainWindow.getScaledWidth() - w) / 2 + 15; int y = mainWindow.getScaledHeight() - h - 75; - GlStateManager.pushMatrix(); - GlStateManager.translatef(0, -yOffset, focused ? 100 : 0); + RenderSystem.pushMatrix(); + RenderSystem.translatef(0, -yOffset, focused ? 100 : 0); ScreenResources gray = ScreenResources.GRAY; - GlStateManager.enableBlend(); - GlStateManager.color4f(1, 1, 1, focused ? 7 / 8f : 1 / 2f); + RenderSystem.enableBlend(); + RenderSystem.color4f(1, 1, 1, focused ? 7 / 8f : 1 / 2f); Minecraft.getInstance().getTextureManager().bindTexture(gray.location); blit(x - 15, y, gray.startX, gray.startY, w, h, gray.width, gray.height); @@ -77,9 +77,9 @@ public class ToolSelectionScreen extends Screen { int stringAlphaComponent = ((int) (toolTipAlpha * 0xFF)) << 24; if (toolTipAlpha > 0.25f) { - GlStateManager.color4f(.7f, .7f, .8f, toolTipAlpha); + RenderSystem.color4f(.7f, .7f, .8f, toolTipAlpha); blit(x - 15, y + 33, gray.startX, gray.startY, w, h + 22, gray.width, gray.height); - GlStateManager.color4f(1, 1, 1, 1); + RenderSystem.color4f(1, 1, 1, 1); if (toolTip.size() > 0) drawString(font, toolTip.get(0), x - 10, y + 38, 0xEEEEEE + stringAlphaComponent); @@ -91,10 +91,10 @@ public class ToolSelectionScreen extends Screen { drawString(font, toolTip.get(3), x - 10, y + 72, 0xCCCCDD + stringAlphaComponent); } - GlStateManager.color4f(1, 1, 1, 1); + RenderSystem.color4f(1, 1, 1, 1); if (tools.size() > 1) { String keyName = AllKeys.TOOL_MENU.getBoundKey(); - int width = minecraft.mainWindow.getScaledWidth(); + int width = minecraft.getWindow().getScaledWidth(); if (!focused) drawCenteredString(minecraft.fontRenderer, Lang.translate(holdToFocus, keyName), width / 2, y - 10, 0xCCDDFF); @@ -105,24 +105,24 @@ public class ToolSelectionScreen extends Screen { } for (int i = 0; i < tools.size(); i++) { - GlStateManager.pushMatrix(); + RenderSystem.pushMatrix(); float alpha = focused ? 1 : .2f; if (i == selection) { - GlStateManager.translatef(0, -10, 0); + RenderSystem.translatef(0, -10, 0); drawCenteredString(minecraft.fontRenderer, tools.get(i).getDisplayName(), x + i * 50 + 24, y + 28, 0xCCDDFF); alpha = 1; } - GlStateManager.color4f(0, 0, 0, alpha); + RenderSystem.color4f(0, 0, 0, alpha); tools.get(i).getIcon().draw(this, x + i * 50 + 16, y + 12); - GlStateManager.color4f(1, 1, 1, alpha); + RenderSystem.color4f(1, 1, 1, alpha); tools.get(i).getIcon().draw(this, x + i * 50 + 16, y + 11); - GlStateManager.popMatrix(); + RenderSystem.popMatrix(); } - GlStateManager.popMatrix(); + RenderSystem.popMatrix(); } public void update() { diff --git a/src/main/java/com/simibubi/create/foundation/gui/widgets/IconButton.java b/src/main/java/com/simibubi/create/foundation/gui/widgets/IconButton.java index 78b27b044..83447c23f 100644 --- a/src/main/java/com/simibubi/create/foundation/gui/widgets/IconButton.java +++ b/src/main/java/com/simibubi/create/foundation/gui/widgets/IconButton.java @@ -1,6 +1,6 @@ package com.simibubi.create.foundation.gui.widgets; -import com.mojang.blaze3d.platform.GlStateManager; +import com.mojang.blaze3d.systems.RenderSystem; import com.simibubi.create.ScreenResources; import net.minecraft.client.Minecraft; @@ -28,7 +28,7 @@ public class IconButton extends AbstractSimiWidget { (isHovered) ? ScreenResources.BUTTON_HOVER : ScreenResources.BUTTON; - GlStateManager.color4f(1.0F, 1.0F, 1.0F, 1.0F); + RenderSystem.color4f(1.0F, 1.0F, 1.0F, 1.0F); Minecraft.getInstance().getTextureManager().bindTexture(buttonTextures); blit(x, y, button.startX, button.startY, button.width, button.height); Minecraft.getInstance().getTextureManager().bindTexture(iconTexture); diff --git a/src/main/java/com/simibubi/create/foundation/gui/widgets/Label.java b/src/main/java/com/simibubi/create/foundation/gui/widgets/Label.java index 5f55bfbe8..f7d3e3dcb 100644 --- a/src/main/java/com/simibubi/create/foundation/gui/widgets/Label.java +++ b/src/main/java/com/simibubi/create/foundation/gui/widgets/Label.java @@ -1,6 +1,6 @@ package com.simibubi.create.foundation.gui.widgets; -import com.mojang.blaze3d.platform.GlStateManager; +import com.mojang.blaze3d.systems.RenderSystem; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.FontRenderer; @@ -70,7 +70,7 @@ public class Label extends AbstractSimiWidget { if (text == null || text.isEmpty()) return; - GlStateManager.color4f(1, 1, 1, 1); + RenderSystem.color4f(1, 1, 1, 1); if (hasShadow) font.drawStringWithShadow(text + suffix, x, y, color); else diff --git a/src/main/java/com/simibubi/create/foundation/item/AbstractToolItem.java b/src/main/java/com/simibubi/create/foundation/item/AbstractToolItem.java index 2b8adaba9..d55ef0cb4 100644 --- a/src/main/java/com/simibubi/create/foundation/item/AbstractToolItem.java +++ b/src/main/java/com/simibubi/create/foundation/item/AbstractToolItem.java @@ -127,7 +127,7 @@ public abstract class AbstractToolItem extends ToolItem { @Override public ActionResultType onItemUse(ItemUseContext context) { - if (hasType(HOE) && !context.isPlacerSneaking()) + if (hasType(HOE) && !context.getPlayer().isSneaking()) return Items.WOODEN_HOE.onItemUse(context); if (hasType(SHOVEL)) return Items.WOODEN_SHOVEL.onItemUse(context); diff --git a/src/main/java/com/simibubi/create/foundation/utility/ColorHelper.java b/src/main/java/com/simibubi/create/foundation/utility/ColorHelper.java index a16b143f3..658ecee30 100644 --- a/src/main/java/com/simibubi/create/foundation/utility/ColorHelper.java +++ b/src/main/java/com/simibubi/create/foundation/utility/ColorHelper.java @@ -2,7 +2,7 @@ package com.simibubi.create.foundation.utility; import java.util.UUID; -import com.mojang.blaze3d.platform.GlStateManager; +import com.mojang.blaze3d.systems.RenderSystem; import net.minecraft.util.math.Vec3d; @@ -49,11 +49,11 @@ public class ColorHelper { int g = (color >> 8) & 0xFF; int b = color & 0xFF; - GlStateManager.color4f(r / 256f, g / 256f, b / 256f, 1); + RenderSystem.color4f(r / 256f, g / 256f, b / 256f, 1); } public static void glResetColor() { - GlStateManager.color4f(1, 1, 1, 1); + RenderSystem.color4f(1, 1, 1, 1); } public static Vec3d getRGB(int color) { diff --git a/src/main/java/com/simibubi/create/foundation/utility/GlHelper.java b/src/main/java/com/simibubi/create/foundation/utility/GlHelper.java index 6c2488bab..0f2562c53 100644 --- a/src/main/java/com/simibubi/create/foundation/utility/GlHelper.java +++ b/src/main/java/com/simibubi/create/foundation/utility/GlHelper.java @@ -1,6 +1,6 @@ package com.simibubi.create.foundation.utility; -import com.mojang.blaze3d.platform.GlStateManager; +import com.mojang.blaze3d.systems.RenderSystem; import net.minecraft.util.math.Vec3d; @@ -10,14 +10,14 @@ public class GlHelper { if (position == null) return; - GlStateManager.pushMatrix(); - GlStateManager.translated(position.x, position.y, position.z); - GlStateManager.rotated(rotation.y, 0, 1, 0); - GlStateManager.rotated(rotation.z, 1, 0, 0); - GlStateManager.rotated(rotation.x, 0, 0, 1); - GlStateManager.scaled(scale, scale, scale); + RenderSystem.pushMatrix(); + RenderSystem.translated(position.x, position.y, position.z); + RenderSystem.rotatef((float) rotation.y, 0, 1, 0); + RenderSystem.rotatef((float) rotation.z, 1, 0, 0); + RenderSystem.rotatef((float) rotation.x, 0, 0, 1); + RenderSystem.scaled(scale, scale, scale); render.run(); - GlStateManager.popMatrix(); + RenderSystem.popMatrix(); } } diff --git a/src/main/java/com/simibubi/create/foundation/utility/IndependentShadowRenderer.java b/src/main/java/com/simibubi/create/foundation/utility/IndependentShadowRenderer.java index e4584a584..64039e94d 100644 --- a/src/main/java/com/simibubi/create/foundation/utility/IndependentShadowRenderer.java +++ b/src/main/java/com/simibubi/create/foundation/utility/IndependentShadowRenderer.java @@ -1,6 +1,8 @@ package com.simibubi.create.foundation.utility; -import com.mojang.blaze3d.platform.GlStateManager; +import com.mojang.blaze3d.platform.GlStateManager.DestFactor; +import com.mojang.blaze3d.platform.GlStateManager.SourceFactor; +import com.mojang.blaze3d.systems.RenderSystem; import net.minecraft.block.BlockRenderType; import net.minecraft.block.BlockState; @@ -24,12 +26,12 @@ public class IndependentShadowRenderer { private static final ResourceLocation SHADOW_TEXTURES = new ResourceLocation("textures/misc/shadow.png"); public static void renderShadow(double x, double y, double z, float shadowAlpha, float size) { - GlStateManager.enableBlend(); - GlStateManager.enableAlphaTest(); - GlStateManager.blendFunc(GlStateManager.SourceFactor.DST_ALPHA, GlStateManager.DestFactor.ONE_MINUS_SRC_ALPHA); + RenderSystem.enableBlend(); + RenderSystem.enableAlphaTest(); + RenderSystem.blendFunc(SourceFactor.DST_ALPHA, DestFactor.ONE_MINUS_SRC_ALPHA); Minecraft.getInstance().getTextureManager().bindTexture(SHADOW_TEXTURES); IWorldReader iworldreader = Minecraft.getInstance().world; - GlStateManager.depthMask(false); + RenderSystem.depthMask(false); int i = MathHelper.floor(x - size); int j = MathHelper.floor(x + size); int k = MathHelper.floor(y - size); @@ -49,9 +51,9 @@ public class IndependentShadowRenderer { } tessellator.draw(); - GlStateManager.color4f(1.0F, 1.0F, 1.0F, 1.0F); - GlStateManager.disableBlend(); - GlStateManager.depthMask(true); + RenderSystem.color4f(1.0F, 1.0F, 1.0F, 1.0F); + RenderSystem.disableBlend(); + RenderSystem.depthMask(true); } private static void func_217759_a(BlockState p_217759_1_, IWorldReader p_217759_2_, BlockPos p_217759_3_, @@ -79,13 +81,13 @@ public class IndependentShadowRenderer { float f1 = (float) ((p_217759_4_ - d2) / 2.0D / (double) p_217759_12_ + 0.5D); float f2 = (float) ((p_217759_8_ - d4) / 2.0D / (double) p_217759_12_ + 0.5D); float f3 = (float) ((p_217759_8_ - d5) / 2.0D / (double) p_217759_12_ + 0.5D); - bufferbuilder.pos(d1, d3, d4).tex((double) f, (double) f2).color(1.0F, 1.0F, 1.0F, (float) d0) + bufferbuilder.vertex(d1, d3, d4).texture(f, f2).color(1.0F, 1.0F, 1.0F, (float) d0) .endVertex(); - bufferbuilder.pos(d1, d3, d5).tex((double) f, (double) f3).color(1.0F, 1.0F, 1.0F, (float) d0) + bufferbuilder.vertex(d1, d3, d5).texture(f, f3).color(1.0F, 1.0F, 1.0F, (float) d0) .endVertex(); - bufferbuilder.pos(d2, d3, d5).tex((double) f1, (double) f3).color(1.0F, 1.0F, 1.0F, (float) d0) + bufferbuilder.vertex(d2, d3, d5).texture(f1, f3).color(1.0F, 1.0F, 1.0F, (float) d0) .endVertex(); - bufferbuilder.pos(d2, d3, d4).tex((double) f1, (double) f2).color(1.0F, 1.0F, 1.0F, (float) d0) + bufferbuilder.vertex(d2, d3, d4).texture(f1, f2).color(1.0F, 1.0F, 1.0F, (float) d0) .endVertex(); } } diff --git a/src/main/java/com/simibubi/create/foundation/utility/NBTHelper.java b/src/main/java/com/simibubi/create/foundation/utility/NBTHelper.java index bbe8e0efe..2c971b671 100644 --- a/src/main/java/com/simibubi/create/foundation/utility/NBTHelper.java +++ b/src/main/java/com/simibubi/create/foundation/utility/NBTHelper.java @@ -49,12 +49,12 @@ public class NBTHelper { public static ListNBT writeAABB(AxisAlignedBB bb) { ListNBT bbtag = new ListNBT(); - bbtag.add(new FloatNBT((float) bb.minX)); - bbtag.add(new FloatNBT((float) bb.minY)); - bbtag.add(new FloatNBT((float) bb.minZ)); - bbtag.add(new FloatNBT((float) bb.maxX)); - bbtag.add(new FloatNBT((float) bb.maxY)); - bbtag.add(new FloatNBT((float) bb.maxZ)); + bbtag.add(FloatNBT.of((float) bb.minX)); + bbtag.add(FloatNBT.of((float) bb.minY)); + bbtag.add(FloatNBT.of((float) bb.minZ)); + bbtag.add(FloatNBT.of((float) bb.maxX)); + bbtag.add(FloatNBT.of((float) bb.maxY)); + bbtag.add(FloatNBT.of((float) bb.maxZ)); return bbtag; } diff --git a/src/main/java/com/simibubi/create/foundation/utility/RaycastHelper.java b/src/main/java/com/simibubi/create/foundation/utility/RaycastHelper.java index c35a68d1c..b856b79e3 100644 --- a/src/main/java/com/simibubi/create/foundation/utility/RaycastHelper.java +++ b/src/main/java/com/simibubi/create/foundation/utility/RaycastHelper.java @@ -43,9 +43,9 @@ public class RaycastHelper { } private static Vec3d getTraceOrigin(PlayerEntity playerIn) { - double d0 = playerIn.posX; - double d1 = playerIn.posY + (double) playerIn.getEyeHeight(); - double d2 = playerIn.posZ; + double d0 = playerIn.getX(); + double d1 = playerIn.getY() + (double) playerIn.getEyeHeight(); + double d2 = playerIn.getZ(); Vec3d vec3d = new Vec3d(d0, d1, d2); return vec3d; } diff --git a/src/main/java/com/simibubi/create/foundation/utility/TessellatorHelper.java b/src/main/java/com/simibubi/create/foundation/utility/TessellatorHelper.java index 904c55da3..4c2996c84 100644 --- a/src/main/java/com/simibubi/create/foundation/utility/TessellatorHelper.java +++ b/src/main/java/com/simibubi/create/foundation/utility/TessellatorHelper.java @@ -2,7 +2,9 @@ package com.simibubi.create.foundation.utility; import org.lwjgl.opengl.GL11; -import com.mojang.blaze3d.platform.GlStateManager; +import com.mojang.blaze3d.platform.GlStateManager.DestFactor; +import com.mojang.blaze3d.platform.GlStateManager.SourceFactor; +import com.mojang.blaze3d.systems.RenderSystem; import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.ActiveRenderInfo; @@ -20,30 +22,30 @@ public class TessellatorHelper { public static void prepareForDrawing() { Minecraft mc = Minecraft.getInstance(); - GlStateManager.pushMatrix(); - GlStateManager.pushLightingAttributes(); - GlStateManager.enableBlend(); - GlStateManager.enableAlphaTest(); - GlStateManager.color4f(1, 1, 1, 1); + RenderSystem.pushMatrix(); + RenderSystem.pushLightingAttributes(); + RenderSystem.enableBlend(); + RenderSystem.enableAlphaTest(); + RenderSystem.color4f(1, 1, 1, 1); ActiveRenderInfo renderInfo = mc.gameRenderer.getActiveRenderInfo(); Vec3d view = renderInfo.getProjectedView(); - GlStateManager.translated(-view.x, -view.y, -view.z); + RenderSystem.translated(-view.x, -view.y, -view.z); } public static void prepareFastRender() { Minecraft.getInstance().textureManager.bindTexture(AtlasTexture.LOCATION_BLOCKS_TEXTURE); net.minecraft.client.renderer.RenderHelper.disableStandardItemLighting(); - GlStateManager.blendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); - GlStateManager.enableBlend(); - GlStateManager.disableCull(); + RenderSystem.blendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); + RenderSystem.enableBlend(); + RenderSystem.disableCull(); if (net.minecraft.client.Minecraft.isAmbientOcclusionEnabled()) - GlStateManager.shadeModel(GL11.GL_SMOOTH); + RenderSystem.shadeModel(GL11.GL_SMOOTH); else - GlStateManager.shadeModel(GL11.GL_FLAT); + RenderSystem.shadeModel(GL11.GL_FLAT); - GlStateManager.color3f(1, 1, 1); + RenderSystem.color3f(1, 1, 1); } public static void fightZFighting(int id) { @@ -52,7 +54,7 @@ public class TessellatorHelper { float xNudge = (((float) (randomBits >> 16 & 7L) + 0.5F) / 8.0F - 0.5F) * 0.004F; float yNudge = (((float) (randomBits >> 20 & 7L) + 0.5F) / 8.0F - 0.5F) * 0.004F; float zNudge = (((float) (randomBits >> 24 & 7L) + 0.5F) / 8.0F - 0.5F) * 0.004F; - GlStateManager.translatef(xNudge, yNudge, zNudge); + RenderSystem.translatef(xNudge, yNudge, zNudge); } public static void begin() { @@ -68,66 +70,63 @@ public class TessellatorHelper { } public static void cleanUpAfterDrawing() { - GlStateManager.disableAlphaTest(); - GlStateManager.disableBlend(); - GlStateManager.popAttributes(); - GlStateManager.popMatrix(); + RenderSystem.disableAlphaTest(); + RenderSystem.disableBlend(); + RenderSystem.popAttributes(); + RenderSystem.popMatrix(); } public static void drawString(String str, float x, float y, float z, boolean scalesUp, boolean hasDepth) { Minecraft mc = Minecraft.getInstance(); - float pitch = mc.getRenderManager().playerViewX; - float yaw = mc.getRenderManager().playerViewY; + ActiveRenderInfo view = mc.gameRenderer.getActiveRenderInfo(); + float pitch = view.getPitch(); + float yaw = view.getYaw(); boolean isThirdPersonFrontal = mc.gameSettings.thirdPersonView == 2; - GlStateManager.pushMatrix(); - GlStateManager.pushLightingAttributes(); - GlStateManager.translatef(x, y, z); - GlStateManager.normal3f(0.0F, 1.0F, 0.0F); - GlStateManager.rotatef(-yaw, 0.0F, 1.0F, 0.0F); - GlStateManager.rotatef((float) (isThirdPersonFrontal ? -1 : 1) * pitch, 1.0F, 0.0F, 0.0F); - GlStateManager.scalef(-0.025F, -0.025F, 0.025F); - GlStateManager.disableLighting(); + RenderSystem.pushMatrix(); + RenderSystem.pushLightingAttributes(); + RenderSystem.translatef(x, y, z); + RenderSystem.normal3f(0.0F, 1.0F, 0.0F); + RenderSystem.rotatef(-yaw, 0.0F, 1.0F, 0.0F); + RenderSystem.rotatef((float) (isThirdPersonFrontal ? -1 : 1) * pitch, 1.0F, 0.0F, 0.0F); + RenderSystem.scalef(-0.025F, -0.025F, 0.025F); + RenderSystem.disableLighting(); if (!hasDepth) { - GlStateManager.depthMask(false); - GlStateManager.disableDepthTest(); + RenderSystem.depthMask(false); + RenderSystem.disableDepthTest(); } - GlStateManager.enableBlend(); - GlStateManager.blendFuncSeparate(GlStateManager.SourceFactor.SRC_ALPHA, - GlStateManager.DestFactor.ONE_MINUS_SRC_ALPHA, GlStateManager.SourceFactor.ONE, - GlStateManager.DestFactor.ZERO); + RenderSystem.enableBlend(); + RenderSystem.blendFuncSeparate(SourceFactor.SRC_ALPHA, DestFactor.ONE_MINUS_SRC_ALPHA, SourceFactor.ONE, DestFactor.ZERO); int i = mc.fontRenderer.getStringWidth(str) / 2; - GlStateManager.disableTexture(); + RenderSystem.disableTexture(); Tessellator tessellator = Tessellator.getInstance(); BufferBuilder bufferbuilder = tessellator.getBuffer(); bufferbuilder.begin(7, DefaultVertexFormats.POSITION_COLOR); - bufferbuilder.pos((double) (-i - 3), (double) (-3), 0.0D).color(1F, 1F, 1F, .5F).endVertex(); - bufferbuilder.pos((double) (-i - 3), (double) (10), 0.0D).color(1F, 1F, 1F, .5F).endVertex(); - bufferbuilder.pos((double) (i + 3), (double) (10), 0.0D).color(1F, 1F, 1F, .5F).endVertex(); - bufferbuilder.pos((double) (i + 3), (double) (-3), 0.0D).color(1F, 1F, 1F, .5F).endVertex(); + bufferbuilder.vertex((double) (-i - 3), (double) (-3), 0.0D).color(1F, 1F, 1F, .5F).endVertex(); + bufferbuilder.vertex((double) (-i - 3), (double) (10), 0.0D).color(1F, 1F, 1F, .5F).endVertex(); + bufferbuilder.vertex((double) (i + 3), (double) (10), 0.0D).color(1F, 1F, 1F, .5F).endVertex(); + bufferbuilder.vertex((double) (i + 3), (double) (-3), 0.0D).color(1F, 1F, 1F, .5F).endVertex(); if (scalesUp) { double distance = mc.player.getEyePosition(mc.getRenderPartialTicks()).squareDistanceTo(x, y, z); double scale = distance * fontScale; - GlStateManager.scaled(2 + scale, 2 + scale, 2 + scale); + RenderSystem.scaled(2 + scale, 2 + scale, 2 + scale); } tessellator.draw(); - GlStateManager.enableTexture(); + RenderSystem.enableTexture(); if (hasDepth) { - GlStateManager.translatef(0, 0, -0.125f); + RenderSystem.translatef(0, 0, -0.125f); } mc.fontRenderer.drawString(str, -mc.fontRenderer.getStringWidth(str) / 2, 0, 0); - GlStateManager.enableDepthTest(); + RenderSystem.enableDepthTest(); - GlStateManager.color4f(1.0F, 1.0F, 1.0F, 1.0F); - GlStateManager.depthMask(true); - GlStateManager.blendFuncSeparate(GlStateManager.SourceFactor.SRC_ALPHA, - GlStateManager.DestFactor.ONE_MINUS_SRC_ALPHA, GlStateManager.SourceFactor.SRC_ALPHA, - GlStateManager.DestFactor.ONE_MINUS_SRC_ALPHA); - GlStateManager.popMatrix(); - GlStateManager.popAttributes(); + RenderSystem.color4f(1.0F, 1.0F, 1.0F, 1.0F); + RenderSystem.depthMask(true); + RenderSystem.blendFuncSeparate(SourceFactor.SRC_ALPHA, DestFactor.ONE_MINUS_SRC_ALPHA, SourceFactor.SRC_ALPHA, DestFactor.ONE_MINUS_SRC_ALPHA); + RenderSystem.popMatrix(); + RenderSystem.popAttributes(); } public static void cube(BufferBuilder bufferBuilder, BlockPos pos, BlockPos size, double scale, @@ -246,7 +245,7 @@ public class TessellatorHelper { } private static void posTexShift(BufferBuilder bufferBuilder, Vec3d shift, BlockPos pos, double u, double v) { - bufferBuilder.pos(shift.x + pos.getX(), shift.y + pos.getY(), shift.z + pos.getZ()).tex(u, v).endVertex(); + bufferBuilder.vertex(shift.x + pos.getX(), shift.y + pos.getY(), shift.z + pos.getZ()).texture((float) u, (float) v).endVertex(); } } diff --git a/src/main/java/com/simibubi/create/foundation/utility/VecHelper.java b/src/main/java/com/simibubi/create/foundation/utility/VecHelper.java index 2056397ce..98afb866d 100644 --- a/src/main/java/com/simibubi/create/foundation/utility/VecHelper.java +++ b/src/main/java/com/simibubi/create/foundation/utility/VecHelper.java @@ -62,9 +62,9 @@ public class VecHelper { public static ListNBT writeNBT(Vec3d vec) { ListNBT listnbt = new ListNBT(); - listnbt.add(new DoubleNBT(vec.x)); - listnbt.add(new DoubleNBT(vec.y)); - listnbt.add(new DoubleNBT(vec.z)); + listnbt.add(DoubleNBT.of(vec.x)); + listnbt.add(DoubleNBT.of(vec.y)); + listnbt.add(DoubleNBT.of(vec.z)); return listnbt; } diff --git a/src/main/java/com/simibubi/create/foundation/utility/WrappedWorld.java b/src/main/java/com/simibubi/create/foundation/utility/WrappedWorld.java index 3c7092e7d..89029ea96 100644 --- a/src/main/java/com/simibubi/create/foundation/utility/WrappedWorld.java +++ b/src/main/java/com/simibubi/create/foundation/utility/WrappedWorld.java @@ -16,6 +16,7 @@ import net.minecraft.util.SoundEvent; import net.minecraft.util.math.BlockPos; import net.minecraft.world.ITickList; import net.minecraft.world.World; +import net.minecraft.world.biome.Biome; import net.minecraft.world.storage.MapData; public class WrappedWorld extends World { @@ -38,11 +39,6 @@ public class WrappedWorld extends World { return 15; } - @Override - public int getLightSubtracted(BlockPos pos, int amount) { - return 15 - amount; - } - @Override public void notifyBlockUpdate(BlockPos pos, BlockState oldState, BlockState newState, int flags) { world.notifyBlockUpdate(pos, oldState, newState, flags); @@ -126,4 +122,9 @@ public class WrappedWorld extends World { return 256; } + @Override + public Biome getGeneratorStoredBiome(int p_225604_1_, int p_225604_2_, int p_225604_3_) { + return world.getGeneratorStoredBiome(p_225604_1_, p_225604_2_, p_225604_3_); + } + } diff --git a/src/main/java/com/simibubi/create/foundation/world/AllWorldFeatures.java b/src/main/java/com/simibubi/create/foundation/world/AllWorldFeatures.java index 382100e5d..1f373d117 100644 --- a/src/main/java/com/simibubi/create/foundation/world/AllWorldFeatures.java +++ b/src/main/java/com/simibubi/create/foundation/world/AllWorldFeatures.java @@ -32,7 +32,7 @@ public enum AllWorldFeatures { ; public IFeature feature; - private Map> featureInstances; + private Map> featureInstances; AllWorldFeatures(IFeature feature) { this.feature = feature; @@ -47,7 +47,7 @@ public enum AllWorldFeatures { if (entry.featureInstances.containsKey(biome)) biome.getFeatures(entry.feature.getGenerationStage()).remove(entry.featureInstances.remove(biome)); - Optional> createFeature = entry.feature.createFeature(biome); + Optional> createFeature = entry.feature.createFeature(biome); if (!createFeature.isPresent()) continue; diff --git a/src/main/java/com/simibubi/create/foundation/world/IFeature.java b/src/main/java/com/simibubi/create/foundation/world/IFeature.java index 18320bf07..5a56918d4 100644 --- a/src/main/java/com/simibubi/create/foundation/world/IFeature.java +++ b/src/main/java/com/simibubi/create/foundation/world/IFeature.java @@ -13,7 +13,7 @@ public interface IFeature { public void addToConfig(ForgeConfigSpec.Builder builder); - public Optional> createFeature(Biome biome); + public Optional> createFeature(Biome biome); public Decoration getGenerationStage(); diff --git a/src/main/java/com/simibubi/create/foundation/world/OreFeature.java b/src/main/java/com/simibubi/create/foundation/world/OreFeature.java index 74c06e339..5d8b29a1b 100644 --- a/src/main/java/com/simibubi/create/foundation/world/OreFeature.java +++ b/src/main/java/com/simibubi/create/foundation/world/OreFeature.java @@ -57,17 +57,16 @@ public abstract class OreFeature extends ConfigBase } @Override - public Optional> createFeature(Biome biome) { + public Optional> createFeature(Biome biome) { if (biomeWhitelist != null && biome.getCategory() == biomeWhitelist) return Optional.empty(); if (!canGenerate()) return Optional.empty(); Pair, T> placement = getPlacement(); - ConfiguredFeature createdFeature = Biome.createDecoratedFeature(Feature.ORE, - new OreFeatureConfig(OreFeatureConfig.FillerBlockType.NATURAL_STONE, block.getDefaultState(), - clusterSize.get()), - placement.getKey(), placement.getValue()); + ConfiguredFeature createdFeature = Feature.ORE + .configure(new OreFeatureConfig(OreFeatureConfig.FillerBlockType.NATURAL_STONE, block.getDefaultState(), clusterSize.get())) + .createDecoratedFeature(placement.getKey().configure(placement.getValue())); return Optional.of(createdFeature); } diff --git a/src/main/java/com/simibubi/create/foundation/world/OxidizingBlock.java b/src/main/java/com/simibubi/create/foundation/world/OxidizingBlock.java index 50decb45a..3fc064305 100644 --- a/src/main/java/com/simibubi/create/foundation/world/OxidizingBlock.java +++ b/src/main/java/com/simibubi/create/foundation/world/OxidizingBlock.java @@ -11,7 +11,7 @@ import net.minecraft.state.StateContainer.Builder; import net.minecraft.util.Direction; import net.minecraft.util.math.BlockPos; import net.minecraft.world.IBlockReader; -import net.minecraft.world.World; +import net.minecraft.world.server.ServerWorld; public class OxidizingBlock extends Block { @@ -35,7 +35,7 @@ public class OxidizingBlock extends Block { } @Override - public void randomTick(BlockState state, World worldIn, BlockPos pos, Random random) { + public void randomTick(BlockState state, ServerWorld worldIn, BlockPos pos, Random random) { if (worldIn.getRandom().nextFloat() <= chance) { int currentState = state.get(OXIDIZATION); boolean canIncrease = false; diff --git a/src/main/java/com/simibubi/create/modules/contraptions/KineticDebugger.java b/src/main/java/com/simibubi/create/modules/contraptions/KineticDebugger.java index 683895639..4e4002292 100644 --- a/src/main/java/com/simibubi/create/modules/contraptions/KineticDebugger.java +++ b/src/main/java/com/simibubi/create/modules/contraptions/KineticDebugger.java @@ -1,6 +1,6 @@ package com.simibubi.create.modules.contraptions; -import com.mojang.blaze3d.platform.GlStateManager; +import com.mojang.blaze3d.systems.RenderSystem; import com.simibubi.create.config.AllConfigs; import com.simibubi.create.foundation.utility.TessellatorHelper; import com.simibubi.create.modules.contraptions.base.KineticTileEntity; @@ -29,18 +29,18 @@ public class KineticDebugger { VoxelShape shape = world.getBlockState(toOutline).getShape(world, toOutline); TessellatorHelper.prepareForDrawing(); - GlStateManager.disableTexture(); - GlStateManager.lineWidth(3); - GlStateManager.pushMatrix(); - GlStateManager.translated(toOutline.getX(), toOutline.getY(), toOutline.getZ()); + RenderSystem.disableTexture(); + RenderSystem.lineWidth(3); + RenderSystem.pushMatrix(); + RenderSystem.translated(toOutline.getX(), toOutline.getY(), toOutline.getZ()); float f = 1 + 1 / 128f; - GlStateManager.scaled(f, f, f); + RenderSystem.scaled(f, f, f); WorldRenderer.drawShape(shape, 0, 0, 0, te.hasSource() ? .5f : 1, .75f, .75f, 1); - GlStateManager.popMatrix(); - GlStateManager.lineWidth(1); - GlStateManager.enableTexture(); + RenderSystem.popMatrix(); + RenderSystem.lineWidth(1); + RenderSystem.enableTexture(); TessellatorHelper.cleanUpAfterDrawing(); } diff --git a/src/main/java/com/simibubi/create/modules/contraptions/WrenchItemRenderer.java b/src/main/java/com/simibubi/create/modules/contraptions/WrenchItemRenderer.java index 8b6cdbbe3..b2883c040 100644 --- a/src/main/java/com/simibubi/create/modules/contraptions/WrenchItemRenderer.java +++ b/src/main/java/com/simibubi/create/modules/contraptions/WrenchItemRenderer.java @@ -1,6 +1,6 @@ package com.simibubi.create.modules.contraptions; -import com.mojang.blaze3d.platform.GlStateManager; +import com.mojang.blaze3d.systems.RenderSystem; import com.simibubi.create.foundation.utility.AnimationTickHolder; import net.minecraft.client.Minecraft; @@ -17,21 +17,21 @@ public class WrenchItemRenderer extends ItemStackTileEntityRenderer { WrenchModel mainModel = (WrenchModel) itemRenderer.getModelWithOverrides(stack); float worldTime = AnimationTickHolder.getRenderTick(); - GlStateManager.pushMatrix(); - GlStateManager.translatef(0.5F, 0.5F, 0.5F); + RenderSystem.pushMatrix(); + RenderSystem.translatef(0.5F, 0.5F, 0.5F); itemRenderer.renderItem(stack, mainModel.getBakedModel()); float angle = worldTime * -.5f % 360; float xOffset = -1/32f; float zOffset = 0; - GlStateManager.translatef(-xOffset, 0, -zOffset); - GlStateManager.rotated(angle, 0, 1, 0); - GlStateManager.translatef(xOffset, 0, zOffset); + RenderSystem.translatef(-xOffset, 0, -zOffset); + RenderSystem.rotated(angle, 0, 1, 0); + RenderSystem.translatef(xOffset, 0, zOffset); itemRenderer.renderItem(stack, mainModel.getPartial("gear")); - GlStateManager.popMatrix(); + RenderSystem.popMatrix(); } } diff --git a/src/main/java/com/simibubi/create/modules/contraptions/base/DirectionalAxisKineticBlock.java b/src/main/java/com/simibubi/create/modules/contraptions/base/DirectionalAxisKineticBlock.java index 0478e52c6..218c9f26b 100644 --- a/src/main/java/com/simibubi/create/modules/contraptions/base/DirectionalAxisKineticBlock.java +++ b/src/main/java/com/simibubi/create/modules/contraptions/base/DirectionalAxisKineticBlock.java @@ -30,7 +30,7 @@ public abstract class DirectionalAxisKineticBlock extends DirectionalKineticBloc protected Direction getFacingForPlacement(BlockItemUseContext context) { Direction facing = context.getNearestLookingDirection().getOpposite(); - if (context.isPlacerSneaking()) + if (context.getPlayer().isSneaking()) facing = facing.getOpposite(); return facing; } diff --git a/src/main/java/com/simibubi/create/modules/contraptions/base/DirectionalKineticBlock.java b/src/main/java/com/simibubi/create/modules/contraptions/base/DirectionalKineticBlock.java index b70f7303d..bc30ed3a5 100644 --- a/src/main/java/com/simibubi/create/modules/contraptions/base/DirectionalKineticBlock.java +++ b/src/main/java/com/simibubi/create/modules/contraptions/base/DirectionalKineticBlock.java @@ -66,10 +66,10 @@ public abstract class DirectionalKineticBlock extends KineticBlock { @Override public BlockState getStateForPlacement(BlockItemUseContext context) { Direction preferred = getPreferredFacing(context); - if (preferred == null || context.isPlacerSneaking()) { + if (preferred == null || context.getPlayer().isSneaking()) { Direction nearestLookingDirection = context.getNearestLookingDirection(); return getDefaultState().with(FACING, - context.isPlacerSneaking() ? nearestLookingDirection : nearestLookingDirection.getOpposite()); + context.getPlayer().isSneaking() ? nearestLookingDirection : nearestLookingDirection.getOpposite()); } return getDefaultState().with(FACING, preferred.getOpposite()); } diff --git a/src/main/java/com/simibubi/create/modules/contraptions/base/KineticBlock.java b/src/main/java/com/simibubi/create/modules/contraptions/base/KineticBlock.java index 215172baa..77ea8fa9f 100644 --- a/src/main/java/com/simibubi/create/modules/contraptions/base/KineticBlock.java +++ b/src/main/java/com/simibubi/create/modules/contraptions/base/KineticBlock.java @@ -10,7 +10,6 @@ import net.minecraft.entity.LivingEntity; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.BlockRenderLayer; import net.minecraft.util.Direction; import net.minecraft.util.Direction.Axis; import net.minecraft.util.math.BlockPos; @@ -105,18 +104,13 @@ public abstract class KineticBlock extends Block implements IRotate { RotationPropagator.handleAdded(worldIn.getWorld(), pos, tileEntity); } - @Override - public boolean canRenderInLayer(BlockState state, BlockRenderLayer layer) { - return hasStaticPart() && layer == getRenderLayer(); - } +// @Override // TODO register layer +// public boolean canRenderInLayer(BlockState state, BlockRenderLayer layer) { +// return hasStaticPart() && layer == getRenderLayer(); +// } protected abstract boolean hasStaticPart(); - @Override - public boolean isSolid(BlockState state) { - return false; - } - @Override public void onBlockPlacedBy(World worldIn, BlockPos pos, BlockState state, LivingEntity placer, ItemStack stack) { TileEntity tileEntity = worldIn.getTileEntity(pos); diff --git a/src/main/java/com/simibubi/create/modules/contraptions/base/RotatedPillarKineticBlock.java b/src/main/java/com/simibubi/create/modules/contraptions/base/RotatedPillarKineticBlock.java index c1195c94e..7a22577f8 100644 --- a/src/main/java/com/simibubi/create/modules/contraptions/base/RotatedPillarKineticBlock.java +++ b/src/main/java/com/simibubi/create/modules/contraptions/base/RotatedPillarKineticBlock.java @@ -66,9 +66,9 @@ public abstract class RotatedPillarKineticBlock extends KineticBlock { @Override public BlockState getStateForPlacement(BlockItemUseContext context) { Axis preferredAxis = getPreferredAxis(context); - if (preferredAxis != null && !context.isPlacerSneaking()) + if (preferredAxis != null && !context.getPlayer().isSneaking()) return this.getDefaultState().with(AXIS, preferredAxis); - return this.getDefaultState().with(AXIS, context.isPlacerSneaking() ? context.getFace().getAxis() + return this.getDefaultState().with(AXIS, context.getPlayer().isSneaking() ? context.getFace().getAxis() : context.getNearestLookingDirection().getAxis()); } diff --git a/src/main/java/com/simibubi/create/modules/contraptions/components/actors/HarvesterBlock.java b/src/main/java/com/simibubi/create/modules/contraptions/components/actors/HarvesterBlock.java index 0ed7177f3..65a7f0473 100644 --- a/src/main/java/com/simibubi/create/modules/contraptions/components/actors/HarvesterBlock.java +++ b/src/main/java/com/simibubi/create/modules/contraptions/components/actors/HarvesterBlock.java @@ -13,7 +13,6 @@ import net.minecraft.block.material.PushReaction; import net.minecraft.item.BlockItemUseContext; import net.minecraft.state.StateContainer.Builder; import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.BlockRenderLayer; import net.minecraft.util.Direction; import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.shapes.ISelectionContext; @@ -56,10 +55,10 @@ public class HarvesterBlock extends HorizontalBlock implements IPortableBlock { super.fillStateContainer(builder); } - @Override - public BlockRenderLayer getRenderLayer() { - return BlockRenderLayer.CUTOUT; - } +// @Override // TOOD 1.15 register layer +// public BlockRenderLayer getRenderLayer() { +// return BlockRenderLayer.CUTOUT; +// } @Override public boolean isValidPosition(BlockState state, IWorldReader worldIn, BlockPos pos) { diff --git a/src/main/java/com/simibubi/create/modules/contraptions/components/actors/HarvesterTileEntityRenderer.java b/src/main/java/com/simibubi/create/modules/contraptions/components/actors/HarvesterTileEntityRenderer.java index d6123b441..afbe7986e 100644 --- a/src/main/java/com/simibubi/create/modules/contraptions/components/actors/HarvesterTileEntityRenderer.java +++ b/src/main/java/com/simibubi/create/modules/contraptions/components/actors/HarvesterTileEntityRenderer.java @@ -2,8 +2,9 @@ package com.simibubi.create.modules.contraptions.components.actors; import static net.minecraft.state.properties.BlockStateProperties.HORIZONTAL_FACING; +import com.mojang.blaze3d.matrix.MatrixStack; import com.simibubi.create.AllBlockPartials; -import com.simibubi.create.foundation.block.SafeTileEntityRendererFast; +import com.simibubi.create.foundation.block.SafeTileEntityRenderer; import com.simibubi.create.foundation.utility.AnimationTickHolder; import com.simibubi.create.foundation.utility.SuperByteBuffer; import com.simibubi.create.foundation.utility.VecHelper; @@ -11,18 +12,25 @@ import com.simibubi.create.modules.contraptions.components.contraptions.Movement import net.minecraft.block.BlockState; import net.minecraft.client.renderer.BufferBuilder; +import net.minecraft.client.renderer.IRenderTypeBuffer; +import net.minecraft.client.renderer.RenderType; +import net.minecraft.client.renderer.tileentity.TileEntityRendererDispatcher; import net.minecraft.util.Direction; import net.minecraft.util.Direction.Axis; import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; -public class HarvesterTileEntityRenderer extends SafeTileEntityRendererFast { +public class HarvesterTileEntityRenderer extends SafeTileEntityRenderer { + + public HarvesterTileEntityRenderer(TileEntityRendererDispatcher dispatcher) { + super(dispatcher); + } @Override - public void renderFast(HarvesterTileEntity te, double x, double y, double z, float partialTicks, int destroyStage, - BufferBuilder buffer) { - SuperByteBuffer superBuffer = renderHead(getWorld(), te.getPos(), te.getBlockState(), 0); - superBuffer.translate(x, y, z).renderInto(buffer); + protected void renderSafe(HarvesterTileEntity te, float partialTicks, MatrixStack ms, IRenderTypeBuffer buffer, + int light, int overlay) { + SuperByteBuffer superBuffer = renderHead(te.getWorld(), te.getPos(), te.getBlockState(), 0); + superBuffer.renderInto(ms, buffer.getBuffer(RenderType.getSolid())); } public static SuperByteBuffer renderInContraption(MovementContext context) { diff --git a/src/main/java/com/simibubi/create/modules/contraptions/components/clock/CuckooClockBlock.java b/src/main/java/com/simibubi/create/modules/contraptions/components/clock/CuckooClockBlock.java index 02cc18810..e3fbe0003 100644 --- a/src/main/java/com/simibubi/create/modules/contraptions/components/clock/CuckooClockBlock.java +++ b/src/main/java/com/simibubi/create/modules/contraptions/components/clock/CuckooClockBlock.java @@ -10,10 +10,9 @@ import net.minecraft.item.BlockItemUseContext; import net.minecraft.item.ItemGroup; import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.BlockRenderLayer; import net.minecraft.util.Direction; -import net.minecraft.util.NonNullList; import net.minecraft.util.Direction.Axis; +import net.minecraft.util.NonNullList; import net.minecraft.util.math.BlockPos; import net.minecraft.world.IBlockReader; import net.minecraft.world.IWorldReader; @@ -32,10 +31,10 @@ public class CuckooClockBlock extends HorizontalKineticBlock { return new CuckooClockTileEntity(); } - @Override - public BlockRenderLayer getRenderLayer() { - return BlockRenderLayer.CUTOUT; - } +// @Override // TOOD 1.15 register layer +// public BlockRenderLayer getRenderLayer() { +// return BlockRenderLayer.CUTOUT; +// } @Override public void fillItemGroup(ItemGroup group, NonNullList items) { diff --git a/src/main/java/com/simibubi/create/modules/contraptions/components/clock/CuckooClockRenderer.java b/src/main/java/com/simibubi/create/modules/contraptions/components/clock/CuckooClockRenderer.java index 74c85cbb6..e5ce0f9fe 100644 --- a/src/main/java/com/simibubi/create/modules/contraptions/components/clock/CuckooClockRenderer.java +++ b/src/main/java/com/simibubi/create/modules/contraptions/components/clock/CuckooClockRenderer.java @@ -1,6 +1,7 @@ package com.simibubi.create.modules.contraptions.components.clock; import com.mojang.blaze3d.matrix.MatrixStack; +import com.mojang.blaze3d.vertex.IVertexBuilder; import com.simibubi.create.AllBlockPartials; import com.simibubi.create.foundation.utility.AngleHelper; import com.simibubi.create.foundation.utility.SuperByteBuffer; @@ -11,6 +12,7 @@ import com.simibubi.create.modules.contraptions.components.clock.CuckooClockTile import net.minecraft.block.BlockState; import net.minecraft.client.renderer.BufferBuilder; import net.minecraft.client.renderer.IRenderTypeBuffer; +import net.minecraft.client.renderer.RenderType; import net.minecraft.client.renderer.tileentity.TileEntityRendererDispatcher; import net.minecraft.util.Direction; import net.minecraft.util.Direction.Axis; @@ -31,16 +33,18 @@ public class CuckooClockRenderer extends KineticTileEntityRenderer { CuckooClockTileEntity clock = (CuckooClockTileEntity) te; BlockState blockState = te.getBlockState(); - int light = blockState.getPackedLightmapCoords(getWorld(), te.getPos()); + int packedLightmapCoords = blockState.getPackedLightmapCoords(te.getWorld(), te.getPos()); Direction direction = blockState.get(CuckooClockBlock.HORIZONTAL_FACING); + + IVertexBuilder vb = buffer.getBuffer(RenderType.getSolid()); // Render Hands SuperByteBuffer hourHand = AllBlockPartials.CUCKOO_HOUR_HAND.renderOn(blockState); SuperByteBuffer minuteHand = AllBlockPartials.CUCKOO_MINUTE_HAND.renderOn(blockState); float hourAngle = clock.hourHand.get(partialTicks); float minuteAngle = clock.minuteHand.get(partialTicks); - rotateHand(hourHand, hourAngle, direction).translate(x, y, z).light(light).renderInto(buffer); - rotateHand(minuteHand, minuteAngle, direction).translate(x, y, z).light(light).renderInto(buffer); + rotateHand(hourHand, hourAngle, direction).light(packedLightmapCoords).renderInto(ms, vb); + rotateHand(minuteHand, minuteAngle, direction).light(packedLightmapCoords).renderInto(ms, vb); // Doors SuperByteBuffer leftDoor = AllBlockPartials.CUCKOO_LEFT_DOOR.renderOn(blockState); @@ -65,8 +69,8 @@ public class CuckooClockRenderer extends KineticTileEntityRenderer { } } - rotateDoor(leftDoor, angle, true, direction).translate(x, y, z).light(light).renderInto(buffer); - rotateDoor(rightDoor, angle, false, direction).translate(x, y, z).light(light).renderInto(buffer); + rotateDoor(leftDoor, angle, true, direction).light(packedLightmapCoords).renderInto(ms, vb); + rotateDoor(rightDoor, angle, false, direction).light(packedLightmapCoords).renderInto(ms, vb); // Figure if (clock.animationType != null) { @@ -75,7 +79,7 @@ public class CuckooClockRenderer extends KineticTileEntityRenderer { : AllBlockPartials.CUCKOO_CREEPER).renderOn(blockState); figure.translate(offset, 0, 0); figure.rotateCentered(Axis.Y, AngleHelper.rad(AngleHelper.horizontalAngle(direction.rotateYCCW()))); - figure.translate(x, y, z).light(light).renderInto(buffer); + figure.light(packedLightmapCoords).renderInto(ms, vb); } } diff --git a/src/main/java/com/simibubi/create/modules/contraptions/components/contraptions/CancelPlayerFallPacket.java b/src/main/java/com/simibubi/create/modules/contraptions/components/contraptions/CancelPlayerFallPacket.java index 523c0ee14..3833d0e4a 100644 --- a/src/main/java/com/simibubi/create/modules/contraptions/components/contraptions/CancelPlayerFallPacket.java +++ b/src/main/java/com/simibubi/create/modules/contraptions/components/contraptions/CancelPlayerFallPacket.java @@ -24,7 +24,7 @@ public class CancelPlayerFallPacket extends SimplePacketBase { public void handle(Supplier context) { context.get().enqueueWork(() -> { ServerPlayerEntity sender = context.get().getSender(); - sender.fall(sender.fallDistance, 1.0F); + sender.handleFallDamage(sender.fallDistance, 1.0F); sender.fallDistance = 0; sender.onGround = true; }); diff --git a/src/main/java/com/simibubi/create/modules/contraptions/components/contraptions/ChassisRangeDisplay.java b/src/main/java/com/simibubi/create/modules/contraptions/components/contraptions/ChassisRangeDisplay.java index 964e1fd06..d7b94007f 100644 --- a/src/main/java/com/simibubi/create/modules/contraptions/components/contraptions/ChassisRangeDisplay.java +++ b/src/main/java/com/simibubi/create/modules/contraptions/components/contraptions/ChassisRangeDisplay.java @@ -9,7 +9,7 @@ import java.util.List; import java.util.Map; import java.util.Set; -import com.mojang.blaze3d.platform.GlStateManager; +import com.mojang.blaze3d.systems.RenderSystem; import com.simibubi.create.AllItems; import com.simibubi.create.AllKeys; import com.simibubi.create.foundation.utility.TessellatorHelper; @@ -173,20 +173,20 @@ public class ChassisRangeDisplay { } public static void renderOutlines(float partialTicks) { - GlStateManager.lineWidth(2); + RenderSystem.lineWidth(2); TessellatorHelper.prepareForDrawing(); - GlStateManager.disableTexture(); - GlStateManager.enableAlphaTest(); + RenderSystem.disableTexture(); + RenderSystem.enableAlphaTest(); for (Entry entry : entries.values()) renderPositions(entry, partialTicks); for (Entry groupEntry : groupEntries) renderPositions(groupEntry, partialTicks); - GlStateManager.enableTexture(); - GlStateManager.blendFunc(GlStateManager.SourceFactor.SRC_ALPHA, GlStateManager.DestFactor.ONE_MINUS_SRC_ALPHA); + RenderSystem.enableTexture(); + RenderSystem.blendFunc(SourceFactor.SRC_ALPHA, DestFactor.ONE_MINUS_SRC_ALPHA); TessellatorHelper.cleanUpAfterDrawing(); - GlStateManager.lineWidth(1); + RenderSystem.lineWidth(1); } public static void renderPositions(Entry entry, float partialTicks) { @@ -194,7 +194,7 @@ public class ChassisRangeDisplay { BlockPos size = new BlockPos(1, 1, 1); float timer = entry.timer - partialTicks; float alpha = timer > 20 ? .5f : timer / 40f; - GlStateManager.color4f(1, .7f, 0, alpha); + RenderSystem.color4f(1, .7f, 0, alpha); Set includedPositions = entry.includedPositions; for (BlockPos pos : includedPositions) TessellatorHelper.cube(Tessellator.getInstance().getBuffer(), pos, size, 1 / 1024f, true, false); diff --git a/src/main/java/com/simibubi/create/modules/contraptions/components/contraptions/ContraptionCollider.java b/src/main/java/com/simibubi/create/modules/contraptions/components/contraptions/ContraptionCollider.java index 4452f949d..beabf18fd 100644 --- a/src/main/java/com/simibubi/create/modules/contraptions/components/contraptions/ContraptionCollider.java +++ b/src/main/java/com/simibubi/create/modules/contraptions/components/contraptions/ContraptionCollider.java @@ -73,7 +73,7 @@ public class ContraptionCollider { if (allowedMovement.equals(relativeMotion)) continue; if (allowedMovement.y != relativeMotion.y) { - entity.fall(entity.fallDistance, 1); + entity.handleFallDamage(entity.fallDistance, 1); entity.fallDistance = 0; entity.onGround = true; DistExecutor.runWhenOn(Dist.CLIENT, () -> () -> checkForClientPlayerCollision(entity)); @@ -142,7 +142,7 @@ public class ContraptionCollider { if (bestSide == Direction.UP) clamped = shapeMotion.y; entity.setMotion(entityMotion.x, clamped, entityMotion.z); - entity.fall(entity.fallDistance, 1); + entity.handleFallDamage(entity.fallDistance, 1); entity.fallDistance = 0; entity.onGround = true; break; diff --git a/src/main/java/com/simibubi/create/modules/contraptions/components/contraptions/ContraptionEntity.java b/src/main/java/com/simibubi/create/modules/contraptions/components/contraptions/ContraptionEntity.java index 07f52fb32..dc7cd4437 100644 --- a/src/main/java/com/simibubi/create/modules/contraptions/components/contraptions/ContraptionEntity.java +++ b/src/main/java/com/simibubi/create/modules/contraptions/components/contraptions/ContraptionEntity.java @@ -133,7 +133,7 @@ public class ContraptionEntity extends Entity implements IEntityAdditionalSpawnD if (ContraptionCollider.collideBlocks(this)) controllerTE.collided(); - tickActors(new Vec3d(posX - prevPosX, posY - prevPosY, posZ - prevPosZ)); + tickActors(getPositionVec().subtract(prevPosX, prevPosY, prevPosZ)); prevYaw = yaw; prevPitch = pitch; @@ -152,7 +152,7 @@ public class ContraptionEntity extends Entity implements IEntityAdditionalSpawnD riding = riding.getRidingEntity(); Vec3d movementVector = riding.getMotion(); if (riding instanceof BoatEntity) - movementVector = new Vec3d(posX - prevPosX, posY - prevPosY, posZ - prevPosZ); + movementVector = getPositionVec().subtract(prevPosX, prevPosY, prevPosZ); Vec3d motion = movementVector.normalize(); if (motion.length() > 0) { @@ -201,7 +201,7 @@ public class ContraptionEntity extends Entity implements IEntityAdditionalSpawnD Vec3d actorPosition = new Vec3d(blockInfo.pos); actorPosition = actorPosition.add(actor.getActiveAreaOffset(context)); actorPosition = VecHelper.rotate(actorPosition, angleRoll, angleYaw, anglePitch); - actorPosition = actorPosition.add(rotationOffset).add(posX, posY, posZ); + actorPosition = actorPosition.add(rotationOffset).add(getPositionVec()); boolean newPosVisited = false; BlockPos gridPosition = new BlockPos(actorPosition); @@ -259,7 +259,7 @@ public class ContraptionEntity extends Entity implements IEntityAdditionalSpawnD if (controllerTE != null) controllerTE.onStall(); AllPackets.channel.send(PacketDistributor.TRACKING_ENTITY.with(() -> this), - new ContraptionStallPacket(getEntityId(), posX, posY, posZ, yaw, pitch, roll)); + new ContraptionStallPacket(getEntityId(), getX(), getY(), getZ(), yaw, pitch, roll)); } dataManager.set(STALLED, contraption.stalled); } else { @@ -268,7 +268,7 @@ public class ContraptionEntity extends Entity implements IEntityAdditionalSpawnD } public void move(double x, double y, double z) { - setPosition(posX + x, posY + y, posZ + z); + setPosition(x + getX() + x, getY() + y, getZ() + z); } public void rotateTo(double roll, double yaw, double pitch) { @@ -294,13 +294,11 @@ public class ContraptionEntity extends Entity implements IEntityAdditionalSpawnD Entity riding = e; while (riding.getRidingEntity() != null) riding = riding.getRidingEntity(); - x = riding.posX - .5; - z = riding.posZ - .5; + x = riding.getX() - .5; + z = riding.getZ() - .5; } - this.posX = x; - this.posY = y; - this.posZ = z; + this.setPos(x, y, z); if (this.isAddedToWorld() && !this.world.isRemote && world instanceof ServerWorld) ((ServerWorld) this.world).chunkCheck(this); // Forge - Process chunk registration after moving. @@ -382,7 +380,7 @@ public class ContraptionEntity extends Entity implements IEntityAdditionalSpawnD controllerTE.attach(this); if (world.isRemote) - setPosition(posX, posY, posZ); + setPosition(getX(), getY(), getZ()); } } @@ -471,7 +469,7 @@ public class ContraptionEntity extends Entity implements IEntityAdditionalSpawnD vec = vec3d.subtract(stuckTest); if (vec.equals(Vec3d.ZERO)) continue; - e.setPosition(e.posX + vec.x, e.posY + vec.y, e.posZ + vec.z); + e.setPosition(e.getX() + vec.x, e.getY() + vec.y, e.getZ() + vec.z); } } @@ -501,9 +499,7 @@ public class ContraptionEntity extends Entity implements IEntityAdditionalSpawnD return; ContraptionEntity ce = (ContraptionEntity) entity; if (ce.getRidingEntity() == null) { - ce.posX = packet.x; - ce.posY = packet.y; - ce.posZ = packet.z; + ce.setPos(packet.x, packet.y, packet.z); } ce.yaw = packet.yaw; ce.pitch = packet.pitch; diff --git a/src/main/java/com/simibubi/create/modules/contraptions/components/contraptions/ContraptionEntityRenderer.java b/src/main/java/com/simibubi/create/modules/contraptions/components/contraptions/ContraptionEntityRenderer.java index d0ff0a69b..954e3e4cb 100644 --- a/src/main/java/com/simibubi/create/modules/contraptions/components/contraptions/ContraptionEntityRenderer.java +++ b/src/main/java/com/simibubi/create/modules/contraptions/components/contraptions/ContraptionEntityRenderer.java @@ -1,9 +1,11 @@ package com.simibubi.create.modules.contraptions.components.contraptions; -import com.mojang.blaze3d.platform.GlStateManager; +import com.mojang.blaze3d.matrix.MatrixStack; +import com.mojang.blaze3d.systems.RenderSystem; import com.simibubi.create.foundation.utility.TessellatorHelper; import com.simibubi.create.foundation.utility.VecHelper; +import net.minecraft.client.renderer.IRenderTypeBuffer; import net.minecraft.client.renderer.RenderHelper; import net.minecraft.client.renderer.Tessellator; import net.minecraft.client.renderer.entity.EntityRenderer; @@ -24,24 +26,25 @@ public class ContraptionEntityRenderer extends EntityRenderer } @Override - protected ResourceLocation getEntityTexture(ContraptionEntity arg0) { + public ResourceLocation getEntityTexture(ContraptionEntity arg0) { return null; } @Override - public void doRender(ContraptionEntity entity, double x, double y, double z, float yaw, float partialTicks) { + public void render(ContraptionEntity entity, float yaw, float partialTicks, MatrixStack ms, + IRenderTypeBuffer buffers, int overlay) { if (!entity.isAlive()) return; if (entity.getContraption() == null) return; - GlStateManager.pushMatrix(); + RenderSystem.pushMatrix(); long randomBits = (long) entity.getEntityId() * 493286711L; randomBits = randomBits * randomBits * 4392167121L + randomBits * 98761L; float xNudge = (((float) (randomBits >> 16 & 7L) + 0.5F) / 8.0F - 0.5F) * 0.004F; float yNudge = (((float) (randomBits >> 20 & 7L) + 0.5F) / 8.0F - 0.5F) * 0.004F; float zNudge = (((float) (randomBits >> 24 & 7L) + 0.5F) / 8.0F - 0.5F) * 0.004F; - GlStateManager.translatef(xNudge, yNudge, zNudge); + RenderSystem.translatef(xNudge, yNudge, zNudge); float degYaw = entity.getYaw(partialTicks); float degPitch = entity.getPitch(partialTicks); @@ -55,9 +58,9 @@ public class ContraptionEntityRenderer extends EntityRenderer if (ridingEntity != null && ridingEntity instanceof AbstractMinecartEntity) { AbstractMinecartEntity cart = (AbstractMinecartEntity) ridingEntity; - double cartX = MathHelper.lerp((double) partialTicks, cart.lastTickPosX, cart.posX); - double cartY = MathHelper.lerp((double) partialTicks, cart.lastTickPosY, cart.posY); - double cartZ = MathHelper.lerp((double) partialTicks, cart.lastTickPosZ, cart.posZ); + double cartX = MathHelper.lerp((double) partialTicks, cart.lastTickPosX, cart.getX()); + double cartY = MathHelper.lerp((double) partialTicks, cart.lastTickPosY, cart.getY()); + double cartZ = MathHelper.lerp((double) partialTicks, cart.lastTickPosZ, cart.getZ()); Vec3d cartPos = cart.getPos(cartX, cartY, cartZ); if (cartPos != null) { @@ -72,13 +75,13 @@ public class ContraptionEntityRenderer extends EntityRenderer cartY = (cartPosFront.y + cartPosBack.y) / 2.0D - cartY; cartZ = cartPos.z - cartZ; - GlStateManager.translatef((float) cartX, (float) cartY, (float) cartZ); + RenderSystem.translatef((float) cartX, (float) cartY, (float) cartZ); } } Vec3d rotationOffset = VecHelper.getCenterOf(BlockPos.ZERO); TessellatorHelper.prepareFastRender(); - GlStateManager.enableCull(); + RenderSystem.enableCull(); TessellatorHelper.begin(DefaultVertexFormats.BLOCK); ContraptionRenderer.render(entity.world, entity.getContraption(), superByteBuffer -> { superByteBuffer.translate(-rotationOffset.x, -rotationOffset.y, -rotationOffset.z); @@ -86,33 +89,30 @@ public class ContraptionEntityRenderer extends EntityRenderer superByteBuffer.rotate(Axis.Y, angleYaw); superByteBuffer.rotate(Axis.Z, anglePitch); superByteBuffer.translate(rotationOffset.x, rotationOffset.y, rotationOffset.z); - superByteBuffer.translate(x, y, z); - superByteBuffer.offsetLighting(-x + entity.posX, -y + entity.posY, -z + entity.posZ); - - }, Tessellator.getInstance().getBuffer()); + }, ms, Tessellator.getInstance().getBuffer()); TessellatorHelper.draw(); if (!entity.getContraption().customRenderTEs.isEmpty()) { - GlStateManager.pushMatrix(); - GlStateManager.translated(x, y, z); - GlStateManager.translated(rotationOffset.x, rotationOffset.y, rotationOffset.z); - GlStateManager.rotated(degPitch, 0, 0, 1); - GlStateManager.rotated(degYaw, 0, 1, 0); - GlStateManager.rotated(degRoll, 1, 0, 0); - GlStateManager.translated(-rotationOffset.x, -rotationOffset.y, -rotationOffset.z); + RenderSystem.pushMatrix(); + RenderSystem.translated(x, y, z); + RenderSystem.translated(rotationOffset.x, rotationOffset.y, rotationOffset.z); + RenderSystem.rotated(degPitch, 0, 0, 1); + RenderSystem.rotated(degYaw, 0, 1, 0); + RenderSystem.rotated(degRoll, 1, 0, 0); + RenderSystem.translated(-rotationOffset.x, -rotationOffset.y, -rotationOffset.z); ContraptionRenderer.renderTEsWithGL(entity.world, entity.getContraption(), entity.getPositionVec(), - new Vec3d(degRoll, degYaw, degPitch)); - GlStateManager.popMatrix(); + new Vec3d(degRoll, degYaw, degPitch), ms, buffers); + RenderSystem.popMatrix(); } - GlStateManager.disableCull(); - GlStateManager.popMatrix(); - GlStateManager.shadeModel(7424); - GlStateManager.alphaFunc(516, 0.1F); - GlStateManager.matrixMode(5888); + RenderSystem.disableCull(); + RenderSystem.popMatrix(); + RenderSystem.shadeModel(7424); + RenderSystem.alphaFunc(516, 0.1F); + RenderSystem.matrixMode(5888); RenderHelper.enableStandardItemLighting(); - super.doRender(entity, x, y, z, yaw, partialTicks); + super.render(entity, yaw, partialTicks, ms, buffers, overlay); } } diff --git a/src/main/java/com/simibubi/create/modules/contraptions/components/contraptions/ContraptionRenderer.java b/src/main/java/com/simibubi/create/modules/contraptions/components/contraptions/ContraptionRenderer.java index 6bf05cbed..09203f4bc 100644 --- a/src/main/java/com/simibubi/create/modules/contraptions/components/contraptions/ContraptionRenderer.java +++ b/src/main/java/com/simibubi/create/modules/contraptions/components/contraptions/ContraptionRenderer.java @@ -7,15 +7,16 @@ import java.util.function.Consumer; import org.apache.commons.lang3.tuple.Pair; import org.lwjgl.opengl.GL11; +import com.mojang.blaze3d.matrix.MatrixStack; import com.mojang.blaze3d.platform.GLX; -import com.mojang.blaze3d.platform.GlStateManager; +import com.mojang.blaze3d.systems.RenderSystem; import com.simibubi.create.Create; import com.simibubi.create.CreateClient; import com.simibubi.create.config.AllConfigs; import com.simibubi.create.foundation.utility.PlacementSimulationWorld; import com.simibubi.create.foundation.utility.SuperByteBuffer; -import com.simibubi.create.foundation.utility.VecHelper; import com.simibubi.create.foundation.utility.SuperByteBufferCache.Compartment; +import com.simibubi.create.foundation.utility.VecHelper; import com.simibubi.create.foundation.utility.WrappedWorld; import net.minecraft.block.BlockRenderType; @@ -24,14 +25,15 @@ import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.BlockModelRenderer; import net.minecraft.client.renderer.BlockRendererDispatcher; import net.minecraft.client.renderer.BufferBuilder; +import net.minecraft.client.renderer.IRenderTypeBuffer; import net.minecraft.client.renderer.RenderHelper; import net.minecraft.client.renderer.model.IBakedModel; +import net.minecraft.client.renderer.texture.OverlayTexture; import net.minecraft.client.renderer.tileentity.TileEntityRendererDispatcher; import net.minecraft.client.renderer.vertex.DefaultVertexFormats; import net.minecraft.crash.ReportedException; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.math.BlockPos; -import net.minecraft.util.math.BlockPos.MutableBlockPos; import net.minecraft.util.math.Vec3d; import net.minecraft.world.LightType; import net.minecraft.world.World; @@ -44,27 +46,24 @@ public class ContraptionRenderer { protected static PlacementSimulationWorld renderWorld; protected static LightingWorld lightingWorld; - public static void render(World world, Contraption c, Consumer transform, BufferBuilder buffer) { + public static void render(World world, Contraption c, Consumer transform, MatrixStack ms, BufferBuilder buffer) { SuperByteBuffer contraptionBuffer = CreateClient.bufferCache.get(CONTRAPTION, c, () -> renderContraption(c)); transform.accept(contraptionBuffer); - contraptionBuffer.light((lx, ly, lz) -> getLight(world, lx, ly, lz)).renderInto(buffer); - renderActors(world, c, transform, buffer); + contraptionBuffer.light((lx, ly, lz) -> getLight(world, lx, ly, lz)).renderInto(ms, buffer); + renderActors(world, c, transform, ms, buffer); } - public static void renderTEsWithGL(World world, Contraption c, Vec3d position, Vec3d rotation) { - TileEntityRendererDispatcher dispatcher = TileEntityRendererDispatcher.instance; + public static void renderTEsWithGL(World world, Contraption c, Vec3d position, Vec3d rotation, MatrixStack ms, IRenderTypeBuffer buffer) { float pt = Minecraft.getInstance().getRenderPartialTicks(); - World prevDispatcherWorld = dispatcher.world; if (lightingWorld == null) lightingWorld = new LightingWorld(world); lightingWorld.setWorld(world); lightingWorld.setTransform(position, rotation); - dispatcher.setWorld(lightingWorld); for (Iterator iterator = c.customRenderTEs.iterator(); iterator.hasNext();) { TileEntity tileEntity = iterator.next(); - if (dispatcher.getRenderer(tileEntity) == null) { + if (TileEntityRendererDispatcher.instance.getRenderer(tileEntity) == null) { iterator.remove(); continue; } @@ -77,14 +76,14 @@ public class ContraptionRenderer { int i = lightingWorld.getCombinedLight(pos, 0); int j = i % 65536; int k = i / 65536; - GLX.glMultiTexCoord2f(GLX.GL_TEXTURE1, (float) j, (float) k); - GlStateManager.color4f(1.0F, 1.0F, 1.0F, 1.0F); + RenderSystem.glMultiTexCoord2f(GLX.GL_TEXTURE1, (float) j, (float) k); + RenderSystem.color4f(1.0F, 1.0F, 1.0F, 1.0F); } World prevTileWorld = tileEntity.getWorld(); - tileEntity.setWorld(lightingWorld); - dispatcher.render(tileEntity, pos.getX(), pos.getY(), pos.getZ(), pt, -1, true); - tileEntity.setWorld(prevTileWorld); + tileEntity.setLocation(lightingWorld, pos); + TileEntityRendererDispatcher.instance.render(tileEntity, pt, ms, buffer); + tileEntity.setLocation(prevTileWorld, pos); } catch (ReportedException e) { if (AllConfigs.CLIENT.explainRenderErrors.get()) { @@ -98,11 +97,9 @@ public class ContraptionRenderer { continue; } } - - dispatcher.setWorld(prevDispatcherWorld); } - private static SuperByteBuffer renderContraption(Contraption c) { + private static SuperByteBuffer renderContraption(Contraption c, MatrixStack ms) { if (renderWorld == null || renderWorld.getWorld() != Minecraft.getInstance().world) renderWorld = new PlacementSimulationWorld(Minecraft.getInstance().world); @@ -122,8 +119,8 @@ public class ContraptionRenderer { continue; IBakedModel originalModel = dispatcher.getModelForState(state); - blockRenderer.renderModel(renderWorld, originalModel, state, info.pos, builder, true, random, 42, - EmptyModelData.INSTANCE); + blockRenderer.renderModel(renderWorld, originalModel, state, info.pos, ms, builder, true, random, 42, + OverlayTexture.DEFAULT_UV, EmptyModelData.INSTANCE); } builder.finishDrawing(); @@ -132,7 +129,7 @@ public class ContraptionRenderer { } private static void renderActors(World world, Contraption c, Consumer transform, - BufferBuilder buffer) { + MatrixStack ms, BufferBuilder buffer) { for (Pair actor : c.getActors()) { MovementContext context = actor.getRight(); if (context == null) @@ -151,7 +148,7 @@ public class ContraptionRenderer { render.translate(posX, posY, posZ); transform.accept(render); - render.light((lx, ly, lz) -> getLight(world, lx, ly, lz)).renderInto(buffer); + render.light((lx, ly, lz) -> getLight(world, lx, ly, lz)).renderInto(ms, buffer); } } } diff --git a/src/main/java/com/simibubi/create/modules/contraptions/components/contraptions/bearing/ClockworkBearingBlock.java b/src/main/java/com/simibubi/create/modules/contraptions/components/contraptions/bearing/ClockworkBearingBlock.java index d94397794..fa8c2bd75 100644 --- a/src/main/java/com/simibubi/create/modules/contraptions/components/contraptions/bearing/ClockworkBearingBlock.java +++ b/src/main/java/com/simibubi/create/modules/contraptions/components/contraptions/bearing/ClockworkBearingBlock.java @@ -5,6 +5,7 @@ import com.simibubi.create.foundation.block.IWithTileEntity; import net.minecraft.block.BlockState; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.ActionResultType; import net.minecraft.util.Hand; import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.BlockRayTraceResult; @@ -19,12 +20,12 @@ public class ClockworkBearingBlock extends BearingBlock implements IWithTileEnti } @Override - public boolean onBlockActivated(BlockState state, World worldIn, BlockPos pos, PlayerEntity player, Hand handIn, - BlockRayTraceResult hit) { + public ActionResultType onUse(BlockState state, World worldIn, BlockPos pos, + PlayerEntity player, Hand handIn, BlockRayTraceResult hit) { if (!player.isAllowEdit()) - return false; + return ActionResultType.FAIL; if (player.isSneaking()) - return false; + return ActionResultType.FAIL; if (player.getHeldItem(handIn).isEmpty()) { if (!worldIn.isRemote) { withTileEntityDo(worldIn, pos, te -> { @@ -35,9 +36,9 @@ public class ClockworkBearingBlock extends BearingBlock implements IWithTileEnti te.assembleNextTick = true; }); } - return true; + return ActionResultType.SUCCESS; } - return false; + return ActionResultType.PASS; } } diff --git a/src/main/java/com/simibubi/create/modules/contraptions/components/contraptions/bearing/MechanicalBearingBlock.java b/src/main/java/com/simibubi/create/modules/contraptions/components/contraptions/bearing/MechanicalBearingBlock.java index 5652a3562..05f7ef6e8 100644 --- a/src/main/java/com/simibubi/create/modules/contraptions/components/contraptions/bearing/MechanicalBearingBlock.java +++ b/src/main/java/com/simibubi/create/modules/contraptions/components/contraptions/bearing/MechanicalBearingBlock.java @@ -6,6 +6,7 @@ import net.minecraft.block.Block; import net.minecraft.block.BlockState; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.ActionResultType; import net.minecraft.util.Hand; import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.BlockRayTraceResult; @@ -20,12 +21,12 @@ public class MechanicalBearingBlock extends BearingBlock implements IWithTileEnt } @Override - public boolean onBlockActivated(BlockState state, World worldIn, BlockPos pos, PlayerEntity player, Hand handIn, - BlockRayTraceResult hit) { + public ActionResultType onUse(BlockState state, World worldIn, BlockPos pos, + PlayerEntity player, Hand handIn, BlockRayTraceResult hit) { if (!player.isAllowEdit()) - return false; + return ActionResultType.FAIL; if (player.isSneaking()) - return false; + return ActionResultType.FAIL; if (player.getHeldItem(handIn).isEmpty()) { if (!worldIn.isRemote) { withTileEntityDo(worldIn, pos, te -> { @@ -36,9 +37,9 @@ public class MechanicalBearingBlock extends BearingBlock implements IWithTileEnt te.assembleNextTick = true; }); } - return true; + return ActionResultType.SUCCESS; } - return false; + return ActionResultType.PASS; } @Override diff --git a/src/main/java/com/simibubi/create/modules/contraptions/components/contraptions/chassis/LinearChassisBlock.java b/src/main/java/com/simibubi/create/modules/contraptions/components/contraptions/chassis/LinearChassisBlock.java index 65cd8d2dd..c8967f9c4 100644 --- a/src/main/java/com/simibubi/create/modules/contraptions/components/contraptions/chassis/LinearChassisBlock.java +++ b/src/main/java/com/simibubi/create/modules/contraptions/components/contraptions/chassis/LinearChassisBlock.java @@ -18,7 +18,7 @@ import net.minecraft.state.StateContainer.Builder; import net.minecraft.util.Direction; import net.minecraft.util.Direction.AxisDirection; import net.minecraft.util.math.BlockPos; -import net.minecraft.world.IEnviromentBlockReader; +import net.minecraft.world.ILightReader; public class LinearChassisBlock extends AbstractChassisBlock implements IHaveConnectedTextures { @@ -40,9 +40,9 @@ public class LinearChassisBlock extends AbstractChassisBlock implements IHaveCon public BlockState getStateForPlacement(BlockItemUseContext context) { BlockPos placedOnPos = context.getPos().offset(context.getFace().getOpposite()); BlockState blockState = context.getWorld().getBlockState(placedOnPos); - if (isChassis(blockState) && !context.isPlacerSneaking()) + if (isChassis(blockState) && !context.getPlayer().isSneaking()) return getDefaultState().with(AXIS, blockState.get(AXIS)); - if (!context.isPlacerSneaking()) + if (!context.getPlayer().isSneaking()) return getDefaultState().with(AXIS, context.getNearestLookingDirection().getAxis()); return super.getStateForPlacement(context); } @@ -104,7 +104,7 @@ public class LinearChassisBlock extends AbstractChassisBlock implements IHaveCon } @Override - public boolean connectsTo(BlockState state, BlockState other, IEnviromentBlockReader reader, BlockPos pos, + public boolean connectsTo(BlockState state, BlockState other, ILightReader reader, BlockPos pos, BlockPos otherPos, Direction face) { return sameKind(state, other) && state.get(AXIS) == other.get(AXIS); } diff --git a/src/main/java/com/simibubi/create/modules/contraptions/components/contraptions/mounted/CartAssemblerBlock.java b/src/main/java/com/simibubi/create/modules/contraptions/components/contraptions/mounted/CartAssemblerBlock.java index f16be373f..4f0d45065 100644 --- a/src/main/java/com/simibubi/create/modules/contraptions/components/contraptions/mounted/CartAssemblerBlock.java +++ b/src/main/java/com/simibubi/create/modules/contraptions/components/contraptions/mounted/CartAssemblerBlock.java @@ -137,12 +137,6 @@ public class CartAssemblerBlock extends AbstractRailBlock { builder.add(BlockStateProperties.HORIZONTAL_AXIS); super.fillStateContainer(builder); } - - @Override - public boolean isSolid(BlockState state) { - return false; - } - } public static BlockState createAnchor(BlockState state) { diff --git a/src/main/java/com/simibubi/create/modules/contraptions/components/crafter/ConnectedInputRenderer.java b/src/main/java/com/simibubi/create/modules/contraptions/components/crafter/ConnectedInputRenderer.java index 77d63149b..42550098d 100644 --- a/src/main/java/com/simibubi/create/modules/contraptions/components/crafter/ConnectedInputRenderer.java +++ b/src/main/java/com/simibubi/create/modules/contraptions/components/crafter/ConnectedInputRenderer.java @@ -2,7 +2,7 @@ package com.simibubi.create.modules.contraptions.components.crafter; import org.apache.commons.lang3.tuple.Pair; -import com.mojang.blaze3d.platform.GlStateManager; +import com.mojang.blaze3d.systems.RenderSystem; import com.simibubi.create.AllBlocks; import com.simibubi.create.AllItems; import com.simibubi.create.foundation.behaviour.ValueBox; @@ -25,7 +25,7 @@ import net.minecraft.util.math.RayTraceResult; import net.minecraft.util.math.RayTraceResult.Type; import net.minecraft.util.math.Vec3d; import net.minecraftforge.api.distmarker.Dist; -import net.minecraftforge.client.event.DrawBlockHighlightEvent; +import net.minecraftforge.client.event.DrawHighlightEvent; import net.minecraftforge.eventbus.api.SubscribeEvent; import net.minecraftforge.fml.common.Mod.EventBusSubscriber; @@ -33,7 +33,7 @@ import net.minecraftforge.fml.common.Mod.EventBusSubscriber; public class ConnectedInputRenderer { @SubscribeEvent - public static void renderBlockHighlight(DrawBlockHighlightEvent event) { + public static void renderHighlight(DrawHighlightEvent event) { RayTraceResult target = event.getTarget(); if (!(target instanceof BlockRayTraceResult)) return; @@ -58,7 +58,7 @@ public class ConnectedInputRenderer { return; TessellatorHelper.prepareForDrawing(); - GlStateManager.translated(pos.getX(), pos.getY(), pos.getZ()); + RenderSystem.translated(pos.getX(), pos.getY(), pos.getZ()); Direction activatedDirection = ConnectedInputHandler.getActivatedDirection(world, pos, face, result.getHitVec()); diff --git a/src/main/java/com/simibubi/create/modules/contraptions/components/crafter/CrafterHelper.java b/src/main/java/com/simibubi/create/modules/contraptions/components/crafter/CrafterHelper.java index 857c9e184..c02028027 100644 --- a/src/main/java/com/simibubi/create/modules/contraptions/components/crafter/CrafterHelper.java +++ b/src/main/java/com/simibubi/create/modules/contraptions/components/crafter/CrafterHelper.java @@ -2,18 +2,18 @@ package com.simibubi.create.modules.contraptions.components.crafter; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.math.BlockPos; -import net.minecraft.world.IEnviromentBlockReader; +import net.minecraft.world.ILightReader; public class CrafterHelper { - public static MechanicalCrafterTileEntity getCrafter(IEnviromentBlockReader reader, BlockPos pos) { + public static MechanicalCrafterTileEntity getCrafter(ILightReader reader, BlockPos pos) { TileEntity te = reader.getTileEntity(pos); if (!(te instanceof MechanicalCrafterTileEntity)) return null; return (MechanicalCrafterTileEntity) te; } - public static ConnectedInputHandler.ConnectedInput getInput(IEnviromentBlockReader reader, BlockPos pos) { + public static ConnectedInputHandler.ConnectedInput getInput(ILightReader reader, BlockPos pos) { MechanicalCrafterTileEntity crafter = getCrafter(reader, pos); return crafter == null ? null : crafter.input; } diff --git a/src/main/java/com/simibubi/create/modules/contraptions/components/crafter/InputCTBehaviour.java b/src/main/java/com/simibubi/create/modules/contraptions/components/crafter/InputCTBehaviour.java index e3b9574ef..f9f139c1b 100644 --- a/src/main/java/com/simibubi/create/modules/contraptions/components/crafter/InputCTBehaviour.java +++ b/src/main/java/com/simibubi/create/modules/contraptions/components/crafter/InputCTBehaviour.java @@ -15,7 +15,7 @@ import net.minecraft.util.Direction; import net.minecraft.util.Direction.Axis; import net.minecraft.util.Direction.AxisDirection; import net.minecraft.util.math.BlockPos; -import net.minecraft.world.IEnviromentBlockReader; +import net.minecraft.world.ILightReader; public class InputCTBehaviour extends ConnectedTextureBehaviour { @@ -24,7 +24,7 @@ public class InputCTBehaviour extends ConnectedTextureBehaviour { static final CTSpriteShiftEntry otherSide = CTSpriteShifter.get(CTType.HORIZONTAL, "crafter_side"); @Override - public boolean connectsTo(BlockState state, BlockState other, IEnviromentBlockReader reader, BlockPos pos, + public boolean connectsTo(BlockState state, BlockState other, ILightReader reader, BlockPos pos, BlockPos otherPos, Direction face) { if (state.getBlock() != other.getBlock()) return false; diff --git a/src/main/java/com/simibubi/create/modules/contraptions/components/crafter/MechanicalCrafterBlock.java b/src/main/java/com/simibubi/create/modules/contraptions/components/crafter/MechanicalCrafterBlock.java index 9f13847b3..eba68dfbd 100644 --- a/src/main/java/com/simibubi/create/modules/contraptions/components/crafter/MechanicalCrafterBlock.java +++ b/src/main/java/com/simibubi/create/modules/contraptions/components/crafter/MechanicalCrafterBlock.java @@ -82,7 +82,7 @@ public class MechanicalCrafterBlock extends HorizontalKineticBlock BlockPos placedOnPos = context.getPos().offset(face.getOpposite()); BlockState blockState = context.getWorld().getBlockState(placedOnPos); - if ((blockState.getBlock() != this) || context.isPlacerSneaking()) { + if ((blockState.getBlock() != this) || context.getPlayer().isSneaking()) { BlockState stateForPlacement = super.getStateForPlacement(context); Direction direction = stateForPlacement.get(HORIZONTAL_FACING); if (direction != face) @@ -230,10 +230,10 @@ public class MechanicalCrafterBlock extends HorizontalKineticBlock return false; } - @Override - public BlockRenderLayer getRenderLayer() { - return BlockRenderLayer.CUTOUT_MIPPED; - } +// @Override // TODO 1.15 register layer +// public BlockRenderLayer getRenderLayer() { +// return BlockRenderLayer.CUTOUT_MIPPED; +// } @Override public float getParticleTargetRadius() { diff --git a/src/main/java/com/simibubi/create/modules/contraptions/components/crafter/MechanicalCrafterTileEntityRenderer.java b/src/main/java/com/simibubi/create/modules/contraptions/components/crafter/MechanicalCrafterTileEntityRenderer.java index 9ee6e450d..a24d2befe 100644 --- a/src/main/java/com/simibubi/create/modules/contraptions/components/crafter/MechanicalCrafterTileEntityRenderer.java +++ b/src/main/java/com/simibubi/create/modules/contraptions/components/crafter/MechanicalCrafterTileEntityRenderer.java @@ -3,7 +3,9 @@ package com.simibubi.create.modules.contraptions.components.crafter; import static com.simibubi.create.modules.contraptions.base.HorizontalKineticBlock.HORIZONTAL_FACING; import static com.simibubi.create.modules.contraptions.base.KineticTileEntityRenderer.standardKineticRotationTransform; -import com.mojang.blaze3d.platform.GlStateManager; +import com.mojang.blaze3d.matrix.MatrixStack; +import com.mojang.blaze3d.systems.RenderSystem; +import com.mojang.blaze3d.vertex.IVertexBuilder; import com.simibubi.create.AllBlockPartials; import com.simibubi.create.foundation.block.SafeTileEntityRenderer; import com.simibubi.create.foundation.block.render.SpriteShiftEntry; @@ -17,11 +19,12 @@ import com.simibubi.create.modules.contraptions.components.crafter.RecipeGridHan import net.minecraft.block.BlockState; import net.minecraft.client.Minecraft; -import net.minecraft.client.renderer.BufferBuilder; +import net.minecraft.client.renderer.IRenderTypeBuffer; import net.minecraft.client.renderer.RenderHelper; -import net.minecraft.client.renderer.Tessellator; +import net.minecraft.client.renderer.RenderType; +import net.minecraft.client.renderer.Vector3f; import net.minecraft.client.renderer.model.ItemCameraTransforms.TransformType; -import net.minecraft.client.renderer.vertex.DefaultVertexFormats; +import net.minecraft.client.renderer.tileentity.TileEntityRendererDispatcher; import net.minecraft.item.ItemStack; import net.minecraft.util.Direction; import net.minecraft.util.Direction.Axis; @@ -34,11 +37,15 @@ public class MechanicalCrafterTileEntityRenderer extends SafeTileEntityRenderer< public static SpriteShiftEntry animatedTexture = SpriteShifter.get("block/crafter_thingies", "block/crafter_thingies"); + + public MechanicalCrafterTileEntityRenderer(TileEntityRendererDispatcher dispatcher) { + super(dispatcher); + } @Override - public void renderWithGL(MechanicalCrafterTileEntity te, double x, double y, double z, float partialTicks, - int destroyStage) { - GlStateManager.pushMatrix(); + protected void renderSafe(MechanicalCrafterTileEntity te, float partialTicks, MatrixStack ms, + IRenderTypeBuffer buffer, int light, int overlay) { + ms.push(); Direction facing = te.getBlockState().get(HORIZONTAL_FACING); Vec3d vec = new Vec3d(facing.getDirectionVec()).scale(.58).add(.5, .5, .5); @@ -49,36 +56,34 @@ public class MechanicalCrafterTileEntityRenderer extends SafeTileEntityRenderer< vec = vec.add(new Vec3d(targetDirection.getDirectionVec()).scale(progress * .75f)); } - GlStateManager.translated(x + vec.x, y + vec.y, z + vec.z); - GlStateManager.scalef(1 / 2f, 1 / 2f, 1 / 2f); + ms.translate(vec.x, vec.y, vec.z); + ms.scale(1 / 2f, 1 / 2f, 1 / 2f); float yRot = AngleHelper.horizontalAngle(facing); - GlStateManager.rotated(yRot, 0, 1, 0); - renderItems(te, partialTicks); - GlStateManager.popMatrix(); + ms.multiply(Vector3f.POSITIVE_Y.getDegreesQuaternion(yRot)); + renderItems(te, partialTicks, ms, buffer, light, overlay); + ms.pop(); - TessellatorHelper.prepareFastRender(); - TessellatorHelper.begin(DefaultVertexFormats.BLOCK); - renderTileEntityFast(te, x, y, z, partialTicks, destroyStage, Tessellator.getInstance().getBuffer()); + renderFast(te, partialTicks, ms, buffer); TessellatorHelper.draw(); } - public void renderItems(MechanicalCrafterTileEntity te, float partialTicks) { + public void renderItems(MechanicalCrafterTileEntity te, float partialTicks, MatrixStack ms, IRenderTypeBuffer buffer, int light, int overlay) { RenderHelper.enableStandardItemLighting(); if (te.phase == Phase.IDLE) { ItemStack stack = te.inventory.getStackInSlot(0); if (!stack.isEmpty()) { - GlStateManager.pushMatrix(); - GlStateManager.translatef(0, 0, -1 / 256f); - Minecraft.getInstance().getItemRenderer().renderItem(stack, TransformType.FIXED); - GlStateManager.popMatrix(); + ms.push(); + ms.translate(0, 0, -1 / 256f); + Minecraft.getInstance().getItemRenderer().renderItem(stack, TransformType.FIXED, light, overlay, ms, buffer); + ms.pop(); } } else { // render grouped items GroupedItems items = te.groupedItems; float distance = .5f; - GlStateManager.pushMatrix(); + ms.push(); if (te.phase == Phase.CRAFTING) { items = te.groupedItemsBeforeCraft; @@ -88,26 +93,26 @@ public class MechanicalCrafterTileEntityRenderer extends SafeTileEntityRenderer< float earlyProgress = MathHelper.clamp(progress * 2, 0, 1); float lateProgress = MathHelper.clamp(progress * 2 - 1, 0, 1); -// GlStateManager.rotated(lateProgress * 360, 0, 0, 1); - GlStateManager.scaled(1 - lateProgress, 1 - lateProgress, 1 - lateProgress); +// RenderSystem.rotated(lateProgress * 360, 0, 0, 1); + ms.scale(1 - lateProgress, 1 - lateProgress, 1 - lateProgress); Vec3d centering = new Vec3d(-items.minX + (-items.width + 1) / 2f, -items.minY + (-items.height + 1) / 2f, 0).scale(earlyProgress); - GlStateManager.translated(centering.x * .5f, centering.y * .5f, 0); + ms.translate(centering.x * .5f, centering.y * .5f, 0); distance += (-4 * (progress - .5f) * (progress - .5f) + 1) * .25f; } final float spacing = distance; items.grid.forEach((pair, stack) -> { - GlStateManager.pushMatrix(); - GlStateManager.translatef(pair.getKey() * spacing, pair.getValue() * spacing, 0); - TessellatorHelper.fightZFighting(pair.hashCode() + te.getPos().hashCode()); - Minecraft.getInstance().getItemRenderer().renderItem(stack, TransformType.FIXED); - GlStateManager.popMatrix(); + ms.push(); + ms.translate(pair.getKey() * spacing, pair.getValue() * spacing, 0); + TessellatorHelper.fightZFighting(pair.hashCode() + te.getPos().hashCode()); // FIXME 1.15 + Minecraft.getInstance().getItemRenderer().renderItem(stack, TransformType.FIXED, light, overlay, ms, buffer); + ms.pop(); }); - GlStateManager.popMatrix(); + ms.pop(); if (te.phase == Phase.CRAFTING) { items = te.groupedItems; @@ -116,14 +121,14 @@ public class MechanicalCrafterTileEntityRenderer extends SafeTileEntityRenderer< float earlyProgress = MathHelper.clamp(progress * 2, 0, 1); float lateProgress = MathHelper.clamp(progress * 2 - 1, 0, 1); - GlStateManager.rotated(earlyProgress * 2 * 360, 0, 0, 1); + ms.multiply(Vector3f.POSITIVE_Z.getDegreesQuaternion(earlyProgress * 2 * 360)); float upScaling = earlyProgress * 1.125f; float downScaling = 1 + (1 - lateProgress) * .125f; - GlStateManager.scaled(upScaling, upScaling, upScaling); - GlStateManager.scaled(downScaling, downScaling, downScaling); + ms.scale(upScaling, upScaling, upScaling); + ms.scale(downScaling, downScaling, downScaling); items.grid.forEach((pair, stack) -> { - Minecraft.getInstance().getItemRenderer().renderItem(stack, TransformType.FIXED); + Minecraft.getInstance().getItemRenderer().renderItem(stack, TransformType.FIXED, light, overlay, ms, buffer); }); } @@ -132,28 +137,28 @@ public class MechanicalCrafterTileEntityRenderer extends SafeTileEntityRenderer< RenderHelper.disableStandardItemLighting(); } - @Override - public void renderFast(MechanicalCrafterTileEntity te, double x, double y, double z, float partialTicks, - int destroyStage, BufferBuilder buffer) { + public void renderFast(MechanicalCrafterTileEntity te, float partialTicks, MatrixStack ms, IRenderTypeBuffer buffer) { BlockState blockState = te.getBlockState(); + + IVertexBuilder vb = buffer.getBuffer(RenderType.getSolid()); SuperByteBuffer superBuffer = AllBlockPartials.SHAFTLESS_COGWHEEL.renderOn(blockState); superBuffer.rotateCentered(Axis.X, (float) (Math.PI / 2)); superBuffer.rotateCentered(Axis.Y, (float) (blockState.get(HORIZONTAL_FACING).getAxis() != Axis.X ? 0 : Math.PI / 2)); - standardKineticRotationTransform(superBuffer, te, getWorld()).translate(x, y, z).renderInto(buffer); + standardKineticRotationTransform(superBuffer, te).renderInto(ms, vb); Direction targetDirection = MechanicalCrafterBlock.getTargetDirection(blockState); BlockPos pos = te.getPos(); if ((te.covered || te.phase != Phase.IDLE) && te.phase != Phase.CRAFTING && te.phase != Phase.INSERTING) { - SuperByteBuffer lidBuffer = renderAndTransform(AllBlockPartials.MECHANICAL_CRAFTER_LID, blockState, pos); - lidBuffer.translate(x, y, z).renderInto(buffer); + SuperByteBuffer lidBuffer = renderAndTransform(te, AllBlockPartials.MECHANICAL_CRAFTER_LID, blockState, pos); + lidBuffer.renderInto(ms, vb); } - if (MechanicalCrafterBlock.isValidTarget(getWorld(), pos.offset(targetDirection), blockState)) { - SuperByteBuffer beltBuffer = renderAndTransform(AllBlockPartials.MECHANICAL_CRAFTER_BELT, blockState, pos); - SuperByteBuffer beltFrameBuffer = renderAndTransform(AllBlockPartials.MECHANICAL_CRAFTER_BELT_FRAME, blockState, + if (MechanicalCrafterBlock.isValidTarget(te.getWorld(), pos.offset(targetDirection), blockState)) { + SuperByteBuffer beltBuffer = renderAndTransform(te, AllBlockPartials.MECHANICAL_CRAFTER_BELT, blockState, pos); + SuperByteBuffer beltFrameBuffer = renderAndTransform(te, AllBlockPartials.MECHANICAL_CRAFTER_BELT_FRAME, blockState, pos); if (te.phase == Phase.EXPORTING) { @@ -164,23 +169,23 @@ public class MechanicalCrafterTileEntityRenderer extends SafeTileEntityRenderer< beltBuffer.shiftUVtoSheet(animatedTexture.getOriginal(), animatedTexture.getTarget(), 0, 0); } - beltBuffer.translate(x, y, z).renderInto(buffer); - beltFrameBuffer.translate(x, y, z).renderInto(buffer); + beltBuffer.renderInto(ms, vb); + beltFrameBuffer.renderInto(ms, vb); } else { - SuperByteBuffer arrowBuffer = renderAndTransform(AllBlockPartials.MECHANICAL_CRAFTER_ARROW, blockState, pos); - arrowBuffer.translate(x, y, z).renderInto(buffer); + SuperByteBuffer arrowBuffer = renderAndTransform(te, AllBlockPartials.MECHANICAL_CRAFTER_ARROW, blockState, pos); + arrowBuffer.renderInto(ms, vb); } } - private SuperByteBuffer renderAndTransform(AllBlockPartials renderBlock, BlockState crafterState, BlockPos pos) { + private SuperByteBuffer renderAndTransform(MechanicalCrafterTileEntity te, AllBlockPartials renderBlock, BlockState crafterState, BlockPos pos) { SuperByteBuffer buffer = renderBlock.renderOn(crafterState); float xRot = crafterState.get(MechanicalCrafterBlock.POINTING).getXRotation(); float yRot = AngleHelper.horizontalAngle(crafterState.get(HORIZONTAL_FACING)); buffer.rotateCentered(Axis.X, (float) ((xRot) / 180 * Math.PI)); buffer.rotateCentered(Axis.Y, (float) ((yRot + 90) / 180 * Math.PI)); - buffer.light(crafterState.getPackedLightmapCoords(getWorld(), pos)); + buffer.light(crafterState.getPackedLightmapCoords(te.getWorld(), pos)); return buffer; } diff --git a/src/main/java/com/simibubi/create/modules/contraptions/components/deployer/DeployerTileEntityRenderer.java b/src/main/java/com/simibubi/create/modules/contraptions/components/deployer/DeployerTileEntityRenderer.java index 3a1630c42..a0409b0de 100644 --- a/src/main/java/com/simibubi/create/modules/contraptions/components/deployer/DeployerTileEntityRenderer.java +++ b/src/main/java/com/simibubi/create/modules/contraptions/components/deployer/DeployerTileEntityRenderer.java @@ -7,7 +7,7 @@ import static net.minecraft.state.properties.BlockStateProperties.AXIS; import java.util.Arrays; import java.util.List; -import com.mojang.blaze3d.platform.GlStateManager; +import com.mojang.blaze3d.systems.RenderSystem; import com.simibubi.create.AllBlockPartials; import com.simibubi.create.AllBlocks; import com.simibubi.create.foundation.behaviour.filtering.FilteringRenderer; @@ -55,8 +55,8 @@ public class DeployerTileEntityRenderer extends SafeTileEntityRenderer boolean processingMode = te.getBlockState().get(SawBlock.FACING) == Direction.UP; if (processingMode && !te.inventory.isEmpty()) { boolean alongZ = !te.getBlockState().get(SawBlock.AXIS_ALONG_FIRST_COORDINATE); - GlStateManager.pushMatrix(); + RenderSystem.pushMatrix(); boolean moving = te.inventory.recipeDuration != 0; float offset = moving ? (float) (te.inventory.remainingTime) / te.inventory.recipeDuration : 0; @@ -66,15 +66,15 @@ public class SawTileEntityRenderer extends SafeTileEntityRenderer IBakedModel modelWithOverrides = itemRenderer.getModelWithOverrides(stack); boolean blockItem = modelWithOverrides.isGui3d(); - GlStateManager.translated(x + (alongZ ? offset : .5), y + (blockItem ? .925f : 13f / 16f), + RenderSystem.translated(x + (alongZ ? offset : .5), y + (blockItem ? .925f : 13f / 16f), z + (alongZ ? .5 : offset)); - GlStateManager.scaled(.5, .5, .5); + RenderSystem.scaled(.5, .5, .5); if (alongZ) - GlStateManager.rotated(90, 0, 1, 0); - GlStateManager.rotated(90, 1, 0, 0); + RenderSystem.rotated(90, 0, 1, 0); + RenderSystem.rotated(90, 1, 0, 0); itemRenderer.renderItem(stack, ItemCameraTransforms.TransformType.FIXED); - GlStateManager.popMatrix(); + RenderSystem.popMatrix(); } } diff --git a/src/main/java/com/simibubi/create/modules/contraptions/processing/BasinTileEntityRenderer.java b/src/main/java/com/simibubi/create/modules/contraptions/processing/BasinTileEntityRenderer.java index 1d3af3d9e..274dcf6b6 100644 --- a/src/main/java/com/simibubi/create/modules/contraptions/processing/BasinTileEntityRenderer.java +++ b/src/main/java/com/simibubi/create/modules/contraptions/processing/BasinTileEntityRenderer.java @@ -2,7 +2,7 @@ package com.simibubi.create.modules.contraptions.processing; import java.util.Random; -import com.mojang.blaze3d.platform.GlStateManager; +import com.mojang.blaze3d.systems.RenderSystem; import com.simibubi.create.foundation.block.SafeTileEntityRenderer; import com.simibubi.create.foundation.utility.VecHelper; @@ -19,9 +19,9 @@ public class BasinTileEntityRenderer extends SafeTileEntityRenderer { - GlStateManager.translated(tooltipScreen.width / 2 + 10, tooltipScreen.height / 2 - 16, 0); + RenderSystem.translated(tooltipScreen.width / 2 + 10, tooltipScreen.height / 2 - 16, 0); return item; }); - GlStateManager.popMatrix(); + RenderSystem.popMatrix(); } diff --git a/src/main/java/com/simibubi/create/modules/curiosities/deforester/DeforesterItemRenderer.java b/src/main/java/com/simibubi/create/modules/curiosities/deforester/DeforesterItemRenderer.java index 46454947c..4eb563675 100644 --- a/src/main/java/com/simibubi/create/modules/curiosities/deforester/DeforesterItemRenderer.java +++ b/src/main/java/com/simibubi/create/modules/curiosities/deforester/DeforesterItemRenderer.java @@ -1,7 +1,7 @@ package com.simibubi.create.modules.curiosities.deforester; import com.mojang.blaze3d.platform.GLX; -import com.mojang.blaze3d.platform.GlStateManager; +import com.mojang.blaze3d.systems.RenderSystem; import com.simibubi.create.foundation.utility.AnimationTickHolder; import net.minecraft.client.Minecraft; @@ -20,28 +20,28 @@ public class DeforesterItemRenderer extends ItemStackTileEntityRenderer { float lastCoordx = GLX.lastBrightnessX; float lastCoordy = GLX.lastBrightnessY; - GlStateManager.pushMatrix(); - GlStateManager.translatef(0.5F, 0.5F, 0.5F); + RenderSystem.pushMatrix(); + RenderSystem.translatef(0.5F, 0.5F, 0.5F); itemRenderer.renderItem(stack, mainModel.getBakedModel()); - GlStateManager.disableLighting(); + RenderSystem.disableLighting(); GLX.glMultiTexCoord2f(GLX.GL_TEXTURE1, 240, 120); itemRenderer.renderItem(stack, mainModel.getPartial("light")); itemRenderer.renderItem(stack, mainModel.getPartial("blade")); GLX.glMultiTexCoord2f(GLX.GL_TEXTURE1, lastCoordx, lastCoordy); - GlStateManager.enableLighting(); + RenderSystem.enableLighting(); float angle = worldTime * -.5f % 360; float xOffset = 0; float zOffset = 0; - GlStateManager.translatef(-xOffset, 0, -zOffset); - GlStateManager.rotated(angle, 0, 1, 0); - GlStateManager.translatef(xOffset, 0, zOffset); + RenderSystem.translatef(-xOffset, 0, -zOffset); + RenderSystem.rotated(angle, 0, 1, 0); + RenderSystem.translatef(xOffset, 0, zOffset); itemRenderer.renderItem(stack, mainModel.getPartial("gear")); - GlStateManager.popMatrix(); + RenderSystem.popMatrix(); } } diff --git a/src/main/java/com/simibubi/create/modules/curiosities/symmetry/SymmetryHandler.java b/src/main/java/com/simibubi/create/modules/curiosities/symmetry/SymmetryHandler.java index 07c82ec7b..ad85ac458 100644 --- a/src/main/java/com/simibubi/create/modules/curiosities/symmetry/SymmetryHandler.java +++ b/src/main/java/com/simibubi/create/modules/curiosities/symmetry/SymmetryHandler.java @@ -4,7 +4,7 @@ import java.util.Random; import org.lwjgl.opengl.GL11; -import com.mojang.blaze3d.platform.GlStateManager; +import com.mojang.blaze3d.systems.RenderSystem; import com.simibubi.create.AllItems; import com.simibubi.create.foundation.utility.TessellatorHelper; import com.simibubi.create.modules.curiosities.symmetry.mirror.EmptyMirror; @@ -97,12 +97,12 @@ public class SymmetryHandler { BufferBuilder buffer = Tessellator.getInstance().getBuffer(); buffer.begin(GL11.GL_QUADS, DefaultVertexFormats.BLOCK); - GlStateManager.pushMatrix(); - GlStateManager.translated(0, yShift + .2f, 0); + RenderSystem.pushMatrix(); + RenderSystem.translated(0, yShift + .2f, 0); mc.getBlockRendererDispatcher().renderBlock(mirror.getModel(), pos, player.world, buffer, player.world.getRandom(), EmptyModelData.INSTANCE); Tessellator.getInstance().draw(); - GlStateManager.popMatrix(); + RenderSystem.popMatrix(); TessellatorHelper.cleanUpAfterDrawing(); } diff --git a/src/main/java/com/simibubi/create/modules/curiosities/symmetry/SymmetryWandScreen.java b/src/main/java/com/simibubi/create/modules/curiosities/symmetry/SymmetryWandScreen.java index e3cbde8ee..0b0fe91e3 100644 --- a/src/main/java/com/simibubi/create/modules/curiosities/symmetry/SymmetryWandScreen.java +++ b/src/main/java/com/simibubi/create/modules/curiosities/symmetry/SymmetryWandScreen.java @@ -2,7 +2,7 @@ package com.simibubi.create.modules.curiosities.symmetry; import org.lwjgl.opengl.GL11; -import com.mojang.blaze3d.platform.GlStateManager; +import com.mojang.blaze3d.systems.RenderSystem; import com.simibubi.create.AllPackets; import com.simibubi.create.ScreenResources; import com.simibubi.create.foundation.gui.AbstractSimiScreen; @@ -126,48 +126,48 @@ public class SymmetryWandScreen extends AbstractSimiScreen { font.drawString(orientation, x - 5, y + 20, ScreenResources.FONT_COLOR); minecraft.getTextureManager().bindTexture(AtlasTexture.LOCATION_BLOCKS_TEXTURE); - GlStateManager.enableBlend(); + RenderSystem.enableBlend(); renderBlock(); renderBlock(); - GlStateManager.pushLightingAttributes(); - GlStateManager.pushMatrix(); + RenderSystem.pushLightingAttributes(); + RenderSystem.pushMatrix(); RenderHelper.enableStandardItemLighting(); - GlStateManager.enableBlend(); - GlStateManager.enableRescaleNormal(); - GlStateManager.enableAlphaTest(); - GlStateManager.alphaFunc(516, 0.1F); - GlStateManager.blendFunc(GlStateManager.SourceFactor.SRC_ALPHA, GlStateManager.DestFactor.ONE_MINUS_SRC_ALPHA); - GlStateManager.color4f(1.0F, 1.0F, 1.0F, 1.0F); + RenderSystem.enableBlend(); + RenderSystem.enableRescaleNormal(); + RenderSystem.enableAlphaTest(); + RenderSystem.alphaFunc(516, 0.1F); + RenderSystem.blendFunc(RenderSystem.SourceFactor.SRC_ALPHA, RenderSystem.DestFactor.ONE_MINUS_SRC_ALPHA); + RenderSystem.color4f(1.0F, 1.0F, 1.0F, 1.0F); - GlStateManager.translated((this.width - this.sWidth) / 2 + 250, this.height / 2 + this.sHeight / 2, 100); - GlStateManager.rotatef(-30, .4f, 0, -.2f); - GlStateManager.rotatef(90 + 0.2f * animationProgress, 0, 1, 0); - GlStateManager.scaled(100, -100, 100); + RenderSystem.translated((this.width - this.sWidth) / 2 + 250, this.height / 2 + this.sHeight / 2, 100); + RenderSystem.rotatef(-30, .4f, 0, -.2f); + RenderSystem.rotatef(90 + 0.2f * animationProgress, 0, 1, 0); + RenderSystem.scaled(100, -100, 100); itemRenderer.renderItem(wand, itemRenderer.getModelWithOverrides(wand)); - GlStateManager.disableAlphaTest(); - GlStateManager.disableRescaleNormal(); - GlStateManager.disableLighting(); + RenderSystem.disableAlphaTest(); + RenderSystem.disableRescaleNormal(); + RenderSystem.disableLighting(); - GlStateManager.popMatrix(); - GlStateManager.popAttributes(); + RenderSystem.popMatrix(); + RenderSystem.popAttributes(); } protected void renderBlock() { - GlStateManager.pushMatrix(); + RenderSystem.pushMatrix(); BufferBuilder buffer = Tessellator.getInstance().getBuffer(); buffer.begin(GL11.GL_QUADS, DefaultVertexFormats.BLOCK); - GlStateManager.translated(guiLeft + 15, guiTop - 117, 20); - GlStateManager.rotatef(-22.5f, .3f, 1f, 0f); - GlStateManager.scaled(32, -32, 32); + RenderSystem.translated(guiLeft + 15, guiTop - 117, 20); + RenderSystem.rotatef(-22.5f, .3f, 1f, 0f); + RenderSystem.scaled(32, -32, 32); minecraft.getBlockRendererDispatcher().renderBlock(currentElement.getModel(), new BlockPos(0, -5, 0), minecraft.world, buffer, minecraft.world.rand, EmptyModelData.INSTANCE); Tessellator.getInstance().draw(); - GlStateManager.popMatrix(); + RenderSystem.popMatrix(); } @Override diff --git a/src/main/java/com/simibubi/create/modules/curiosities/symmetry/client/SymmetryWandItemRenderer.java b/src/main/java/com/simibubi/create/modules/curiosities/symmetry/client/SymmetryWandItemRenderer.java index 64f5fb888..d36c3058e 100644 --- a/src/main/java/com/simibubi/create/modules/curiosities/symmetry/client/SymmetryWandItemRenderer.java +++ b/src/main/java/com/simibubi/create/modules/curiosities/symmetry/client/SymmetryWandItemRenderer.java @@ -1,7 +1,7 @@ package com.simibubi.create.modules.curiosities.symmetry.client; import com.mojang.blaze3d.platform.GLX; -import com.mojang.blaze3d.platform.GlStateManager; +import com.mojang.blaze3d.systems.RenderSystem; import com.simibubi.create.foundation.utility.AnimationTickHolder; import net.minecraft.client.Minecraft; @@ -19,14 +19,14 @@ public class SymmetryWandItemRenderer extends ItemStackTileEntityRenderer { SymmetryWandModel mainModel = (SymmetryWandModel) itemRenderer.getModelWithOverrides(stack); float worldTime = AnimationTickHolder.getRenderTick() / 20; - GlStateManager.pushMatrix(); - GlStateManager.translatef(0.5F, 0.5F, 0.5F); + RenderSystem.pushMatrix(); + RenderSystem.translatef(0.5F, 0.5F, 0.5F); itemRenderer.renderItem(stack, mainModel.getBakedModel()); float lastCoordx = 0; float lastCoordy = 0; - GlStateManager.disableLighting(); + RenderSystem.disableLighting(); lastCoordx = GLX.lastBrightnessX; lastCoordy = GLX.lastBrightnessY; GLX.glMultiTexCoord2f(GLX.GL_TEXTURE1, 240, 240); @@ -34,15 +34,15 @@ public class SymmetryWandItemRenderer extends ItemStackTileEntityRenderer { itemRenderer.renderItem(stack, mainModel.getPartial("core")); float floating = MathHelper.sin(worldTime) * .05f; - GlStateManager.translated(0, floating, 0); + RenderSystem.translated(0, floating, 0); float angle = worldTime * -10 % 360; - GlStateManager.rotated(angle, 0, 1, 0); + RenderSystem.rotated(angle, 0, 1, 0); itemRenderer.renderItem(stack, mainModel.getPartial("bits")); GLX.glMultiTexCoord2f(GLX.GL_TEXTURE1, lastCoordx, lastCoordy); - GlStateManager.enableLighting(); + RenderSystem.enableLighting(); - GlStateManager.popMatrix(); + RenderSystem.popMatrix(); } diff --git a/src/main/java/com/simibubi/create/modules/curiosities/tools/SandPaperItemRenderer.java b/src/main/java/com/simibubi/create/modules/curiosities/tools/SandPaperItemRenderer.java index 3556725a3..aaf65572f 100644 --- a/src/main/java/com/simibubi/create/modules/curiosities/tools/SandPaperItemRenderer.java +++ b/src/main/java/com/simibubi/create/modules/curiosities/tools/SandPaperItemRenderer.java @@ -1,6 +1,6 @@ package com.simibubi.create.modules.curiosities.tools; -import com.mojang.blaze3d.platform.GlStateManager; +import com.mojang.blaze3d.systems.RenderSystem; import com.simibubi.create.foundation.block.render.CustomRenderedItemModel; import com.simibubi.create.foundation.utility.AnimationTickHolder; @@ -28,21 +28,21 @@ public class SandPaperItemRenderer extends ItemStackTileEntityRenderer { boolean leftHand = perspective == TransformType.FIRST_PERSON_LEFT_HAND; boolean firstPerson = leftHand || perspective == TransformType.FIRST_PERSON_RIGHT_HAND; - GlStateManager.pushMatrix(); - GlStateManager.translatef(.5f, .5f, .5f); + RenderSystem.pushMatrix(); + RenderSystem.translatef(.5f, .5f, .5f); CompoundNBT tag = stack.getOrCreateTag(); boolean jeiMode = tag.contains("JEI"); if (tag.contains("Polishing")) { - GlStateManager.pushMatrix(); + RenderSystem.pushMatrix(); if (perspective == TransformType.GUI) { - GlStateManager.translatef(0.0F, .2f, 1.0F); - GlStateManager.scalef(.75f, .75f, .75f); + RenderSystem.translatef(0.0F, .2f, 1.0F); + RenderSystem.scalef(.75f, .75f, .75f); } else { int modifier = leftHand ? -1 : 1; - GlStateManager.rotatef(modifier * 40, 0, 1, 0); + RenderSystem.rotatef(modifier * 40, 0, 1, 0); } // Reverse bobbing @@ -52,31 +52,31 @@ public class SandPaperItemRenderer extends ItemStackTileEntityRenderer { float bobbing = -MathHelper.abs(MathHelper.cos(time / 4.0F * (float) Math.PI) * 0.1F); if (perspective == TransformType.GUI) - GlStateManager.translatef(bobbing, bobbing, 0.0F); + RenderSystem.translatef(bobbing, bobbing, 0.0F); else - GlStateManager.translatef(0.0f, bobbing, 0.0F); + RenderSystem.translatef(0.0f, bobbing, 0.0F); } ItemStack toPolish = ItemStack.read(tag.getCompound("Polishing")); itemRenderer.renderItem(toPolish, itemRenderer.getModelWithOverrides(toPolish).getBakedModel()); - GlStateManager.popMatrix(); + RenderSystem.popMatrix(); } if (firstPerson) { int itemInUseCount = player.getItemInUseCount(); if (itemInUseCount > 0) { int modifier = leftHand ? -1 : 1; - GlStateManager.translatef(modifier * .5f, 0, -.25f); - GlStateManager.rotatef(modifier * 40, 0, 0, 1); - GlStateManager.rotatef(modifier * 10, 1, 0, 0); - GlStateManager.rotatef(modifier * 90, 0, 1, 0); + RenderSystem.translatef(modifier * .5f, 0, -.25f); + RenderSystem.rotatef(modifier * 40, 0, 0, 1); + RenderSystem.rotatef(modifier * 10, 1, 0, 0); + RenderSystem.rotatef(modifier * 90, 0, 1, 0); } } itemRenderer.renderItem(stack, mainModel.getBakedModel()); - GlStateManager.popMatrix(); + RenderSystem.popMatrix(); } public static class SandPaperModel extends CustomRenderedItemModel { diff --git a/src/main/java/com/simibubi/create/modules/curiosities/zapper/ZapperItemRenderer.java b/src/main/java/com/simibubi/create/modules/curiosities/zapper/ZapperItemRenderer.java index 24ab6cfb5..8e0d97619 100644 --- a/src/main/java/com/simibubi/create/modules/curiosities/zapper/ZapperItemRenderer.java +++ b/src/main/java/com/simibubi/create/modules/curiosities/zapper/ZapperItemRenderer.java @@ -1,6 +1,6 @@ package com.simibubi.create.modules.curiosities.zapper; -import com.mojang.blaze3d.platform.GlStateManager; +import com.mojang.blaze3d.systems.RenderSystem; import net.minecraft.block.BlockState; import net.minecraft.block.FourWayBlock; @@ -16,9 +16,9 @@ public abstract class ZapperItemRenderer extends ItemStackTileEntityRenderer { protected void renderBlockUsed(ItemStack stack, ItemRenderer itemRenderer) { BlockState state = NBTUtil.readBlockState(stack.getTag().getCompound("BlockUsed")); - GlStateManager.pushMatrix(); - GlStateManager.translatef(-0.3F, -0.45F, -0.0F); - GlStateManager.scalef(0.25F, 0.25F, 0.25F); + RenderSystem.pushMatrix(); + RenderSystem.translatef(-0.3F, -0.45F, -0.0F); + RenderSystem.scalef(0.25F, 0.25F, 0.25F); IBakedModel modelForState = Minecraft.getInstance().getBlockRendererDispatcher().getModelForState(state); if (state.getBlock() instanceof FourWayBlock) @@ -26,7 +26,7 @@ public abstract class ZapperItemRenderer extends ItemStackTileEntityRenderer { .getModelWithOverrides(new ItemStack(state.getBlock())); itemRenderer.renderItem(new ItemStack(state.getBlock()), modelForState); - GlStateManager.popMatrix(); + RenderSystem.popMatrix(); } } diff --git a/src/main/java/com/simibubi/create/modules/curiosities/zapper/ZapperRenderHandler.java b/src/main/java/com/simibubi/create/modules/curiosities/zapper/ZapperRenderHandler.java index eecc637fa..ac36a5e41 100644 --- a/src/main/java/com/simibubi/create/modules/curiosities/zapper/ZapperRenderHandler.java +++ b/src/main/java/com/simibubi/create/modules/curiosities/zapper/ZapperRenderHandler.java @@ -7,7 +7,7 @@ import java.util.function.Supplier; import org.lwjgl.opengl.GL11; -import com.mojang.blaze3d.platform.GlStateManager; +import com.mojang.blaze3d.systems.RenderSystem; import com.simibubi.create.AllSoundEvents; import com.simibubi.create.foundation.utility.TessellatorHelper; @@ -117,8 +117,8 @@ public class ZapperRenderHandler { cachedBeams.forEach(beam -> { TessellatorHelper.prepareForDrawing(); - GlStateManager.disableTexture(); - GlStateManager.lineWidth(beam.itensity * 40); + RenderSystem.disableTexture(); + RenderSystem.lineWidth(beam.itensity * 40); BufferBuilder bufferBuilder = Tessellator.getInstance().getBuffer(); bufferBuilder.begin(GL11.GL_LINE_STRIP, DefaultVertexFormats.POSITION); @@ -126,8 +126,8 @@ public class ZapperRenderHandler { bufferBuilder.pos(beam.end.x, beam.end.y, beam.end.z).endVertex(); Tessellator.getInstance().draw(); - GlStateManager.lineWidth(1); - GlStateManager.enableTexture(); + RenderSystem.lineWidth(1); + RenderSystem.enableTexture(); TessellatorHelper.cleanUpAfterDrawing(); }); } @@ -176,7 +176,7 @@ public class ZapperRenderHandler { Minecraft mc = Minecraft.getInstance(); boolean rightHand = event.getHand() == Hand.MAIN_HAND ^ mc.player.getPrimaryHand() == HandSide.LEFT; - GlStateManager.pushMatrix(); + RenderSystem.pushMatrix(); float recoil = rightHand ? MathHelper.lerp(event.getPartialTicks(), lastRightHandAnimation, rightHandAnimation) : MathHelper.lerp(event.getPartialTicks(), lastLeftHandAnimation, leftHandAnimation); @@ -194,47 +194,47 @@ public class ZapperRenderHandler { float f2 = -0.3F * MathHelper.sin(f1 * (float) Math.PI); float f3 = 0.4F * MathHelper.sin(f1 * ((float) Math.PI * 2F)); float f4 = -0.4F * MathHelper.sin(event.getSwingProgress() * (float) Math.PI); - GlStateManager.translatef(f * (f2 + 0.64000005F - .1f), f3 + -0.4F + equipProgress * -0.6F, + RenderSystem.translatef(f * (f2 + 0.64000005F - .1f), f3 + -0.4F + equipProgress * -0.6F, f4 + -0.71999997F + .3f + recoil); - GlStateManager.rotatef(f * 75.0F, 0.0F, 1.0F, 0.0F); + RenderSystem.rotatef(f * 75.0F, 0.0F, 1.0F, 0.0F); float f5 = MathHelper.sin(event.getSwingProgress() * event.getSwingProgress() * (float) Math.PI); float f6 = MathHelper.sin(f1 * (float) Math.PI); - GlStateManager.rotatef(f * f6 * 70.0F, 0.0F, 1.0F, 0.0F); - GlStateManager.rotatef(f * f5 * -20.0F, 0.0F, 0.0F, 1.0F); + RenderSystem.rotatef(f * f6 * 70.0F, 0.0F, 1.0F, 0.0F); + RenderSystem.rotatef(f * f5 * -20.0F, 0.0F, 0.0F, 1.0F); AbstractClientPlayerEntity abstractclientplayerentity = mc.player; mc.getTextureManager().bindTexture(abstractclientplayerentity.getLocationSkin()); - GlStateManager.translatef(f * -1.0F, 3.6F, 3.5F); - GlStateManager.rotatef(f * 120.0F, 0.0F, 0.0F, 1.0F); - GlStateManager.rotatef(200.0F, 1.0F, 0.0F, 0.0F); - GlStateManager.rotatef(f * -135.0F, 0.0F, 1.0F, 0.0F); - GlStateManager.translatef(f * 5.6F, 0.0F, 0.0F); - GlStateManager.rotatef(f * 40.0F, 0.0F, 1.0F, 0.0F); + RenderSystem.translatef(f * -1.0F, 3.6F, 3.5F); + RenderSystem.rotatef(f * 120.0F, 0.0F, 0.0F, 1.0F); + RenderSystem.rotatef(200.0F, 1.0F, 0.0F, 0.0F); + RenderSystem.rotatef(f * -135.0F, 0.0F, 1.0F, 0.0F); + RenderSystem.translatef(f * 5.6F, 0.0F, 0.0F); + RenderSystem.rotatef(f * 40.0F, 0.0F, 1.0F, 0.0F); PlayerRenderer playerrenderer = mc.getRenderManager().getRenderer(abstractclientplayerentity); - GlStateManager.disableCull(); + RenderSystem.disableCull(); if (rightHand) { playerrenderer.renderRightArm(abstractclientplayerentity); } else { playerrenderer.renderLeftArm(abstractclientplayerentity); } - GlStateManager.enableCull(); - GlStateManager.popMatrix(); + RenderSystem.enableCull(); + RenderSystem.popMatrix(); // Render gun - GlStateManager.pushMatrix(); - GlStateManager.translatef(f * (f2 + 0.64000005F - .1f), f3 + -0.4F + equipProgress * -0.6F, + RenderSystem.pushMatrix(); + RenderSystem.translatef(f * (f2 + 0.64000005F - .1f), f3 + -0.4F + equipProgress * -0.6F, f4 + -0.71999997F - 0.1f + recoil); - GlStateManager.rotatef(f * f6 * 70.0F, 0.0F, 1.0F, 0.0F); - GlStateManager.rotatef(f * f5 * -20.0F, 0.0F, 0.0F, 1.0F); + RenderSystem.rotatef(f * f6 * 70.0F, 0.0F, 1.0F, 0.0F); + RenderSystem.rotatef(f * f5 * -20.0F, 0.0F, 0.0F, 1.0F); - GlStateManager.translatef(f * -0.1f, 0.1f, -0.4f); - GlStateManager.rotatef(f * 5.0F, 0.0F, 1.0F, 0.0F); + RenderSystem.translatef(f * -0.1f, 0.1f, -0.4f); + RenderSystem.rotatef(f * 5.0F, 0.0F, 1.0F, 0.0F); FirstPersonRenderer firstPersonRenderer = mc.getFirstPersonRenderer(); firstPersonRenderer.renderItemSide(mc.player, heldItem, rightHand ? ItemCameraTransforms.TransformType.FIRST_PERSON_RIGHT_HAND : ItemCameraTransforms.TransformType.FIRST_PERSON_LEFT_HAND, !rightHand); - GlStateManager.popMatrix(); + RenderSystem.popMatrix(); event.setCanceled(true); } diff --git a/src/main/java/com/simibubi/create/modules/curiosities/zapper/ZapperScreen.java b/src/main/java/com/simibubi/create/modules/curiosities/zapper/ZapperScreen.java index 035e94f0b..708a498a3 100644 --- a/src/main/java/com/simibubi/create/modules/curiosities/zapper/ZapperScreen.java +++ b/src/main/java/com/simibubi/create/modules/curiosities/zapper/ZapperScreen.java @@ -4,7 +4,7 @@ import java.util.Vector; import org.lwjgl.opengl.GL11; -import com.mojang.blaze3d.platform.GlStateManager; +import com.mojang.blaze3d.systems.RenderSystem; import com.simibubi.create.AllPackets; import com.simibubi.create.ScreenResources; import com.simibubi.create.foundation.gui.AbstractSimiScreen; @@ -90,7 +90,7 @@ public class ZapperScreen extends AbstractSimiScreen { drawOnBackground(i, j); minecraft.getTextureManager().bindTexture(AtlasTexture.LOCATION_BLOCKS_TEXTURE); - GlStateManager.enableBlend(); + RenderSystem.enableBlend(); renderBlock(); renderZapper(); @@ -132,41 +132,41 @@ public class ZapperScreen extends AbstractSimiScreen { } protected void renderZapper() { - GlStateManager.pushLightingAttributes(); - GlStateManager.pushMatrix(); + RenderSystem.pushLightingAttributes(); + RenderSystem.pushMatrix(); RenderHelper.enableStandardItemLighting(); - GlStateManager.enableBlend(); - GlStateManager.enableRescaleNormal(); - GlStateManager.enableAlphaTest(); - GlStateManager.alphaFunc(516, 0.1F); - GlStateManager.blendFunc(GlStateManager.SourceFactor.SRC_ALPHA, GlStateManager.DestFactor.ONE_MINUS_SRC_ALPHA); - GlStateManager.color4f(1.0F, 1.0F, 1.0F, 1.0F); + RenderSystem.enableBlend(); + RenderSystem.enableRescaleNormal(); + RenderSystem.enableAlphaTest(); + RenderSystem.alphaFunc(516, 0.1F); + RenderSystem.blendFunc(RenderSystem.SourceFactor.SRC_ALPHA, RenderSystem.DestFactor.ONE_MINUS_SRC_ALPHA); + RenderSystem.color4f(1.0F, 1.0F, 1.0F, 1.0F); - GlStateManager.translated((this.width - this.sWidth) / 2 + 260, this.height / 2 - this.sHeight / 4, 100); - GlStateManager.rotatef(90 + 0.2f * animationProgress, 0, 1, 0); - GlStateManager.rotatef(-40, .8f, 0, -.0f); - GlStateManager.scaled(100, -100, 100); + RenderSystem.translated((this.width - this.sWidth) / 2 + 260, this.height / 2 - this.sHeight / 4, 100); + RenderSystem.rotatef(90 + 0.2f * animationProgress, 0, 1, 0); + RenderSystem.rotatef(-40, .8f, 0, -.0f); + RenderSystem.scaled(100, -100, 100); IBakedModel model = itemRenderer.getModelWithOverrides(zapper); model.handlePerspective(TransformType.FIXED); itemRenderer.renderItem(zapper, model); - GlStateManager.disableAlphaTest(); - GlStateManager.disableRescaleNormal(); - GlStateManager.disableLighting(); + RenderSystem.disableAlphaTest(); + RenderSystem.disableRescaleNormal(); + RenderSystem.disableLighting(); - GlStateManager.popMatrix(); - GlStateManager.popAttributes(); + RenderSystem.popMatrix(); + RenderSystem.popAttributes(); } protected void renderBlock() { - GlStateManager.pushMatrix(); + RenderSystem.pushMatrix(); BufferBuilder buffer = Tessellator.getInstance().getBuffer(); buffer.begin(GL11.GL_QUADS, DefaultVertexFormats.BLOCK); - GlStateManager.translated(guiLeft + 1.7f, guiTop - 49, 120); - GlStateManager.rotatef(-30f, .5f, .9f, -.1f); - GlStateManager.scaled(20, -20, 20); + RenderSystem.translated(guiLeft + 1.7f, guiTop - 49, 120); + RenderSystem.rotatef(-30f, .5f, .9f, -.1f); + RenderSystem.scaled(20, -20, 20); BlockState state = Blocks.AIR.getDefaultState(); if (zapper.hasTag() && zapper.getTag().contains("BlockUsed")) @@ -176,7 +176,7 @@ public class ZapperScreen extends AbstractSimiScreen { minecraft.world.rand, EmptyModelData.INSTANCE); Tessellator.getInstance().draw(); - GlStateManager.popMatrix(); + RenderSystem.popMatrix(); } protected void writeAdditionalOptions(CompoundNBT nbt) { diff --git a/src/main/java/com/simibubi/create/modules/curiosities/zapper/blockzapper/BlockzapperItemRenderer.java b/src/main/java/com/simibubi/create/modules/curiosities/zapper/blockzapper/BlockzapperItemRenderer.java index bb62182c9..77bd7c154 100644 --- a/src/main/java/com/simibubi/create/modules/curiosities/zapper/blockzapper/BlockzapperItemRenderer.java +++ b/src/main/java/com/simibubi/create/modules/curiosities/zapper/blockzapper/BlockzapperItemRenderer.java @@ -7,7 +7,7 @@ import static com.simibubi.create.modules.curiosities.zapper.blockzapper.Blockza import static com.simibubi.create.modules.curiosities.zapper.blockzapper.BlockzapperItem.Components.Scope; import com.mojang.blaze3d.platform.GLX; -import com.mojang.blaze3d.platform.GlStateManager; +import com.mojang.blaze3d.systems.RenderSystem; import com.simibubi.create.foundation.utility.AnimationTickHolder; import com.simibubi.create.modules.curiosities.zapper.ZapperRenderHandler; import com.simibubi.create.modules.curiosities.zapper.ZapperItemRenderer; @@ -33,8 +33,8 @@ public class BlockzapperItemRenderer extends ZapperItemRenderer { float pt = Minecraft.getInstance().getRenderPartialTicks(); float worldTime = AnimationTickHolder.getRenderTick() / 20; - GlStateManager.pushMatrix(); - GlStateManager.translatef(0.5F, 0.5F, 0.5F); + RenderSystem.pushMatrix(); + RenderSystem.translatef(0.5F, 0.5F, 0.5F); float lastCoordx = GLX.lastBrightnessX; float lastCoordy = GLX.lastBrightnessY; GLX.glMultiTexCoord2f(GLX.GL_TEXTURE1, Math.min(lastCoordx + 60, 240), Math.min(lastCoordy + 120, 240)); @@ -61,7 +61,7 @@ public class BlockzapperItemRenderer extends ZapperItemRenderer { float animation = MathHelper.clamp(MathHelper.lerp(pt, last, current) * 5, 0, 1); // Core glows - GlStateManager.disableLighting(); + RenderSystem.disableLighting(); float multiplier = MathHelper.sin(worldTime * 5); if (mainHand || offHand) { multiplier = animation; @@ -71,7 +71,7 @@ public class BlockzapperItemRenderer extends ZapperItemRenderer { if (BlockzapperItem.getTier(Amplifier, stack) != ComponentTier.None) itemRenderer.renderItem(stack, mainModel.getPartial("amplifier_core")); GLX.glMultiTexCoord2f(GLX.GL_TEXTURE1, lastCoordx, lastCoordy); - GlStateManager.enableLighting(); + RenderSystem.enableLighting(); // Accelerator spins float angle = worldTime * -25; @@ -80,12 +80,12 @@ public class BlockzapperItemRenderer extends ZapperItemRenderer { angle %= 360; float offset = -.155f; - GlStateManager.translatef(0, offset, 0); - GlStateManager.rotatef(angle, 0, 0, 1); - GlStateManager.translatef(0, -offset, 0); + RenderSystem.translatef(0, offset, 0); + RenderSystem.rotatef(angle, 0, 0, 1); + RenderSystem.translatef(0, -offset, 0); renderComponent(stack, mainModel, Accelerator, itemRenderer); - GlStateManager.popMatrix(); + RenderSystem.popMatrix(); } public void renderComponent(ItemStack stack, BlockzapperModel model, Components component, diff --git a/src/main/java/com/simibubi/create/modules/curiosities/zapper/terrainzapper/TerrainZapperRenderHandler.java b/src/main/java/com/simibubi/create/modules/curiosities/zapper/terrainzapper/TerrainZapperRenderHandler.java index 95c0c3ce1..4749ee10a 100644 --- a/src/main/java/com/simibubi/create/modules/curiosities/zapper/terrainzapper/TerrainZapperRenderHandler.java +++ b/src/main/java/com/simibubi/create/modules/curiosities/zapper/terrainzapper/TerrainZapperRenderHandler.java @@ -1,6 +1,6 @@ package com.simibubi.create.modules.curiosities.zapper.terrainzapper; -import com.mojang.blaze3d.platform.GlStateManager; +import com.mojang.blaze3d.systems.RenderSystem; import com.simibubi.create.AllItems; import com.simibubi.create.foundation.utility.NBTHelper; import com.simibubi.create.foundation.utility.TessellatorHelper; @@ -78,16 +78,16 @@ public class TerrainZapperRenderHandler { if (renderedPosition == null) return; - GlStateManager.lineWidth(2); + RenderSystem.lineWidth(2); TessellatorHelper.prepareForDrawing(); - GlStateManager.disableTexture(); + RenderSystem.disableTexture(); - GlStateManager.translated(renderedPosition.getX(), renderedPosition.getY(), renderedPosition.getZ()); + RenderSystem.translated(renderedPosition.getX(), renderedPosition.getY(), renderedPosition.getZ()); WorldRenderer.drawShape(renderedShape, 0, 0, 0, 0f, 0f, 0f, 0.5f); - GlStateManager.enableTexture(); + RenderSystem.enableTexture(); TessellatorHelper.cleanUpAfterDrawing(); - GlStateManager.lineWidth(1); + RenderSystem.lineWidth(1); } diff --git a/src/main/java/com/simibubi/create/modules/curiosities/zapper/terrainzapper/TerrainzapperItemRenderer.java b/src/main/java/com/simibubi/create/modules/curiosities/zapper/terrainzapper/TerrainzapperItemRenderer.java index fe9d91a28..6f892694a 100644 --- a/src/main/java/com/simibubi/create/modules/curiosities/zapper/terrainzapper/TerrainzapperItemRenderer.java +++ b/src/main/java/com/simibubi/create/modules/curiosities/zapper/terrainzapper/TerrainzapperItemRenderer.java @@ -1,7 +1,7 @@ package com.simibubi.create.modules.curiosities.zapper.terrainzapper; import com.mojang.blaze3d.platform.GLX; -import com.mojang.blaze3d.platform.GlStateManager; +import com.mojang.blaze3d.systems.RenderSystem; import com.simibubi.create.foundation.utility.AnimationTickHolder; import com.simibubi.create.modules.curiosities.zapper.ZapperRenderHandler; import com.simibubi.create.modules.curiosities.zapper.ZapperItemRenderer; @@ -24,8 +24,8 @@ public class TerrainzapperItemRenderer extends ZapperItemRenderer { float pt = Minecraft.getInstance().getRenderPartialTicks(); float worldTime = AnimationTickHolder.getRenderTick() / 20; - GlStateManager.pushMatrix(); - GlStateManager.translatef(0.5F, 0.5F, 0.5F); + RenderSystem.pushMatrix(); + RenderSystem.translatef(0.5F, 0.5F, 0.5F); float lastCoordx = GLX.lastBrightnessX; float lastCoordy = GLX.lastBrightnessY; GLX.glMultiTexCoord2f(GLX.GL_TEXTURE1, Math.min(lastCoordx + 60, 240), Math.min(lastCoordy + 120, 240)); @@ -47,7 +47,7 @@ public class TerrainzapperItemRenderer extends ZapperItemRenderer { float animation = MathHelper.clamp(MathHelper.lerp(pt, last, current) * 5, 0, 1); // Core glows - GlStateManager.disableLighting(); + RenderSystem.disableLighting(); float multiplier = MathHelper.sin(worldTime * 5); if (mainHand || offHand) { multiplier = animation; @@ -56,7 +56,7 @@ public class TerrainzapperItemRenderer extends ZapperItemRenderer { GLX.glMultiTexCoord2f(GLX.GL_TEXTURE1, multiplier * 240, 120); itemRenderer.renderItem(stack, mainModel.getPartial("terrain_core")); GLX.glMultiTexCoord2f(GLX.GL_TEXTURE1, lastCoordx, lastCoordy); - GlStateManager.enableLighting(); + RenderSystem.enableLighting(); // Accelerator spins float angle = worldTime * -25; @@ -65,12 +65,12 @@ public class TerrainzapperItemRenderer extends ZapperItemRenderer { angle %= 360; float offset = -.155f; - GlStateManager.translatef(0, offset, 0); - GlStateManager.rotatef(angle, 0, 0, 1); - GlStateManager.translatef(0, -offset, 0); + RenderSystem.translatef(0, offset, 0); + RenderSystem.rotatef(angle, 0, 0, 1); + RenderSystem.translatef(0, -offset, 0); itemRenderer.renderItem(stack, mainModel.getPartial("terrain_accelerator")); - GlStateManager.popMatrix(); + RenderSystem.popMatrix(); } } diff --git a/src/main/java/com/simibubi/create/modules/logistics/block/StockswitchScreen.java b/src/main/java/com/simibubi/create/modules/logistics/block/StockswitchScreen.java index 801e19772..2fb94eec1 100644 --- a/src/main/java/com/simibubi/create/modules/logistics/block/StockswitchScreen.java +++ b/src/main/java/com/simibubi/create/modules/logistics/block/StockswitchScreen.java @@ -4,7 +4,7 @@ import static com.simibubi.create.ScreenResources.STOCKSWITCH; import java.util.Arrays; -import com.mojang.blaze3d.platform.GlStateManager; +import com.mojang.blaze3d.systems.RenderSystem; import com.simibubi.create.AllBlocks; import com.simibubi.create.AllPackets; import com.simibubi.create.ScreenResources; @@ -103,10 +103,10 @@ public class StockswitchScreen extends AbstractSimiScreen { ScreenResources cursor = te.powered ? ScreenResources.STOCKSWITCH_CURSOR_ON : ScreenResources.STOCKSWITCH_CURSOR_OFF; - GlStateManager.pushMatrix(); - GlStateManager.translatef((cursorPos * (sprite.width - 20) + 10), 0, 0); + RenderSystem.pushMatrix(); + RenderSystem.translatef((cursorPos * (sprite.width - 20) + 10), 0, 0); cursor.draw(this, guiLeft - 4, guiTop + 24); - GlStateManager.popMatrix(); + RenderSystem.popMatrix(); ScreenElementRenderer.renderBlock(this::getRenderedBlock); } @@ -137,8 +137,8 @@ public class StockswitchScreen extends AbstractSimiScreen { } public BlockState getRenderedBlock() { - GlStateManager.translated(guiLeft + STOCKSWITCH.width + 50, guiTop + 100, 0); - GlStateManager.rotatef(50, -.5f, 1, -.2f); + RenderSystem.translated(guiLeft + STOCKSWITCH.width + 50, guiTop + 100, 0); + RenderSystem.rotatef(50, -.5f, 1, -.2f); return AllBlocks.STOCKSWITCH.get().getDefaultState(); } diff --git a/src/main/java/com/simibubi/create/modules/logistics/block/inventories/FlexcrateScreen.java b/src/main/java/com/simibubi/create/modules/logistics/block/inventories/FlexcrateScreen.java index 5ef02e6fe..f857ba3b6 100644 --- a/src/main/java/com/simibubi/create/modules/logistics/block/inventories/FlexcrateScreen.java +++ b/src/main/java/com/simibubi/create/modules/logistics/block/inventories/FlexcrateScreen.java @@ -7,7 +7,7 @@ import static com.simibubi.create.ScreenResources.PLAYER_INVENTORY; import java.util.ArrayList; import java.util.List; -import com.mojang.blaze3d.platform.GlStateManager; +import com.mojang.blaze3d.systems.RenderSystem; import com.simibubi.create.AllBlocks; import com.simibubi.create.AllPackets; import com.simibubi.create.ScreenResources; @@ -120,8 +120,8 @@ public class FlexcrateScreen extends AbstractSimiContainerScreen ex font.drawString(I18n.format(container.filterItem.getTranslationKey()), x + 15, y + 9, 0x5B5037); RenderHelper.enableGUIStandardItemLighting(); - GlStateManager.pushMatrix(); - GlStateManager.translated(guiLeft + background.width + 0, guiTop + background.height - 60, 0); - GlStateManager.scaled(5, 5, 5); + RenderSystem.pushMatrix(); + RenderSystem.translated(guiLeft + background.width + 0, guiTop + background.height - 60, 0); + RenderSystem.scaled(5, 5, 5); itemRenderer.renderItemIntoGUI(container.filterItem, 0, 0); - GlStateManager.popMatrix(); + RenderSystem.popMatrix(); } @Override diff --git a/src/main/java/com/simibubi/create/modules/logistics/item/filter/AttributeFilterScreen.java b/src/main/java/com/simibubi/create/modules/logistics/item/filter/AttributeFilterScreen.java index f5b32a1f7..e50f8e21c 100644 --- a/src/main/java/com/simibubi/create/modules/logistics/item/filter/AttributeFilterScreen.java +++ b/src/main/java/com/simibubi/create/modules/logistics/item/filter/AttributeFilterScreen.java @@ -5,7 +5,7 @@ import java.util.Arrays; import java.util.List; import java.util.stream.Collectors; -import com.mojang.blaze3d.platform.GlStateManager; +import com.mojang.blaze3d.systems.RenderSystem; import com.simibubi.create.AllPackets; import com.simibubi.create.ScreenResources; import com.simibubi.create.foundation.gui.widgets.IconButton; @@ -136,15 +136,15 @@ public class AttributeFilterScreen extends AbstractFilterScreen block.totalTicks - 10) { @@ -120,7 +120,7 @@ public class SchematicannonRenderer extends SafeTileEntityRenderer 0) { state.getVertexFormat().startDrawing(MemoryUtil.memAddress(pair.getSecond())); - GlStateManager.drawArrays(state.getMode(), 0, state.getCount()); + RenderSystem.drawArrays(state.getMode(), 0, state.getCount()); state.getVertexFormat().endDrawing(); } } diff --git a/src/main/java/com/simibubi/create/modules/schematics/client/tools/DeployTool.java b/src/main/java/com/simibubi/create/modules/schematics/client/tools/DeployTool.java index 306e79f02..1282bf772 100644 --- a/src/main/java/com/simibubi/create/modules/schematics/client/tools/DeployTool.java +++ b/src/main/java/com/simibubi/create/modules/schematics/client/tools/DeployTool.java @@ -1,6 +1,6 @@ package com.simibubi.create.modules.schematics.client.tools; -import com.mojang.blaze3d.platform.GlStateManager; +import com.mojang.blaze3d.systems.RenderSystem; import com.simibubi.create.AllKeys; import net.minecraft.client.renderer.WorldRenderer; @@ -44,15 +44,15 @@ public class DeployTool extends PlacementToolBase { max = new BlockPos(bb.maxX, bb.maxY, bb.maxZ); } - GlStateManager.lineWidth(2); - GlStateManager.color4f(.5f, .8f, 1, 1); - GlStateManager.disableTexture(); + RenderSystem.lineWidth(2); + RenderSystem.color4f(.5f, .8f, 1, 1); + RenderSystem.disableTexture(); WorldRenderer.drawBoundingBox(min.getX() - 1 / 8d, min.getY() + 1 / 16d, min.getZ() - 1 / 8d, max.getX() + 1 / 8d, max.getY() + 1 / 8d, max.getZ() + 1 / 8d, .8f, .9f, 1, 1); - GlStateManager.lineWidth(1); - GlStateManager.enableTexture(); + RenderSystem.lineWidth(1); + RenderSystem.enableTexture(); } diff --git a/src/main/java/com/simibubi/create/modules/schematics/client/tools/SchematicToolBase.java b/src/main/java/com/simibubi/create/modules/schematics/client/tools/SchematicToolBase.java index 9c7d150c5..cf09e3dc7 100644 --- a/src/main/java/com/simibubi/create/modules/schematics/client/tools/SchematicToolBase.java +++ b/src/main/java/com/simibubi/create/modules/schematics/client/tools/SchematicToolBase.java @@ -1,6 +1,6 @@ package com.simibubi.create.modules.schematics.client.tools; -import com.mojang.blaze3d.platform.GlStateManager; +import com.mojang.blaze3d.systems.RenderSystem; import com.simibubi.create.AllKeys; import com.simibubi.create.CreateClient; import com.simibubi.create.foundation.utility.RaycastHelper; @@ -81,9 +81,9 @@ public abstract class SchematicToolBase implements ISchematicTool { public void renderTool() { if (schematicHandler.deployed) { - GlStateManager.lineWidth(2); - GlStateManager.color4f(1, 1, 1, 1); - GlStateManager.disableTexture(); + RenderSystem.lineWidth(2); + RenderSystem.color4f(1, 1, 1, 1); + RenderSystem.disableTexture(); BlockPos min = schematicHandler.getTransformedAnchor(); MutableBoundingBox bb = new MutableBoundingBox(min, min.add(schematicHandler.getTransformedSize())); @@ -103,13 +103,13 @@ public abstract class SchematicToolBase implements ISchematicTool { Vec3d faceMin = center.add(vec.mul(radii).add(onFaceOffset)).add(vec.scale(1/8f)); Vec3d faceMax = center.add(vec.mul(radii).subtract(onFaceOffset)).add(vec.scale(1/8f)); - GlStateManager.lineWidth(6); + RenderSystem.lineWidth(6); WorldRenderer.drawBoundingBox(faceMin.getX(), faceMin.getY() + 1 / 16d, faceMin.getZ(), faceMax.getX(), faceMax.getY() + 1 / 8d, faceMax.getZ(), .6f, .7f, 1, 1); } - GlStateManager.lineWidth(1); - GlStateManager.enableTexture(); + RenderSystem.lineWidth(1); + RenderSystem.enableTexture(); }