diff --git a/common/build.gradle b/common/build.gradle index d3280a147..10d093089 100644 --- a/common/build.gradle +++ b/common/build.gradle @@ -14,23 +14,23 @@ dependencies { modApi("dev.architectury:architectury-fabric:${rootProject.architectury_version}") // for sodium compat - modCompileOnly "maven.modrinth:sodium:mc1.20-0.4.10" + modCompileOnly "maven.modrinth:sodium:mc1.19.4-0.4.10" modCompileOnly "883067831485366304:1080535317733462076:sodium-fabric-mc1.19.4-pre2-0.4.11rev.9a2a2ea-dirty:jar" modCompileOnly("maven.modrinth:rubidium:0.6.4") // for iris compat - modCompileOnly "maven.modrinth:iris:1.6.4+1.20" + modCompileOnly "maven.modrinth:iris:1.5.2+1.19.4" // for REI compat - modCompileOnly "me.shedaniel:RoughlyEnoughItems-fabric:12.0.634" + modCompileOnly "me.shedaniel:RoughlyEnoughItems-fabric:11.0.597" // for Pehkui compat modApi("com.github.Virtuoel:Pehkui:3.7.7", { exclude group: "net.fabricmc.fabric-api" }) // other mods // modCompileOnly("com.simibubi.create:create-fabric-1.19.2:0.5.0.i-969+1.19.2") - modCompileOnly "maven.modrinth:lithium:mc1.20.1-0.11.2" - modCompileOnly "maven.modrinth:indium:1.0.21+mc1.20.1" + modCompileOnly "maven.modrinth:lithium:mc1.19.4-0.11.1" + modCompileOnly "maven.modrinth:indium:1.0.15+mc1.19.4" /* // for immersive portals compat diff --git a/common/src/main/java/org/vivecraft/client/VivecraftVRMod.java b/common/src/main/java/org/vivecraft/client/VivecraftVRMod.java index 9fcdcc08a..9506ac88d 100644 --- a/common/src/main/java/org/vivecraft/client/VivecraftVRMod.java +++ b/common/src/main/java/org/vivecraft/client/VivecraftVRMod.java @@ -10,8 +10,6 @@ public class VivecraftVRMod { - public static final boolean compiledWithForge = true; - private static final Minecraft mc = Minecraft.getInstance(); public static VivecraftVRMod INSTANCE = new VivecraftVRMod(); diff --git a/common/src/main/java/org/vivecraft/client/gui/framework/GuiVROptionsBase.java b/common/src/main/java/org/vivecraft/client/gui/framework/GuiVROptionsBase.java index 437e8b1ff..3f4f262b6 100644 --- a/common/src/main/java/org/vivecraft/client/gui/framework/GuiVROptionsBase.java +++ b/common/src/main/java/org/vivecraft/client/gui/framework/GuiVROptionsBase.java @@ -1,6 +1,6 @@ package org.vivecraft.client.gui.framework; -import net.minecraft.client.gui.GuiGraphics; +import com.mojang.blaze3d.vertex.PoseStack; import net.minecraft.client.gui.components.AbstractWidget; import net.minecraft.client.gui.components.Button; import net.minecraft.client.gui.components.ObjectSelectionList; @@ -215,7 +215,7 @@ protected void init(VRSettings.VrOptions[] settings, boolean clear) this.init(avroptionentry, clear); } - public void render(GuiGraphics guiGraphics, int pMouseX, int pMouseY, float pPartialTicks) + public void render(PoseStack pMatrixStack, int pMouseX, int pMouseY, float pPartialTicks) { if (this.reinit) { @@ -223,14 +223,14 @@ public void render(GuiGraphics guiGraphics, int pMouseX, int pMouseY, float pPar this.init(); } - this.renderBackground(guiGraphics); + this.renderBackground(pMatrixStack); if (this.visibleList != null) { - this.visibleList.render(guiGraphics, pMouseX, pMouseY, pPartialTicks); + this.visibleList.render(pMatrixStack, pMouseX, pMouseY, pPartialTicks); } - guiGraphics.drawCenteredString(this.font, Component.translatable(this.vrTitle), this.width / 2, 15, 16777215); + drawCenteredString(pMatrixStack, this.font, Component.translatable(this.vrTitle), this.width / 2, 15, 16777215); if (this.btnDefaults != null) { @@ -242,8 +242,8 @@ public void render(GuiGraphics guiGraphics, int pMouseX, int pMouseY, float pPar this.btnDone.visible = this.drawDefaultButtons; } - super.render(guiGraphics, pMouseX, pMouseY, pPartialTicks); - renderTooltip(guiGraphics, pMouseX, pMouseY); + super.render(pMatrixStack, pMouseX, pMouseY, pPartialTicks); + renderTooltip(pMatrixStack, pMouseX, pMouseY); } protected void actionPerformed(AbstractWidget button) @@ -321,7 +321,7 @@ public boolean charTyped(char pCodePoint, int pModifiers) return this.visibleList != null && this.visibleList.charTyped(pCodePoint, pModifiers) ? true : super.charTyped(pCodePoint, pModifiers); } - private void renderTooltip(GuiGraphics guiGraphics, int pMouseX, int pMouseY) { + private void renderTooltip(PoseStack pMatrixStack, int pMouseX, int pMouseY) { AbstractWidget hover = null; // find active button for (GuiEventListener child: children()) { @@ -345,9 +345,9 @@ private void renderTooltip(GuiGraphics guiGraphics, int pMouseX, int pMouseY) { // if tooltip is not too low, draw below button, else above if (guiHover.getY() + guiHover.getHeight() + formattedText.size() * (font.lineHeight + 1) + 14 < this.height) { - guiGraphics.renderTooltip(this.font, font.split(Component.literal(tooltip), 308), this.width / 2 - 166, guiHover.getY() + guiHover.getHeight() + 14); + renderTooltip(pMatrixStack, font.split(Component.literal(tooltip), 308), this.width / 2 - 166, guiHover.getY() + guiHover.getHeight() + 14); } else { - guiGraphics.renderTooltip(this.font, font.split(Component.literal(tooltip), 308), this.width / 2 - 166, guiHover.getY() - formattedText.size() * (font.lineHeight + 1) + 9); + renderTooltip(pMatrixStack, font.split(Component.literal(tooltip), 308), this.width / 2 - 166, guiHover.getY() - formattedText.size() * (font.lineHeight + 1) + 9); } } } diff --git a/common/src/main/java/org/vivecraft/client/gui/framework/TwoHandedScreen.java b/common/src/main/java/org/vivecraft/client/gui/framework/TwoHandedScreen.java index 759ece6e1..de69e0a8d 100644 --- a/common/src/main/java/org/vivecraft/client/gui/framework/TwoHandedScreen.java +++ b/common/src/main/java/org/vivecraft/client/gui/framework/TwoHandedScreen.java @@ -1,11 +1,12 @@ package org.vivecraft.client.gui.framework; -import net.minecraft.client.gui.GuiGraphics; import org.vivecraft.client_vr.ClientDataHolderVR; import org.vivecraft.client_vr.extensions.GuiExtension; import org.vivecraft.client_vr.provider.ControllerType; import org.vivecraft.client_vr.provider.MCVR; +import com.mojang.blaze3d.vertex.PoseStack; + import net.minecraft.client.gui.components.AbstractWidget; import net.minecraft.client.gui.components.Button; import net.minecraft.client.gui.screens.Screen; @@ -40,7 +41,7 @@ public boolean mouseClicked(double pMouseX, double p_94738_, int pMouseY) } } - public void render(GuiGraphics guiGraphics, int pMouseX, int pMouseY, float pPartialTicks) + public void render(PoseStack pMatrixStack, int pMouseX, int pMouseY, float pPartialTicks) { if (this.reinit) { @@ -63,11 +64,11 @@ public void render(GuiGraphics guiGraphics, int pMouseX, int pMouseY, float pPar if (flag) { - abstractwidget2.render(guiGraphics, (int)d0, (int)d1, pPartialTicks); + abstractwidget2.render(pMatrixStack, (int)d0, (int)d1, pPartialTicks); } else { - abstractwidget2.render(guiGraphics, (int)d2, (int)d3, pPartialTicks); + abstractwidget2.render(pMatrixStack, (int)d2, (int)d3, pPartialTicks); } if (flag) diff --git a/common/src/main/java/org/vivecraft/client/gui/screens/ErrorScreen.java b/common/src/main/java/org/vivecraft/client/gui/screens/ErrorScreen.java index 958347782..51e352eed 100644 --- a/common/src/main/java/org/vivecraft/client/gui/screens/ErrorScreen.java +++ b/common/src/main/java/org/vivecraft/client/gui/screens/ErrorScreen.java @@ -1,7 +1,7 @@ package org.vivecraft.client.gui.screens; +import com.mojang.blaze3d.vertex.PoseStack; import net.minecraft.client.Minecraft; -import net.minecraft.client.gui.GuiGraphics; import net.minecraft.client.gui.components.Button; import net.minecraft.client.gui.screens.Screen; import net.minecraft.network.chat.Component; @@ -37,10 +37,10 @@ protected void init() { } @Override - public void render(@NotNull GuiGraphics guiGraphics, int i, int j, float f) { - this.renderBackground(guiGraphics); - guiGraphics.drawCenteredString(this.font, this.title, this.width / 2, 15, 16777215); + public void render(@NotNull PoseStack poseStack, int i, int j, float f) { + this.renderBackground(poseStack); + drawCenteredString(poseStack, this.font, this.title, this.width / 2, 15, 16777215); - super.render(guiGraphics, i, j, f); + super.render(poseStack, i, j, f); } } diff --git a/common/src/main/java/org/vivecraft/client/gui/screens/UpdateScreen.java b/common/src/main/java/org/vivecraft/client/gui/screens/UpdateScreen.java index 4e6f536c3..601deb706 100644 --- a/common/src/main/java/org/vivecraft/client/gui/screens/UpdateScreen.java +++ b/common/src/main/java/org/vivecraft/client/gui/screens/UpdateScreen.java @@ -1,8 +1,8 @@ package org.vivecraft.client.gui.screens; +import com.mojang.blaze3d.vertex.PoseStack; import net.minecraft.Util; import net.minecraft.client.Minecraft; -import net.minecraft.client.gui.GuiGraphics; import net.minecraft.client.gui.components.Button; import net.minecraft.client.gui.screens.Screen; import net.minecraft.network.chat.Component; @@ -55,10 +55,10 @@ protected void init() { } @Override - public void render(@NotNull GuiGraphics guiGraphics, int i, int j, float f) { - this.renderBackground(guiGraphics); - guiGraphics.drawCenteredString(this.font, this.title, this.width / 2, 15, 16777215); - super.render(guiGraphics, i, j, f); + public void render(@NotNull PoseStack poseStack, int i, int j, float f) { + this.renderBackground(poseStack); + drawCenteredString(poseStack, this.font, this.title, this.width / 2, 15, 16777215); + super.render(poseStack, i, j, f); } @Override diff --git a/common/src/main/java/org/vivecraft/client/gui/settings/GuiQuickCommandsInGame.java b/common/src/main/java/org/vivecraft/client/gui/settings/GuiQuickCommandsInGame.java index a06e2d7dc..a7db3546e 100644 --- a/common/src/main/java/org/vivecraft/client/gui/settings/GuiQuickCommandsInGame.java +++ b/common/src/main/java/org/vivecraft/client/gui/settings/GuiQuickCommandsInGame.java @@ -1,7 +1,7 @@ package org.vivecraft.client.gui.settings; -import net.minecraft.client.gui.GuiGraphics; import org.vivecraft.client_vr.ClientDataHolderVR; +import com.mojang.blaze3d.vertex.PoseStack; import net.minecraft.client.KeyMapping; import net.minecraft.client.gui.components.Button; @@ -59,10 +59,10 @@ public void init() .build()); } - public void render(GuiGraphics guiGraphics, int pMouseX, int pMouseY, float pPartialTicks) + public void render(PoseStack pMatrixStack, int pMouseX, int pMouseY, float pPartialTicks) { - this.renderBackground(guiGraphics); - guiGraphics.drawCenteredString(this.font, "Quick Commands", this.width / 2, 16, 16777215); - super.render(guiGraphics, pMouseX, pMouseY, pPartialTicks); + this.renderBackground(pMatrixStack); + drawCenteredString(pMatrixStack, this.font, "Quick Commands", this.width / 2, 16, 16777215); + super.render(pMatrixStack, pMouseX, pMouseY, pPartialTicks); } } diff --git a/common/src/main/java/org/vivecraft/client/gui/settings/GuiQuickCommandsList.java b/common/src/main/java/org/vivecraft/client/gui/settings/GuiQuickCommandsList.java index ea7e4e673..111f2029e 100644 --- a/common/src/main/java/org/vivecraft/client/gui/settings/GuiQuickCommandsList.java +++ b/common/src/main/java/org/vivecraft/client/gui/settings/GuiQuickCommandsList.java @@ -1,8 +1,8 @@ package org.vivecraft.client.gui.settings; -import net.minecraft.client.gui.GuiGraphics; import net.minecraft.client.gui.components.*; import org.vivecraft.client_vr.ClientDataHolderVR; +import com.mojang.blaze3d.vertex.PoseStack; import net.minecraft.client.Minecraft; import net.minecraft.network.chat.Component; @@ -30,7 +30,7 @@ public GuiQuickCommandsList(GuiQuickCommandEditor parent, Minecraft mc) } @Override - protected void renderSelection(GuiGraphics guiGraphics, int i, int j, int k, int l, int m) { + protected void renderSelection(PoseStack poseStack, int i, int j, int k, int l, int m) { } public class CommandEntry extends Entry @@ -115,15 +115,15 @@ public boolean keyPressed(int pKeyCode, int pScanCode, int pModifiers) return this.txt.isFocused() ? this.txt.keyPressed(pKeyCode, pScanCode, pModifiers) : super.keyPressed(pKeyCode, pScanCode, pModifiers); } - public void render(GuiGraphics guiGraphics, int pIndex, int pTop, int pLeft, int pWidth, int pHeight, int pMouseX, int pMouseY, boolean pIsMouseOver, float pPartialTicks) + public void render(PoseStack pMatrixStack, int pIndex, int pTop, int pLeft, int pWidth, int pHeight, int pMouseX, int pMouseY, boolean pIsMouseOver, float pPartialTicks) { this.txt.setX(pLeft); this.txt.setY(pTop); - this.txt.render(guiGraphics, pMouseX, pMouseY, pPartialTicks); + this.txt.render(pMatrixStack, pMouseX, pMouseY, pPartialTicks); this.btnDelete.setX(this.txt.getX() + this.txt.getWidth() + 2); this.btnDelete.setY(this.txt.getY()); this.btnDelete.visible = true; - this.btnDelete.render(guiGraphics, pMouseX, pMouseY, pPartialTicks); + this.btnDelete.render(pMatrixStack, pMouseX, pMouseY, pPartialTicks); } @Override diff --git a/common/src/main/java/org/vivecraft/client/gui/settings/GuiRadialConfiguration.java b/common/src/main/java/org/vivecraft/client/gui/settings/GuiRadialConfiguration.java index 00760cf28..410fbcb65 100644 --- a/common/src/main/java/org/vivecraft/client/gui/settings/GuiRadialConfiguration.java +++ b/common/src/main/java/org/vivecraft/client/gui/settings/GuiRadialConfiguration.java @@ -1,11 +1,12 @@ package org.vivecraft.client.gui.settings; -import net.minecraft.client.gui.GuiGraphics; import org.apache.commons.lang3.ArrayUtils; import org.vivecraft.client.gui.framework.GuiVROptionsBase; import org.vivecraft.client.gui.framework.VROptionLayout; import org.vivecraft.client_vr.settings.VRSettings; +import com.mojang.blaze3d.vertex.PoseStack; + import net.minecraft.client.KeyMapping; import net.minecraft.client.gui.components.Button; import net.minecraft.client.gui.screens.Screen; @@ -223,18 +224,18 @@ protected boolean onDoneClicked() } } - public void render(GuiGraphics guiGraphics, int pMouseX, int pMouseY, float pPartialTicks) + public void render(PoseStack pMatrixStack, int pMouseX, int pMouseY, float pPartialTicks) { - super.render(guiGraphics, pMouseX, pMouseY, pPartialTicks); + super.render(pMatrixStack, pMouseX, pMouseY, pPartialTicks); if (this.visibleList == null) { - guiGraphics.drawCenteredString(this.minecraft.font, Component.translatable("vivecraft.messages.radialmenubind.1"), this.width / 2, this.height - 50, 5635925); + drawCenteredString(pMatrixStack, this.minecraft.font, Component.translatable("vivecraft.messages.radialmenubind.1"), this.width / 2, this.height - 50, 5635925); } if (this.isShift) { - guiGraphics.drawCenteredString(this.minecraft.font, Component.translatable("vivecraft.messages.radialmenubind.2"), this.width / 2, this.height - 36, 13777015); + drawCenteredString(pMatrixStack, this.minecraft.font, Component.translatable("vivecraft.messages.radialmenubind.2"), this.width / 2, this.height - 36, 13777015); } } } diff --git a/common/src/main/java/org/vivecraft/client/gui/settings/GuiRadialItemsList.java b/common/src/main/java/org/vivecraft/client/gui/settings/GuiRadialItemsList.java index 33e32f915..78cdedeaf 100644 --- a/common/src/main/java/org/vivecraft/client/gui/settings/GuiRadialItemsList.java +++ b/common/src/main/java/org/vivecraft/client/gui/settings/GuiRadialItemsList.java @@ -2,9 +2,10 @@ import java.util.Arrays; -import net.minecraft.client.gui.GuiGraphics; import org.apache.commons.lang3.ArrayUtils; +import com.mojang.blaze3d.vertex.PoseStack; + import net.minecraft.ChatFormatting; import net.minecraft.client.KeyMapping; import net.minecraft.client.Minecraft; @@ -62,9 +63,9 @@ public CategoryEntry(String name) this.labelWidth = GuiRadialItemsList.this.mc.font.width(this.labelText); } - public void render(GuiGraphics guiGraphics, int pIndex, int pTop, int pLeft, int pWidth, int pHeight, int pMouseX, int pMouseY, boolean pIsMouseOver, float pPartialTicks) + public void render(PoseStack pMatrixStack, int pIndex, int pTop, int pLeft, int pWidth, int pHeight, int pMouseX, int pMouseY, boolean pIsMouseOver, float pPartialTicks) { - guiGraphics.drawString(mc.font, this.labelText, (mc.screen.width / 2 - this.labelWidth / 2), (pTop + pHeight - 9 - 1), 6777215); + GuiRadialItemsList.this.mc.font.draw(pMatrixStack, this.labelText, (float)(GuiRadialItemsList.this.mc.screen.width / 2 - this.labelWidth / 2), (float)(pTop + pHeight - 9 - 1), 6777215); } @Override @@ -85,7 +86,7 @@ private MappingEntry(KeyMapping key, GuiRadialConfiguration parent) this.parentScreen = parent; } - public void render(GuiGraphics guiGraphics, int pIndex, int pTop, int pLeft, int pWidth, int pHeight, int pMouseX, int pMouseY, boolean pIsMouseOver, float pPartialTicks) + public void render(PoseStack pMatrixStack, int pIndex, int pTop, int pLeft, int pWidth, int pHeight, int pMouseX, int pMouseY, boolean pIsMouseOver, float pPartialTicks) { ChatFormatting chatformatting = ChatFormatting.WHITE; @@ -94,7 +95,7 @@ public void render(GuiGraphics guiGraphics, int pIndex, int pTop, int pLeft, int chatformatting = ChatFormatting.GREEN; } - guiGraphics.drawString(mc.font, chatformatting + I18n.get(this.myKey.getName()), (mc.screen.width / 2 - GuiRadialItemsList.this.maxListLabelWidth / 2), (pTop + pHeight / 2 - 9 / 2), 16777215); + GuiRadialItemsList.this.mc.font.draw(pMatrixStack, chatformatting + I18n.get(this.myKey.getName()), (float)(GuiRadialItemsList.this.mc.screen.width / 2 - GuiRadialItemsList.this.maxListLabelWidth / 2), (float)(pTop + pHeight / 2 - 9 / 2), 16777215); } public boolean mouseClicked(double pMouseX, double p_94738_, int pMouseY) diff --git a/common/src/main/java/org/vivecraft/client/gui/settings/GuiRenderOpticsSettings.java b/common/src/main/java/org/vivecraft/client/gui/settings/GuiRenderOpticsSettings.java index 435fbe98d..cd93c7b6c 100644 --- a/common/src/main/java/org/vivecraft/client/gui/settings/GuiRenderOpticsSettings.java +++ b/common/src/main/java/org/vivecraft/client/gui/settings/GuiRenderOpticsSettings.java @@ -1,6 +1,5 @@ package org.vivecraft.client.gui.settings; -import net.minecraft.client.gui.GuiGraphics; import org.vivecraft.mod_compat_vr.ShadersHelper; import org.vivecraft.client_vr.VRState; import org.vivecraft.client.gui.framework.GuiVROption; @@ -8,6 +7,8 @@ import org.vivecraft.client_vr.settings.VRHotkeys; import org.vivecraft.client_vr.settings.VRSettings; +import com.mojang.blaze3d.vertex.PoseStack; + import net.minecraft.client.gui.components.AbstractWidget; import net.minecraft.client.gui.screens.Screen; @@ -132,9 +133,9 @@ else if (this.dataholder.vrSettings.displayMirrorMode == VRSettings.MirrorMode.T }); } - public void render(GuiGraphics guiGraphics, int pMouseX, int pMouseY, float pPartialTicks) + public void render(PoseStack pMatrixStack, int pMouseX, int pMouseY, float pPartialTicks) { - super.render(guiGraphics, pMouseX, pMouseY, pPartialTicks); + super.render(pMatrixStack, pMouseX, pMouseY, pPartialTicks); } protected void loadDefaults() diff --git a/common/src/main/java/org/vivecraft/client/gui/settings/GuiVRControls.java b/common/src/main/java/org/vivecraft/client/gui/settings/GuiVRControls.java index 1a060ae41..0beded3bd 100644 --- a/common/src/main/java/org/vivecraft/client/gui/settings/GuiVRControls.java +++ b/common/src/main/java/org/vivecraft/client/gui/settings/GuiVRControls.java @@ -1,10 +1,11 @@ package org.vivecraft.client.gui.settings; -import net.minecraft.client.gui.GuiGraphics; import org.vivecraft.client.gui.framework.VROptionEntry; import org.vivecraft.client.gui.framework.GuiVROptionsBase; import org.vivecraft.client_vr.settings.VRSettings; +import com.mojang.blaze3d.vertex.PoseStack; + import net.minecraft.client.gui.screens.Screen; import net.minecraft.network.chat.Component; @@ -36,15 +37,15 @@ public void init() super.addDefaultButtons(); } - public void render(GuiGraphics guiGraphics, int pMouseX, int pMouseY, float pPartialTicks) + public void render(PoseStack pMatrixStack, int pMouseX, int pMouseY, float pPartialTicks) { - super.render(guiGraphics, pMouseX, pMouseY, pPartialTicks); + super.render(pMatrixStack, pMouseX, pMouseY, pPartialTicks); int middle = 240 / 2 - this.minecraft.font.lineHeight / 2 - 24; int lineHeight = this.minecraft.font.lineHeight + 3; - guiGraphics.drawCenteredString(this.minecraft.font, Component.translatable("vivecraft.messages.controls.1"), this.width / 2, middle - lineHeight, 16777215); - guiGraphics.drawCenteredString(this.minecraft.font, Component.translatable("vivecraft.messages.controls.2"), this.width / 2, middle, 16777215); - guiGraphics.drawCenteredString(this.minecraft.font, Component.translatable("vivecraft.messages.controls.3"), this.width / 2, middle + lineHeight, 16777215); + drawCenteredString(pMatrixStack, this.minecraft.font, Component.translatable("vivecraft.messages.controls.1"), this.width / 2, middle - lineHeight, 16777215); + drawCenteredString(pMatrixStack, this.minecraft.font, Component.translatable("vivecraft.messages.controls.2"), this.width / 2, middle, 16777215); + drawCenteredString(pMatrixStack, this.minecraft.font, Component.translatable("vivecraft.messages.controls.3"), this.width / 2, middle + lineHeight, 16777215); } } diff --git a/common/src/main/java/org/vivecraft/client/gui/widgets/TextScrollWidget.java b/common/src/main/java/org/vivecraft/client/gui/widgets/TextScrollWidget.java index 5b2dbf2e1..905ab3db8 100644 --- a/common/src/main/java/org/vivecraft/client/gui/widgets/TextScrollWidget.java +++ b/common/src/main/java/org/vivecraft/client/gui/widgets/TextScrollWidget.java @@ -1,7 +1,7 @@ package org.vivecraft.client.gui.widgets; +import com.mojang.blaze3d.vertex.PoseStack; import net.minecraft.client.Minecraft; -import net.minecraft.client.gui.GuiGraphics; import net.minecraft.client.gui.components.AbstractWidget; import net.minecraft.client.gui.narration.NarrationElementOutput; import net.minecraft.network.chat.Component; @@ -52,16 +52,16 @@ private void initScroll() { } @Override - public void renderWidget(GuiGraphics guiGraphics, int i, int j, float f) { + public void renderWidget(PoseStack poseStack, int i, int j, float f) { // draw box outline - guiGraphics.fill( + fill(poseStack, getX(), getY(), getX() + width, getY() + this.height, -6250336); // draw box inside - guiGraphics.fill( + fill(poseStack, getX() + 1, getY() + 1, getX() + width - 1, @@ -70,14 +70,14 @@ public void renderWidget(GuiGraphics guiGraphics, int i, int j, float f) { // draw text for (int line = 0; line + currentLine < formattedText.size() && line < maxLines; line++) { - guiGraphics.drawString(Minecraft.getInstance().font, formattedText.get(line + currentLine).getString(), getX() + padding, getY() + padding + line * 12, 16777215); + drawString(poseStack, Minecraft.getInstance().font, formattedText.get(line + currentLine).getString(), getX() + padding, getY() + padding + line * 12, 16777215); } float scrollbarStart = scrollSteps == 0 ? 0 : currentLine/(float)scrollSteps * scrollBarOffset; if (isFocused() || isHovered) { // draw scroll bar outline - guiGraphics.fill( + fill(poseStack, getX() + width - scrollBarWidth - 2, (int) (getY() + 1 + scrollbarStart), getX() + width - 1, @@ -86,7 +86,7 @@ public void renderWidget(GuiGraphics guiGraphics, int i, int j, float f) { } // draw scroll bar - guiGraphics.fill( + fill(poseStack, getX() + width - scrollBarWidth - (isFocused() || isHovered ? 1 : 2), (int)(getY() + (isFocused() || isHovered ? 2 : 1) + scrollbarStart), getX() + width - (isFocused() || isHovered ? 2 : 1), diff --git a/common/src/main/java/org/vivecraft/client/network/ClientNetworking.java b/common/src/main/java/org/vivecraft/client/network/ClientNetworking.java index f5554c0fa..032d33cb7 100644 --- a/common/src/main/java/org/vivecraft/client/network/ClientNetworking.java +++ b/common/src/main/java/org/vivecraft/client/network/ClientNetworking.java @@ -197,7 +197,7 @@ public static void overrideLook(Player player, Vec3 view) { capturedYaw = player.getYRot(); float f = (float) Math.toDegrees(Math.asin(-view.y / view.length())); float f1 = (float) Math.toDegrees(Math.atan2(-view.x, view.z)); - ((LocalPlayer) player).connection.send(new ServerboundMovePlayerPacket.Rot(f1, f, player.onGround())); + ((LocalPlayer) player).connection.send(new ServerboundMovePlayerPacket.Rot(f1, f, player.isOnGround())); overrideActive = true; } } @@ -205,7 +205,7 @@ public static void overrideLook(Player player, Vec3 view) { public static void restoreLook(Player player) { if (!serverWantsData) { if (overrideActive) { - ((LocalPlayer) player).connection.send(new ServerboundMovePlayerPacket.Rot(capturedYaw, capturedPitch, player.onGround())); + ((LocalPlayer) player).connection.send(new ServerboundMovePlayerPacket.Rot(capturedYaw, capturedPitch, player.isOnGround())); overrideActive = false; } } diff --git a/common/src/main/java/org/vivecraft/client_vr/extensions/GameRendererExtension.java b/common/src/main/java/org/vivecraft/client_vr/extensions/GameRendererExtension.java index a72548d73..0cb9c9daa 100644 --- a/common/src/main/java/org/vivecraft/client_vr/extensions/GameRendererExtension.java +++ b/common/src/main/java/org/vivecraft/client_vr/extensions/GameRendererExtension.java @@ -1,6 +1,5 @@ package org.vivecraft.client_vr.extensions; -import net.minecraft.client.gui.GuiGraphics; import net.minecraft.client.renderer.LevelRenderer; import net.minecraft.world.entity.LivingEntity; import org.joml.Matrix4f; @@ -41,7 +40,7 @@ public interface GameRendererExtension { void renderDebugAxes(int i, int j, int k, float f); - void drawScreen(float f, Screen screen, GuiGraphics guiGraphics); + void drawScreen(float f, Screen screen, PoseStack poseStack); Matrix4f getThirdPassProjectionMatrix(); diff --git a/common/src/main/java/org/vivecraft/client_vr/gameplay/trackers/ClimbTracker.java b/common/src/main/java/org/vivecraft/client_vr/gameplay/trackers/ClimbTracker.java index fbb660252..8acac19ee 100644 --- a/common/src/main/java/org/vivecraft/client_vr/gameplay/trackers/ClimbTracker.java +++ b/common/src/main/java/org/vivecraft/client_vr/gameplay/trackers/ClimbTracker.java @@ -157,12 +157,12 @@ public boolean isClimbeyClimbEquipped() private boolean canstand(BlockPos bp, LocalPlayer p) { - AABB aabb = p.level().getBlockState(bp).getCollisionShape(p.level(), bp).bounds(); + AABB aabb = p.level.getBlockState(bp).getCollisionShape(p.level, bp).bounds(); if (aabb != null && aabb.maxY != 0.0D) { BlockPos blockpos = bp.above(); - AABB aabb1 = p.level().getBlockState(blockpos).getCollisionShape(p.level(), blockpos).bounds(); + AABB aabb1 = p.level.getBlockState(blockpos).getCollisionShape(p.level, blockpos).bounds(); if (aabb1 != null && aabb1.maxY > 0.0D) { @@ -171,7 +171,7 @@ private boolean canstand(BlockPos bp, LocalPlayer p) else { BlockPos blockpos1 = blockpos.above(); - AABB aabb2 = p.level().getBlockState(blockpos1).getCollisionShape(p.level(), blockpos1).bounds(); + AABB aabb2 = p.level.getBlockState(blockpos1).getCollisionShape(p.level, blockpos1).bounds(); return aabb2 == null || !(aabb2.maxY > 0.0D); } } @@ -193,7 +193,7 @@ public void idleTick(LocalPlayer player) { this.forceActivate = true; } - else if (this.mc.player.onGround() || this.mc.player.getAbilities().flying) + else if (this.mc.player.isOnGround() || this.mc.player.getAbilities().flying) { this.forceActivate = false; } @@ -390,7 +390,7 @@ else if (aabb2 == this.westBB) } else { - if (this.mc.player.onGround()) + if (this.mc.player.isOnGround()) { this.mc.player.setOnGround(!this.latched[0] && !this.latched[1]); } @@ -528,7 +528,7 @@ else if (aabb2 == this.westBB) if (!this.latched[0] && !this.latched[1] && !flag2) { - if (player.onGround() && this.unsetflag) + if (player.isOnGround() && this.unsetflag) { this.unsetflag = false; VivecraftVRMod.INSTANCE.keyClimbeyGrab.unpressKey(ControllerType.RIGHT); diff --git a/common/src/main/java/org/vivecraft/client_vr/gameplay/trackers/InteractTracker.java b/common/src/main/java/org/vivecraft/client_vr/gameplay/trackers/InteractTracker.java index 98bb9c39d..11ac7b10e 100644 --- a/common/src/main/java/org/vivecraft/client_vr/gameplay/trackers/InteractTracker.java +++ b/common/src/main/java/org/vivecraft/client_vr/gameplay/trackers/InteractTracker.java @@ -249,8 +249,7 @@ public void doProcess(LocalPlayer player) this.active[j] = blockhitresult != null && (this.rightClickable.contains(blockstate.getBlock().getClass()) || this.rightClickable.contains(blockstate.getBlock().getClass().getSuperclass())); this.bukkit[j] = false; - // TODO: liquid is deprecated - if (!this.active[j] && itemstack.getItem() == Items.BUCKET && blockstate.liquid()) + if (!this.active[j] && itemstack.getItem() == Items.BUCKET && blockstate.getMaterial().isLiquid()) { this.active[j] = true; this.bukkit[j] = true; diff --git a/common/src/main/java/org/vivecraft/client_vr/gameplay/trackers/JumpTracker.java b/common/src/main/java/org/vivecraft/client_vr/gameplay/trackers/JumpTracker.java index 171ce453b..fdd8fcf85 100644 --- a/common/src/main/java/org/vivecraft/client_vr/gameplay/trackers/JumpTracker.java +++ b/common/src/main/java/org/vivecraft/client_vr/gameplay/trackers/JumpTracker.java @@ -58,7 +58,7 @@ else if (p != null && p.isAlive()) { return false; } - else if (!p.isInWater() && !p.isInLava() && p.onGround()) + else if (!p.isInWater() && !p.isInLava() && p.isOnGround()) { return !p.isShiftKeyDown() && !p.isPassenger(); } diff --git a/common/src/main/java/org/vivecraft/client_vr/gameplay/trackers/RowTracker.java b/common/src/main/java/org/vivecraft/client_vr/gameplay/trackers/RowTracker.java index 6a8e31edb..a92692815 100644 --- a/common/src/main/java/org/vivecraft/client_vr/gameplay/trackers/RowTracker.java +++ b/common/src/main/java/org/vivecraft/client_vr/gameplay/trackers/RowTracker.java @@ -164,7 +164,6 @@ boolean isPaddleUnderWater(int paddle, Boat boat) Vec3 vec3 = this.getAttachmentPoint(paddle, boat); Vec3 vec31 = this.getArmToPaddleVector(paddle, boat).normalize(); BlockPos blockpos = BlockPos.containing(vec3.add(vec31)); - // TODO: liquid is deprecated - return boat.level().getBlockState(blockpos).liquid(); + return boat.level.getBlockState(blockpos).getMaterial().isLiquid(); } } diff --git a/common/src/main/java/org/vivecraft/client_vr/gameplay/trackers/RunTracker.java b/common/src/main/java/org/vivecraft/client_vr/gameplay/trackers/RunTracker.java index f52d394ff..953f91aa9 100644 --- a/common/src/main/java/org/vivecraft/client_vr/gameplay/trackers/RunTracker.java +++ b/common/src/main/java/org/vivecraft/client_vr/gameplay/trackers/RunTracker.java @@ -32,7 +32,7 @@ else if (p != null && p.isAlive()) { return false; } - else if (p.onGround() || !p.isInWater() && !p.isInLava()) + else if (p.isOnGround() || !p.isInWater() && !p.isInLava()) { if (p.onClimbable()) { diff --git a/common/src/main/java/org/vivecraft/client_vr/gameplay/trackers/SneakTracker.java b/common/src/main/java/org/vivecraft/client_vr/gameplay/trackers/SneakTracker.java index fbcf45c4a..07e02266b 100644 --- a/common/src/main/java/org/vivecraft/client_vr/gameplay/trackers/SneakTracker.java +++ b/common/src/main/java/org/vivecraft/client_vr/gameplay/trackers/SneakTracker.java @@ -34,7 +34,7 @@ else if (this.mc.gameMode == null) { return false; } - else if (p != null && p.isAlive() && p.onGround()) + else if (p != null && p.isAlive() && p.isOnGround()) { return !p.isPassenger(); } diff --git a/common/src/main/java/org/vivecraft/client_vr/gameplay/trackers/SwingTracker.java b/common/src/main/java/org/vivecraft/client_vr/gameplay/trackers/SwingTracker.java index 02c87885b..af78a93dd 100644 --- a/common/src/main/java/org/vivecraft/client_vr/gameplay/trackers/SwingTracker.java +++ b/common/src/main/java/org/vivecraft/client_vr/gameplay/trackers/SwingTracker.java @@ -263,8 +263,8 @@ else if (!itemstack.isEmpty()) } else if ((item instanceof BrushItem /*|| itemstack.is(ItemTags.VIVECRAFT_BRUSHES*/)) { - ((BrushItem)item).spawnDustParticles(player.level(), blockhitresult1, blockstate, player.getViewVector(0.0F), i == 0 ? player.getMainArm() : player.getMainArm().getOpposite()); - player.level().playSound(player, blockhitresult1.getBlockPos(), blockstate.getBlock() instanceof BrushableBlock ? ((BrushableBlock)blockstate.getBlock()).getBrushSound() : SoundEvents.BRUSH_GENERIC, SoundSource.BLOCKS); + ((BrushItem)item).spawnDustParticles(player.level, blockhitresult1, blockstate, player.getViewVector(0.0F)); + player.level.playSound(player, blockhitresult1.getBlockPos(), SoundEvents.BRUSH_BRUSHING, SoundSource.PLAYERS); this.mc.gameMode.useItemOn(player, i == 0 ? InteractionHand.MAIN_HAND : InteractionHand.OFF_HAND, blockhitresult1); } else if (blockstate.getBlock() instanceof NoteBlock || blockstate.is(BlockTags.VIVECRAFT_MUSIC_BLOCKS)) diff --git a/common/src/main/java/org/vivecraft/client_vr/gameplay/trackers/TeleportTracker.java b/common/src/main/java/org/vivecraft/client_vr/gameplay/trackers/TeleportTracker.java index cebbd9eb7..972fc56a6 100644 --- a/common/src/main/java/org/vivecraft/client_vr/gameplay/trackers/TeleportTracker.java +++ b/common/src/main/java/org/vivecraft/client_vr/gameplay/trackers/TeleportTracker.java @@ -385,7 +385,7 @@ private void doTeleportCallback() private boolean checkAndSetTeleportDestination(Minecraft mc, LocalPlayer player, Vec3 start, BlockHitResult collision, Vec3 reverseEpsilon) { BlockPos blockpos = collision.getBlockPos(); - BlockState blockstate = player.level().getBlockState(blockpos); + BlockState blockstate = player.level.getBlockState(blockpos); if (!mc.level.getFluidState(blockpos).isEmpty()) { @@ -444,7 +444,7 @@ else if (collision.getDirection() != Direction.UP) for (int i = 0; i < 2; ++i) { - blockstate = player.level().getBlockState(blockpos1); + blockstate = player.level.getBlockState(blockpos1); if (blockstate.getCollisionShape(mc.level, blockpos1).isEmpty()) { diff --git a/common/src/main/java/org/vivecraft/client_vr/gameplay/trackers/VehicleTracker.java b/common/src/main/java/org/vivecraft/client_vr/gameplay/trackers/VehicleTracker.java index e814cf318..ea3deaa66 100644 --- a/common/src/main/java/org/vivecraft/client_vr/gameplay/trackers/VehicleTracker.java +++ b/common/src/main/java/org/vivecraft/client_vr/gameplay/trackers/VehicleTracker.java @@ -262,6 +262,6 @@ private boolean shouldMinecartTurnView(Minecart entity) public boolean canRoomscaleDismount(LocalPlayer player) { - return player.zza == 0.0F && player.xxa == 0.0F && player.isPassenger() && player.getVehicle().onGround() && this.dismountCooldown == 0; + return player.zza == 0.0F && player.xxa == 0.0F && player.isPassenger() && player.getVehicle().isOnGround() && this.dismountCooldown == 0; } } diff --git a/common/src/main/java/org/vivecraft/client_vr/gui/GuiKeyboard.java b/common/src/main/java/org/vivecraft/client_vr/gui/GuiKeyboard.java index bc4146d3a..d84ce4017 100644 --- a/common/src/main/java/org/vivecraft/client_vr/gui/GuiKeyboard.java +++ b/common/src/main/java/org/vivecraft/client_vr/gui/GuiKeyboard.java @@ -1,11 +1,12 @@ package org.vivecraft.client_vr.gui; -import net.minecraft.client.gui.GuiGraphics; import net.minecraft.network.chat.Component; import org.lwjgl.glfw.GLFW; import org.vivecraft.client.gui.framework.TwoHandedScreen; import org.vivecraft.client_vr.provider.InputSimulator; +import com.mojang.blaze3d.vertex.PoseStack; + import net.minecraft.client.gui.components.Button; public class GuiKeyboard extends TwoHandedScreen @@ -182,10 +183,10 @@ public void setShift(boolean shift) } } - public void render(GuiGraphics guiGraphics, int pMouseX, int pMouseY, float pPartialTicks) + public void render(PoseStack pMatrixStack, int pMouseX, int pMouseY, float pPartialTicks) { - this.renderBackground(guiGraphics); - guiGraphics.drawCenteredString(this.font, "Keyboard", this.width / 2, 2, 16777215); - super.render(guiGraphics, 0, 0, pPartialTicks); + this.renderBackground(pMatrixStack); + drawCenteredString(pMatrixStack, this.font, "Keyboard", this.width / 2, 2, 16777215); + super.render(pMatrixStack, 0, 0, pPartialTicks); } } diff --git a/common/src/main/java/org/vivecraft/client_vr/gui/GuiRadial.java b/common/src/main/java/org/vivecraft/client_vr/gui/GuiRadial.java index 671b99828..8980734ba 100644 --- a/common/src/main/java/org/vivecraft/client_vr/gui/GuiRadial.java +++ b/common/src/main/java/org/vivecraft/client_vr/gui/GuiRadial.java @@ -1,10 +1,11 @@ package org.vivecraft.client_vr.gui; -import net.minecraft.client.gui.GuiGraphics; import org.vivecraft.client.gui.framework.TwoHandedScreen; import org.vivecraft.client_vr.provider.MCVR; import org.vivecraft.client_vr.provider.openvr_lwjgl.VRInputAction; +import com.mojang.blaze3d.vertex.PoseStack; + import net.minecraft.client.KeyMapping; import net.minecraft.client.gui.components.Button; import net.minecraft.client.resources.language.I18n; @@ -133,9 +134,9 @@ public void setShift(boolean shift) } } - public void render(GuiGraphics guiGraphics, int pMouseX, int pMouseY, float pPartialTicks) + public void render(PoseStack pMatrixStack, int pMouseX, int pMouseY, float pPartialTicks) { - this.renderBackground(guiGraphics); - super.render(guiGraphics, 0, 0, pPartialTicks); + this.renderBackground(pMatrixStack); + super.render(pMatrixStack, 0, 0, pPartialTicks); } } diff --git a/common/src/main/java/org/vivecraft/client_vr/menuworlds/FakeBlockAccess.java b/common/src/main/java/org/vivecraft/client_vr/menuworlds/FakeBlockAccess.java index 2ee7c6517..a8721c95c 100644 --- a/common/src/main/java/org/vivecraft/client_vr/menuworlds/FakeBlockAccess.java +++ b/common/src/main/java/org/vivecraft/client_vr/menuworlds/FakeBlockAccess.java @@ -205,12 +205,12 @@ public int getBlockTint(BlockPos blockPosIn, ColorResolver colorResolverIn) { @Override public int getBrightness(LightLayer type, BlockPos pos) { if (!checkCoords(pos)) - return 0; + return (type != LightLayer.SKY || !this.dimensionType.hasSkyLight()) && type != LightLayer.BLOCK ? 0 : type.surrounding; if (type == LightLayer.SKY) return this.dimensionType.hasSkyLight() ? skylightmap[encodeCoords(pos)] : 0; else - return type == LightLayer.BLOCK ? blocklightmap[encodeCoords(pos)] : 0; + return type == LightLayer.BLOCK ? blocklightmap[encodeCoords(pos)] : type.surrounding; } @Override diff --git a/common/src/main/java/org/vivecraft/client_vr/menuworlds/MenuWorldDownloader.java b/common/src/main/java/org/vivecraft/client_vr/menuworlds/MenuWorldDownloader.java index f96b37261..90e80e6fe 100644 --- a/common/src/main/java/org/vivecraft/client_vr/menuworlds/MenuWorldDownloader.java +++ b/common/src/main/java/org/vivecraft/client_vr/menuworlds/MenuWorldDownloader.java @@ -14,7 +14,7 @@ public class MenuWorldDownloader { private static final String baseUrl = "https://cache.techjargaming.com/vivecraft/115/"; - public static final String customWorldFolder = "menuworlds/custom_120"; + public static final String customWorldFolder = "menuworlds/custom_119"; private static String lastWorld = ""; private static boolean init; diff --git a/common/src/main/java/org/vivecraft/client_vr/menuworlds/MenuWorldExporter.java b/common/src/main/java/org/vivecraft/client_vr/menuworlds/MenuWorldExporter.java index 1fa26f25e..c0ddac286 100644 --- a/common/src/main/java/org/vivecraft/client_vr/menuworlds/MenuWorldExporter.java +++ b/common/src/main/java/org/vivecraft/client_vr/menuworlds/MenuWorldExporter.java @@ -296,7 +296,7 @@ else if (header.version == 4) for (int z = 0; z < zSize; z++) { for (int y = ySize - 1; y >= 0; y--) { int index = (y * zSize + z) * xSize + x; - if (blocks[index].blocksMotion() || !blocks[index].getFluidState().isEmpty()) { + if (blocks[index].getMaterial().blocksMotion() || !blocks[index].getFluidState().isEmpty()) { heightmap[x][z] = (short)(y + 1); break; } diff --git a/common/src/main/java/org/vivecraft/client_vr/menuworlds/MenuWorldRenderer.java b/common/src/main/java/org/vivecraft/client_vr/menuworlds/MenuWorldRenderer.java index 79319a4c0..27fc876db 100644 --- a/common/src/main/java/org/vivecraft/client_vr/menuworlds/MenuWorldRenderer.java +++ b/common/src/main/java/org/vivecraft/client_vr/menuworlds/MenuWorldRenderer.java @@ -336,13 +336,13 @@ private Pair buildGeometryLayer(Render } VRSettings.logger.info("Built " + c + " blocks."); if (layer == RenderType.translucent()) { - vertBuffer.setQuadSorting(VertexSorting.byDistance(0, Mth.frac(blockAccess.getGround()), 0)); + vertBuffer.setQuadSortOrigin(0, Mth.frac(blockAccess.getGround()), 0); } return Pair.of(layer, vertBuffer.end()); } private void uploadGeometry(RenderType layer, BufferBuilder.RenderedBuffer renderedBuffer) { - VertexBuffer buffer = new VertexBuffer(VertexBuffer.Usage.STATIC); + VertexBuffer buffer = new VertexBuffer(); buffer.bind(); buffer.upload(renderedBuffer); VertexBuffer.unbind(); @@ -725,7 +725,7 @@ public void renderClouds(PoseStack poseStack, double x, double y, double z) if (this.cloudVBO != null) { this.cloudVBO.close(); } - this.cloudVBO = new VertexBuffer(VertexBuffer.Usage.STATIC); + this.cloudVBO = new VertexBuffer(); BufferBuilder.RenderedBuffer renderedBuffer = this.buildClouds(bufferBuilder, cloudX, cloudY, cloudZ, cloudColor); this.cloudVBO.bind(); this.cloudVBO.upload(renderedBuffer); @@ -1111,7 +1111,7 @@ private void generateSky() if (this.skyVBO != null) { this.skyVBO.close(); } - this.skyVBO = new VertexBuffer(VertexBuffer.Usage.STATIC); + this.skyVBO = new VertexBuffer(); BufferBuilder.RenderedBuffer renderedBuffer = buildSkyDisc(bufferBuilder, 16.0f); this.skyVBO.bind(); this.skyVBO.upload(renderedBuffer); @@ -1125,7 +1125,7 @@ private void generateSky2() if (this.sky2VBO != null) { this.sky2VBO.close(); } - this.sky2VBO = new VertexBuffer(VertexBuffer.Usage.STATIC); + this.sky2VBO = new VertexBuffer(); BufferBuilder.RenderedBuffer renderedBuffer = buildSkyDisc(bufferBuilder, -16.0f); this.sky2VBO.bind(); this.sky2VBO.upload(renderedBuffer); @@ -1152,7 +1152,7 @@ private void generateStars() if (this.starVBO != null) { this.starVBO.close(); } - this.starVBO = new VertexBuffer(VertexBuffer.Usage.STATIC); + this.starVBO = new VertexBuffer(); BufferBuilder.RenderedBuffer renderedBuffer = this.buildStars(bufferBuilder); this.starVBO.bind(); this.starVBO.upload(renderedBuffer); diff --git a/common/src/main/java/org/vivecraft/client_vr/provider/VRRenderer.java b/common/src/main/java/org/vivecraft/client_vr/provider/VRRenderer.java index 0a6344d78..31f367b8c 100644 --- a/common/src/main/java/org/vivecraft/client_vr/provider/VRRenderer.java +++ b/common/src/main/java/org/vivecraft/client_vr/provider/VRRenderer.java @@ -150,7 +150,7 @@ public void doStencil(boolean inverse) { RenderTarget fb = minecraft.getMainRenderTarget(); RenderSystem.viewport(0, 0, fb.viewWidth, fb.viewHeight); RenderSystem.backupProjectionMatrix(); - RenderSystem.setProjectionMatrix(new Matrix4f().setOrtho(0.0F, fb.viewWidth, 0.0F, fb.viewHeight, 0.0F, 20.0F), VertexSorting.ORTHOGRAPHIC_Z); + RenderSystem.setProjectionMatrix(new Matrix4f().setOrtho(0.0F, fb.viewWidth, 0.0F, fb.viewHeight, 0.0F, 20.0F)); RenderSystem.getModelViewStack().pushPose(); RenderSystem.getModelViewStack().setIdentity(); if (inverse) //draw on far clip diff --git a/common/src/main/java/org/vivecraft/mixin/client/blaze3d/RenderTargetMixin.java b/common/src/main/java/org/vivecraft/mixin/client/blaze3d/RenderTargetMixin.java index c8eb97064..e5cfdd0a2 100644 --- a/common/src/main/java/org/vivecraft/mixin/client/blaze3d/RenderTargetMixin.java +++ b/common/src/main/java/org/vivecraft/mixin/client/blaze3d/RenderTargetMixin.java @@ -226,7 +226,7 @@ public void blitFovReduction(ShaderInstance instance, int width, int height) { } } Matrix4f matrix4f = new Matrix4f().setOrtho(0, width, height, 0,1000.0f, 3000.0f); - RenderSystem.setProjectionMatrix(matrix4f, VertexSorting.ORTHOGRAPHIC_Z); + RenderSystem.setProjectionMatrix(matrix4f); if (instance.MODEL_VIEW_MATRIX != null) { instance.MODEL_VIEW_MATRIX.set(new Matrix4f().translation(0.0f, 0.0f, -2000.0f)); } @@ -311,7 +311,7 @@ private void _blitToScreen(ShaderInstance instance, int left, int width, int hei } } Matrix4f matrix4f = new Matrix4f().setOrtho(0, (float) width, (float) (height), 0, 1000.0F, 3000.0F); - RenderSystem.setProjectionMatrix(matrix4f, VertexSorting.ORTHOGRAPHIC_Z); + RenderSystem.setProjectionMatrix(matrix4f); if (instance.MODEL_VIEW_MATRIX != null) { instance.MODEL_VIEW_MATRIX.set(new Matrix4f().translation(0.0F, 0.0F, -2000.0F)); diff --git a/common/src/main/java/org/vivecraft/mixin/client/gui/screens/TitleScreenMixin.java b/common/src/main/java/org/vivecraft/mixin/client/gui/screens/TitleScreenMixin.java index 9655584ce..a1cc2b75e 100644 --- a/common/src/main/java/org/vivecraft/mixin/client/gui/screens/TitleScreenMixin.java +++ b/common/src/main/java/org/vivecraft/mixin/client/gui/screens/TitleScreenMixin.java @@ -1,6 +1,6 @@ package org.vivecraft.mixin.client.gui.screens; -import net.minecraft.client.gui.GuiGraphics; +import com.mojang.blaze3d.vertex.PoseStack; import net.minecraft.client.gui.components.*; import net.minecraft.client.gui.screens.*; import net.minecraft.client.renderer.PanoramaRenderer; @@ -70,15 +70,15 @@ private String getIcon() { } @Inject(at = @At("TAIL"), method = "render") - public void renderToolTip(GuiGraphics guiGraphics, int i, int j, float f, CallbackInfo ci) { + public void renderToolTip(PoseStack poseStack, int i, int j, float f, CallbackInfo ci) { updateButton.visible = UpdateChecker.hasUpdate; if (vrModeButton.isMouseOver(i, j)) { - guiGraphics.renderTooltip(font, font.split(Component.translatable("vivecraft.options.VR_MODE.tooltip"), Math.max(width / 2 - 43, 170)), i, j); + renderTooltip(poseStack, font.split(Component.translatable("vivecraft.options.VR_MODE.tooltip"), Math.max(width / 2 - 43, 170)), i, j); } if (VRState.vrInitialized && !VRState.vrRunning) { Component hotswitchMessage = Component.translatable("vivecraft.messages.vrhotswitchinginfo"); - guiGraphics.renderTooltip(font, font.split(hotswitchMessage, 280), width / 2 - 140 - 12, 17); + renderTooltip(poseStack, font.split(hotswitchMessage, 280), width / 2 - 140 - 12, 17); } } diff --git a/common/src/main/java/org/vivecraft/mixin/client/main/MainMixin.java b/common/src/main/java/org/vivecraft/mixin/client/main/MainMixin.java index 583d14bdf..0bc52b42a 100644 --- a/common/src/main/java/org/vivecraft/mixin/client/main/MainMixin.java +++ b/common/src/main/java/org/vivecraft/mixin/client/main/MainMixin.java @@ -1,6 +1,5 @@ package org.vivecraft.mixin.client.main; -import com.google.common.base.Stopwatch; import org.vivecraft.client.utils.UpdateChecker; import org.vivecraft.client_vr.ClientDataHolderVR; import org.spongepowered.asm.mixin.Mixin; @@ -18,7 +17,7 @@ public class MainMixin { @Inject(at = @At(value = "INVOKE", target = "Ljoptsimple/OptionParser;allowsUnrecognizedOptions()V"), method = "main", locals = LocalCapture.CAPTURE_FAILHARD, remap = false) - private static void options(String[] strings, CallbackInfo ci, Stopwatch stopwatch, Stopwatch stopwatch2, OptionParser optionparser) { + private static void options(String[] strings, CallbackInfo ci, OptionParser optionparser) { optionparser.accepts("kiosk"); optionparser.accepts("viewonly"); optionparser.accepts("katvr"); diff --git a/common/src/main/java/org/vivecraft/mixin/client_vr/ClientBrandRetrieverVRMixin.java b/common/src/main/java/org/vivecraft/mixin/client_vr/ClientBrandRetrieverVRMixin.java index 933eb4796..166c87ab4 100644 --- a/common/src/main/java/org/vivecraft/mixin/client_vr/ClientBrandRetrieverVRMixin.java +++ b/common/src/main/java/org/vivecraft/mixin/client_vr/ClientBrandRetrieverVRMixin.java @@ -9,7 +9,7 @@ @Mixin(ClientBrandRetriever.class) public class ClientBrandRetrieverVRMixin { - @Inject(at = @At("RETURN"), method = "getClientModName", remap = false, cancellable = true) + @Inject(at = @At("RETURN"), method = "getClientModName", cancellable = true) private static void vivecraftClientBrand(CallbackInfoReturnable cir) { if (VRState.vrEnabled) { cir.setReturnValue("vivecraft"); diff --git a/common/src/main/java/org/vivecraft/mixin/client_vr/KeyboardHandlerVRMixin.java b/common/src/main/java/org/vivecraft/mixin/client_vr/KeyboardHandlerVRMixin.java index 8cfcc21e3..d8bb4b67c 100644 --- a/common/src/main/java/org/vivecraft/mixin/client_vr/KeyboardHandlerVRMixin.java +++ b/common/src/main/java/org/vivecraft/mixin/client_vr/KeyboardHandlerVRMixin.java @@ -63,6 +63,11 @@ public void noScreenshot(File file, RenderTarget renderTarget, Consumer completablefuture = getSingleplayerServer().submit(() -> { try { @@ -1159,7 +1147,7 @@ private void drawNotifyMirror() { RenderSystem.viewport(0, 0, this.window.getScreenWidth(), this.window.getScreenHeight()); Matrix4f matrix4f = new Matrix4f().setOrtho(0.0F, (float) this.window.getScreenWidth(), (float) this.window.getScreenHeight(), 0.0F, 1000.0F, 3000.0F); - RenderSystem.setProjectionMatrix(matrix4f, VertexSorting.ORTHOGRAPHIC_Z); + RenderSystem.setProjectionMatrix(matrix4f); RenderSystem.getModelViewStack().pushPose(); RenderSystem.getModelViewStack().setIdentity(); RenderSystem.getModelViewStack().translate(0, 0, -2000); @@ -1183,12 +1171,10 @@ private void drawNotifyMirror() { int j = 1; int k = 12; - GuiGraphics guiGraphics = new GuiGraphics((Minecraft)(Object) this, renderBuffers.bufferSource()); for (String s : arraylist) { - guiGraphics.drawString(this.font, s, 1, j, 16777215); + this.font.draw(p, s, 1.0F, (float) j, 16777215); j += 12; } - guiGraphics.flush(); RenderSystem.getModelViewStack().popPose(); } } diff --git a/common/src/main/java/org/vivecraft/mixin/client_vr/blaze3d/platform/GlStateManagerVRMixin.java b/common/src/main/java/org/vivecraft/mixin/client_vr/blaze3d/platform/GlStateManagerVRMixin.java index dcef28e50..596ab23d4 100644 --- a/common/src/main/java/org/vivecraft/mixin/client_vr/blaze3d/platform/GlStateManagerVRMixin.java +++ b/common/src/main/java/org/vivecraft/mixin/client_vr/blaze3d/platform/GlStateManagerVRMixin.java @@ -30,7 +30,7 @@ private static int properId(int i) { * @reason */ // do remap because of forge - @Overwrite(remap = false) + @Overwrite public static void _blendFuncSeparate(int i, int j, int k, int l) { RenderSystem.assertOnRenderThread(); if (i == GlStateManager.SourceFactor.SRC_ALPHA.value && j == GlStateManager.DestFactor.ONE_MINUS_SRC_ALPHA.value && k == GlStateManager.SourceFactor.ONE.value && l == GlStateManager.DestFactor.ZERO.value) { diff --git a/common/src/main/java/org/vivecraft/mixin/client_vr/blaze3d/systems/RenderSystemVRMixin.java b/common/src/main/java/org/vivecraft/mixin/client_vr/blaze3d/systems/RenderSystemVRMixin.java index 25b8d634c..3a4c979e6 100644 --- a/common/src/main/java/org/vivecraft/mixin/client_vr/blaze3d/systems/RenderSystemVRMixin.java +++ b/common/src/main/java/org/vivecraft/mixin/client_vr/blaze3d/systems/RenderSystemVRMixin.java @@ -13,7 +13,7 @@ public class RenderSystemVRMixin { // do remap because of forge - @Inject(at = @At("HEAD"), method = "defaultBlendFunc", cancellable = true, remap = false) + @Inject(at = @At("HEAD"), method = "defaultBlendFunc", cancellable = true) private static void defaultBlendFunc(CallbackInfo ci) { blendFuncSeparate(GlStateManager.SourceFactor.SRC_ALPHA, GlStateManager.DestFactor.ONE_MINUS_SRC_ALPHA, GlStateManager.SourceFactor.ONE, GlStateManager.DestFactor.ONE_MINUS_SRC_ALPHA); ci.cancel(); diff --git a/common/src/main/java/org/vivecraft/mixin/client_vr/gui/EditBoxVRMixin.java b/common/src/main/java/org/vivecraft/mixin/client_vr/gui/EditBoxVRMixin.java index 3eecbbe49..ca922b60c 100644 --- a/common/src/main/java/org/vivecraft/mixin/client_vr/gui/EditBoxVRMixin.java +++ b/common/src/main/java/org/vivecraft/mixin/client_vr/gui/EditBoxVRMixin.java @@ -4,11 +4,13 @@ import org.spongepowered.asm.mixin.Shadow; import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Inject; -import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; +import org.spongepowered.asm.mixin.injection.Redirect; +import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; import net.minecraft.client.gui.components.AbstractWidget; import net.minecraft.client.gui.components.EditBox; import net.minecraft.network.chat.Component; +import org.spongepowered.asm.mixin.injection.callback.LocalCapture; import org.vivecraft.client_vr.VRState; import org.vivecraft.client_vr.gameplay.screenhandlers.KeyboardHandler; @@ -22,9 +24,15 @@ public EditBoxVRMixin(int p_93629_, int p_93630_, int p_93631_, int p_93632_, Co super(p_93629_, p_93630_, p_93631_, p_93632_, p_93633_); } - @Inject(at = @At(value = "HEAD"), method = "onClick") - public void openKeyboard(double d, double e, CallbackInfo ci) { - if (VRState.vrRunning) { + //TODO test + @Redirect(at = @At(value = "FIELD", target = "Lnet/minecraft/client/gui/components/EditBox;canLoseFocus:Z"), method = "mouseClicked(DDI)Z") + public boolean focus(EditBox instance) { + return canLoseFocus || !this.isFocused(); + } + + @Inject(at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/components/EditBox;isFocused()Z", shift = At.Shift.BEFORE), method = "mouseClicked(DDI)Z", locals = LocalCapture.CAPTURE_FAILHARD) + public void openKeyboard(double d, double e, int i, CallbackInfoReturnable cir, boolean bl) { + if (bl && VRState.vrRunning) { KeyboardHandler.setOverlayShowing(true); } } diff --git a/common/src/main/java/org/vivecraft/mixin/client_vr/gui/GuiComponentVRMixin.java b/common/src/main/java/org/vivecraft/mixin/client_vr/gui/GuiComponentVRMixin.java index 3f13b1bfa..921ac73bf 100644 --- a/common/src/main/java/org/vivecraft/mixin/client_vr/gui/GuiComponentVRMixin.java +++ b/common/src/main/java/org/vivecraft/mixin/client_vr/gui/GuiComponentVRMixin.java @@ -2,18 +2,18 @@ import com.mojang.blaze3d.platform.GlStateManager; import com.mojang.blaze3d.systems.RenderSystem; -import net.minecraft.client.gui.GuiGraphics; +import net.minecraft.client.gui.GuiComponent; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Inject; import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; import org.vivecraft.client_vr.VRState; -@Mixin(GuiGraphics.class) +@Mixin(GuiComponent.class) public class GuiComponentVRMixin { - @Inject(at = @At(value = "INVOKE", target = "Lcom/mojang/blaze3d/systems/RenderSystem;setShader(Ljava/util/function/Supplier;)V", shift = At.Shift.AFTER), method = "innerBlit(Lnet/minecraft/resources/ResourceLocation;IIIIIFFFFFFFF)V") - private void addBlend(CallbackInfo ci) { + @Inject(at = @At(value = "INVOKE", target = "Lcom/mojang/blaze3d/systems/RenderSystem;setShader(Ljava/util/function/Supplier;)V", shift = At.Shift.AFTER), method = "innerBlit(Lorg/joml/Matrix4f;IIIIIFFFF)V") + private static void addBlend(CallbackInfo ci) { if (VRState.vrRunning) { RenderSystem.enableBlend(); // only change the alpha blending @@ -21,8 +21,8 @@ private void addBlend(CallbackInfo ci) { } } - @Inject(at = @At("TAIL"), method = "innerBlit(Lnet/minecraft/resources/ResourceLocation;IIIIIFFFFFFFF)V") - private void stopBlend(CallbackInfo ci) { + @Inject(at = @At("TAIL"), method = "innerBlit(Lorg/joml/Matrix4f;IIIIIFFFF)V") + private static void stopBlend(CallbackInfo ci) { if (VRState.vrRunning) { RenderSystem.disableBlend(); } diff --git a/common/src/main/java/org/vivecraft/mixin/client_vr/gui/GuiVRMixin.java b/common/src/main/java/org/vivecraft/mixin/client_vr/gui/GuiVRMixin.java index 13c0359f9..1e3ccd21d 100644 --- a/common/src/main/java/org/vivecraft/mixin/client_vr/gui/GuiVRMixin.java +++ b/common/src/main/java/org/vivecraft/mixin/client_vr/gui/GuiVRMixin.java @@ -11,7 +11,8 @@ import com.mojang.blaze3d.vertex.*; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.Gui; -import net.minecraft.client.gui.GuiGraphics; +import net.minecraft.client.gui.GuiComponent; +import net.minecraft.client.gui.screens.Screen; import net.minecraft.client.renderer.GameRenderer; import net.minecraft.client.renderer.texture.TextureAtlasSprite; import net.minecraft.world.effect.MobEffect; @@ -31,7 +32,7 @@ import org.vivecraft.client_xr.render_pass.RenderPassType; @Mixin(Gui.class) -public abstract class GuiVRMixin implements GuiExtension { +public abstract class GuiVRMixin extends GuiComponent implements GuiExtension { @Unique public boolean showPlayerList; @@ -43,18 +44,11 @@ public abstract class GuiVRMixin implements GuiExtension { @Shadow private Minecraft minecraft; - @Final - @Shadow - private static ResourceLocation WIDGETS_LOCATION; - @Final - @Shadow - private static ResourceLocation GUI_ICONS_LOCATION; - @Shadow protected abstract Player getCameraPlayer(); @Inject(method = "renderVignette", at = @At("HEAD"), cancellable = true) - void cancelRenderVignette(GuiGraphics guiGraphics, Entity entity, CallbackInfo ci) { + void cancelRenderVignette(PoseStack poseStack, Entity entity, CallbackInfo ci) { if (RenderPassType.isGuiOnly()) { RenderSystem.enableDepthTest(); ci.cancel(); @@ -62,28 +56,28 @@ void cancelRenderVignette(GuiGraphics guiGraphics, Entity entity, CallbackInfo c } @Inject(method = "renderTextureOverlay", at = @At("HEAD"), cancellable = true) - void cancelRenderOverlay(GuiGraphics guiGraphics, ResourceLocation resourceLocation, float f, CallbackInfo ci) { + void cancelRenderOverlay(PoseStack poseStack, ResourceLocation resourceLocation, float f, CallbackInfo ci) { if (RenderPassType.isGuiOnly()) { ci.cancel(); } } @Inject(method = "renderPortalOverlay", at = @At("HEAD"), cancellable = true) - void cancelRenderPortalOverlay(GuiGraphics guiGraphics, float f, CallbackInfo ci) { + void cancelRenderPortalOverlay(PoseStack poseStack, float f, CallbackInfo ci) { if (RenderPassType.isGuiOnly()) { ci.cancel(); } } @Inject(at = @At("HEAD"), method = "renderSpyglassOverlay", cancellable = true) - public void cancelRenderSpyglassOverlay(GuiGraphics guiGraphics, float f, CallbackInfo ci) { + public void cancelRenderSpyglassOverlay(PoseStack poseStack, float f, CallbackInfo ci) { if (RenderPassType.isGuiOnly()) { ci.cancel(); } } @Inject(at = @At("HEAD"), method = "renderCrosshair", cancellable = true) - public void cancelRenderCrosshair(GuiGraphics guiGraphics, CallbackInfo ci) { + public void cancelRenderCrosshair(PoseStack poseStack, CallbackInfo ci) { if (RenderPassType.isGuiOnly()) { ci.cancel(); } @@ -99,12 +93,12 @@ public boolean toggleableTabList(KeyMapping instance) { return instance.isDown() || showPlayerList; } - @Inject(at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/GuiGraphics;blit(Lnet/minecraft/resources/ResourceLocation;IIIIII)V", ordinal = 1, shift = At.Shift.AFTER), method = "renderHotbar") - public void hotbarContext(float f, GuiGraphics guiGraphics, CallbackInfo ci) { + @Inject(at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/Gui;blit(Lcom/mojang/blaze3d/vertex/PoseStack;IIIIII)V", ordinal = 1, shift = At.Shift.AFTER), method = "renderHotbar") + public void hotbarContext(float f, PoseStack poseStack, CallbackInfo ci) { if (VRState.vrRunning && ClientDataHolderVR.getInstance().interactTracker.hotbar >= 0 && ClientDataHolderVR.getInstance().interactTracker.hotbar < 9 && this.getCameraPlayer().getInventory().selected != ClientDataHolderVR.getInstance().interactTracker.hotbar && ClientDataHolderVR.getInstance().interactTracker.isActive(minecraft.player)) { int i = this.screenWidth / 2; RenderSystem.setShaderColor(0.0F, 1.0F, 0.0F, 1.0F); - guiGraphics.blit(WIDGETS_LOCATION, i - 91 - 1 + ClientDataHolderVR.getInstance().interactTracker.hotbar * 20, this.screenHeight - 22 - 1, 0, 22, 24, 22); + blit(poseStack, i - 91 - 1 + ClientDataHolderVR.getInstance().interactTracker.hotbar * 20, this.screenHeight - 22 - 1, 0, 22, 24, 22); RenderSystem.setShaderColor(1.0F, 1.0F, 1.0F, 1.0F); } } @@ -115,35 +109,35 @@ public boolean slotSwap(ItemStack instance) { } @Inject(at = @At("HEAD"), method = "renderHotbar", cancellable = true) - public void notHotbarOnScreens(float f, GuiGraphics guiGraphics, CallbackInfo ci) { + public void notHotbarOnScreens(float f, PoseStack poseStack, CallbackInfo ci) { if (VRState.vrRunning && minecraft.screen != null) { ci.cancel(); } } - @Inject(at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/GuiGraphics;blit(Lnet/minecraft/resources/ResourceLocation;IIIIII)V", ordinal = 2, shift = At.Shift.BEFORE), method = "renderHotbar") - public void renderVRHotbarLeft(float f, GuiGraphics guiGraphics, CallbackInfo ci) { + @Inject(at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/Gui;blit(Lcom/mojang/blaze3d/vertex/PoseStack;IIIIII)V", ordinal = 2, shift = At.Shift.BEFORE), method = "renderHotbar") + public void renderVRHotbarLeft(float f, PoseStack poseStack, CallbackInfo ci) { if (VRState.vrRunning && ClientDataHolderVR.getInstance().interactTracker.hotbar == 9 && ClientDataHolderVR.getInstance().interactTracker.isActive(minecraft.player)) { RenderSystem.setShaderColor(0.0F, 0.0F, 1.0F, 1.0F); } } - @Inject(at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/GuiGraphics;blit(Lnet/minecraft/resources/ResourceLocation;IIIIII)V", ordinal = 2, shift = At.Shift.AFTER), method = "renderHotbar") - public void renderVRHotbarLeftReset(float f, GuiGraphics guiGraphics, CallbackInfo ci) { + @Inject(at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/Gui;blit(Lcom/mojang/blaze3d/vertex/PoseStack;IIIIII)V", ordinal = 2, shift = At.Shift.AFTER), method = "renderHotbar") + public void renderVRHotbarLeftReset(float f, PoseStack poseStack, CallbackInfo ci) { if (VRState.vrRunning && ClientDataHolderVR.getInstance().interactTracker.hotbar == 9) { RenderSystem.setShaderColor(1.0F, 1.0F, 1.0F, 1.0F); } } - @Inject(at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/GuiGraphics;blit(Lnet/minecraft/resources/ResourceLocation;IIIIII)V", ordinal = 3, shift = At.Shift.BEFORE), method = "renderHotbar") - public void renderVRHotbarRight(float f, GuiGraphics guiGraphics, CallbackInfo ci) { + @Inject(at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/Gui;blit(Lcom/mojang/blaze3d/vertex/PoseStack;IIIIII)V", ordinal = 3, shift = At.Shift.BEFORE), method = "renderHotbar") + public void renderVRHotbarRight(float f, PoseStack poseStack, CallbackInfo ci) { if (VRState.vrRunning && ClientDataHolderVR.getInstance().interactTracker.hotbar == 9 && ClientDataHolderVR.getInstance().interactTracker.isActive(minecraft.player)){ RenderSystem.setShaderColor(0.0F, 0.0F, 1.0F, 1.0F); } } - @Inject(at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/GuiGraphics;blit(Lnet/minecraft/resources/ResourceLocation;IIIIII)V", ordinal = 3, shift = At.Shift.AFTER), method = "renderHotbar") - public void renderVRHotbarRightReset(float f, GuiGraphics guiGraphics, CallbackInfo ci) { + @Inject(at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/Gui;blit(Lcom/mojang/blaze3d/vertex/PoseStack;IIIIII)V", ordinal = 3, shift = At.Shift.AFTER), method = "renderHotbar") + public void renderVRHotbarRightReset(float f, PoseStack poseStack, CallbackInfo ci) { if (VRState.vrRunning && ClientDataHolderVR.getInstance().interactTracker.hotbar == 9){ RenderSystem.setShaderColor(1.0F, 1.0F, 1.0F, 1.0F); } @@ -151,13 +145,13 @@ public void renderVRHotbarRightReset(float f, GuiGraphics guiGraphics, CallbackI // do remap because of forge @Inject(at = @At(value = "INVOKE", target = "Lcom/mojang/blaze3d/systems/RenderSystem;disableBlend()V"), method = "renderHotbar") - public void renderVive(float f, GuiGraphics guiGraphics, CallbackInfo ci) { + public void renderVive(float f, PoseStack poseStack, CallbackInfo ci) { if (VRState.vrRunning) { - this.renderViveHudIcons(guiGraphics); + this.renderViveHudIcons(poseStack); } } - private void renderViveHudIcons(GuiGraphics guiGraphics) { + private void renderViveHudIcons(PoseStack matrixstack) { if (this.minecraft.getCameraEntity() instanceof Player) { Player player = (Player)this.minecraft.getCameraEntity(); int k = 0; @@ -186,7 +180,7 @@ private void renderViveHudIcons(GuiGraphics guiGraphics) { int y = this.minecraft.getWindow().getGuiScaledHeight() - 39; if (k == -1) { - guiGraphics.renderFakeItem(new ItemStack(Items.ELYTRA), x, y); + this.minecraft.getItemRenderer().renderGuiItem(matrixstack, new ItemStack(Items.ELYTRA), x, y); mobeffect = null; } else if (k == -2) { @@ -197,12 +191,13 @@ else if (k == -2) { else { mobeffect = null; } - guiGraphics.renderFakeItem(new ItemStack(Items.RABBIT_FOOT), x2, y); + this.minecraft.getItemRenderer().renderGuiItem(matrixstack, new ItemStack(Items.RABBIT_FOOT), x2, y); } if (mobeffect != null) { TextureAtlasSprite textureatlassprite = this.minecraft.getMobEffectTextures().get(mobeffect); RenderSystem.setShaderColor(1.0F, 1.0F, 1.0F, 1.0F); - guiGraphics.blit(x, y, 0, 18, 18, textureatlassprite); + RenderSystem.setShaderTexture(0, textureatlassprite.atlasLocation()); + GuiComponent.blit(matrixstack, x, y, 0, 18, 18, textureatlassprite); } } } @@ -224,7 +219,7 @@ public void drawMouseMenuQuad(int mouseX, int mouseY) { //uhhhh //RenderSystem.disableLighting(); RenderSystem.setShader(GameRenderer::getPositionTexShader); RenderSystem.setShaderColor(1.0F, 1.0F, 1.0F, 1.0F); - RenderSystem.setShaderTexture(0, GUI_ICONS_LOCATION); + RenderSystem.setShaderTexture(0, Screen.GUI_ICONS_LOCATION); float f = 16.0F * ClientDataHolderVR.getInstance().vrSettings.menuCrosshairScale; RenderSystem.blendFuncSeparate(GlStateManager.SourceFactor.ONE_MINUS_DST_COLOR, GlStateManager.DestFactor.ZERO, GlStateManager.SourceFactor.ONE, GlStateManager.DestFactor.ONE); this.drawCentredTexturedModalRect(mouseX, mouseY, f, f, 0, 0, 15, 15); diff --git a/common/src/main/java/org/vivecraft/mixin/client_vr/gui/TutorialToastVRMixin.java b/common/src/main/java/org/vivecraft/mixin/client_vr/gui/TutorialToastVRMixin.java index 250f08d50..86f9ee4f0 100644 --- a/common/src/main/java/org/vivecraft/mixin/client_vr/gui/TutorialToastVRMixin.java +++ b/common/src/main/java/org/vivecraft/mixin/client_vr/gui/TutorialToastVRMixin.java @@ -1,6 +1,7 @@ package org.vivecraft.mixin.client_vr.gui; -import net.minecraft.client.gui.GuiGraphics; +import com.mojang.blaze3d.vertex.PoseStack; +import net.minecraft.client.gui.GuiComponent; import net.minecraft.client.gui.components.toasts.Toast; import net.minecraft.client.gui.components.toasts.ToastComponent; import net.minecraft.client.gui.components.toasts.TutorialToast; @@ -26,34 +27,34 @@ public abstract class TutorialToastVRMixin implements Toast{ private int offset; - @Inject(at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/GuiGraphics;blit(Lnet/minecraft/resources/ResourceLocation;IIIIII)V", shift = At.Shift.AFTER), method = "render") - private void extendToast(GuiGraphics guiGraphics, ToastComponent toastComponent, long l, CallbackInfoReturnable cir){ + @Inject(at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/GuiComponent;blit(Lcom/mojang/blaze3d/vertex/PoseStack;IIIIII)V", shift = At.Shift.AFTER), method = "render") + private void extendToast(PoseStack poseStack, ToastComponent toastComponent, long l, CallbackInfoReturnable cir){ int width = Math.max(toastComponent.getMinecraft().font.width(this.title), message != null ? toastComponent.getMinecraft().font.width(this.message) : 0) + 34; offset = Math.min(this.width()-width, 0); if (offset < 0) { // draw a bigger toast from right to left, to override the left border for (int i = offset - (this.width() - 8) * (offset / (this.width() - 8)); i >= offset; i -= this.width() - 8) { - guiGraphics.blit(TEXTURE, i, 0, 0, 96, this.width() - 4, this.height()); + GuiComponent.blit(poseStack, i, 0, 0, 96, this.width() - 4, this.height()); } } } - @ModifyArg(at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/components/toasts/TutorialToast$Icons;render(Lnet/minecraft/client/gui/GuiGraphics;II)V"), method = "render", index = 1) + @ModifyArg(at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/components/toasts/TutorialToast$Icons;render(Lcom/mojang/blaze3d/vertex/PoseStack;II)V"), method = "render", index = 1) private int offsetIcon(int x){ return x + offset; } - @ModifyArg(at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/GuiGraphics;drawString(Lnet/minecraft/client/gui/Font;Lnet/minecraft/network/chat/Component;IIIZ)I"), method = "render", index = 2) - private int offsetText(int x){ + @ModifyArg(at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/Font;draw(Lcom/mojang/blaze3d/vertex/PoseStack;Lnet/minecraft/network/chat/Component;FFI)I"), method = "render", index = 2) + private float offsetText(float x){ return x + offset; } - @ModifyArg(at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/GuiGraphics;fill(IIIII)V"), method = "render", index = 0) + @ModifyArg(at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/GuiComponent;fill(Lcom/mojang/blaze3d/vertex/PoseStack;IIIII)V"), method = "render", index = 1) private int offsetProgressStart(int x){ return x + offset; } - @ModifyArg(at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/GuiGraphics;fill(IIIII)V", ordinal = 1), method = "render", index = 2) + @ModifyArg(at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/GuiComponent;fill(Lcom/mojang/blaze3d/vertex/PoseStack;IIIII)V", ordinal = 1), method = "render", index = 3) private int offsetProgressEnd(int x){ return x + offset - (int)((float)x / TutorialToast.PROGRESS_BAR_WIDTH * offset ); } diff --git a/common/src/main/java/org/vivecraft/mixin/client_vr/gui/screens/ScreenVRMixin.java b/common/src/main/java/org/vivecraft/mixin/client_vr/gui/screens/ScreenVRMixin.java index 66b2dd36a..3491adc36 100644 --- a/common/src/main/java/org/vivecraft/mixin/client_vr/gui/screens/ScreenVRMixin.java +++ b/common/src/main/java/org/vivecraft/mixin/client_vr/gui/screens/ScreenVRMixin.java @@ -1,8 +1,8 @@ package org.vivecraft.mixin.client_vr.gui.screens; -import net.minecraft.client.gui.GuiGraphics; import net.minecraft.client.gui.components.Renderable; import org.vivecraft.client_vr.ClientDataHolderVR; +import com.mojang.blaze3d.vertex.PoseStack; import net.minecraft.client.gui.components.events.AbstractContainerEventHandler; import net.minecraft.client.gui.screens.Screen; import org.spongepowered.asm.mixin.Mixin; @@ -13,12 +13,12 @@ @Mixin(Screen.class) public abstract class ScreenVRMixin extends AbstractContainerEventHandler implements Renderable { - @Redirect(at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/GuiGraphics;fillGradient(IIIIII)V"), method = "renderBackground") - public void vrBackground(GuiGraphics guiGraphics, int i, int j, int k, int l, int m, int n) { + @Redirect(at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/screens/Screen;fillGradient(Lcom/mojang/blaze3d/vertex/PoseStack;IIIIII)V"), method = "renderBackground") + public void vrBackground(PoseStack poseStack, int i, int j, int k, int l, int m, int n) { if (VRState.vrRunning && ClientDataHolderVR.getInstance().vrSettings != null && !ClientDataHolderVR.getInstance().vrSettings.menuBackground) { - guiGraphics.fillGradient(i, j, k, l, 0, 0); + fillGradient(poseStack, i, j, k, l, 0, 0); } else { - guiGraphics.fillGradient(i, j, k, l, m, n); + fillGradient(poseStack, i, j, k, l, m, n); } } diff --git a/common/src/main/java/org/vivecraft/mixin/client_vr/gui/screens/inventory/CreativeModeInventoryScreenVRMixin.java b/common/src/main/java/org/vivecraft/mixin/client_vr/gui/screens/inventory/CreativeModeInventoryScreenVRMixin.java index 4041626ef..c74e72b8f 100644 --- a/common/src/main/java/org/vivecraft/mixin/client_vr/gui/screens/inventory/CreativeModeInventoryScreenVRMixin.java +++ b/common/src/main/java/org/vivecraft/mixin/client_vr/gui/screens/inventory/CreativeModeInventoryScreenVRMixin.java @@ -4,7 +4,6 @@ import net.minecraft.client.gui.screens.inventory.CreativeModeInventoryScreen; import net.minecraft.client.gui.screens.inventory.EffectRenderingInventoryScreen; import net.minecraft.core.NonNullList; -import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.network.chat.Component; import net.minecraft.world.entity.player.Inventory; import net.minecraft.world.item.CreativeModeTab; @@ -42,7 +41,7 @@ public void fill(CreativeModeTab creativeModeTab, CallbackInfo ci) { @Unique private void addCreativeItems(CreativeModeTab tab, NonNullList list) { - if (tab == BuiltInRegistries.CREATIVE_MODE_TAB.get(CreativeModeTabs.FOOD_AND_DRINKS) || tab == null) { + if (tab == CreativeModeTabs.FOOD_AND_DRINKS || tab == null) { ItemStack itemstack = (new ItemStack(Items.PUMPKIN_PIE)).setHoverName(Component.literal("EAT ME")); ItemStack itemstack1 = PotionUtils.setPotion(new ItemStack(Items.POTION), Potions.WATER).setHoverName(Component.literal("DRINK ME")); itemstack1.getTag().putInt("HideFlags", 32); @@ -50,7 +49,7 @@ private void addCreativeItems(CreativeModeTab tab, NonNullList list) list.add(itemstack1); } - if (tab == BuiltInRegistries.CREATIVE_MODE_TAB.get(CreativeModeTabs.TOOLS_AND_UTILITIES) || tab == null) { + if (tab == CreativeModeTabs.TOOLS_AND_UTILITIES || tab == null) { ItemStack itemstack3 = (new ItemStack(Items.LEATHER_BOOTS)).setHoverName(Component.translatable("vivecraft.item.jumpboots")); itemstack3.getTag().putBoolean("Unbreakable", true); itemstack3.getTag().putInt("HideFlags", 4); diff --git a/common/src/main/java/org/vivecraft/mixin/client_vr/player/LocalPlayerVRMixin.java b/common/src/main/java/org/vivecraft/mixin/client_vr/player/LocalPlayerVRMixin.java index 818abc877..b58e22fcf 100644 --- a/common/src/main/java/org/vivecraft/mixin/client_vr/player/LocalPlayerVRMixin.java +++ b/common/src/main/java/org/vivecraft/mixin/client_vr/player/LocalPlayerVRMixin.java @@ -203,7 +203,7 @@ public void overwriteMove(MoverType pType, Vec3 pPos, CallbackInfo info) { VRPlayer.get().setRoomOrigin(VRPlayer.get().roomOrigin.x, this.getY() + this.getRoomYOffsetFromPose(), VRPlayer.get().roomOrigin.z, false); } else { - this.setOnGround(true); + this.onGround = true; } } else { super.move(pType, pPos); @@ -295,8 +295,8 @@ public void setPos(double pX, double p_20211_, double pY) { public void doDrag() { float friction = 0.91F; - if (this.onGround()) { - friction = this.level().getBlockState(this.getBlockPosBelowThatAffectsMyMovement()).getBlock().getFriction() * 0.91F; + if (this.onGround) { + friction = this.level.getBlockState(this.getBlockPosBelowThatAffectsMyMovement()).getBlock().getFriction() * 0.91F; } double xFactor = friction; double zFactor = friction; @@ -485,10 +485,10 @@ public float getMuhJumpFactor() { @Override public void stepSound(BlockPos blockforNoise, Vec3 soundPos) { - BlockState blockstate = this.level().getBlockState(blockforNoise); + BlockState blockstate = this.level.getBlockState(blockforNoise); Block block = blockstate.getBlock(); SoundType soundtype = block.getSoundType(blockstate); - BlockState blockstate1 = this.level().getBlockState(blockforNoise.above()); + BlockState blockstate1 = this.level.getBlockState(blockforNoise.above()); if (blockstate1.getBlock() == Blocks.SNOW) { soundtype = Blocks.SNOW.getSoundType(blockstate1); @@ -498,9 +498,8 @@ public void stepSound(BlockPos blockforNoise, Vec3 soundPos) { float f1 = soundtype.getPitch(); SoundEvent soundevent = soundtype.getStepSound(); - // TODO: liquid is deprecated - if (!this.isSilent() && !block.defaultBlockState().liquid()) { - this.level().playSound((LocalPlayer) null, soundPos.x, soundPos.y, soundPos.z, soundevent, this.getSoundSource(), f, f1); + if (!this.isSilent() && !block.defaultBlockState().getMaterial().isLiquid()) { + this.level.playSound((LocalPlayer) null, soundPos.x, soundPos.y, soundPos.z, soundevent, this.getSoundSource(), f, f1); } } diff --git a/common/src/main/java/org/vivecraft/mixin/client_vr/renderer/GameRendererVRMixin.java b/common/src/main/java/org/vivecraft/mixin/client_vr/renderer/GameRendererVRMixin.java index 8aba82318..45705ceb1 100644 --- a/common/src/main/java/org/vivecraft/mixin/client_vr/renderer/GameRendererVRMixin.java +++ b/common/src/main/java/org/vivecraft/mixin/client_vr/renderer/GameRendererVRMixin.java @@ -7,7 +7,6 @@ import com.mojang.blaze3d.vertex.*; import com.mojang.blaze3d.vertex.VertexFormat.Mode; import com.mojang.math.Axis; -import net.minecraft.client.gui.GuiGraphics; import net.minecraft.client.multiplayer.ClientLevel; import org.joml.Matrix3f; import org.joml.Matrix4f; @@ -448,15 +447,15 @@ private void noItemActivationAnimationOnGUI(GameRenderer instance, int i, int j, } } - @Redirect(at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/Gui;render(Lnet/minecraft/client/gui/GuiGraphics;F)V"), method = "render(FJZ)V") - private void noGUIwithViewOnly(Gui instance, GuiGraphics guiGraphics, float f) { + @Redirect(at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/Gui;render(Lcom/mojang/blaze3d/vertex/PoseStack;F)V"), method = "render(FJZ)V") + private void noGUIwithViewOnly(Gui instance, PoseStack poseStack, float f) { if (RenderPassType.isVanilla() || !ClientDataHolderVR.viewonly) { - instance.render(guiGraphics, f); + instance.render(poseStack, f); } } @Inject(at = @At("HEAD"), method = "renderConfusionOverlay", cancellable = true) - private void noConfusionOverlayOnGUI(GuiGraphics guiGraphics, float f, CallbackInfo ci) { + private void noConfusionOverlayOnGUI(float f, CallbackInfo ci) { if (DATA_HOLDER.currentPass == RenderPass.GUI) { ci.cancel(); } @@ -928,7 +927,7 @@ private void setupPolyRendering(boolean enable) { } @Override - public void drawScreen(float f, Screen screen, GuiGraphics guiGraphics) { + public void drawScreen(float f, Screen screen, PoseStack poseStack) { PoseStack posestack = RenderSystem.getModelViewStack(); posestack.pushPose(); posestack.setIdentity(); @@ -937,7 +936,7 @@ public void drawScreen(float f, Screen screen, GuiGraphics guiGraphics) { RenderSystem.blendFuncSeparate(GlStateManager.SourceFactor.SRC_ALPHA, GlStateManager.DestFactor.ONE_MINUS_SRC_ALPHA, GlStateManager.SourceFactor.ONE, GlStateManager.DestFactor.ONE); - screen.render(guiGraphics, 0, 0, f); + screen.render(poseStack, 0, 0, f); RenderSystem.blendFuncSeparate(GlStateManager.SourceFactor.SRC_ALPHA, GlStateManager.DestFactor.ONE_MINUS_SRC_ALPHA, GlStateManager.SourceFactor.ONE, GlStateManager.DestFactor.ONE); @@ -2284,7 +2283,7 @@ private void renderCrosshairAtDepth(boolean depthAlways, PoseStack poseStack) { f2 = 0.5F; } - RenderSystem.setShaderTexture(0, Gui.GUI_ICONS_LOCATION); + RenderSystem.setShaderTexture(0, Screen.GUI_ICONS_LOCATION); float f3 = 0.00390625F; float f4 = 0.00390625F; diff --git a/common/src/main/java/org/vivecraft/mixin/client_vr/renderer/LevelRendererVRMixin.java b/common/src/main/java/org/vivecraft/mixin/client_vr/renderer/LevelRendererVRMixin.java index ca3671a20..240f85b83 100644 --- a/common/src/main/java/org/vivecraft/mixin/client_vr/renderer/LevelRendererVRMixin.java +++ b/common/src/main/java/org/vivecraft/mixin/client_vr/renderer/LevelRendererVRMixin.java @@ -141,10 +141,10 @@ public void onePollLightUpdates(ClientLevel instance) { } } - @Redirect(at = @At(value = "INVOKE", target = "Lnet/minecraft/world/level/lighting/LevelLightEngine;runLightUpdates()I"), method = "renderLevel") - public int oneLightingUpdates(LevelLightEngine instance) { + @Redirect(at = @At(value = "INVOKE", target = "Lnet/minecraft/world/level/lighting/LevelLightEngine;runUpdates(IZZ)I"), method = "renderLevel") + public int oneLightingUpdates(LevelLightEngine instance, int i, boolean bl, boolean bl2) { if (RenderPassType.isVanilla() || ClientDataHolderVR.getInstance().currentPass == RenderPass.LEFT) { - instance.runLightUpdates(); + instance.runUpdates(i, bl, bl2); } if (!RenderPassType.isVanilla()) { this.setShaderGroup(); diff --git a/common/src/main/java/org/vivecraft/mixin/server/ServerGamePacketListenerImplMixin.java b/common/src/main/java/org/vivecraft/mixin/server/ServerGamePacketListenerImplMixin.java index 597676dd8..864d20b5f 100644 --- a/common/src/main/java/org/vivecraft/mixin/server/ServerGamePacketListenerImplMixin.java +++ b/common/src/main/java/org/vivecraft/mixin/server/ServerGamePacketListenerImplMixin.java @@ -60,7 +60,7 @@ public void handleVivecraftPackets(ServerboundCustomPayloadPacket pPacket, Callb var channelID = pPacket.getIdentifier(); if (channelID.equals(CommonNetworkHelper.CHANNEL)) { - PacketUtils.ensureRunningOnSameThread(pPacket, this, this.player.serverLevel()); + PacketUtils.ensureRunningOnSameThread(pPacket, this, this.player.getLevel()); CommonNetworkHelper.PacketDiscriminators packetDiscriminator = CommonNetworkHelper.PacketDiscriminators.values()[buffer.readByte()]; ServerNetworking.handlePacket(packetDiscriminator, buffer, (ServerGamePacketListenerImpl) (Object)this); if (packetDiscriminator == CLIMBING) { diff --git a/common/src/main/java/org/vivecraft/mixin/server/ServerPlayerMixin.java b/common/src/main/java/org/vivecraft/mixin/server/ServerPlayerMixin.java index dfad0c50e..899bb06fa 100644 --- a/common/src/main/java/org/vivecraft/mixin/server/ServerPlayerMixin.java +++ b/common/src/main/java/org/vivecraft/mixin/server/ServerPlayerMixin.java @@ -89,8 +89,8 @@ public void sweepAttack() { double d1 = (double) Mth.cos(f * ((float) Math.PI / 180F)); Vec3 vec31 = serverviveplayer.getControllerPos(0, this); - if (this.level() instanceof ServerLevel) { - ((ServerLevel) this.level()).sendParticles(ParticleTypes.SWEEP_ATTACK, vec31.x + d0, vec31.y, + if (this.level instanceof ServerLevel) { + ((ServerLevel) this.level).sendParticles(ParticleTypes.SWEEP_ATTACK, vec31.x + d0, vec31.y, vec31.z + d1, 0, d0, 0.0D, d1, 0.0D); } } else { @@ -102,7 +102,7 @@ public void sweepAttack() { protected void triggerItemUseEffects(ItemStack pStack, int pCount) { if (!pStack.isEmpty() && this.isUsingItem()) { if (pStack.getUseAnimation() == UseAnim.DRINK) { - this.playSound(this.getDrinkingSound(pStack), 0.5F, this.level().random.nextFloat() * 0.1F + 0.9F); + this.playSound(this.getDrinkingSound(pStack), 0.5F, this.level.random.nextFloat() * 0.1F + 0.9F); } if (pStack.getUseAnimation() == UseAnim.EAT) { @@ -134,7 +134,7 @@ private void addItemParticles(ItemStack stack, int count) { vec31 = serverviveplayer.getControllerPos(1, this); } } - this.level().addParticle(new ItemParticleOption(ParticleTypes.ITEM, stack), vec31.x, vec31.y, vec31.z, vec3.x, + this.level.addParticle(new ItemParticleOption(ParticleTypes.ITEM, stack), vec31.x, vec31.y, vec31.z, vec3.x, vec3.y + 0.05D, vec3.z); } } diff --git a/common/src/main/java/org/vivecraft/mixin/world/entity/monster/EndermanMixin.java b/common/src/main/java/org/vivecraft/mixin/world/entity/monster/EndermanMixin.java index 3075e35e7..30de5f657 100644 --- a/common/src/main/java/org/vivecraft/mixin/world/entity/monster/EndermanMixin.java +++ b/common/src/main/java/org/vivecraft/mixin/world/entity/monster/EndermanMixin.java @@ -50,7 +50,7 @@ private static boolean shouldEndermanAttackVRPlayer(EnderMan enderman, ServerPla private static boolean canEntityBeSeen(Entity entity, Vec3 playerEyePos) { Vec3 entityEyePos = new Vec3(entity.getX(), entity.getEyeY(), entity.getZ()); - return entity.level().clip(new ClipContext(playerEyePos, entityEyePos, ClipContext.Block.COLLIDER, ClipContext.Fluid.NONE, entity)).getType() == HitResult.Type.MISS; + return entity.level.clip(new ClipContext(playerEyePos, entityEyePos, ClipContext.Block.COLLIDER, ClipContext.Fluid.NONE, entity)).getType() == HitResult.Type.MISS; } } diff --git a/common/src/main/java/org/vivecraft/mixin/world/entity/projectile/AbstractArrowMixin.java b/common/src/main/java/org/vivecraft/mixin/world/entity/projectile/AbstractArrowMixin.java index e3c92e4af..f2a4d85c4 100644 --- a/common/src/main/java/org/vivecraft/mixin/world/entity/projectile/AbstractArrowMixin.java +++ b/common/src/main/java/org/vivecraft/mixin/world/entity/projectile/AbstractArrowMixin.java @@ -77,7 +77,7 @@ public void damageMultiplier(EntityHitResult entityHitResult, CallbackInfo ci) { if (multiplier > 1.0) { // send headshot particles - ((ServerLevel)this.level()).sendParticles( + ((ServerLevel)this.level).sendParticles( owner, ParticleTypes.CRIT, true, // always render the hit particles on the client @@ -90,7 +90,7 @@ public void damageMultiplier(EntityHitResult entityHitResult, CallbackInfo ci) { - this.getDeltaMovement().z, 0.1); // send sound effect - owner.connection.send(new ClientboundSoundPacket(BuiltInRegistries.SOUND_EVENT.wrapAsHolder(SoundEvents.ITEM_BREAK), SoundSource.PLAYERS, owner.getX(), owner.getY(), owner.getZ(), 0.7f, 0.5f, owner.level().random.nextLong())); + owner.connection.send(new ClientboundSoundPacket(BuiltInRegistries.SOUND_EVENT.wrapAsHolder(SoundEvents.ITEM_BREAK), SoundSource.PLAYERS, owner.getX(), owner.getY(), owner.getZ(), 0.7f, 0.5f, owner.level.random.nextLong())); } } // if headshots are disabled, still use the regular multiplier diff --git a/common/src/main/java/org/vivecraft/server/ServerNetworking.java b/common/src/main/java/org/vivecraft/server/ServerNetworking.java index 54d725eb1..2da7ae6fc 100644 --- a/common/src/main/java/org/vivecraft/server/ServerNetworking.java +++ b/common/src/main/java/org/vivecraft/server/ServerNetworking.java @@ -231,7 +231,7 @@ public static void handlePacket(CommonNetworkHelper.PacketDiscriminators packetI } public static Set getTrackingPlayers(Entity entity) { - var manager = entity.level().getChunkSource(); + var manager = entity.level.getChunkSource(); var storage = ((ServerChunkCache) manager).chunkMap; var playerTracker = ((ChunkMapAccessor) storage).getTrackedEntities().get(entity.getId()); return playerTracker != null ? playerTracker.getPlayersTracking() : Collections.emptySet(); diff --git a/common/src/main/resources/vivecraft.accesswidener b/common/src/main/resources/vivecraft.accesswidener index 4e3b08b74..bcbb66359 100644 --- a/common/src/main/resources/vivecraft.accesswidener +++ b/common/src/main/resources/vivecraft.accesswidener @@ -75,11 +75,8 @@ accessible class net/minecraft/world/entity/monster/EnderMan$EndermanFreezeWhenL accessible field net/minecraft/world/entity/Entity eyeHeight F # to add vivecraft items in the creative menus -accessible field net/minecraft/world/item/CreativeModeTabs TOOLS_AND_UTILITIES Lnet/minecraft/resources/ResourceKey; -accessible field net/minecraft/world/item/CreativeModeTabs FOOD_AND_DRINKS Lnet/minecraft/resources/ResourceKey; - -# to render crosshair -accessible field net/minecraft/client/gui/Gui GUI_ICONS_LOCATION Lnet/minecraft/resources/ResourceLocation; +accessible field net/minecraft/world/item/CreativeModeTabs TOOLS_AND_UTILITIES Lnet/minecraft/world/item/CreativeModeTab; +accessible field net/minecraft/world/item/CreativeModeTabs FOOD_AND_DRINKS Lnet/minecraft/world/item/CreativeModeTab; # for menuworlds accessible field net/minecraft/client/multiplayer/ClientLevel$ClientLevelData isFlat Z @@ -87,4 +84,4 @@ accessible field net/minecraft/world/level/biome/BiomeManager biomeZoomSeed J accessible class net/minecraft/world/level/biome/Biome$ClimateSettings accessible field net/minecraft/world/level/biome/AmbientParticleSettings probability F extendable class net/minecraft/world/level/material/FluidState -accessible field net/minecraft/world/level/block/state/StateHolder propertiesCodec Lcom/mojang/serialization/MapCodec; +accessible field net/minecraft/world/level/block/state/StateHolder propertiesCodec Lcom/mojang/serialization/MapCodec; \ No newline at end of file diff --git a/fabric/build.gradle b/fabric/build.gradle index 8930318ae..a61ac694d 100644 --- a/fabric/build.gradle +++ b/fabric/build.gradle @@ -29,23 +29,23 @@ dependencies { modApi("dev.architectury:architectury-fabric:${rootProject.architectury_version}") // for sodium compat - modRuntimeOnly "maven.modrinth:sodium:mc1.20-0.4.10" + modRuntimeOnly "maven.modrinth:sodium:mc1.19.4-0.4.10" // for iris compat - modRuntimeOnly "maven.modrinth:iris:1.6.4+1.20" + modRuntimeOnly "maven.modrinth:iris:1.5.2+1.19.4" modRuntimeOnly 'org.anarres:jcpp:1.4.14' //temp iris - modRuntimeOnly 'io.github.douira:glsl-transformer:2.0.0-pre13' //temp iris + modRuntimeOnly 'io.github.douira:glsl-transformer:2.0.0-pre9' //temp iris // for REI compat - modRuntimeOnly "me.shedaniel:RoughlyEnoughItems-fabric:12.0.634" + modRuntimeOnly "me.shedaniel:RoughlyEnoughItems-fabric:11.0.597" // for Pehkui compat - modRuntimeOnly("com.github.Virtuoel:Pehkui:3.7.7", { exclude group: "net.fabricmc.fabric-api" }) + modRuntimeOnly("com.github.Virtuoel:Pehkui:3.7.1", { exclude group: "net.fabricmc.fabric-api" }) // other mods // modRuntimeOnly("com.simibubi.create:create-fabric-1.19.2:0.5.0.i-969+1.19.2") - modRuntimeOnly "maven.modrinth:lithium:mc1.20.1-0.11.2" - modRuntimeOnly "maven.modrinth:indium:1.0.21+mc1.20.1" + modRuntimeOnly "maven.modrinth:lithium:mc1.19.4-0.11.1" + modRuntimeOnly "maven.modrinth:indium:1.0.15+mc1.19.4" /* // for immersive portals compat diff --git a/fabric/src/main/resources/fabric.mod.json b/fabric/src/main/resources/fabric.mod.json index a4b1f972e..67cf6a9d7 100644 --- a/fabric/src/main/resources/fabric.mod.json +++ b/fabric/src/main/resources/fabric.mod.json @@ -36,7 +36,7 @@ ], "depends": { "fabricloader": ">=0.14.14", - "minecraft": ["1.20", "1.20.1"], + "minecraft": "1.19.4", "java": ">=17" }, "suggests": { diff --git a/forge/build.gradle b/forge/build.gradle index af0660f0d..4e7f43651 100644 --- a/forge/build.gradle +++ b/forge/build.gradle @@ -45,8 +45,8 @@ dependencies { common(project(path: ":common", configuration: "namedElements")) { transitive false } shadowCommon(project(path: ":common", configuration: "transformProductionForge")) { transitive = false } - modRuntimeOnly("maven.modrinth:rubidium:0.6.5") - modRuntimeOnly("maven.modrinth:oculus:1.20-1.6.4") + modRuntimeOnly("maven.modrinth:rubidium:0.6.4") + modRuntimeOnly("maven.modrinth:oculus:1.19.4-1.5.2") forgeRuntimeLibrary("org.lwjgl:lwjgl-openvr:3.3.1") forgeRuntimeLibrary("org.lwjgl:lwjgl-openvr:3.3.1:natives-linux") diff --git a/forge/src/main/java/org/vivecraft/forge/mixin/ForgeIngameGuiVRMixin.java b/forge/src/main/java/org/vivecraft/forge/mixin/ForgeIngameGuiVRMixin.java index c279a1ed9..b61b7e56c 100644 --- a/forge/src/main/java/org/vivecraft/forge/mixin/ForgeIngameGuiVRMixin.java +++ b/forge/src/main/java/org/vivecraft/forge/mixin/ForgeIngameGuiVRMixin.java @@ -1,7 +1,7 @@ package org.vivecraft.forge.mixin; +import com.mojang.blaze3d.vertex.PoseStack; import net.minecraft.client.KeyMapping; -import net.minecraft.client.gui.GuiGraphics; import net.minecraftforge.client.gui.overlay.ForgeGui; import net.minecraftforge.client.gui.overlay.NamedGuiOverlay; import net.minecraftforge.client.gui.overlay.VanillaGuiOverlay; @@ -16,13 +16,13 @@ @Mixin(ForgeGui.class) public abstract class ForgeIngameGuiVRMixin{ @Inject(method = "pre", at = @At("HEAD"), remap = false, cancellable = true) - private void noStuff(NamedGuiOverlay overlay, GuiGraphics guiGraphics, CallbackInfoReturnable info) { + private void noStuff(NamedGuiOverlay overlay, PoseStack poseStack, CallbackInfoReturnable info) { if (RenderPassType.isGuiOnly() && (overlay == VanillaGuiOverlay.VIGNETTE.type() || overlay == VanillaGuiOverlay.SPYGLASS.type() || overlay == VanillaGuiOverlay.HELMET.type() || overlay == VanillaGuiOverlay.FROSTBITE.type() || overlay == VanillaGuiOverlay.PORTAL.type())) { info.setReturnValue(true); } } - @Redirect(method = "renderPlayerList", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/KeyMapping;isDown()Z")) + @Redirect(method = "renderPlayerList(IILcom/mojang/blaze3d/vertex/PoseStack;)V", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/KeyMapping;isDown()Z")) public boolean toggleableTabListForge(KeyMapping instance) { return instance.isDown() || ((GuiExtension)this).getShowPlayerList(); } diff --git a/forge/src/main/resources/META-INF/mods.toml b/forge/src/main/resources/META-INF/mods.toml index 4900ce5a7..eefae9f5f 100644 --- a/forge/src/main/resources/META-INF/mods.toml +++ b/forge/src/main/resources/META-INF/mods.toml @@ -1,5 +1,5 @@ modLoader = "javafml" -loaderVersion = "[46,)" +loaderVersion = "[45,46)" #issueTrackerURL = "" license = "LGPLv3" @@ -19,13 +19,13 @@ updateJSONURL = "https://api.modrinth.com/updates/vivecraft/forge_updates.json" [[dependencies.vivecraft]] modId = "forge" mandatory = true -versionRange = "[46,)" +versionRange = "[45,46)" ordering = "NONE" side = "BOTH" [[dependencies.vivecraft]] modId = "minecraft" mandatory = true -versionRange = "[1.20,)" +versionRange = "[1.19.4]" ordering = "NONE" side = "BOTH" diff --git a/gradle.properties b/gradle.properties index 6a591efd1..ed6e0f7a2 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,18 +1,18 @@ org.gradle.jvmargs=-Xmx4G -minecraft_version=1.20.1 +minecraft_version=1.19.4 enabled_platforms=fabric,forge archives_base_name=vivecraft mod_version=1.0.0 maven_group=org.vivecraft -architectury_version=9.0.5 +architectury_version=8.1.75 -fabric_loader_version=0.14.21 -fabric_api_version=0.85.0+1.20.1 +fabric_loader_version=0.14.17 +fabric_api_version=0.76.0+1.19.4 -forge_version=1.20.1-47.1.43 +forge_version=1.19.4-45.0.27