From 31056613cc74bac4e3a258e83f91c690d280214a Mon Sep 17 00:00:00 2001 From: fayer3 Date: Wed, 12 Jul 2023 01:49:15 +0200 Subject: [PATCH] backport to 1.18.2 --- build.gradle | 8 +- common/build.gradle | 19 +- .../gui/framework/GuiVROptionButton.java | 4 +- .../gui/framework/GuiVROptionSlider.java | 7 +- .../gui/framework/GuiVROptionsBase.java | 17 +- .../framework/TooltipProviderVROptions.java | 6 +- .../client/gui/framework/TwoHandedScreen.java | 4 +- .../client/gui/screens/ErrorScreen.java | 8 +- .../client/gui/screens/UpdateScreen.java | 11 +- .../gui/settings/GuiQuickCommandsInGame.java | 15 +- .../gui/settings/GuiQuickCommandsList.java | 11 +- .../gui/settings/GuiRadialConfiguration.java | 16 +- .../gui/settings/GuiRenderOpticsSettings.java | 2 +- .../client/gui/settings/GuiVRControls.java | 8 +- .../client/gui/widgets/TextScrollWidget.java | 5 +- .../client/network/ClientNetworking.java | 8 +- .../org/vivecraft/client/utils/Utils.java | 6 +- .../client_vr/ClientDataHolderVR.java | 4 + .../java/org/vivecraft/client_vr/VRState.java | 10 +- .../client_vr/gameplay/VRPlayer.java | 7 +- .../gameplay/screenhandlers/GuiHandler.java | 4 +- .../gameplay/trackers/BowTracker.java | 2 +- .../gameplay/trackers/ClimbTracker.java | 4 +- .../gameplay/trackers/EatingTracker.java | 11 +- .../gameplay/trackers/InteractTracker.java | 5 +- .../gameplay/trackers/JumpTracker.java | 4 +- .../gameplay/trackers/SwingTracker.java | 5 +- .../gameplay/trackers/TeleportTracker.java | 5 +- .../gameplay/trackers/TelescopeTracker.java | 4 +- .../gameplay/trackers/VehicleTracker.java | 6 +- .../vivecraft/client_vr/gui/GuiKeyboard.java | 30 +-- .../vivecraft/client_vr/gui/GuiRadial.java | 4 +- .../client_vr/menuworlds/FakeBlockAccess.java | 2 +- .../menuworlds/MenuWorldDownloader.java | 2 +- .../menuworlds/MenuWorldExporter.java | 190 +++++++++--------- .../menuworlds/MenuWorldRenderer.java | 92 ++++----- .../vivecraft/client_vr/provider/MCVR.java | 10 +- .../client_vr/provider/VRRenderer.java | 29 +-- .../provider/openvr_lwjgl/MCOpenVR.java | 17 +- .../openvr_lwjgl/OpenVRStereoRenderer.java | 8 +- .../client_vr/render/VRWidgetHelper.java | 6 +- .../render/VivecraftItemRendering.java | 4 - .../client_vr/settings/AutoCalibration.java | 4 +- .../client_vr/settings/VRHotkeys.java | 25 +-- .../client_vr/settings/VRSettings.java | 30 ++- .../client/blaze3d/RenderTargetMixin.java | 6 +- .../client/gui/screens/TitleScreenMixin.java | 11 +- .../mixin/client/main/MainMixin.java | 6 +- .../player/AbstractClientPlayerMixin.java | 3 +- .../mixin/client_vr/KeyboardInputVRMixin.java | 6 +- .../mixin/client_vr/MinecraftVRMixin.java | 52 ++--- .../blaze3d/audio/LibraryVRMixin.java | 130 +++++++++++- .../mixin/client_vr/gui/GuiVRMixin.java | 3 +- .../gui/screens/OptionsScreenVRMixin.java | 3 +- .../gui/screens/PauseScreenVRMixin.java | 21 +- .../screens/SoundOptionsScreenVRMixin.java | 6 +- .../CreativeModeInventoryScreenVRMixin.java | 10 +- .../ClientPacketListenerVRMixin.java | 15 +- .../MultiPlayerGameModeVRMixin.java | 6 +- .../client_vr/player/LocalPlayerVRMixin.java | 14 +- .../renderer/GameRendererVRMixin.java | 33 +-- .../renderer/LevelRendererVRMixin.java | 3 +- .../MovementTutorialStepInstanceVRMixin.java | 44 ++-- .../OpenInventoryTutorialStepVRMixin.java | 4 +- .../PunchTreeTutorialStepInstanceVRMixin.java | 3 +- .../world/level/biome/BiomeAccessor.java | 2 +- .../ServerGamePacketListenerImplMixin.java | 5 +- .../mixin/server/ServerPlayerMixin.java | 25 ++- .../entity/projectile/AbstractArrowMixin.java | 2 +- .../item/crafting/ShapedRecipeMixin.java | 4 +- .../physicsmod/mixin/OptionsScreenMixin.java | 4 +- .../vivecraft/server/ServerNetworking.java | 5 +- .../java/org/vivecraft/server/ServerUtil.java | 28 +-- .../main/resources/vivecraft.accesswidener | 5 +- .../src/main/resources/vivecraft.mixins.json | 4 +- fabric/build.gradle | 28 +-- .../vivecraft/client/fabric/XplatImpl.java | 2 +- .../org/vivecraft/fabric/VivecraftMod.java | 4 +- fabric/src/main/resources/fabric.mod.json | 2 +- .../resources/vivecraft.fabric.mixins.json | 3 +- forge/build.gradle | 16 +- .../vivecraft/client/forge/XeventsImpl.java | 9 +- .../org/vivecraft/client/forge/XplatImpl.java | 5 +- .../java/org/vivecraft/forge/Vivecraft.java | 7 + .../vivecraft/forge/event/ClientEvents.java | 15 +- .../forge/mixin/ForgeIngameGuiVRMixin.java | 13 +- forge/src/main/resources/META-INF/mods.toml | 8 +- gradle.properties | 8 +- 88 files changed, 712 insertions(+), 550 deletions(-) rename {fabric/src/main/java/org/vivecraft/fabric/mixin => common/src/main/java/org/vivecraft/mixin/client_vr}/world/level/biome/BiomeAccessor.java (82%) diff --git a/build.gradle b/build.gradle index 52164add6..236a62322 100644 --- a/build.gradle +++ b/build.gradle @@ -27,10 +27,10 @@ subprojects { mappings loom.officialMojangMappings() // The following line declares the yarn mappings you may select this one as well. // mappings "net.fabricmc:yarn:1.18.2+build.4:v2" - implementation("org.lwjgl:lwjgl-openvr:3.3.1") - implementation("org.lwjgl:lwjgl-openvr:3.3.1:natives-linux") - implementation("org.lwjgl:lwjgl-openvr:3.3.1:natives-macos") - implementation("org.lwjgl:lwjgl-openvr:3.3.1:natives-windows") + implementation("org.lwjgl:lwjgl-openvr:3.2.2") + implementation("org.lwjgl:lwjgl-openvr:3.2.2:natives-linux") + implementation("org.lwjgl:lwjgl-openvr:3.2.2:natives-macos") + implementation("org.lwjgl:lwjgl-openvr:3.2.2:natives-windows") } tasks.withType(JavaCompile) { diff --git a/common/build.gradle b/common/build.gradle index 957fd12fe..83c080905 100644 --- a/common/build.gradle +++ b/common/build.gradle @@ -14,32 +14,33 @@ dependencies { modApi("dev.architectury:architectury-fabric:${rootProject.architectury_version}") // for sodium compat - modCompileOnly "maven.modrinth:sodium:mc1.19.2-0.4.4" + modCompileOnly "maven.modrinth:sodium:mc1.18.2-0.4.1" modCompileOnly "maven.modrinth:sodium:mc1.19.3-0.4.9" modCompileOnly "883067831485366304:1076634925077364786:sodium-fabric-mc1.19.3-0.4.10rev.c131708-dirty:jar" - modCompileOnly("maven.modrinth:rubidium:0.6.1") + modCompileOnly "maven.modrinth:rubidium:0.5.6" + // for iris compat - modCompileOnly "maven.modrinth:iris:1.5.2+1.19.2" + modCompileOnly "maven.modrinth:iris:1.5.2+1.18.2" // for REI compat - modCompileOnly "me.shedaniel:RoughlyEnoughItems-fabric:9.1.619" + modCompileOnly "me.shedaniel:RoughlyEnoughItems-fabric:8.3.618" // 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.19.2-0.11.1" - modCompileOnly "maven.modrinth:indium:1.0.9+mc1.19.2" + // modCompileOnly("com.simibubi.create:create-fabric-1.18.2:0.5.0.i-1016+1.18.2") + modCompileOnly "maven.modrinth:lithium:mc1.18.2-0.10.3" + modCompileOnly "maven.modrinth:indium:1.0.7+mc1.18.2" /* // for immersive portals compat - modCompileOnly ('com.github.qouteall.ImmersivePortalsMod:imm_ptl_core:v2.3.2-mc1.19.2'){ //temp immersiveportals + modCompileOnly ('com.github.qouteall.ImmersivePortalsMod:imm_ptl_core:v1.4.11-1.18'){ //temp immersiveportals exclude(group: "net.fabricmc.fabric-api") transitive(false) } - modCompileOnly ('com.github.qouteall.ImmersivePortalsMod:q_misc_util:v2.3.2-mc1.19.2'){ //temp immersiveportals + modCompileOnly ('com.github.qouteall.ImmersivePortalsMod:q_misc_util:v1.4.11-1.18'){ //temp immersiveportals exclude(group: "net.fabricmc.fabric-api") transitive(false) } diff --git a/common/src/main/java/org/vivecraft/client/gui/framework/GuiVROptionButton.java b/common/src/main/java/org/vivecraft/client/gui/framework/GuiVROptionButton.java index 00d05553a..2b9c5f0a8 100644 --- a/common/src/main/java/org/vivecraft/client/gui/framework/GuiVROptionButton.java +++ b/common/src/main/java/org/vivecraft/client/gui/framework/GuiVROptionButton.java @@ -6,7 +6,7 @@ import org.vivecraft.client_vr.settings.VRSettings; import net.minecraft.client.gui.components.Button; -import net.minecraft.network.chat.Component; +import net.minecraft.network.chat.TranslatableComponent; public class GuiVROptionButton extends Button implements GuiVROption { @@ -26,7 +26,7 @@ public GuiVROptionButton(int id, int x, int y, @Nullable VRSettings.VrOptions op public GuiVROptionButton(int id, int x, int y, int width, int height, @Nullable VRSettings.VrOptions option, String text, OnPress action) { - super(x, y, width, height, Component.translatable(text), action); + super(x, y, width, height, new TranslatableComponent(text), action); this.id = id; this.enumOptions = option; ClientDataHolderVR dataholder = ClientDataHolderVR.getInstance(); diff --git a/common/src/main/java/org/vivecraft/client/gui/framework/GuiVROptionSlider.java b/common/src/main/java/org/vivecraft/client/gui/framework/GuiVROptionSlider.java index f10a61a78..dab19724b 100644 --- a/common/src/main/java/org/vivecraft/client/gui/framework/GuiVROptionSlider.java +++ b/common/src/main/java/org/vivecraft/client/gui/framework/GuiVROptionSlider.java @@ -1,11 +1,10 @@ package org.vivecraft.client.gui.framework; import net.minecraft.client.gui.components.AbstractSliderButton; +import net.minecraft.network.chat.TextComponent; import org.vivecraft.client_vr.ClientDataHolderVR; import org.vivecraft.client_vr.settings.VRSettings; -import net.minecraft.network.chat.Component; - import javax.annotation.Nullable; public class GuiVROptionSlider extends AbstractSliderButton implements GuiVROption @@ -17,7 +16,7 @@ public class GuiVROptionSlider extends AbstractSliderButton implements GuiVROpti public GuiVROptionSlider(int id, int x, int y, int width, int height, VRSettings.VrOptions option) { super(x, y, width, height, - Component.literal(ClientDataHolderVR.getInstance().vrSettings.getButtonDisplayString(option)), + new TextComponent(ClientDataHolderVR.getInstance().vrSettings.getButtonDisplayString(option)), option.normalizeValue(ClientDataHolderVR.getInstance().vrSettings.getOptionFloatValue(option))); this.id = id; @@ -31,7 +30,7 @@ public GuiVROptionSlider(int id, int x, int y, VRSettings.VrOptions option) @Override protected void updateMessage() { - this.setMessage(Component.literal(ClientDataHolderVR.getInstance().vrSettings.getButtonDisplayString(this.enumOptions))); + this.setMessage(new TextComponent(ClientDataHolderVR.getInstance().vrSettings.getButtonDisplayString(this.enumOptions))); } @Override 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 a38bc988f..9326a146a 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 @@ -7,9 +7,10 @@ import net.minecraft.client.gui.components.events.GuiEventListener; import net.minecraft.client.gui.screens.Screen; import net.minecraft.client.resources.language.I18n; -import net.minecraft.network.chat.Component; import net.minecraft.network.chat.FormattedText; import net.minecraft.network.chat.Style; +import net.minecraft.network.chat.TextComponent; +import net.minecraft.network.chat.TranslatableComponent; import net.minecraft.world.phys.Vec2; import org.vivecraft.client_vr.ClientDataHolderVR; import org.vivecraft.client_vr.ScreenUtils; @@ -36,14 +37,14 @@ public abstract class GuiVROptionsBase extends Screen public GuiVROptionsBase(Screen lastScreen) { - super(Component.literal("")); + super(new TextComponent("")); this.lastScreen = lastScreen; this.settings = ClientDataHolderVR.getInstance().vrSettings; } protected void addDefaultButtons() { - this.addRenderableWidget(this.btnDone = new Button(this.width / 2 + 5, this.height - 30, 150, 20, Component.translatable("gui.back"), (p) -> + this.addRenderableWidget(this.btnDone = new Button(this.width / 2 + 5, this.height - 30, 150, 20, new TranslatableComponent("gui.back"), (p) -> { if (!this.onDoneClicked()) { @@ -51,7 +52,7 @@ protected void addDefaultButtons() this.minecraft.setScreen(this.lastScreen); } })); - this.addRenderableWidget(this.btnDefaults = new Button(this.width / 2 - 155, this.height - 30, 150, 20, Component.translatable("vivecraft.gui.loaddefaults"), (p) -> + this.addRenderableWidget(this.btnDefaults = new Button(this.width / 2 - 155, this.height - 30, 150, 20, new TranslatableComponent("vivecraft.gui.loaddefaults"), (p) -> { this.loadDefaults(); this.dataholder.vrSettings.saveOptions(); @@ -95,7 +96,7 @@ else if (vroptionlayout.getOption() != null) if (vroptionlayout.getCustomHandler() == null || !vroptionlayout.getCustomHandler().apply((GuiVROptionButton)p, new Vec2(0.0F, 0.0F))) { this.settings.setOptionValue(((GuiVROptionButton)p).getOption()); - p.setMessage(Component.literal(vroptionlayout.getButtonText())); + p.setMessage(new TextComponent(vroptionlayout.getButtonText())); } })); } @@ -224,7 +225,7 @@ public void render(PoseStack pMatrixStack, int pMouseX, int pMouseY, float pPart this.visibleList.render(pMatrixStack, pMouseX, pMouseY, pPartialTicks); } - drawCenteredString(pMatrixStack, this.font, Component.translatable(this.vrTitle), this.width / 2, 15, 16777215); + drawCenteredString(pMatrixStack, this.font, new TranslatableComponent(this.vrTitle), this.width / 2, 15, 16777215); if (this.btnDefaults != null) { @@ -339,9 +340,9 @@ private void renderTooltip(PoseStack pMatrixStack, 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) { - renderTooltip(pMatrixStack, font.split(Component.literal(tooltip), 308), this.width / 2 - 166, guiHover.getY() + guiHover.getHeight() + 14); + renderTooltip(pMatrixStack, font.split(new TextComponent(tooltip), 308), this.width / 2 - 166, guiHover.getY() + guiHover.getHeight() + 14); } else { - renderTooltip(pMatrixStack, font.split(Component.literal(tooltip), 308), this.width / 2 - 166, guiHover.getY() - formattedText.size() * (font.lineHeight + 1) + 9); + renderTooltip(pMatrixStack, font.split(new TextComponent(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/TooltipProviderVROptions.java b/common/src/main/java/org/vivecraft/client/gui/framework/TooltipProviderVROptions.java index 77874ef1f..42074a190 100644 --- a/common/src/main/java/org/vivecraft/client/gui/framework/TooltipProviderVROptions.java +++ b/common/src/main/java/org/vivecraft/client/gui/framework/TooltipProviderVROptions.java @@ -10,7 +10,7 @@ //import net.minecraft.client.gui.screens.Screen; //import net.minecraft.network.chat.FormattedText; //import net.minecraft.network.chat.Style; -//import net.minecraft.network.chat.Component; +//import net.minecraft.network.chat.TextComponent; //import net.optifine.Lang; //import net.optifine.gui.TooltipProvider; //import org.vivecraft.settings.VRSettings; @@ -75,8 +75,8 @@ // else // { // int i = s2.indexOf(s2.trim().charAt(0)); -// TextComponent textcomponent = i > 0 ? Component.literal(String.join("", Collections.nCopies(i, " "))) : null; -// List list1 = Utils.wrapText(Component.literal(s2), width, Minecraft.getInstance().font, textcomponent); +// TextComponent textcomponent = i > 0 ? new TextComponent(String.join("", Collections.nCopies(i, " "))) : null; +// List list1 = Utils.wrapText(new TextComponent(s2), width, Minecraft.getInstance().font, textcomponent); // Style style = Style.EMPTY; // // for (FormattedText formattedtext : list1) 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 8b8cc7d3f..9ab657f8a 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 @@ -10,7 +10,7 @@ import net.minecraft.client.gui.components.AbstractWidget; import net.minecraft.client.gui.components.Button; import net.minecraft.client.gui.screens.Screen; -import net.minecraft.network.chat.Component; +import net.minecraft.network.chat.TextComponent; public abstract class TwoHandedScreen extends Screen { @@ -25,7 +25,7 @@ public abstract class TwoHandedScreen extends Screen protected TwoHandedScreen() { - super(Component.literal("")); + super(new TextComponent("")); } public boolean mouseClicked(double pMouseX, double p_94738_, int pMouseY) 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 ffca57872..b9d3cbb82 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 @@ -5,6 +5,8 @@ import net.minecraft.client.gui.components.Button; import net.minecraft.client.gui.screens.Screen; import net.minecraft.network.chat.Component; +import net.minecraft.network.chat.TextComponent; +import net.minecraft.network.chat.TranslatableComponent; import org.jetbrains.annotations.NotNull; import org.vivecraft.client.gui.widgets.TextScrollWidget; @@ -15,7 +17,7 @@ public class ErrorScreen extends Screen { private final Component error; public ErrorScreen(String title, Component error) { - super(Component.literal(title)); + super(new TextComponent(title)); lastScreen = Minecraft.getInstance().screen; this.error = error; } @@ -27,12 +29,12 @@ protected void init() { this.addRenderableWidget(new Button( this.width / 2 + 5, this.height - 32, 150, 20, - Component.translatable("gui.back"), + new TranslatableComponent("gui.back"), (p) -> Minecraft.getInstance().setScreen(this.lastScreen))); this.addRenderableWidget(new Button( this.width / 2 - 155, this.height - 32, 150, 20, - Component.translatable("chat.copy"), + new TranslatableComponent("chat.copy"), (p) -> Minecraft.getInstance().keyboardHandler.setClipboard(error.getString()))); } 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 1c1e860bb..0459748cd 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 @@ -5,7 +5,8 @@ import net.minecraft.client.Minecraft; import net.minecraft.client.gui.components.Button; import net.minecraft.client.gui.screens.Screen; -import net.minecraft.network.chat.Component; +import net.minecraft.network.chat.TextComponent; +import net.minecraft.network.chat.TranslatableComponent; import org.jetbrains.annotations.NotNull; import org.vivecraft.client.gui.widgets.TextScrollWidget; import org.vivecraft.client.utils.UpdateChecker; @@ -19,7 +20,7 @@ public class UpdateScreen extends Screen { private final Screen lastScreen; public UpdateScreen() { - super(Component.literal("New Update Available")); + super(new TextComponent("New Update Available")); lastScreen = Minecraft.getInstance().screen; } @@ -30,7 +31,7 @@ protected void init() { this.addRenderableWidget(new Button( this.width / 2 - 155, this.height - 56, 150, 20, - Component.literal("Download from Modrinth"), + new TextComponent("Download from Modrinth"), (p) -> { try { Util.getPlatform().openUri(new URI("https://modrinth.com/mod/vivecraft")); @@ -41,7 +42,7 @@ protected void init() { this.addRenderableWidget(new Button( this.width / 2 + 5, this.height - 56, 150, 20, - Component.literal("Download from Curseforge"), + new TextComponent("Download from Curseforge"), (p) -> { try { Util.getPlatform().openUri(new URI("https://www.curseforge.com/minecraft/mc-mods/vivecraft")); @@ -52,7 +53,7 @@ protected void init() { this.addRenderableWidget(new Button( this.width / 2 - 75, this.height - 32, 150, 20, - Component.translatable("gui.back"), + new TranslatableComponent("gui.back"), (p) -> Minecraft.getInstance().setScreen(this.lastScreen))); } 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 f3bd217c5..0755c6762 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 @@ -6,7 +6,8 @@ import net.minecraft.client.KeyMapping; import net.minecraft.client.gui.components.Button; import net.minecraft.client.gui.screens.Screen; -import net.minecraft.network.chat.Component; +import net.minecraft.network.chat.TextComponent; +import net.minecraft.network.chat.TranslatableComponent; public class GuiQuickCommandsInGame extends Screen { @@ -18,7 +19,7 @@ public class GuiQuickCommandsInGame extends Screen public GuiQuickCommandsInGame(Screen parent) { - super(Component.literal("")); + super(new TextComponent("")); this.parentScreen = parent; } @@ -36,18 +37,14 @@ public void init() { i = j > 5 ? 1 : 0; String s = astring[j]; - this.addRenderableWidget(new Button(this.width / 2 - 125 + 127 * i, 36 + (j - 6 * i) * 24, 125, 20, Component.translatable(s.toString()), (p) -> + this.addRenderableWidget(new Button(this.width / 2 - 125 + 127 * i, 36 + (j - 6 * i) * 24, 125, 20, new TranslatableComponent(s.toString()), (p) -> { this.minecraft.setScreen((Screen)null); - if (p.getMessage().getString().startsWith("/")) { - this.minecraft.player.commandSigned(p.getMessage().getString().substring(1), Component.empty()); - } else { - this.minecraft.player.chatSigned(p.getMessage().getString(), Component.empty()); - } + this.minecraft.player.chat(p.getMessage().getString()); })); } - this.addRenderableWidget(new Button(this.width / 2 - 50, this.height - 30 + b0, 100, 20, Component.translatable("Cancel"), (p) -> + this.addRenderableWidget(new Button(this.width / 2 - 50, this.height - 30 + b0, 100, 20, new TranslatableComponent("Cancel"), (p) -> { this.minecraft.setScreen(this.parentScreen); })); 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 dd751a832..3794de5e9 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 @@ -7,6 +7,7 @@ import net.minecraft.client.Minecraft; import net.minecraft.network.chat.Component; +import net.minecraft.network.chat.TextComponent; public class GuiQuickCommandsList extends ObjectSelectionList { @@ -23,6 +24,8 @@ public GuiQuickCommandsList(GuiQuickCommandEditor parent, Minecraft mc) String s = null; int i = 0; + setRenderSelection(false); + for (String s1 : astring) { this.minecraft.font.width(s1); @@ -30,10 +33,6 @@ public GuiQuickCommandsList(GuiQuickCommandEditor parent, Minecraft mc) } } - @Override - protected void renderSelection(PoseStack poseStack, int i, int j, int k, int l, int m) { - } - @Override public boolean mouseClicked(double d, double e, int i) { GuiEventListener focused = this.getFocused(); @@ -50,9 +49,9 @@ public class CommandEntry extends Entry private CommandEntry(String command, GuiQuickCommandsList parent) { - this.txt = new EditBox(GuiQuickCommandsList.this.minecraft.font, parent.width / 2 - 100, 60, 200, 20, Component.literal("")); + this.txt = new EditBox(GuiQuickCommandsList.this.minecraft.font, parent.width / 2 - 100, 60, 200, 20, new TextComponent("")); this.txt.setValue(command); - this.btnDelete = new Button(0, 0, 18, 18, Component.literal("X"), (p) -> + this.btnDelete = new Button(0, 0, 18, 18, new TextComponent("X"), (p) -> { this.txt.setValue(""); this.txt.changeFocus(true); 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 c6518144a..bc463168a 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 @@ -11,7 +11,7 @@ import net.minecraft.client.gui.components.Button; import net.minecraft.client.gui.screens.Screen; import net.minecraft.client.resources.language.I18n; -import net.minecraft.network.chat.Component; +import net.minecraft.network.chat.TranslatableComponent; public class GuiRadialConfiguration extends GuiVROptionsBase { @@ -65,13 +65,13 @@ public void init() if (this.isselectmode) { - this.addRenderableWidget(new Button(this.width / 2 - 155, this.height - 25, 150, 20, Component.translatable("gui.cancel"), (p) -> + this.addRenderableWidget(new Button(this.width / 2 - 155, this.height - 25, 150, 20, new TranslatableComponent("gui.cancel"), (p) -> { this.isselectmode = false; this.reinit = true; this.visibleList = null; })); - this.addRenderableWidget(new Button(this.width / 2 - 155, 25, 150, 20, Component.translatable("vivecraft.gui.clear"), (p) -> + this.addRenderableWidget(new Button(this.width / 2 - 155, 25, 150, 20, new TranslatableComponent("vivecraft.gui.clear"), (p) -> { this.setKey((KeyMapping)null); })); @@ -80,7 +80,7 @@ public void init() { if (this.isShift) { - this.addRenderableWidget(new Button(this.width / 2 + 2, 30, 150, 20, Component.translatable("vivecraft.gui.radialmenu.mainset"), (p) -> + this.addRenderableWidget(new Button(this.width / 2 + 2, 30, 150, 20, new TranslatableComponent("vivecraft.gui.radialmenu.mainset"), (p) -> { this.isShift = !this.isShift; this.reinit = true; @@ -88,7 +88,7 @@ public void init() } else { - this.addRenderableWidget(new Button(this.width / 2 + 2, 30, 150, 20, Component.translatable("vivecraft.gui.radialmenu.alternateset"), (p) -> + this.addRenderableWidget(new Button(this.width / 2 + 2, 30, 150, 20, new TranslatableComponent("vivecraft.gui.radialmenu.alternateset"), (p) -> { this.isShift = !this.isShift; this.reinit = true; @@ -175,7 +175,7 @@ else if (k1 == 7) } int l1 = k1; - this.addRenderableWidget(new Button(i1 + j2 - i2 / 2, j1 + k2, i2, 20, Component.translatable(s), (p) -> + this.addRenderableWidget(new Button(i1 + j2 - i2 / 2, j1 + k2, i2, 20, new TranslatableComponent(s), (p) -> { this.selectedIndex = l1; this.isselectmode = true; @@ -215,12 +215,12 @@ public void render(PoseStack pMatrixStack, int pMouseX, int pMouseY, float pPart if (this.visibleList == null) { - drawCenteredString(pMatrixStack, this.minecraft.font, Component.translatable("vivecraft.messages.radialmenubind.1"), this.width / 2, this.height - 50, 5635925); + drawCenteredString(pMatrixStack, this.minecraft.font, new TranslatableComponent("vivecraft.messages.radialmenubind.1"), this.width / 2, this.height - 50, 5635925); } if (this.isShift) { - drawCenteredString(pMatrixStack, this.minecraft.font, Component.translatable("vivecraft.messages.radialmenubind.2"), this.width / 2, this.height - 36, 13777015); + drawCenteredString(pMatrixStack, this.minecraft.font, new TranslatableComponent("vivecraft.messages.radialmenubind.2"), this.width / 2, this.height - 36, 13777015); } } } 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 cd93c7b6c..37cea50ad 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 @@ -141,7 +141,7 @@ public void render(PoseStack pMatrixStack, int pMouseX, int pMouseY, float pPart protected void loadDefaults() { super.loadDefaults(); - this.minecraft.options.fov().set(70); + this.minecraft.options.fov = 70.0D; if (VRState.vrInitialized) { this.dataholder.vrRenderer.reinitFrameBuffers("Defaults Loaded"); } 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 0beded3bd..ceb1b5fb9 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 @@ -7,7 +7,7 @@ import com.mojang.blaze3d.vertex.PoseStack; import net.minecraft.client.gui.screens.Screen; -import net.minecraft.network.chat.Component; +import net.minecraft.network.chat.TranslatableComponent; public class GuiVRControls extends GuiVROptionsBase { @@ -44,8 +44,8 @@ public void render(PoseStack pMatrixStack, int pMouseX, int pMouseY, float pPart int middle = 240 / 2 - this.minecraft.font.lineHeight / 2 - 24; int lineHeight = this.minecraft.font.lineHeight + 3; - 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); + drawCenteredString(pMatrixStack, this.minecraft.font, new TranslatableComponent("vivecraft.messages.controls.1"), this.width / 2, middle - lineHeight, 16777215); + drawCenteredString(pMatrixStack, this.minecraft.font, new TranslatableComponent("vivecraft.messages.controls.2"), this.width / 2, middle, 16777215); + drawCenteredString(pMatrixStack, this.minecraft.font, new TranslatableComponent("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 fcd840db7..de4eca01b 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 @@ -7,6 +7,7 @@ import net.minecraft.network.chat.Component; import net.minecraft.network.chat.FormattedText; import net.minecraft.network.chat.Style; +import net.minecraft.network.chat.TextComponent; import org.lwjgl.glfw.GLFW; import java.util.List; @@ -26,7 +27,7 @@ public class TextScrollWidget extends AbstractWidget { private final List formattedText; public TextScrollWidget(int x, int y, int width, int height, String text) { - super(x, y, width, height, Component.literal("")); + super(x, y, width, height, new TextComponent("")); formattedText = Minecraft.getInstance().font.getSplitter().splitLines(text, width - scrollBarWidth*2, Style.EMPTY); @@ -34,7 +35,7 @@ public TextScrollWidget(int x, int y, int width, int height, String text) { } public TextScrollWidget(int x, int y, int width, int height, Component text) { - super(x, y, width, height, Component.literal("")); + super(x, y, width, height, new TextComponent("")); formattedText = Minecraft.getInstance().font.getSplitter().splitLines(text, width - scrollBarWidth*2, Style.EMPTY); initScroll(); 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 fc14061e9..544d43f26 100644 --- a/common/src/main/java/org/vivecraft/client/network/ClientNetworking.java +++ b/common/src/main/java/org/vivecraft/client/network/ClientNetworking.java @@ -8,7 +8,7 @@ import net.minecraft.client.player.LocalPlayer; import net.minecraft.core.Registry; import net.minecraft.network.FriendlyByteBuf; -import net.minecraft.network.chat.Component; +import net.minecraft.network.chat.TranslatableComponent; import net.minecraft.network.protocol.game.ServerboundCustomPayloadPacket; import net.minecraft.network.protocol.game.ServerboundMovePlayerPacket; import net.minecraft.resources.ResourceLocation; @@ -226,10 +226,10 @@ public static void handlePacket(CommonNetworkHelper.PacketDiscriminators packetI && (dataholder.vrSettings.showServerPluginMessage == VRSettings.ChatServerPluginMessage.ALWAYS || (dataholder.vrSettings.showServerPluginMessage == VRSettings.ChatServerPluginMessage.SERVER_ONLY && !Minecraft.getInstance().isLocalServer()))) { ClientNetworking.displayedChatMessage = true; - mc.gui.getChat().addMessage(Component.translatable("vivecraft.messages.serverplugin", s11)); + mc.gui.getChat().addMessage(new TranslatableComponent("vivecraft.messages.serverplugin", s11)); } if (VRState.vrEnabled && dataholder.vrSettings.manualCalibration == -1.0F && !dataholder.vrSettings.seated) { - mc.gui.getChat().addMessage(Component.translatable("vivecraft.messages.calibrateheight")); + mc.gui.getChat().addMessage(new TranslatableComponent("vivecraft.messages.calibrateheight")); } } case IS_VR_ACTIVE -> { @@ -313,7 +313,7 @@ public static void handlePacket(CommonNetworkHelper.PacketDiscriminators packetI ClientNetworking.serverAllowsVrSwitching = buffer.readBoolean(); if (VRState.vrInitialized) { if (!ClientNetworking.serverAllowsVrSwitching) { - Minecraft.getInstance().gui.getChat().addMessage(Component.translatable("vivecraft.messages.novrhotswitching")); + Minecraft.getInstance().gui.getChat().addMessage(new TranslatableComponent("vivecraft.messages.novrhotswitching")); } dataholder.vrPlayer.vrSwitchWarning = false; } diff --git a/common/src/main/java/org/vivecraft/client/utils/Utils.java b/common/src/main/java/org/vivecraft/client/utils/Utils.java index d5375375a..7e7f6407b 100644 --- a/common/src/main/java/org/vivecraft/client/utils/Utils.java +++ b/common/src/main/java/org/vivecraft/client/utils/Utils.java @@ -325,10 +325,8 @@ public static InputStream getAssetAsStream(String name, boolean required) { try { - Optional resource = Minecraft.getInstance().getResourceManager().getResource(new ResourceLocation("vivecraft", name)); - if (resource.isPresent()) { - inputstream = resource.get().open(); - } + Resource resource = Minecraft.getInstance().getResourceManager().getResource(new ResourceLocation("vivecraft", name)); + inputstream = resource.getInputStream(); } catch (NullPointerException | FileNotFoundException filenotfoundexception) { diff --git a/common/src/main/java/org/vivecraft/client_vr/ClientDataHolderVR.java b/common/src/main/java/org/vivecraft/client_vr/ClientDataHolderVR.java index bad604393..9455ccf79 100644 --- a/common/src/main/java/org/vivecraft/client_vr/ClientDataHolderVR.java +++ b/common/src/main/java/org/vivecraft/client_vr/ClientDataHolderVR.java @@ -10,6 +10,9 @@ import org.vivecraft.client_vr.render.RenderPass; import org.vivecraft.client_vr.settings.VRSettings; +import java.util.ArrayList; +import java.util.List; + public class ClientDataHolderVR { public static boolean kiosk; @@ -19,6 +22,7 @@ public class ClientDataHolderVR { public static boolean viewonly; public static ModelResourceLocation thirdPersonCameraModel = new ModelResourceLocation("vivecraft:camcorder"); public static ModelResourceLocation thirdPersonCameraDisplayModel = new ModelResourceLocation("vivecraft:camcorder_display"); + public static List hrtfList = new ArrayList<>(); private static ClientDataHolderVR INSTANCE; public VRPlayer vrPlayer; diff --git a/common/src/main/java/org/vivecraft/client_vr/VRState.java b/common/src/main/java/org/vivecraft/client_vr/VRState.java index 6b1854571..beb4e3873 100644 --- a/common/src/main/java/org/vivecraft/client_vr/VRState.java +++ b/common/src/main/java/org/vivecraft/client_vr/VRState.java @@ -1,7 +1,7 @@ package org.vivecraft.client_vr; import net.minecraft.client.Minecraft; -import net.minecraft.network.chat.Component; +import net.minecraft.network.chat.TranslatableComponent; import org.lwjgl.glfw.GLFW; import org.vivecraft.client_vr.gameplay.VRPlayer; import org.vivecraft.client.gui.screens.ErrorScreen; @@ -25,7 +25,7 @@ public static void initializeVR() { } try { if (OptifineHelper.isOptifineLoaded() && OptifineHelper.isAntialiasing()) { - throw new RenderConfigException(Component.translatable("vivecraft.messages.incompatiblesettings").getString(), Component.translatable("vivecraft.messages.optifineaa")); + throw new RenderConfigException(new TranslatableComponent("vivecraft.messages.incompatiblesettings").getString(), new TranslatableComponent("vivecraft.messages.optifineaa")); } vrInitialized = true; @@ -36,16 +36,16 @@ public static void initializeVR() { dh.vr = new NullVR(Minecraft.getInstance(), dh); } if (!dh.vr.init()) { - throw new RenderConfigException("VR init Error", Component.translatable("vivecraft.messages.rendersetupfailed", dh.vr.initStatus + "\nVR provider: " + dh.vr.getName())); + throw new RenderConfigException("VR init Error", new TranslatableComponent("vivecraft.messages.rendersetupfailed", dh.vr.initStatus + "\nVR provider: " + dh.vr.getName())); } dh.vrRenderer = dh.vr.createVRRenderer(); - dh.vrRenderer.lastGuiScale = Minecraft.getInstance().options.guiScale().get(); + dh.vrRenderer.lastGuiScale = Minecraft.getInstance().options.guiScale; try { dh.vrRenderer.setupRenderConfiguration(); RenderPassManager.setVanillaRenderPass(); } catch(RenderConfigException renderConfigException) { - throw new RenderConfigException("VR Render Error", Component.translatable("vivecraft.messages.rendersetupfailed", renderConfigException.error + "\nVR provider: " + dh.vr.getName())); + throw new RenderConfigException("VR Render Error", new TranslatableComponent("vivecraft.messages.rendersetupfailed", renderConfigException.error + "\nVR provider: " + dh.vr.getName())); } catch(Exception e) { e.printStackTrace(); } diff --git a/common/src/main/java/org/vivecraft/client_vr/gameplay/VRPlayer.java b/common/src/main/java/org/vivecraft/client_vr/gameplay/VRPlayer.java index 87c12ef73..5c77f12a5 100644 --- a/common/src/main/java/org/vivecraft/client_vr/gameplay/VRPlayer.java +++ b/common/src/main/java/org/vivecraft/client_vr/gameplay/VRPlayer.java @@ -4,7 +4,6 @@ import net.minecraft.client.particle.TerrainParticle; import net.minecraft.client.player.LocalPlayer; import net.minecraft.core.BlockPos; -import net.minecraft.util.RandomSource; import net.minecraft.world.InteractionHand; import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.Mob; @@ -292,7 +291,7 @@ public void rotateOriginAround(float degrees, Vec3 o) } } - public void tick(LocalPlayer player, Minecraft mc, RandomSource rand) + public void tick(LocalPlayer player, Minecraft mc, Random rand) { if (((PlayerExtension) player).getInitFromServer()) { @@ -336,7 +335,7 @@ public void tick(LocalPlayer player, Minecraft mc, RandomSource rand) { AbstractHorse abstracthorse = (AbstractHorse)entity; - if (abstracthorse.isControlledByLocalInstance() && abstracthorse.isSaddled() && !dh.horseTracker.isActive(mc.player)) + if (abstracthorse.canBeControlledByRider() && abstracthorse.isSaddled() && !dh.horseTracker.isActive(mc.player)) { abstracthorse.yBodyRot = this.vrdata_world_pre.getBodyYaw(); dh.vehicleTracker.rotationCooldown = 10; @@ -346,7 +345,7 @@ else if (entity instanceof Mob) { Mob mob = (Mob)entity; - if (mob.isControlledByLocalInstance()) + if (mob.canBeControlledByRider()) { mob.yBodyRot = this.vrdata_world_pre.getBodyYaw(); dh.vehicleTracker.rotationCooldown = 10; diff --git a/common/src/main/java/org/vivecraft/client_vr/gameplay/screenhandlers/GuiHandler.java b/common/src/main/java/org/vivecraft/client_vr/gameplay/screenhandlers/GuiHandler.java index f30c0a84c..8046f6c7b 100644 --- a/common/src/main/java/org/vivecraft/client_vr/gameplay/screenhandlers/GuiHandler.java +++ b/common/src/main/java/org/vivecraft/client_vr/gameplay/screenhandlers/GuiHandler.java @@ -11,7 +11,7 @@ import net.minecraft.client.gui.screens.inventory.AbstractContainerScreen; import net.minecraft.client.gui.screens.inventory.SignEditScreen; import net.minecraft.client.gui.screens.inventory.BookEditScreen; -import net.minecraft.world.entity.vehicle.ContainerEntity; +import net.minecraft.world.Container; import net.minecraft.world.phys.*; import org.vivecraft.client_vr.VRData; @@ -388,7 +388,7 @@ public static void onScreenChanged(Screen previousGuiScreen, Screen newScreen, b // and if the pointed at entity is the same that was last interacted with boolean isEntityScreen = newScreen instanceof AbstractContainerScreen && mc.hitResult instanceof EntityHitResult - && ((EntityHitResult) mc.hitResult).getEntity() instanceof ContainerEntity; + && ((EntityHitResult) mc.hitResult).getEntity() instanceof Container; if (guiAppearOverBlockActive && (isBlockScreen || isEntityScreen) && dh.vrSettings.guiAppearOverBlock) { diff --git a/common/src/main/java/org/vivecraft/client_vr/gameplay/trackers/BowTracker.java b/common/src/main/java/org/vivecraft/client_vr/gameplay/trackers/BowTracker.java index 105f62ea6..4193df1fb 100644 --- a/common/src/main/java/org/vivecraft/client_vr/gameplay/trackers/BowTracker.java +++ b/common/src/main/java/org/vivecraft/client_vr/gameplay/trackers/BowTracker.java @@ -230,7 +230,7 @@ else if ((float)Util.getMillis() - this.tsNotch > 500.0F) { this.isDrawing = true; //Minecraft.getInstance().physicalGuiManager.preClickAction(); - this.mc.gameMode.useItem(player, interactionhand); + this.mc.gameMode.useItem(player, player.level, interactionhand); } if (this.isDrawing && !this.pressed && this.lastpressed && (double)this.getDrawPercent() > 0.0D) 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 14f7a977d..479f9bb18 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 @@ -6,7 +6,6 @@ import java.util.Random; import java.util.Set; -import net.minecraft.network.chat.contents.TranslatableContents; import org.vivecraft.client.VivecraftVRMod; import org.vivecraft.client_vr.ClientDataHolderVR; import org.vivecraft.client_vr.BlockTags; @@ -20,6 +19,7 @@ import net.minecraft.client.player.LocalPlayer; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; +import net.minecraft.network.chat.TranslatableComponent; import net.minecraft.network.protocol.game.ServerboundCustomPayloadPacket; import net.minecraft.server.level.ServerPlayer; import net.minecraft.world.effect.MobEffects; @@ -106,7 +106,7 @@ else if (!i.hasTag() || !i.getTag().getBoolean("Unbreakable")) } else { - return i.getHoverName().getContents() instanceof TranslatableContents && ((TranslatableContents)i.getHoverName().getContents()).getKey().equals("vivecraft.item.climbclaws") || i.getHoverName().getString().equals("Climb Claws"); + return i.getHoverName() instanceof TranslatableComponent && ((TranslatableComponent)i.getHoverName()).getKey().equals("vivecraft.item.climbclaws") || i.getHoverName().getString().equals("Climb Claws"); } } diff --git a/common/src/main/java/org/vivecraft/client_vr/gameplay/trackers/EatingTracker.java b/common/src/main/java/org/vivecraft/client_vr/gameplay/trackers/EatingTracker.java index ad46f36be..d92054dcc 100644 --- a/common/src/main/java/org/vivecraft/client_vr/gameplay/trackers/EatingTracker.java +++ b/common/src/main/java/org/vivecraft/client_vr/gameplay/trackers/EatingTracker.java @@ -60,7 +60,7 @@ else if (p.isSleeping()) { UseAnim useanim = p.getMainHandItem().getUseAnimation(); - if (useanim == UseAnim.EAT || useanim == UseAnim.DRINK || useanim == UseAnim.TOOT_HORN) + if (useanim == UseAnim.EAT || useanim == UseAnim.DRINK) { return true; } @@ -70,7 +70,7 @@ else if (p.isSleeping()) { UseAnim useanim1 = p.getOffhandItem().getUseAnimation(); - if (useanim1 == UseAnim.EAT || useanim1 == UseAnim.DRINK || useanim1 == UseAnim.TOOT_HORN) + if (useanim1 == UseAnim.EAT || useanim1 == UseAnim.DRINK) { return true; } @@ -108,9 +108,6 @@ public void doProcess(LocalPlayer player) { else if (itemstack.getUseAnimation() == UseAnim.EAT) { crunchiness = 2; } - else if (itemstack.getUseAnimation() == UseAnim.TOOT_HORN) { - crunchiness = 1; - } else { continue; } @@ -119,8 +116,8 @@ else if (itemstack.getUseAnimation() == UseAnim.TOOT_HORN) { { //Minecraft.getInstance().physicalGuiManager.preClickAction(); - if (this.mc.gameMode.useItem(player, c == 0 ? InteractionHand.MAIN_HAND : InteractionHand.OFF_HAND).consumesAction()) - { + if (this.mc.gameMode.useItem(player, player.level, c == 0 ? InteractionHand.MAIN_HAND : InteractionHand.OFF_HAND).consumesAction()) + { this.mc.gameRenderer.itemInHandRenderer.itemUsed(c == 0 ? InteractionHand.MAIN_HAND : InteractionHand.OFF_HAND); this.eating[c] = true; this.eatStart = Util.getMillis(); 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 db6f6690a..9dd93bb90 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 @@ -14,6 +14,7 @@ import org.vivecraft.client_vr.render.VRFirstPersonArmSwing; import net.minecraft.client.Minecraft; +import net.minecraft.client.multiplayer.ClientLevel; import net.minecraft.client.player.LocalPlayer; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; @@ -322,11 +323,11 @@ else if (this.inEntityHit[i] != null) } else if (this.inBlockHit[i] != null) { - flag = this.mc.gameMode.useItemOn(this.mc.player, interactionhand, this.inBlockHit[i]).consumesAction(); + flag = this.mc.gameMode.useItemOn(this.mc.player, (ClientLevel) this.mc.player.level, interactionhand, this.inBlockHit[i]).consumesAction(); } else if (this.bukkit[i]) { - flag = this.mc.gameMode.useItem(this.mc.player, interactionhand).consumesAction(); + flag = this.mc.gameMode.useItem(this.mc.player, this.mc.player.level, interactionhand).consumesAction(); } if (flag) 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 fdd8fcf85..2b89a946f 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 @@ -1,6 +1,5 @@ package org.vivecraft.client_vr.gameplay.trackers; -import net.minecraft.network.chat.contents.TranslatableContents; import org.vivecraft.client.VivecraftVRMod; import org.vivecraft.client_vr.ClientDataHolderVR; import org.vivecraft.client_vr.extensions.PlayerExtension; @@ -10,6 +9,7 @@ import net.minecraft.client.Minecraft; import net.minecraft.client.player.LocalPlayer; +import net.minecraft.network.chat.TranslatableComponent; import net.minecraft.world.effect.MobEffects; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.Items; @@ -221,7 +221,7 @@ else if (!i.hasTag() || !i.getTag().getBoolean("Unbreakable")) } else { - return i.getHoverName().getContents() instanceof TranslatableContents && ((TranslatableContents)i.getHoverName().getContents()).getKey().equals("vivecraft.item.jumpboots") || i.getHoverName().getString().equals("Jump Boots"); + return i.getHoverName() instanceof TranslatableComponent && ((TranslatableComponent)i.getHoverName()).getKey().equals("vivecraft.item.jumpboots") || i.getHoverName().getString().equals("Jump Boots"); } } } 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 b80b67195..9d1405960 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 @@ -2,6 +2,7 @@ import java.util.List; +import net.minecraft.client.multiplayer.ClientLevel; import net.minecraft.world.item.context.UseOnContext; import net.minecraft.world.level.block.*; import org.vivecraft.client.VivecraftVRMod; @@ -253,10 +254,10 @@ else if (!itemstack.isEmpty()) { // don't try to break crops with hoes // actually use the item on the block - boolean useSuccessful = this.mc.gameMode.useItemOn(player, i == 0 ? InteractionHand.MAIN_HAND : InteractionHand.OFF_HAND, blockhitresult1).shouldSwing(); + boolean useSuccessful = this.mc.gameMode.useItemOn(player, (ClientLevel)player.level, i == 0 ? InteractionHand.MAIN_HAND : InteractionHand.OFF_HAND, blockhitresult1).shouldSwing(); if (itemstack.is(ItemTags.VIVECRAFT_SCYTHES) && !useSuccessful) { // some scythes just need to be used - this.mc.gameMode.useItem(player, i == 0 ? InteractionHand.MAIN_HAND : InteractionHand.OFF_HAND); + this.mc.gameMode.useItem(player, player.level, i == 0 ? InteractionHand.MAIN_HAND : InteractionHand.OFF_HAND); } } 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 0b7098e6f..bf108e68b 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 @@ -5,7 +5,6 @@ import net.minecraft.client.renderer.GameRenderer; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; -import net.minecraft.network.chat.Component; import net.minecraft.world.level.ClipContext; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.Blocks; @@ -230,8 +229,8 @@ else if (((PlayerExtension) player).getMovementTeleportTimer() >= 0 && (vec3.x ! if (!this.dh.vrPlayer.isTeleportSupported()) { - String s1 = "tp " + vec3.x + " " + vec3.y + " " + vec3.z; - this.mc.player.commandSigned(s1, Component.empty()); + String s1 = "/tp " + vec3.x + " " + vec3.y + " " + vec3.z; + this.mc.player.chat(s1); } else { diff --git a/common/src/main/java/org/vivecraft/client_vr/gameplay/trackers/TelescopeTracker.java b/common/src/main/java/org/vivecraft/client_vr/gameplay/trackers/TelescopeTracker.java index 0c92b6c41..766acda9d 100644 --- a/common/src/main/java/org/vivecraft/client_vr/gameplay/trackers/TelescopeTracker.java +++ b/common/src/main/java/org/vivecraft/client_vr/gameplay/trackers/TelescopeTracker.java @@ -1,6 +1,5 @@ package org.vivecraft.client_vr.gameplay.trackers; -import net.minecraft.network.chat.contents.TranslatableContents; import org.vivecraft.client_vr.ClientDataHolderVR; import org.vivecraft.client_vr.ItemTags; import org.vivecraft.client_vr.VRData; @@ -9,6 +8,7 @@ import net.minecraft.client.Minecraft; import net.minecraft.client.player.LocalPlayer; import net.minecraft.client.resources.model.ModelResourceLocation; +import net.minecraft.network.chat.TranslatableComponent; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.Items; import net.minecraft.world.phys.Vec3; @@ -61,7 +61,7 @@ else if (!i.hasTag() || !i.getTag().getBoolean("Unbreakable")) } else { - return i.getHoverName().getContents() instanceof TranslatableContents && ((TranslatableContents)i.getHoverName().getContents()).getKey().equals("vivecraft.item.telescope") || i.getHoverName().getString().equals("Eye of the Farseer"); + return i.getHoverName() instanceof TranslatableComponent && ((TranslatableComponent)i.getHoverName()).getKey().equals("vivecraft.item.telescope") || i.getHoverName().getString().equals("Eye of the Farseer"); } } 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 ea3deaa66..83163c1dc 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 @@ -72,7 +72,7 @@ public static Vec3 getSteeringDirection(LocalPlayer player) { Mob mob = (Mob)entity; - if (mob.isControlledByLocalInstance()) + if (mob.canBeControlledByRider()) { int i = (player.getMainHandItem().getItem() instanceof FoodOnAStickItem || player.getMainHandItem().is(ItemTags.VIVECRAFT_FOOD_STICKS)) ? 0 : 1; VRData.VRDevicePose vrdata$vrdevicepose = dataholder.vrPlayer.vrdata_world_pre.getController(i); @@ -118,7 +118,7 @@ public void doProcess(LocalPlayer player) { AbstractHorse abstracthorse = (AbstractHorse)entity; - if (abstracthorse.isControlledByLocalInstance() && abstracthorse.isSaddled()) + if (abstracthorse.canBeControlledByRider() && abstracthorse.isSaddled()) { return; } @@ -129,7 +129,7 @@ else if (entity instanceof Mob) { Mob mob = (Mob)entity; - if (mob.isControlledByLocalInstance()) + if (mob.canBeControlledByRider()) { return; } 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 0d8c09393..60c2ce23b 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,6 +1,5 @@ package org.vivecraft.client_vr.gui; -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; @@ -8,6 +7,7 @@ import com.mojang.blaze3d.vertex.PoseStack; import net.minecraft.client.gui.components.Button; +import net.minecraft.network.chat.TranslatableComponent; public class GuiKeyboard extends TwoHandedScreen { @@ -53,7 +53,7 @@ public void init() } String s2 = String.valueOf(c0); - Button button = new Button(k + k1 * (i1 + l), k + j1 * (20 + l), i1, 20, Component.literal(s2), (p) -> + Button button = new Button(k + k1 * (i1 + l), k + j1 * (20 + l), i1, 20, new TranslatableComponent(s2), (p) -> { InputSimulator.typeChars(s2); }); @@ -61,69 +61,69 @@ public void init() } } - this.addRenderableWidget(new Button(0, k + 3 * (20 + l), 30, 20, Component.literal("Shift"), (p) -> + this.addRenderableWidget(new Button(0, k + 3 * (20 + l), 30, 20, new TranslatableComponent("Shift"), (p) -> { this.setShift(!this.isShift); })); - this.addRenderableWidget(new Button(k + 4 * (i1 + l), k + j * (20 + l), 5 * (i1 + l), 20, Component.literal(" "), (p) -> + this.addRenderableWidget(new Button(k + 4 * (i1 + l), k + j * (20 + l), 5 * (i1 + l), 20, new TranslatableComponent(" "), (p) -> { InputSimulator.typeChars(" "); })); - this.addRenderableWidget(new Button(i * (i1 + l) + k, k, 35, 20, Component.literal("BKSP"), (p) -> + this.addRenderableWidget(new Button(i * (i1 + l) + k, k, 35, 20, new TranslatableComponent("BKSP"), (p) -> { InputSimulator.pressKey(GLFW.GLFW_KEY_BACKSPACE); InputSimulator.releaseKey(GLFW.GLFW_KEY_BACKSPACE); })); - this.addRenderableWidget(new Button(i * (i1 + l) + k, k + 2 * (20 + l), 35, 20, Component.literal("ENTER"), (p) -> + this.addRenderableWidget(new Button(i * (i1 + l) + k, k + 2 * (20 + l), 35, 20, new TranslatableComponent("ENTER"), (p) -> { InputSimulator.pressKey(GLFW.GLFW_KEY_ENTER); InputSimulator.releaseKey(GLFW.GLFW_KEY_ENTER); })); - this.addRenderableWidget(new Button(0, k + 20 + l, 30, 20, Component.literal("TAB"), (p) -> + this.addRenderableWidget(new Button(0, k + 20 + l, 30, 20, new TranslatableComponent("TAB"), (p) -> { InputSimulator.pressKey(GLFW.GLFW_KEY_TAB); InputSimulator.releaseKey(GLFW.GLFW_KEY_TAB); })); - this.addRenderableWidget(new Button(0, k, 30, 20, Component.literal("ESC"), (p) -> + this.addRenderableWidget(new Button(0, k, 30, 20, new TranslatableComponent("ESC"), (p) -> { InputSimulator.pressKey(GLFW.GLFW_KEY_ESCAPE); InputSimulator.releaseKey(GLFW.GLFW_KEY_ESCAPE); })); - this.addRenderableWidget(new Button((i - 1) * (i1 + l) + k, k + j * (20 + l), i1, 20, Component.literal("\u2191"), (p) -> + this.addRenderableWidget(new Button((i - 1) * (i1 + l) + k, k + j * (20 + l), i1, 20, new TranslatableComponent("\u2191"), (p) -> { InputSimulator.pressKey(GLFW.GLFW_KEY_UP); InputSimulator.releaseKey(GLFW.GLFW_KEY_UP); })); - this.addRenderableWidget(new Button((i - 1) * (i1 + l) + k, k + (j + 1) * (20 + l), i1, 20, Component.literal("\u2193"), (p) -> + this.addRenderableWidget(new Button((i - 1) * (i1 + l) + k, k + (j + 1) * (20 + l), i1, 20, new TranslatableComponent("\u2193"), (p) -> { InputSimulator.pressKey(GLFW.GLFW_KEY_DOWN); InputSimulator.releaseKey(GLFW.GLFW_KEY_DOWN); })); - this.addRenderableWidget(new Button((i - 2) * (i1 + l) + k, k + (j + 1) * (20 + l), i1, 20, Component.literal("\u2190"), (p) -> + this.addRenderableWidget(new Button((i - 2) * (i1 + l) + k, k + (j + 1) * (20 + l), i1, 20, new TranslatableComponent("\u2190"), (p) -> { InputSimulator.pressKey(GLFW.GLFW_KEY_LEFT); InputSimulator.releaseKey(GLFW.GLFW_KEY_LEFT); })); - this.addRenderableWidget(new Button(i * (i1 + l) + k, k + (j + 1) * (20 + l), i1, 20, Component.literal("\u2192"), (p) -> + this.addRenderableWidget(new Button(i * (i1 + l) + k, k + (j + 1) * (20 + l), i1, 20, new TranslatableComponent("\u2192"), (p) -> { InputSimulator.pressKey(GLFW.GLFW_KEY_RIGHT); InputSimulator.releaseKey(GLFW.GLFW_KEY_RIGHT); })); - this.addRenderableWidget(new Button(k, k + -1 * (20 + l), 35, 20, Component.literal("CUT"), (p) -> + this.addRenderableWidget(new Button(k, k + -1 * (20 + l), 35, 20, new TranslatableComponent("CUT"), (p) -> { InputSimulator.pressKey(GLFW.GLFW_KEY_LEFT_CONTROL); InputSimulator.pressKey(GLFW.GLFW_KEY_X); InputSimulator.releaseKey(GLFW.GLFW_KEY_X); InputSimulator.releaseKey(GLFW.GLFW_KEY_LEFT_CONTROL); })); - this.addRenderableWidget(new Button(35 + l + k, k + -1 * (20 + l), 35, 20, Component.literal("COPY"), (p) -> + this.addRenderableWidget(new Button(35 + l + k, k + -1 * (20 + l), 35, 20, new TranslatableComponent("COPY"), (p) -> { InputSimulator.pressKey(GLFW.GLFW_KEY_LEFT_CONTROL); InputSimulator.pressKey(GLFW.GLFW_KEY_C); InputSimulator.releaseKey(GLFW.GLFW_KEY_C); InputSimulator.releaseKey(GLFW.GLFW_KEY_LEFT_CONTROL); })); - this.addRenderableWidget(new Button(2 * (35 + l) + k, k + -1 * (20 + l), 35, 20, Component.literal("PASTE"), (p) -> + this.addRenderableWidget(new Button(2 * (35 + l) + k, k + -1 * (20 + l), 35, 20, new TranslatableComponent("PASTE"), (p) -> { InputSimulator.pressKey(GLFW.GLFW_KEY_LEFT_CONTROL); InputSimulator.pressKey(GLFW.GLFW_KEY_V); 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 627d50e1c..10c26c117 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 @@ -9,7 +9,7 @@ import net.minecraft.client.KeyMapping; import net.minecraft.client.gui.components.Button; import net.minecraft.client.resources.language.I18n; -import net.minecraft.network.chat.Component; +import net.minecraft.network.chat.TranslatableComponent; public class GuiRadial extends TwoHandedScreen { @@ -101,7 +101,7 @@ else if (k1 == 7) if (s != "?") { - this.addRenderableWidget(new Button(i1 + j2 - i2 / 2, j1 + k2 - 10, i2, 20, Component.translatable(s), (p) -> + this.addRenderableWidget(new Button(i1 + j2 - i2 / 2, j1 + k2 - 10, i2, 20, new TranslatableComponent(s), (p) -> { if (l1 < 200) { 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 aec428593..c369d5e2a 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 @@ -174,7 +174,7 @@ public BlockEntity getBlockEntity(BlockPos pos) { @Override public int getBlockTint(BlockPos blockPosIn, ColorResolver colorResolverIn) { - int i = Minecraft.getInstance().options.biomeBlendRadius().get(); + int i = Minecraft.getInstance().options.biomeBlendRadius; if (i == 0) { 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 90e80e6fe..e50e81345 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_119"; + public static final String customWorldFolder = "menuworlds/custom_118"; 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 c4328d03f..d6eebd335 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 @@ -42,7 +42,6 @@ import net.minecraft.util.StringRepresentable; import net.minecraft.util.datafix.DataFixers; import net.minecraft.util.datafix.fixes.References; -import net.minecraft.util.valueproviders.ConstantInt; import net.minecraft.world.level.Level; import net.minecraft.world.level.LightLayer; import net.minecraft.world.level.biome.AmbientParticleSettings; @@ -51,7 +50,6 @@ import net.minecraft.world.level.biome.BiomeSpecialEffects; import net.minecraft.world.level.biome.MobSpawnSettings; import net.minecraft.world.level.block.state.BlockState; -import net.minecraft.world.level.dimension.BuiltinDimensionTypes; import net.minecraft.world.level.dimension.DimensionType; import org.vivecraft.client.Xplat; @@ -115,12 +113,12 @@ public static byte[] saveArea(Level level, int xMin, int zMin, int xSize, int zS dos.writeInt(SharedConstants.getCurrentVersion().getDataVersion().getVersion()); - dos.writeBoolean(level.dimensionType().fixedTime().isPresent()); - if (level.dimensionType().fixedTime().isPresent()) - dos.writeLong(level.dimensionType().fixedTime().getAsLong()); + dos.writeBoolean(level.dimensionType().fixedTime.isPresent()); + if (level.dimensionType().fixedTime.isPresent()) + dos.writeLong(level.dimensionType().fixedTime.getAsLong()); dos.writeBoolean(level.dimensionType().hasCeiling()); dos.writeInt(level.dimensionType().minY()); - dos.writeFloat(level.dimensionType().ambientLight()); + dos.writeFloat(level.dimensionType().ambientLight); dos.writeFloat(switch (Minecraft.getInstance().player.getDirection()) { case SOUTH -> 180.0f; @@ -199,9 +197,9 @@ public static FakeBlockAccess loadWorld(byte[] data) throws IOException, DataFor if (header.version < 4) { // old format int dimId = dis.readInt(); dimName = switch (dimId) { - case -1 -> BuiltinDimensionTypes.NETHER_EFFECTS; - case 1 -> BuiltinDimensionTypes.END_EFFECTS; - default -> BuiltinDimensionTypes.OVERWORLD_EFFECTS; + case -1 -> DimensionType.NETHER_EFFECTS; + case 1 -> DimensionType.END_EFFECTS; + default -> DimensionType.OVERWORLD_EFFECTS; }; } else { dimName = new ResourceLocation(dis.readUTF()); @@ -239,12 +237,12 @@ else if (header.version == 4) float dimAmbientLight; if (header.version < 5) { // fill in missing values - if (BuiltinDimensionTypes.NETHER_EFFECTS.equals(dimName)) { + if (DimensionType.NETHER_EFFECTS.equals(dimName)) { dimFixedTime = OptionalLong.of(18000L); dimHasCeiling = true; dimMinY = 0; dimAmbientLight = 0.1f; - } else if (BuiltinDimensionTypes.END_EFFECTS.equals(dimName)) { + } else if (DimensionType.END_EFFECTS.equals(dimName)) { dimFixedTime = OptionalLong.of(6000L); dimHasCeiling = false; dimMinY = 0; @@ -262,7 +260,7 @@ else if (header.version == 4) dimAmbientLight = dis.readFloat(); } - DimensionType dimensionType = new DimensionType(dimFixedTime, dimHasSkyLight, dimHasCeiling, false, false, 1.0, true, false, dimMinY, ySize, ySize, BlockTags.INFINIBURN_OVERWORLD, dimName, dimAmbientLight, new DimensionType.MonsterSettings(false, false, ConstantInt.of(0), 0)); + DimensionType dimensionType = DimensionType.create(dimFixedTime, dimHasSkyLight, dimHasCeiling, false, false, 1.0, true, false, false, false, false, dimMinY, ySize, ySize, BlockTags.INFINIBURN_OVERWORLD, dimName, dimAmbientLight); float rotation = 0.0f; boolean rain = false; @@ -447,6 +445,7 @@ void readPalette(DataInputStream dis) throws IOException { boolean hasPrecipitation = dis.readBoolean(); float temperature = dis.readFloat(); builder.precipitation(hasPrecipitation ? (temperature < 0.15f ? Biome.Precipitation.SNOW : Biome.Precipitation.RAIN) : Biome.Precipitation.NONE); + builder.biomeCategory(Biome.BiomeCategory.NONE); builder.temperature(temperature); decodeEnum(Biome.TemperatureModifier.class, dis.readUTF()).ifPresent(builder::temperatureAdjustment); builder.downfall(dis.readFloat()); @@ -487,10 +486,10 @@ void writePalette(DataOutputStream dos, RegistryAccess registryAccess) throws IO Biome.ClimateSettings climateSettings = Xplat.getBiomeClimateSettings(biome); - dos.writeBoolean(climateSettings.precipitation() != Biome.Precipitation.NONE); - dos.writeFloat(climateSettings.temperature()); - dos.writeUTF(climateSettings.temperatureModifier().getSerializedName()); - dos.writeFloat(climateSettings.downfall()); + dos.writeBoolean(biome.getPrecipitation() != Biome.Precipitation.NONE); + dos.writeFloat(biome.getBaseTemperature()); + dos.writeUTF(climateSettings.temperatureModifier.getSerializedName()); + dos.writeFloat(biome.getDownfall()); BiomeSpecialEffects specialEffects = Xplat.getBiomeEffects(biome); @@ -527,163 +526,164 @@ private static class LegacyBiomeMapper implements BiomeMapper { //map.put(0, new Biome.BiomeBuilder().hasPrecipitation(true).temperature(1).temperatureAdjustment(Biome.TemperatureModifier.NONE).downfall(1).specialEffects(new BiomeSpecialEffects.Builder().fogColor(1).waterColor(1).waterFogColor(1).skyColor(1).foliageColorOverride(1).grassColorOverride(1).grassColorModifier(BiomeSpecialEffects.GrassColorModifier.NONE).ambientParticle(new AmbientParticleSettings((ParticleOptions)BuiltInRegistries.PARTICLE_TYPE.get(new ResourceLocation("")), 0)).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); // plains - map.put(1, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.RAIN).temperature(0.800000f).downfall(0.400000f).specialEffects(new BiomeSpecialEffects.Builder().fogColor(12638463).waterColor(4159204).waterFogColor(329011).skyColor(7907327).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); + map.put(1, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.RAIN).temperature(0.800000f).downfall(0.400000f).biomeCategory(Biome.BiomeCategory.PLAINS).specialEffects(new BiomeSpecialEffects.Builder().fogColor(12638463).waterColor(4159204).waterFogColor(329011).skyColor(7907327).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); // the_void - map.put(127, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.NONE).temperature(0.500000f).downfall(0.500000f).specialEffects(new BiomeSpecialEffects.Builder().fogColor(12638463).waterColor(4159204).waterFogColor(329011).skyColor(8103167).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); + map.put(127, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.NONE).temperature(0.500000f).downfall(0.500000f).biomeCategory(Biome.BiomeCategory.NONE).specialEffects(new BiomeSpecialEffects.Builder().fogColor(12638463).waterColor(4159204).waterFogColor(329011).skyColor(8103167).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); // ocean - map.put(0, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.RAIN).temperature(0.500000f).downfall(0.500000f).specialEffects(new BiomeSpecialEffects.Builder().fogColor(12638463).waterColor(4159204).waterFogColor(329011).skyColor(8103167).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); + map.put(0, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.RAIN).temperature(0.500000f).downfall(0.500000f).biomeCategory(Biome.BiomeCategory.OCEAN).specialEffects(new BiomeSpecialEffects.Builder().fogColor(12638463).waterColor(4159204).waterFogColor(329011).skyColor(8103167).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); // desert - map.put(2, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.NONE).temperature(2.000000f).downfall(0.000000f).specialEffects(new BiomeSpecialEffects.Builder().fogColor(12638463).waterColor(4159204).waterFogColor(329011).skyColor(7254527).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); + map.put(2, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.NONE).temperature(2.000000f).downfall(0.000000f).biomeCategory(Biome.BiomeCategory.DESERT).specialEffects(new BiomeSpecialEffects.Builder().fogColor(12638463).waterColor(4159204).waterFogColor(329011).skyColor(7254527).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); // mountains - map.put(3, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.RAIN).temperature(0.200000f).downfall(0.300000f).specialEffects(new BiomeSpecialEffects.Builder().fogColor(12638463).waterColor(4159204).waterFogColor(329011).skyColor(8233727).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); + map.put(3, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.RAIN).temperature(0.200000f).downfall(0.300000f).biomeCategory(Biome.BiomeCategory.EXTREME_HILLS).specialEffects(new BiomeSpecialEffects.Builder().fogColor(12638463).waterColor(4159204).waterFogColor(329011).skyColor(8233727).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); // forest - map.put(4, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.RAIN).temperature(0.700000f).downfall(0.800000f).specialEffects(new BiomeSpecialEffects.Builder().fogColor(12638463).waterColor(4159204).waterFogColor(329011).skyColor(7972607).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); + map.put(4, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.RAIN).temperature(0.700000f).downfall(0.800000f).biomeCategory(Biome.BiomeCategory.FOREST).specialEffects(new BiomeSpecialEffects.Builder().fogColor(12638463).waterColor(4159204).waterFogColor(329011).skyColor(7972607).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); // taiga - map.put(5, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.RAIN).temperature(0.250000f).downfall(0.800000f).specialEffects(new BiomeSpecialEffects.Builder().fogColor(12638463).waterColor(4159204).waterFogColor(329011).skyColor(8233983).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); + map.put(5, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.RAIN).temperature(0.250000f).downfall(0.800000f).biomeCategory(Biome.BiomeCategory.TAIGA).specialEffects(new BiomeSpecialEffects.Builder().fogColor(12638463).waterColor(4159204).waterFogColor(329011).skyColor(8233983).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); // swamp - map.put(6, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.RAIN).temperature(0.800000f).downfall(0.900000f).specialEffects(new BiomeSpecialEffects.Builder().fogColor(12638463).waterColor(6388580).waterFogColor(2302743).skyColor(7907327).foliageColorOverride(6975545).grassColorModifier(BiomeSpecialEffects.GrassColorModifier.SWAMP).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); + map.put(6, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.RAIN).temperature(0.800000f).downfall(0.900000f).biomeCategory(Biome.BiomeCategory.SWAMP).specialEffects(new BiomeSpecialEffects.Builder().fogColor(12638463).waterColor(6388580).waterFogColor(2302743).skyColor(7907327).foliageColorOverride(6975545).grassColorModifier(BiomeSpecialEffects.GrassColorModifier.SWAMP).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); // river - map.put(7, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.RAIN).temperature(0.500000f).downfall(0.500000f).specialEffects(new BiomeSpecialEffects.Builder().fogColor(12638463).waterColor(4159204).waterFogColor(329011).skyColor(8103167).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); + map.put(7, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.RAIN).temperature(0.500000f).downfall(0.500000f).biomeCategory(Biome.BiomeCategory.RIVER).specialEffects(new BiomeSpecialEffects.Builder().fogColor(12638463).waterColor(4159204).waterFogColor(329011).skyColor(8103167).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); // nether_wastes - map.put(8, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.NONE).temperature(2.000000f).downfall(0.000000f).specialEffects(new BiomeSpecialEffects.Builder().fogColor(3344392).waterColor(4159204).waterFogColor(329011).skyColor(7254527).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); + map.put(8, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.NONE).temperature(2.000000f).downfall(0.000000f).biomeCategory(Biome.BiomeCategory.NETHER).specialEffects(new BiomeSpecialEffects.Builder().fogColor(3344392).waterColor(4159204).waterFogColor(329011).skyColor(7254527).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); // the_end - map.put(9, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.NONE).temperature(0.500000f).downfall(0.500000f).specialEffects(new BiomeSpecialEffects.Builder().fogColor(10518688).waterColor(4159204).waterFogColor(329011).skyColor(0).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); + map.put(9, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.NONE).temperature(0.500000f).downfall(0.500000f).biomeCategory(Biome.BiomeCategory.THEEND).specialEffects(new BiomeSpecialEffects.Builder().fogColor(10518688).waterColor(4159204).waterFogColor(329011).skyColor(0).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); // frozen_ocean - map.put(10, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.SNOW).temperature(0.000000f).downfall(0.500000f).temperatureAdjustment(Biome.TemperatureModifier.FROZEN).specialEffects(new BiomeSpecialEffects.Builder().fogColor(12638463).waterColor(3750089).waterFogColor(329011).skyColor(8364543).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); + map.put(10, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.SNOW).temperature(0.000000f).downfall(0.500000f).biomeCategory(Biome.BiomeCategory.OCEAN).temperatureAdjustment(Biome.TemperatureModifier.FROZEN).specialEffects(new BiomeSpecialEffects.Builder().fogColor(12638463).waterColor(3750089).waterFogColor(329011).skyColor(8364543).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); // frozen_river - map.put(11, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.SNOW).temperature(0.000000f).downfall(0.500000f).specialEffects(new BiomeSpecialEffects.Builder().fogColor(12638463).waterColor(3750089).waterFogColor(329011).skyColor(8364543).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); + map.put(11, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.SNOW).temperature(0.000000f).downfall(0.500000f).biomeCategory(Biome.BiomeCategory.RIVER).specialEffects(new BiomeSpecialEffects.Builder().fogColor(12638463).waterColor(3750089).waterFogColor(329011).skyColor(8364543).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); // snowy_tundra - map.put(12, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.SNOW).temperature(0.000000f).downfall(0.500000f).specialEffects(new BiomeSpecialEffects.Builder().fogColor(12638463).waterColor(4159204).waterFogColor(329011).skyColor(8364543).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); + map.put(12, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.SNOW).temperature(0.000000f).downfall(0.500000f).biomeCategory(Biome.BiomeCategory.ICY).specialEffects(new BiomeSpecialEffects.Builder().fogColor(12638463).waterColor(4159204).waterFogColor(329011).skyColor(8364543).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); // snowy_mountains - map.put(13, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.SNOW).temperature(0.000000f).downfall(0.500000f).specialEffects(new BiomeSpecialEffects.Builder().fogColor(12638463).waterColor(4159204).waterFogColor(329011).skyColor(8364543).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); + map.put(13, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.SNOW).temperature(0.000000f).downfall(0.500000f).biomeCategory(Biome.BiomeCategory.ICY).specialEffects(new BiomeSpecialEffects.Builder().fogColor(12638463).waterColor(4159204).waterFogColor(329011).skyColor(8364543).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); // mushroom_fields - map.put(14, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.RAIN).temperature(0.900000f).downfall(1.000000f).specialEffects(new BiomeSpecialEffects.Builder().fogColor(12638463).waterColor(4159204).waterFogColor(329011).skyColor(7842047).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); + map.put(14, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.RAIN).temperature(0.900000f).downfall(1.000000f).biomeCategory(Biome.BiomeCategory.MUSHROOM).specialEffects(new BiomeSpecialEffects.Builder().fogColor(12638463).waterColor(4159204).waterFogColor(329011).skyColor(7842047).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); // mushroom_field_shore - map.put(15, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.RAIN).temperature(0.900000f).downfall(1.000000f).specialEffects(new BiomeSpecialEffects.Builder().fogColor(12638463).waterColor(4159204).waterFogColor(329011).skyColor(7842047).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); + map.put(15, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.RAIN).temperature(0.900000f).downfall(1.000000f).biomeCategory(Biome.BiomeCategory.MUSHROOM).specialEffects(new BiomeSpecialEffects.Builder().fogColor(12638463).waterColor(4159204).waterFogColor(329011).skyColor(7842047).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); // beach - map.put(16, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.RAIN).temperature(0.800000f).downfall(0.400000f).specialEffects(new BiomeSpecialEffects.Builder().fogColor(12638463).waterColor(4159204).waterFogColor(329011).skyColor(7907327).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); + map.put(16, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.RAIN).temperature(0.800000f).downfall(0.400000f).biomeCategory(Biome.BiomeCategory.BEACH).specialEffects(new BiomeSpecialEffects.Builder().fogColor(12638463).waterColor(4159204).waterFogColor(329011).skyColor(7907327).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); // desert_hills - map.put(17, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.NONE).temperature(2.000000f).downfall(0.000000f).specialEffects(new BiomeSpecialEffects.Builder().fogColor(12638463).waterColor(4159204).waterFogColor(329011).skyColor(7254527).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); + map.put(17, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.NONE).temperature(2.000000f).downfall(0.000000f).biomeCategory(Biome.BiomeCategory.DESERT).specialEffects(new BiomeSpecialEffects.Builder().fogColor(12638463).waterColor(4159204).waterFogColor(329011).skyColor(7254527).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); // wooded_hills - map.put(18, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.RAIN).temperature(0.700000f).downfall(0.800000f).specialEffects(new BiomeSpecialEffects.Builder().fogColor(12638463).waterColor(4159204).waterFogColor(329011).skyColor(7972607).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); + map.put(18, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.RAIN).temperature(0.700000f).downfall(0.800000f).biomeCategory(Biome.BiomeCategory.FOREST).specialEffects(new BiomeSpecialEffects.Builder().fogColor(12638463).waterColor(4159204).waterFogColor(329011).skyColor(7972607).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); // taiga_hills - map.put(19, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.RAIN).temperature(0.250000f).downfall(0.800000f).specialEffects(new BiomeSpecialEffects.Builder().fogColor(12638463).waterColor(4159204).waterFogColor(329011).skyColor(8233983).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); + map.put(19, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.RAIN).temperature(0.250000f).downfall(0.800000f).biomeCategory(Biome.BiomeCategory.TAIGA).specialEffects(new BiomeSpecialEffects.Builder().fogColor(12638463).waterColor(4159204).waterFogColor(329011).skyColor(8233983).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); // mountain_edge - map.put(20, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.RAIN).temperature(0.200000f).downfall(0.300000f).specialEffects(new BiomeSpecialEffects.Builder().fogColor(12638463).waterColor(4159204).waterFogColor(329011).skyColor(8233727).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); + map.put(20, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.RAIN).temperature(0.200000f).downfall(0.300000f).biomeCategory(Biome.BiomeCategory.EXTREME_HILLS).specialEffects(new BiomeSpecialEffects.Builder().fogColor(12638463).waterColor(4159204).waterFogColor(329011).skyColor(8233727).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); // jungle - map.put(21, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.RAIN).temperature(0.950000f).downfall(0.900000f).specialEffects(new BiomeSpecialEffects.Builder().fogColor(12638463).waterColor(4159204).waterFogColor(329011).skyColor(7842047).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); + map.put(21, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.RAIN).temperature(0.950000f).downfall(0.900000f).biomeCategory(Biome.BiomeCategory.JUNGLE).specialEffects(new BiomeSpecialEffects.Builder().fogColor(12638463).waterColor(4159204).waterFogColor(329011).skyColor(7842047).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); // jungle_hills - map.put(22, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.RAIN).temperature(0.950000f).downfall(0.900000f).specialEffects(new BiomeSpecialEffects.Builder().fogColor(12638463).waterColor(4159204).waterFogColor(329011).skyColor(7842047).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); + map.put(22, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.RAIN).temperature(0.950000f).downfall(0.900000f).biomeCategory(Biome.BiomeCategory.JUNGLE).specialEffects(new BiomeSpecialEffects.Builder().fogColor(12638463).waterColor(4159204).waterFogColor(329011).skyColor(7842047).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); // jungle_edge - map.put(23, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.RAIN).temperature(0.950000f).downfall(0.800000f).specialEffects(new BiomeSpecialEffects.Builder().fogColor(12638463).waterColor(4159204).waterFogColor(329011).skyColor(7842047).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); + map.put(23, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.RAIN).temperature(0.950000f).downfall(0.800000f).biomeCategory(Biome.BiomeCategory.JUNGLE).specialEffects(new BiomeSpecialEffects.Builder().fogColor(12638463).waterColor(4159204).waterFogColor(329011).skyColor(7842047).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); // deep_ocean - map.put(24, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.RAIN).temperature(0.500000f).downfall(0.500000f).specialEffects(new BiomeSpecialEffects.Builder().fogColor(12638463).waterColor(4159204).waterFogColor(329011).skyColor(8103167).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); + map.put(24, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.RAIN).temperature(0.500000f).downfall(0.500000f).biomeCategory(Biome.BiomeCategory.OCEAN).specialEffects(new BiomeSpecialEffects.Builder().fogColor(12638463).waterColor(4159204).waterFogColor(329011).skyColor(8103167).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); // stone_shore - map.put(25, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.RAIN).temperature(0.200000f).downfall(0.300000f).specialEffects(new BiomeSpecialEffects.Builder().fogColor(12638463).waterColor(4159204).waterFogColor(329011).skyColor(8233727).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); + map.put(25, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.RAIN).temperature(0.200000f).downfall(0.300000f).biomeCategory(Biome.BiomeCategory.NONE).specialEffects(new BiomeSpecialEffects.Builder().fogColor(12638463).waterColor(4159204).waterFogColor(329011).skyColor(8233727).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); // snowy_beach - map.put(26, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.SNOW).temperature(0.050000f).downfall(0.300000f).specialEffects(new BiomeSpecialEffects.Builder().fogColor(12638463).waterColor(4020182).waterFogColor(329011).skyColor(8364543).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); + map.put(26, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.SNOW).temperature(0.050000f).downfall(0.300000f).biomeCategory(Biome.BiomeCategory.BEACH).specialEffects(new BiomeSpecialEffects.Builder().fogColor(12638463).waterColor(4020182).waterFogColor(329011).skyColor(8364543).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); // birch_forest - map.put(27, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.RAIN).temperature(0.600000f).downfall(0.600000f).specialEffects(new BiomeSpecialEffects.Builder().fogColor(12638463).waterColor(4159204).waterFogColor(329011).skyColor(8037887).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); + map.put(27, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.RAIN).temperature(0.600000f).downfall(0.600000f).biomeCategory(Biome.BiomeCategory.FOREST).specialEffects(new BiomeSpecialEffects.Builder().fogColor(12638463).waterColor(4159204).waterFogColor(329011).skyColor(8037887).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); // birch_forest_hills - map.put(28, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.RAIN).temperature(0.600000f).downfall(0.600000f).specialEffects(new BiomeSpecialEffects.Builder().fogColor(12638463).waterColor(4159204).waterFogColor(329011).skyColor(8037887).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); + map.put(28, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.RAIN).temperature(0.600000f).downfall(0.600000f).biomeCategory(Biome.BiomeCategory.FOREST).specialEffects(new BiomeSpecialEffects.Builder().fogColor(12638463).waterColor(4159204).waterFogColor(329011).skyColor(8037887).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); // dark_forest - map.put(29, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.RAIN).temperature(0.700000f).downfall(0.800000f).specialEffects(new BiomeSpecialEffects.Builder().fogColor(12638463).waterColor(4159204).waterFogColor(329011).skyColor(7972607).grassColorModifier(BiomeSpecialEffects.GrassColorModifier.DARK_FOREST).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); + map.put(29, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.RAIN).temperature(0.700000f).downfall(0.800000f).biomeCategory(Biome.BiomeCategory.FOREST).specialEffects(new BiomeSpecialEffects.Builder().fogColor(12638463).waterColor(4159204).waterFogColor(329011).skyColor(7972607).grassColorModifier(BiomeSpecialEffects.GrassColorModifier.DARK_FOREST).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); // snowy_taiga - map.put(30, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.SNOW).temperature(-0.500000f).downfall(0.400000f).specialEffects(new BiomeSpecialEffects.Builder().fogColor(12638463).waterColor(4020182).waterFogColor(329011).skyColor(8625919).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); + map.put(30, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.SNOW).temperature(-0.500000f).downfall(0.400000f).biomeCategory(Biome.BiomeCategory.TAIGA).specialEffects(new BiomeSpecialEffects.Builder().fogColor(12638463).waterColor(4020182).waterFogColor(329011).skyColor(8625919).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); // snowy_taiga_hills - map.put(31, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.SNOW).temperature(-0.500000f).downfall(0.400000f).specialEffects(new BiomeSpecialEffects.Builder().fogColor(12638463).waterColor(4020182).waterFogColor(329011).skyColor(8625919).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); + map.put(31, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.SNOW).temperature(-0.500000f).downfall(0.400000f).biomeCategory(Biome.BiomeCategory.TAIGA).specialEffects(new BiomeSpecialEffects.Builder().fogColor(12638463).waterColor(4020182).waterFogColor(329011).skyColor(8625919).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); // giant_tree_taiga - map.put(32, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.RAIN).temperature(0.300000f).downfall(0.800000f).specialEffects(new BiomeSpecialEffects.Builder().fogColor(12638463).waterColor(4159204).waterFogColor(329011).skyColor(8168447).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); + map.put(32, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.RAIN).temperature(0.300000f).downfall(0.800000f).biomeCategory(Biome.BiomeCategory.TAIGA).specialEffects(new BiomeSpecialEffects.Builder().fogColor(12638463).waterColor(4159204).waterFogColor(329011).skyColor(8168447).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); // giant_tree_taiga_hills - map.put(33, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.RAIN).temperature(0.300000f).downfall(0.800000f).specialEffects(new BiomeSpecialEffects.Builder().fogColor(12638463).waterColor(4159204).waterFogColor(329011).skyColor(8168447).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); + map.put(33, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.RAIN).temperature(0.300000f).downfall(0.800000f).biomeCategory(Biome.BiomeCategory.TAIGA).specialEffects(new BiomeSpecialEffects.Builder().fogColor(12638463).waterColor(4159204).waterFogColor(329011).skyColor(8168447).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); // wooded_mountains - map.put(34, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.RAIN).temperature(0.200000f).downfall(0.300000f).specialEffects(new BiomeSpecialEffects.Builder().fogColor(12638463).waterColor(4159204).waterFogColor(329011).skyColor(8233727).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); + map.put(34, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.RAIN).temperature(0.200000f).downfall(0.300000f).biomeCategory(Biome.BiomeCategory.EXTREME_HILLS).specialEffects(new BiomeSpecialEffects.Builder().fogColor(12638463).waterColor(4159204).waterFogColor(329011).skyColor(8233727).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); // savanna - map.put(35, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.NONE).temperature(1.200000f).downfall(0.000000f).specialEffects(new BiomeSpecialEffects.Builder().fogColor(12638463).waterColor(4159204).waterFogColor(329011).skyColor(7711487).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); + map.put(35, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.NONE).temperature(1.200000f).downfall(0.000000f).biomeCategory(Biome.BiomeCategory.SAVANNA).specialEffects(new BiomeSpecialEffects.Builder().fogColor(12638463).waterColor(4159204).waterFogColor(329011).skyColor(7711487).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); // savanna_plateau - map.put(36, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.NONE).temperature(1.000000f).downfall(0.000000f).specialEffects(new BiomeSpecialEffects.Builder().fogColor(12638463).waterColor(4159204).waterFogColor(329011).skyColor(7776511).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); + map.put(36, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.NONE).temperature(1.000000f).downfall(0.000000f).biomeCategory(Biome.BiomeCategory.SAVANNA).specialEffects(new BiomeSpecialEffects.Builder().fogColor(12638463).waterColor(4159204).waterFogColor(329011).skyColor(7776511).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); // badlands - map.put(37, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.NONE).temperature(2.000000f).downfall(0.000000f).specialEffects(new BiomeSpecialEffects.Builder().fogColor(12638463).waterColor(4159204).waterFogColor(329011).skyColor(7254527).foliageColorOverride(10387789).grassColorOverride(9470285).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); + map.put(37, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.NONE).temperature(2.000000f).downfall(0.000000f).biomeCategory(Biome.BiomeCategory.MESA).specialEffects(new BiomeSpecialEffects.Builder().fogColor(12638463).waterColor(4159204).waterFogColor(329011).skyColor(7254527).foliageColorOverride(10387789).grassColorOverride(9470285).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); // wooded_badlands_plateau - map.put(38, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.NONE).temperature(2.000000f).downfall(0.000000f).specialEffects(new BiomeSpecialEffects.Builder().fogColor(12638463).waterColor(4159204).waterFogColor(329011).skyColor(7254527).foliageColorOverride(10387789).grassColorOverride(9470285).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); + map.put(38, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.NONE).temperature(2.000000f).downfall(0.000000f).biomeCategory(Biome.BiomeCategory.MESA).specialEffects(new BiomeSpecialEffects.Builder().fogColor(12638463).waterColor(4159204).waterFogColor(329011).skyColor(7254527).foliageColorOverride(10387789).grassColorOverride(9470285).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); // badlands_plateau - map.put(39, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.NONE).temperature(2.000000f).downfall(0.000000f).specialEffects(new BiomeSpecialEffects.Builder().fogColor(12638463).waterColor(4159204).waterFogColor(329011).skyColor(7254527).foliageColorOverride(10387789).grassColorOverride(9470285).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); + map.put(39, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.NONE).temperature(2.000000f).downfall(0.000000f).biomeCategory(Biome.BiomeCategory.MESA).specialEffects(new BiomeSpecialEffects.Builder().fogColor(12638463).waterColor(4159204).waterFogColor(329011).skyColor(7254527).foliageColorOverride(10387789).grassColorOverride(9470285).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); // small_end_islands - map.put(40, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.NONE).temperature(0.500000f).downfall(0.500000f).specialEffects(new BiomeSpecialEffects.Builder().fogColor(10518688).waterColor(4159204).waterFogColor(329011).skyColor(0).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); + map.put(40, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.NONE).temperature(0.500000f).downfall(0.500000f).biomeCategory(Biome.BiomeCategory.THEEND).specialEffects(new BiomeSpecialEffects.Builder().fogColor(10518688).waterColor(4159204).waterFogColor(329011).skyColor(0).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); // end_midlands - map.put(41, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.NONE).temperature(0.500000f).downfall(0.500000f).specialEffects(new BiomeSpecialEffects.Builder().fogColor(10518688).waterColor(4159204).waterFogColor(329011).skyColor(0).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); + map.put(41, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.NONE).temperature(0.500000f).downfall(0.500000f).biomeCategory(Biome.BiomeCategory.THEEND).specialEffects(new BiomeSpecialEffects.Builder().fogColor(10518688).waterColor(4159204).waterFogColor(329011).skyColor(0).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); // end_highlands - map.put(42, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.NONE).temperature(0.500000f).downfall(0.500000f).specialEffects(new BiomeSpecialEffects.Builder().fogColor(10518688).waterColor(4159204).waterFogColor(329011).skyColor(0).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); + map.put(42, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.NONE).temperature(0.500000f).downfall(0.500000f).biomeCategory(Biome.BiomeCategory.THEEND).specialEffects(new BiomeSpecialEffects.Builder().fogColor(10518688).waterColor(4159204).waterFogColor(329011).skyColor(0).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); // end_barrens - map.put(43, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.NONE).temperature(0.500000f).downfall(0.500000f).specialEffects(new BiomeSpecialEffects.Builder().fogColor(10518688).waterColor(4159204).waterFogColor(329011).skyColor(0).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); + map.put(43, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.NONE).temperature(0.500000f).downfall(0.500000f).biomeCategory(Biome.BiomeCategory.THEEND).specialEffects(new BiomeSpecialEffects.Builder().fogColor(10518688).waterColor(4159204).waterFogColor(329011).skyColor(0).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); // warm_ocean - map.put(44, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.RAIN).temperature(0.500000f).downfall(0.500000f).specialEffects(new BiomeSpecialEffects.Builder().fogColor(12638463).waterColor(4445678).waterFogColor(270131).skyColor(8103167).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); + map.put(44, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.RAIN).temperature(0.500000f).downfall(0.500000f).biomeCategory(Biome.BiomeCategory.OCEAN).specialEffects(new BiomeSpecialEffects.Builder().fogColor(12638463).waterColor(4445678).waterFogColor(270131).skyColor(8103167).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); // lukewarm_ocean - map.put(45, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.RAIN).temperature(0.500000f).downfall(0.500000f).specialEffects(new BiomeSpecialEffects.Builder().fogColor(12638463).waterColor(4566514).waterFogColor(267827).skyColor(8103167).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); + map.put(45, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.RAIN).temperature(0.500000f).downfall(0.500000f).biomeCategory(Biome.BiomeCategory.OCEAN).specialEffects(new BiomeSpecialEffects.Builder().fogColor(12638463).waterColor(4566514).waterFogColor(267827).skyColor(8103167).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); // cold_ocean - map.put(46, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.RAIN).temperature(0.500000f).downfall(0.500000f).specialEffects(new BiomeSpecialEffects.Builder().fogColor(12638463).waterColor(4020182).waterFogColor(329011).skyColor(8103167).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); + map.put(46, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.RAIN).temperature(0.500000f).downfall(0.500000f).biomeCategory(Biome.BiomeCategory.OCEAN).specialEffects(new BiomeSpecialEffects.Builder().fogColor(12638463).waterColor(4020182).waterFogColor(329011).skyColor(8103167).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); // deep_warm_ocean - map.put(47, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.RAIN).temperature(0.500000f).downfall(0.500000f).specialEffects(new BiomeSpecialEffects.Builder().fogColor(12638463).waterColor(4445678).waterFogColor(270131).skyColor(8103167).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); + map.put(47, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.RAIN).temperature(0.500000f).downfall(0.500000f).biomeCategory(Biome.BiomeCategory.OCEAN).specialEffects(new BiomeSpecialEffects.Builder().fogColor(12638463).waterColor(4445678).waterFogColor(270131).skyColor(8103167).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); // deep_lukewarm_ocean - map.put(48, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.RAIN).temperature(0.500000f).downfall(0.500000f).specialEffects(new BiomeSpecialEffects.Builder().fogColor(12638463).waterColor(4566514).waterFogColor(267827).skyColor(8103167).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); + map.put(48, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.RAIN).temperature(0.500000f).downfall(0.500000f).biomeCategory(Biome.BiomeCategory.OCEAN).specialEffects(new BiomeSpecialEffects.Builder().fogColor(12638463).waterColor(4566514).waterFogColor(267827).skyColor(8103167).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); // deep_cold_ocean - map.put(49, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.RAIN).temperature(0.500000f).downfall(0.500000f).specialEffects(new BiomeSpecialEffects.Builder().fogColor(12638463).waterColor(4020182).waterFogColor(329011).skyColor(8103167).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); + map.put(49, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.RAIN).temperature(0.500000f).downfall(0.500000f).biomeCategory(Biome.BiomeCategory.OCEAN).specialEffects(new BiomeSpecialEffects.Builder().fogColor(12638463).waterColor(4020182).waterFogColor(329011).skyColor(8103167).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); // deep_frozen_ocean - map.put(50, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.RAIN).temperature(0.500000f).downfall(0.500000f).temperatureAdjustment(Biome.TemperatureModifier.FROZEN).specialEffects(new BiomeSpecialEffects.Builder().fogColor(12638463).waterColor(3750089).waterFogColor(329011).skyColor(8103167).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); + map.put(50, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.RAIN).temperature(0.500000f).downfall(0.500000f).biomeCategory(Biome.BiomeCategory.OCEAN).temperatureAdjustment(Biome.TemperatureModifier.FROZEN).specialEffects(new BiomeSpecialEffects.Builder().fogColor(12638463).waterColor(3750089).waterFogColor(329011).skyColor(8103167).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); // sunflower_plains - map.put(129, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.RAIN).temperature(0.800000f).downfall(0.400000f).specialEffects(new BiomeSpecialEffects.Builder().fogColor(12638463).waterColor(4159204).waterFogColor(329011).skyColor(7907327).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); + map.put(129, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.RAIN).temperature(0.800000f).downfall(0.400000f).biomeCategory(Biome.BiomeCategory.PLAINS).specialEffects(new BiomeSpecialEffects.Builder().fogColor(12638463).waterColor(4159204).waterFogColor(329011).skyColor(7907327).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); // desert_lakes - map.put(130, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.NONE).temperature(2.000000f).downfall(0.000000f).specialEffects(new BiomeSpecialEffects.Builder().fogColor(12638463).waterColor(4159204).waterFogColor(329011).skyColor(7254527).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); + map.put(130, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.NONE).temperature(2.000000f).downfall(0.000000f).biomeCategory(Biome.BiomeCategory.DESERT).specialEffects(new BiomeSpecialEffects.Builder().fogColor(12638463).waterColor(4159204).waterFogColor(329011).skyColor(7254527).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); // gravelly_mountains - map.put(131, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.RAIN).temperature(0.200000f).downfall(0.300000f).specialEffects(new BiomeSpecialEffects.Builder().fogColor(12638463).waterColor(4159204).waterFogColor(329011).skyColor(8233727).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); + map.put(131, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.RAIN).temperature(0.200000f).downfall(0.300000f).biomeCategory(Biome.BiomeCategory.EXTREME_HILLS).specialEffects(new BiomeSpecialEffects.Builder().fogColor(12638463).waterColor(4159204).waterFogColor(329011).skyColor(8233727).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); // flower_forest - map.put(132, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.RAIN).temperature(0.700000f).downfall(0.800000f).specialEffects(new BiomeSpecialEffects.Builder().fogColor(12638463).waterColor(4159204).waterFogColor(329011).skyColor(7972607).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); + map.put(132, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.RAIN).temperature(0.700000f).downfall(0.800000f).biomeCategory(Biome.BiomeCategory.FOREST).specialEffects(new BiomeSpecialEffects.Builder().fogColor(12638463).waterColor(4159204).waterFogColor(329011).skyColor(7972607).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); // taiga_mountains - map.put(133, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.RAIN).temperature(0.250000f).downfall(0.800000f).specialEffects(new BiomeSpecialEffects.Builder().fogColor(12638463).waterColor(4159204).waterFogColor(329011).skyColor(8233983).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); + map.put(133, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.RAIN).temperature(0.250000f).downfall(0.800000f).biomeCategory(Biome.BiomeCategory.TAIGA).specialEffects(new BiomeSpecialEffects.Builder().fogColor(12638463).waterColor(4159204).waterFogColor(329011).skyColor(8233983).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); // swamp_hills - map.put(134, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.RAIN).temperature(0.800000f).downfall(0.900000f).specialEffects(new BiomeSpecialEffects.Builder().fogColor(12638463).waterColor(6388580).waterFogColor(2302743).skyColor(7907327).foliageColorOverride(6975545).grassColorModifier(BiomeSpecialEffects.GrassColorModifier.SWAMP).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); + map.put(134, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.RAIN).temperature(0.800000f).downfall(0.900000f).biomeCategory(Biome.BiomeCategory.SWAMP).specialEffects(new BiomeSpecialEffects.Builder().fogColor(12638463).waterColor(6388580).waterFogColor(2302743).skyColor(7907327).foliageColorOverride(6975545).grassColorModifier(BiomeSpecialEffects.GrassColorModifier.SWAMP).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); // ice_spikes - map.put(140, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.SNOW).temperature(0.000000f).downfall(0.500000f).specialEffects(new BiomeSpecialEffects.Builder().fogColor(12638463).waterColor(4159204).waterFogColor(329011).skyColor(8364543).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); + map.put(140, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.SNOW).temperature(0.000000f).downfall(0.500000f).biomeCategory(Biome.BiomeCategory.ICY).specialEffects(new BiomeSpecialEffects.Builder().fogColor(12638463).waterColor(4159204).waterFogColor(329011).skyColor(8364543).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); // modified_jungle - map.put(149, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.RAIN).temperature(0.950000f).downfall(0.900000f).specialEffects(new BiomeSpecialEffects.Builder().fogColor(12638463).waterColor(4159204).waterFogColor(329011).skyColor(7842047).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); + map.put(149, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.RAIN).temperature(0.950000f).downfall(0.900000f).biomeCategory(Biome.BiomeCategory.JUNGLE).specialEffects(new BiomeSpecialEffects.Builder().fogColor(12638463).waterColor(4159204).waterFogColor(329011).skyColor(7842047).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); // modified_jungle_edge - map.put(151, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.RAIN).temperature(0.950000f).downfall(0.800000f).specialEffects(new BiomeSpecialEffects.Builder().fogColor(12638463).waterColor(4159204).waterFogColor(329011).skyColor(7842047).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); + map.put(151, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.RAIN).temperature(0.950000f).downfall(0.800000f).biomeCategory(Biome.BiomeCategory.JUNGLE).specialEffects(new BiomeSpecialEffects.Builder().fogColor(12638463).waterColor(4159204).waterFogColor(329011).skyColor(7842047).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); // tall_birch_forest - map.put(155, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.RAIN).temperature(0.600000f).downfall(0.600000f).specialEffects(new BiomeSpecialEffects.Builder().fogColor(12638463).waterColor(4159204).waterFogColor(329011).skyColor(8037887).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); + map.put(155, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.RAIN).temperature(0.600000f).downfall(0.600000f).biomeCategory(Biome.BiomeCategory.FOREST).specialEffects(new BiomeSpecialEffects.Builder().fogColor(12638463).waterColor(4159204).waterFogColor(329011).skyColor(8037887).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); // tall_birch_hills - map.put(156, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.RAIN).temperature(0.600000f).downfall(0.600000f).specialEffects(new BiomeSpecialEffects.Builder().fogColor(12638463).waterColor(4159204).waterFogColor(329011).skyColor(8037887).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); + map.put(156, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.RAIN).temperature(0.600000f).downfall(0.600000f).biomeCategory(Biome.BiomeCategory.FOREST).specialEffects(new BiomeSpecialEffects.Builder().fogColor(12638463).waterColor(4159204).waterFogColor(329011).skyColor(8037887).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); // dark_forest_hills - map.put(157, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.RAIN).temperature(0.700000f).downfall(0.800000f).specialEffects(new BiomeSpecialEffects.Builder().fogColor(12638463).waterColor(4159204).waterFogColor(329011).skyColor(7972607).grassColorModifier(BiomeSpecialEffects.GrassColorModifier.DARK_FOREST).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); + map.put(157, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.RAIN).temperature(0.700000f).downfall(0.800000f).biomeCategory(Biome.BiomeCategory.FOREST).specialEffects(new BiomeSpecialEffects.Builder().fogColor(12638463).waterColor(4159204).waterFogColor(329011).skyColor(7972607).grassColorModifier(BiomeSpecialEffects.GrassColorModifier.DARK_FOREST).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); // snowy_taiga_mountains - map.put(158, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.SNOW).temperature(-0.500000f).downfall(0.400000f).specialEffects(new BiomeSpecialEffects.Builder().fogColor(12638463).waterColor(4020182).waterFogColor(329011).skyColor(8625919).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); + map.put(158, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.SNOW).temperature(-0.500000f).downfall(0.400000f).biomeCategory(Biome.BiomeCategory.TAIGA).specialEffects(new BiomeSpecialEffects.Builder().fogColor(12638463).waterColor(4020182).waterFogColor(329011).skyColor(8625919).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); // giant_spruce_taiga - map.put(160, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.RAIN).temperature(0.250000f).downfall(0.800000f).specialEffects(new BiomeSpecialEffects.Builder().fogColor(12638463).waterColor(4159204).waterFogColor(329011).skyColor(8233983).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); + map.put(160, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.RAIN).temperature(0.250000f).downfall(0.800000f).biomeCategory(Biome.BiomeCategory.TAIGA).specialEffects(new BiomeSpecialEffects.Builder().fogColor(12638463).waterColor(4159204).waterFogColor(329011).skyColor(8233983).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); // giant_spruce_taiga_hills - map.put(161, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.RAIN).temperature(0.250000f).downfall(0.800000f).specialEffects(new BiomeSpecialEffects.Builder().fogColor(12638463).waterColor(4159204).waterFogColor(329011).skyColor(8233983).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); + map.put(161, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.RAIN).temperature(0.250000f).downfall(0.800000f).biomeCategory(Biome.BiomeCategory.TAIGA).specialEffects(new BiomeSpecialEffects.Builder().fogColor(12638463).waterColor(4159204).waterFogColor(329011).skyColor(8233983).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); // modified_gravelly_mountains - map.put(162, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.RAIN).temperature(0.200000f).downfall(0.300000f).specialEffects(new BiomeSpecialEffects.Builder().fogColor(12638463).waterColor(4159204).waterFogColor(329011).skyColor(8233727).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); + map.put(162, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.RAIN).temperature(0.200000f).downfall(0.300000f).biomeCategory(Biome.BiomeCategory.EXTREME_HILLS).specialEffects(new BiomeSpecialEffects.Builder().fogColor(12638463).waterColor(4159204).waterFogColor(329011).skyColor(8233727).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); // shattered_savanna - map.put(163, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.NONE).temperature(1.100000f).downfall(0.000000f).specialEffects(new BiomeSpecialEffects.Builder().fogColor(12638463).waterColor(4159204).waterFogColor(329011).skyColor(7776767).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); + map.put(163, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.NONE).temperature(1.100000f).downfall(0.000000f).biomeCategory(Biome.BiomeCategory.SAVANNA).specialEffects(new BiomeSpecialEffects.Builder().fogColor(12638463).waterColor(4159204).waterFogColor(329011).skyColor(7776767).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); // shattered_savanna_plateau - map.put(164, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.NONE).temperature(1.000000f).downfall(0.000000f).specialEffects(new BiomeSpecialEffects.Builder().fogColor(12638463).waterColor(4159204).waterFogColor(329011).skyColor(7776511).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); + map.put(164, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.NONE).temperature(1.000000f).downfall(0.000000f).biomeCategory(Biome.BiomeCategory.SAVANNA).specialEffects(new BiomeSpecialEffects.Builder().fogColor(12638463).waterColor(4159204).waterFogColor(329011).skyColor(7776511).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); // eroded_badlands - map.put(165, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.NONE).temperature(2.000000f).downfall(0.000000f).specialEffects(new BiomeSpecialEffects.Builder().fogColor(12638463).waterColor(4159204).waterFogColor(329011).skyColor(7254527).foliageColorOverride(10387789).grassColorOverride(9470285).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); + map.put(165, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.NONE).temperature(2.000000f).downfall(0.000000f).biomeCategory(Biome.BiomeCategory.MESA).specialEffects(new BiomeSpecialEffects.Builder().fogColor(12638463).waterColor(4159204).waterFogColor(329011).skyColor(7254527).foliageColorOverride(10387789).grassColorOverride(9470285).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); // modified_wooded_badlands_plateau - map.put(166, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.NONE).temperature(2.000000f).downfall(0.000000f).specialEffects(new BiomeSpecialEffects.Builder().fogColor(12638463).waterColor(4159204).waterFogColor(329011).skyColor(7254527).foliageColorOverride(10387789).grassColorOverride(9470285).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); + map.put(166, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.NONE).temperature(2.000000f).downfall(0.000000f).biomeCategory(Biome.BiomeCategory.MESA).specialEffects(new BiomeSpecialEffects.Builder().fogColor(12638463).waterColor(4159204).waterFogColor(329011).skyColor(7254527).foliageColorOverride(10387789).grassColorOverride(9470285).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); // modified_badlands_plateau - map.put(167, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.NONE).temperature(2.000000f).downfall(0.000000f).specialEffects(new BiomeSpecialEffects.Builder().fogColor(12638463).waterColor(4159204).waterFogColor(329011).skyColor(7254527).foliageColorOverride(10387789).grassColorOverride(9470285).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); + map.put(167, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.NONE).temperature(2.000000f).downfall(0.000000f).biomeCategory(Biome.BiomeCategory.MESA).specialEffects(new BiomeSpecialEffects.Builder().fogColor(12638463).waterColor(4159204).waterFogColor(329011).skyColor(7254527).foliageColorOverride(10387789).grassColorOverride(9470285).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); // bamboo_jungle - map.put(168, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.RAIN).temperature(0.950000f).downfall(0.900000f).specialEffects(new BiomeSpecialEffects.Builder().fogColor(12638463).waterColor(4159204).waterFogColor(329011).skyColor(7842047).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); + map.put(168, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.RAIN).temperature(0.950000f).downfall(0.900000f).biomeCategory(Biome.BiomeCategory.JUNGLE).specialEffects(new BiomeSpecialEffects.Builder().fogColor(12638463).waterColor(4159204).waterFogColor(329011).skyColor(7842047).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); // bamboo_jungle_hills - map.put(169, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.RAIN).temperature(0.950000f).downfall(0.900000f).specialEffects(new BiomeSpecialEffects.Builder().fogColor(12638463).waterColor(4159204).waterFogColor(329011).skyColor(7842047).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); + map.put(169, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.RAIN).temperature(0.950000f).downfall(0.900000f).biomeCategory(Biome.BiomeCategory.JUNGLE).specialEffects(new BiomeSpecialEffects.Builder().fogColor(12638463).waterColor(4159204).waterFogColor(329011).skyColor(7842047).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); // soul_sand_valley - map.put(170, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.NONE).temperature(2.000000f).downfall(0.000000f).specialEffects(new BiomeSpecialEffects.Builder().fogColor(1787717).waterColor(4159204).waterFogColor(329011).skyColor(7254527).ambientParticle(new AmbientParticleSettings((ParticleOptions)Registry.PARTICLE_TYPE.get(new ResourceLocation("minecraft:ash")), 0.006250f)).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); + map.put(170, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.NONE).temperature(2.000000f).downfall(0.000000f).biomeCategory(Biome.BiomeCategory.NETHER).specialEffects(new BiomeSpecialEffects.Builder().fogColor(1787717).waterColor(4159204).waterFogColor(329011).skyColor(7254527).ambientParticle(new AmbientParticleSettings((ParticleOptions)Registry.PARTICLE_TYPE.get(new ResourceLocation("minecraft:ash")), 0.006250f)).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); // crimson_forest - map.put(171, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.NONE).temperature(2.000000f).downfall(0.000000f).specialEffects(new BiomeSpecialEffects.Builder().fogColor(3343107).waterColor(4159204).waterFogColor(329011).skyColor(7254527).ambientParticle(new AmbientParticleSettings((ParticleOptions)Registry.PARTICLE_TYPE.get(new ResourceLocation("minecraft:crimson_spore")), 0.025000f)).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); + map.put(171, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.NONE).temperature(2.000000f).downfall(0.000000f).biomeCategory(Biome.BiomeCategory.NETHER).specialEffects(new BiomeSpecialEffects.Builder().fogColor(3343107).waterColor(4159204).waterFogColor(329011).skyColor(7254527).ambientParticle(new AmbientParticleSettings((ParticleOptions)Registry.PARTICLE_TYPE.get(new ResourceLocation("minecraft:crimson_spore")), 0.025000f)).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); // warped_forest - map.put(172, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.NONE).temperature(2.000000f).downfall(0.000000f).specialEffects(new BiomeSpecialEffects.Builder().fogColor(1705242).waterColor(4159204).waterFogColor(329011).skyColor(7254527).ambientParticle(new AmbientParticleSettings((ParticleOptions)Registry.PARTICLE_TYPE.get(new ResourceLocation("minecraft:warped_spore")), 0.014280f)).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); + map.put(172, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.NONE).temperature(2.000000f).downfall(0.000000f).biomeCategory(Biome.BiomeCategory.NETHER).specialEffects(new BiomeSpecialEffects.Builder().fogColor(1705242).waterColor(4159204).waterFogColor(329011).skyColor(7254527).ambientParticle(new AmbientParticleSettings((ParticleOptions)Registry.PARTICLE_TYPE.get(new ResourceLocation("minecraft:warped_spore")), 0.014280f)).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); // basalt_deltas - map.put(173, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.NONE).temperature(2.000000f).downfall(0.000000f).specialEffects(new BiomeSpecialEffects.Builder().fogColor(6840176).waterColor(4159204).waterFogColor(4341314).skyColor(7254527).ambientParticle(new AmbientParticleSettings((ParticleOptions)Registry.PARTICLE_TYPE.get(new ResourceLocation("minecraft:white_ash")), 0.118093f)).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); + map.put(173, new Biome.BiomeBuilder().precipitation(Biome.Precipitation.NONE).temperature(2.000000f).downfall(0.000000f).biomeCategory(Biome.BiomeCategory.NETHER).specialEffects(new BiomeSpecialEffects.Builder().fogColor(6840176).waterColor(4159204).waterFogColor(4341314).skyColor(7254527).ambientParticle(new AmbientParticleSettings((ParticleOptions)Registry.PARTICLE_TYPE.get(new ResourceLocation("minecraft:white_ash")), 0.118093f)).build()).generationSettings(dummyGenerationSettings).mobSpawnSettings(dummyMobSpawnSettings).build()); + } private LegacyBiomeMapper() { 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 c346cb753..381fa4696 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 @@ -18,12 +18,10 @@ import net.minecraft.core.BlockPos; import net.minecraft.core.Holder; import net.minecraft.resources.ResourceLocation; -import net.minecraft.tags.BiomeTags; import net.minecraft.tags.FluidTags; import net.minecraft.tags.TagKey; import net.minecraft.util.CubicSampler; import net.minecraft.util.Mth; -import net.minecraft.util.RandomSource; import net.minecraft.world.level.BlockAndTintGetter; import net.minecraft.world.level.LevelReader; import net.minecraft.world.level.LightLayer; @@ -31,7 +29,7 @@ import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.block.RenderShape; import net.minecraft.world.level.block.state.BlockState; -import net.minecraft.world.level.dimension.BuiltinDimensionTypes; +import net.minecraft.world.level.dimension.DimensionType; import net.minecraft.world.level.material.Fluid; import net.minecraft.world.level.material.FluidState; import net.minecraft.world.level.material.Fluids; @@ -148,9 +146,9 @@ public void init() { public void render(PoseStack poseStack) { // temporarily disable fabulous to render the menu world - GraphicsStatus current = mc.options.graphicsMode().get(); + GraphicsStatus current = mc.options.graphicsMode; if (current == GraphicsStatus.FABULOUS) { - mc.options.graphicsMode().set(GraphicsStatus.FANCY); + mc.options.graphicsMode = GraphicsStatus.FANCY; } turnOnLightLayer(); @@ -209,7 +207,7 @@ public void render(PoseStack poseStack) { poseStack.popPose(); turnOffLightLayer(); - mc.options.graphicsMode().set(current); + mc.options.graphicsMode = current; } private void renderChunkLayer(RenderType layer, Matrix4f modelView, Matrix4f Projection) { @@ -226,8 +224,8 @@ private void renderChunkLayer(RenderType layer, Matrix4f modelView, Matrix4f Pro public void prepare() { if (vertexBuffers == null) { VRSettings.logger.info("MenuWorlds: Building geometry..."); - AmbientOcclusionStatus ao = mc.options.ambientOcclusion().get(); - mc.options.ambientOcclusion().set(AmbientOcclusionStatus.MAX); + AmbientOcclusionStatus ao = mc.options.ambientOcclusion; + mc.options.ambientOcclusion = AmbientOcclusionStatus.MAX; // disable redner regions during building, they mess with liquids boolean optifineRenderRegions = false; @@ -254,13 +252,13 @@ public void prepare() { if (!SodiumHelper.isLoaded() || !SodiumHelper.hasIssuesWithParallelBlockBuilding()) { // generate the data in parallel - List>> futures = new ArrayList<>(); + List>> futures = new ArrayList<>(); for (RenderType layer : layers) { futures.add(CompletableFuture.supplyAsync(() -> buildGeometryLayer(layer), Util.backgroundExecutor())); } - for (Future> future : futures) { + for (Future> future : futures) { try { - Pair pair = future.get(); + Pair pair = future.get(); uploadGeometry(pair.getLeft(), pair.getRight()); } catch (ExecutionException | InterruptedException e) { throw new RuntimeException(e); @@ -269,7 +267,7 @@ public void prepare() { } else { // generate the data in series for (RenderType layer : layers) { - Pair pair = buildGeometryLayer(layer); + Pair pair = buildGeometryLayer(layer); uploadGeometry(pair.getLeft(), pair.getRight()); } } @@ -277,7 +275,7 @@ public void prepare() { copyVisibleTextures(); ready = true; } finally { - mc.options.ambientOcclusion().set(ao); + mc.options.ambientOcclusion = ao; if (OptifineHelper.isOptifineLoaded()) { OptifineHelper.setRenderRegions(optifineRenderRegions); } @@ -286,14 +284,14 @@ public void prepare() { } } - private Pair buildGeometryLayer(RenderType layer) { + private Pair buildGeometryLayer(RenderType layer) { PoseStack thisPose = new PoseStack(); int renderDistSquare = (renderDistance + 1) * (renderDistance + 1); BlockRenderDispatcher blockRenderer = mc.getBlockRenderer(); BufferBuilder vertBuffer = new BufferBuilder(20 * 2097152); vertBuffer.begin(VertexFormat.Mode.QUADS, DefaultVertexFormat.BLOCK); - RandomSource randomSource = RandomSource.create(); + Random randomSource = new Random(); int c = 0; for (int x = -blockAccess.getXSize() / 2; x < blockAccess.getXSize() / 2; x++) { for (int y = (int) -blockAccess.getGround(); y < blockAccess.getYSize() - (int) blockAccess.getGround(); y++) { @@ -338,10 +336,11 @@ private Pair buildGeometryLayer(Render if (layer == RenderType.translucent()) { vertBuffer.setQuadSortOrigin(0, Mth.frac(blockAccess.getGround()), 0); } - return Pair.of(layer, vertBuffer.end()); + vertBuffer.end(); + return Pair.of(layer, vertBuffer); } - private void uploadGeometry(RenderType layer, BufferBuilder.RenderedBuffer renderedBuffer) { + private void uploadGeometry(RenderType layer, BufferBuilder renderedBuffer) { VertexBuffer buffer = new VertexBuffer(); buffer.bind(); buffer.upload(renderedBuffer); @@ -530,7 +529,8 @@ else if (this.dimensionInfo.skyType() == DimensionSpecialEffects.SkyType.NORMAL) .endVertex(); } - BufferUploader.drawWithShader(bufferBuilder.end()); + bufferBuilder.end(); + BufferUploader.end(bufferBuilder); poseStack.popPose(); } @@ -561,7 +561,8 @@ else if (this.dimensionInfo.skyType() == DimensionSpecialEffects.SkyType.NORMAL) bufferBuilder.vertex(modelView, size, 100.0F, -size).uv(1.0F, 0.0F).endVertex(); bufferBuilder.vertex(modelView, size, 100.0F, size).uv(1.0F, 1.0F).endVertex(); bufferBuilder.vertex(modelView, -size, 100.0F, size).uv(0.0F, 1.0F).endVertex(); - BufferUploader.drawWithShader(bufferBuilder.end()); + bufferBuilder.end(); + BufferUploader.end(bufferBuilder); } size = 20.0F; @@ -580,7 +581,8 @@ else if (this.dimensionInfo.skyType() == DimensionSpecialEffects.SkyType.NORMAL) bufferBuilder.vertex(modelView, size, -100.0f, size).uv(u1, v1).endVertex(); bufferBuilder.vertex(modelView, size, -100.0f, -size).uv(u1, v0).endVertex(); bufferBuilder.vertex(modelView, -size, -100.0f, -size).uv(u0, v0).endVertex(); - BufferUploader.drawWithShader(bufferBuilder.end()); + bufferBuilder.end(); + BufferUploader.end(bufferBuilder); } RenderSystem.disableTexture(); @@ -726,9 +728,9 @@ public void renderClouds(PoseStack poseStack, double x, double y, double z) this.cloudVBO.close(); } this.cloudVBO = new VertexBuffer(); - BufferBuilder.RenderedBuffer renderedBuffer = this.buildClouds(bufferBuilder, cloudX, cloudY, cloudZ, cloudColor); + this.buildClouds(bufferBuilder, cloudX, cloudY, cloudZ, cloudColor); this.cloudVBO.bind(); - this.cloudVBO.upload(renderedBuffer); + this.cloudVBO.upload(bufferBuilder); VertexBuffer.unbind(); } @@ -759,7 +761,7 @@ public void renderClouds(PoseStack poseStack, double x, double y, double z) } } - private BufferBuilder.RenderedBuffer buildClouds(BufferBuilder bufferBuilder, double cloudX, double cloudY, double cloudZ, Vec3 cloudColor) { + private void buildClouds(BufferBuilder bufferBuilder, double cloudX, double cloudY, double cloudZ, Vec3 cloudColor) { float l = (float)Mth.floor(cloudX) * 0.00390625f; float m = (float)Mth.floor(cloudZ) * 0.00390625f; float redTop = (float)cloudColor.x; @@ -840,7 +842,7 @@ private BufferBuilder.RenderedBuffer buildClouds(BufferBuilder bufferBuilder, do } } } - return bufferBuilder.end(); + bufferBuilder.end(); } private void renderSnowAndRain(PoseStack poseStack, double inX, double inY, double inZ) { @@ -889,7 +891,7 @@ private void renderSnowAndRain(PoseStack poseStack, double inX, double inY, doub } int rainY = Math.max(blockingHeight, yFloor); - RandomSource randomSource = RandomSource.create(rainX * rainX * 3121L + rainX * 45238971L ^ rainZ * rainZ * 418711L + rainZ * 13761L); + Random randomSource = new Random(rainX * rainX * 3121L + rainX * 45238971L ^ rainZ * rainZ * 418711L + rainZ * 13761L); mutableBlockPos.setY(lower); mutableBlockPos.setY(rainY); @@ -1043,7 +1045,7 @@ public Vec3 getSkyColor(Vec3 position) skyColorG = skyColorG * darkening + luminance * (1.0f - darkening); skyColorB = skyColorB * darkening + luminance * (1.0f - darkening); } - if (!mc.options.hideLightningFlash().get() && this.skyFlashTime > 0) { + if (!mc.options.hideLightningFlashes && this.skyFlashTime > 0) { float flash = (float)this.skyFlashTime - mc.getFrameTime(); if (flash > 1.0f) { flash = 1.0f; @@ -1106,9 +1108,9 @@ private void generateSky() this.skyVBO.close(); } this.skyVBO = new VertexBuffer(); - BufferBuilder.RenderedBuffer renderedBuffer = buildSkyDisc(bufferBuilder, 16.0f); + buildSkyDisc(bufferBuilder, 16.0f); this.skyVBO.bind(); - this.skyVBO.upload(renderedBuffer); + this.skyVBO.upload(bufferBuilder); VertexBuffer.unbind(); } @@ -1120,13 +1122,13 @@ private void generateSky2() this.sky2VBO.close(); } this.sky2VBO = new VertexBuffer(); - BufferBuilder.RenderedBuffer renderedBuffer = buildSkyDisc(bufferBuilder, -16.0f); + buildSkyDisc(bufferBuilder, -16.0f); this.sky2VBO.bind(); - this.sky2VBO.upload(renderedBuffer); + this.sky2VBO.upload(bufferBuilder); VertexBuffer.unbind(); } - private static BufferBuilder.RenderedBuffer buildSkyDisc(BufferBuilder bufferBuilder, float posY) { + private static void buildSkyDisc(BufferBuilder bufferBuilder, float posY) { float g = Math.signum(posY) * 512.0f; float h = 512.0f; RenderSystem.setShader(GameRenderer::getPositionShader); @@ -1135,7 +1137,7 @@ private static BufferBuilder.RenderedBuffer buildSkyDisc(BufferBuilder bufferBui for (int i = -180; i <= 180; i += 45) { bufferBuilder.vertex(g * Mth.cos((float)i * ((float)Math.PI / 180)), posY, 512.0f * Mth.sin((float)i * ((float)Math.PI / 180))).endVertex(); } - return bufferBuilder.end(); + bufferBuilder.end(); } private void generateStars() @@ -1147,13 +1149,13 @@ private void generateStars() this.starVBO.close(); } this.starVBO = new VertexBuffer(); - BufferBuilder.RenderedBuffer renderedBuffer = this.buildStars(bufferBuilder); + this.buildStars(bufferBuilder); this.starVBO.bind(); - this.starVBO.upload(renderedBuffer); + this.starVBO.upload(bufferBuilder); VertexBuffer.unbind(); } - private BufferBuilder.RenderedBuffer buildStars(BufferBuilder bufferBuilderIn) + private void buildStars(BufferBuilder bufferBuilderIn) { Random random = new Random(10842L); bufferBuilderIn.begin(VertexFormat.Mode.QUADS, DefaultVertexFormat.POSITION); @@ -1201,7 +1203,7 @@ private BufferBuilder.RenderedBuffer buildStars(BufferBuilder bufferBuilderIn) } } } - return bufferBuilderIn.end(); + bufferBuilderIn.end(); } public void turnOffLightLayer() { @@ -1265,8 +1267,8 @@ public void updateLightmap() { for (int j = 0; j < 16; ++j) { - float skyBrightness = LightTexture.getBrightness(this.blockAccess.dimensionType(), i) * effectiveSkyLight; - float blockBrightnessRed = LightTexture.getBrightness(this.blockAccess.dimensionType(), j) * (blockLightRedFlicker + 1.5f); + float skyBrightness = this.blockAccess.dimensionType().brightness(i) * effectiveSkyLight; + float blockBrightnessRed = this.blockAccess.dimensionType().brightness(j) * (blockLightRedFlicker + 1.5f); float blockBrightnessGreen = blockBrightnessRed * ((blockBrightnessRed * 0.6f + 0.4f) * 0.6f + 0.4f); float blockBrightnessBlue = blockBrightnessRed * (blockBrightnessRed * blockBrightnessRed * 0.6f + 0.4f); @@ -1303,7 +1305,7 @@ public void updateLightmap() finalColor.clamp(0.0f, 1.0f); } - float gamma = this.mc.options.gamma().get().floatValue(); + float gamma = (float)this.mc.options.gamma; Vector3f vector3f5 = finalColor.copy(); vector3f5.map(this::notGamma); @@ -1483,9 +1485,9 @@ private void updateSurfaceFog() { Vec3 eyePos = this.menuWorldRenderer.getEyePos(); Vec3 skyColor = this.menuWorldRenderer.getSkyColor(eyePos); if (OptifineHelper.isOptifineLoaded()) { - if (menuWorldRenderer.blockAccess.dimensionType().effectsLocation().equals(BuiltinDimensionTypes.OVERWORLD_EFFECTS)) { + if (menuWorldRenderer.blockAccess.dimensionType().effectsLocation().equals(DimensionType.OVERWORLD_EFFECTS)) { skyColor = OptifineHelper.getCustomSkyColor(skyColor, menuWorldRenderer.blockAccess, eyePos.x, eyePos.y, eyePos.z); - } else if (menuWorldRenderer.blockAccess.dimensionType().effectsLocation().equals(BuiltinDimensionTypes.END_EFFECTS)) { + } else if (menuWorldRenderer.blockAccess.dimensionType().effectsLocation().equals(DimensionType.END_EFFECTS)) { skyColor = OptifineHelper.getCustomSkyColorEnd(skyColor); } } @@ -1494,11 +1496,11 @@ private void updateSurfaceFog() { float f3 = (float) skyColor.z; Vec3 fogColor = this.menuWorldRenderer.getFogColor(eyePos); if (OptifineHelper.isOptifineLoaded()) { - if (menuWorldRenderer.blockAccess.dimensionType().effectsLocation().equals(BuiltinDimensionTypes.OVERWORLD_EFFECTS)) { + if (menuWorldRenderer.blockAccess.dimensionType().effectsLocation().equals(DimensionType.OVERWORLD_EFFECTS)) { fogColor = OptifineHelper.getCustomFogColor(fogColor, menuWorldRenderer.blockAccess, eyePos.x, eyePos.y, eyePos.z); - } else if (menuWorldRenderer.blockAccess.dimensionType().effectsLocation().equals(BuiltinDimensionTypes.END_EFFECTS)) { + } else if (menuWorldRenderer.blockAccess.dimensionType().effectsLocation().equals(DimensionType.END_EFFECTS)) { fogColor = OptifineHelper.getCustomFogColorEnd(fogColor); - } else if (menuWorldRenderer.blockAccess.dimensionType().effectsLocation().equals(BuiltinDimensionTypes.NETHER_EFFECTS)) { + } else if (menuWorldRenderer.blockAccess.dimensionType().effectsLocation().equals(DimensionType.NETHER_EFFECTS)) { fogColor = OptifineHelper.getCustomFogColorNether(fogColor); } } @@ -1601,7 +1603,7 @@ public void setupFog(FogRenderer.FogMode fogMode) { fogEnd = 96.0f; Holder holder = menuWorldRenderer.blockAccess.getBiome(new BlockPos(menuWorldRenderer.getEyePos())); - if (holder.is(BiomeTags.HAS_CLOSER_WATER_FOG)) { + if ((Biome.getBiomeCategory(holder) == Biome.BiomeCategory.SWAMP)) { fogEnd *= 0.85f; } if (fogEnd > menuWorldRenderer.renderDistance) { diff --git a/common/src/main/java/org/vivecraft/client_vr/provider/MCVR.java b/common/src/main/java/org/vivecraft/client_vr/provider/MCVR.java index 018a8beb4..b3080b37d 100644 --- a/common/src/main/java/org/vivecraft/client_vr/provider/MCVR.java +++ b/common/src/main/java/org/vivecraft/client_vr/provider/MCVR.java @@ -43,7 +43,7 @@ import net.minecraft.client.gui.screens.Screen; import net.minecraft.client.gui.screens.WinScreen; import net.minecraft.client.gui.screens.inventory.AbstractContainerScreen; -import net.minecraft.network.chat.Component; +import net.minecraft.network.chat.TranslatableComponent; import net.minecraft.util.Mth; import net.minecraft.world.item.BlockItem; import net.minecraft.world.item.ItemStack; @@ -816,22 +816,22 @@ else if (++this.moveModeSwitchCount == 80 || flag2) if (this.dh.vrSettings.seated) { this.dh.vrSettings.seatedFreeMove = !this.dh.vrSettings.seatedFreeMove; - this.mc.gui.getChat().addMessage(Component.translatable("vivecraft.messages.movementmodeswitch", this.dh.vrSettings.seatedFreeMove ? Component.translatable("vivecraft.options.freemove") : Component.translatable("vivecraft.options.teleport"))); + this.mc.gui.getChat().addMessage(new TranslatableComponent("vivecraft.messages.movementmodeswitch", this.dh.vrSettings.seatedFreeMove ? new TranslatableComponent("vivecraft.options.freemove") : new TranslatableComponent("vivecraft.options.teleport"))); } else if (this.dh.vrPlayer.isTeleportSupported()) { this.dh.vrSettings.forceStandingFreeMove = !this.dh.vrSettings.forceStandingFreeMove; - this.mc.gui.getChat().addMessage(Component.translatable("vivecraft.messages.movementmodeswitch", this.dh.vrSettings.seatedFreeMove ? Component.translatable("vivecraft.options.freemove") : Component.translatable("vivecraft.options.teleport"))); + this.mc.gui.getChat().addMessage(new TranslatableComponent("vivecraft.messages.movementmodeswitch", this.dh.vrSettings.seatedFreeMove ? new TranslatableComponent("vivecraft.options.freemove") : new TranslatableComponent("vivecraft.options.teleport"))); } else if (this.dh.vrPlayer.isTeleportOverridden()) { this.dh.vrPlayer.setTeleportOverride(false); - this.mc.gui.getChat().addMessage(Component.translatable("vivecraft.messages.teleportdisabled")); + this.mc.gui.getChat().addMessage(new TranslatableComponent("vivecraft.messages.teleportdisabled")); } else { this.dh.vrPlayer.setTeleportOverride(true); - this.mc.gui.getChat().addMessage(Component.translatable("vivecraft.messages.teleportenabled")); + this.mc.gui.getChat().addMessage(new TranslatableComponent("vivecraft.messages.teleportenabled")); } } 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 8ffdb3bee..8b45a7cc2 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 @@ -9,10 +9,10 @@ import net.minecraft.client.GraphicsStatus; import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.GameRenderer; -import net.minecraft.network.chat.Component; +import net.minecraft.network.chat.TextComponent; +import net.minecraft.network.chat.TranslatableComponent; import net.minecraft.resources.ResourceKey; import net.minecraft.util.Tuple; -import net.minecraft.world.level.dimension.BuiltinDimensionTypes; import net.minecraft.world.level.dimension.DimensionType; import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL43; @@ -51,7 +51,7 @@ public abstract class VRRenderer { public RenderTarget fsaaFirstPassResultFBO; public RenderTarget fsaaLastPassResultFBO; protected float[][] hiddenMesheVertecies = new float[2][]; - public ResourceKey lastDimensionId = BuiltinDimensionTypes.OVERWORLD; + public ResourceKey lastDimensionId = DimensionType.OVERWORLD_LOCATION; public int lastDisplayFBHeight = 0; public int lastDisplayFBWidth = 0; public boolean lastEnableVsync = true; @@ -251,7 +251,8 @@ private void drawCircle(float width, float height) { float f3 = (float) ((double) (width / 2) + Math.sin((double) f1) * (double) f); builder.vertex(f2, f3, 0.0F).endVertex(); } - BufferUploader.drawWithShader(builder.end()); + builder.end(); + BufferUploader.end(builder); } private void drawMask() { @@ -268,7 +269,8 @@ private void drawMask() { } RenderSystem.setShader(GameRenderer::getPositionShader); - BufferUploader.drawWithShader(builder.end()); + builder.end(); + BufferUploader.end(builder); } private void drawQuad() { @@ -279,7 +281,8 @@ private void drawQuad() { builder.vertex(1.0F, -1.0F, 0.0F).uv(1.0F, 0.0F).endVertex(); builder.vertex(1.0F, 1.0F, 0.0F).uv(1.0F, 1.0F).endVertex(); builder.vertex(-1.0F, 1.0F, 0.0F).uv(0.0F, 1.0F).endVertex(); - BufferUploader.draw(builder.end()); + builder.end(); + BufferUploader._endInternal(builder); } public double getCurrentTimeSecs() { @@ -374,9 +377,9 @@ public void setupRenderConfiguration() throws Exception { this.reinitFrameBuffers("Window Handle Changed"); } - if (this.lastEnableVsync != minecraft.options.enableVsync().get()) { + if (this.lastEnableVsync != minecraft.options.enableVsync) { this.reinitFrameBuffers("VSync Changed"); - this.lastEnableVsync = minecraft.options.enableVsync().get(); + this.lastEnableVsync = minecraft.options.enableVsync; } if (this.lastMirror != dataholder.vrSettings.displayMirrorMode) { @@ -390,8 +393,8 @@ public void setupRenderConfiguration() throws Exception { if ((framebufferMR == null || framebufferUndistorted == null) && ShadersHelper.isShaderActive()) { this.reinitFrameBuffers("Shaders on, but some buffers not initialized"); } - if (Minecraft.getInstance().options.graphicsMode().get() != previousGraphics) { - previousGraphics = Minecraft.getInstance().options.graphicsMode().get(); + if (Minecraft.getInstance().options.graphicsMode != previousGraphics) { + previousGraphics = Minecraft.getInstance().options.graphicsMode; ClientDataHolderVR.getInstance().vrRenderer.reinitFrameBuffers("gfx setting change"); } @@ -401,11 +404,11 @@ public void setupRenderConfiguration() throws Exception { if (GlUtil.getRenderer().toLowerCase().contains("intel")) //Optifine { - throw new RenderConfigException("Incompatible", Component.translatable("vivecraft.messages.intelgraphics", GlUtil.getRenderer())); + throw new RenderConfigException("Incompatible", new TranslatableComponent("vivecraft.messages.intelgraphics", GlUtil.getRenderer())); } if (!this.isInitialized()) { - throw new RenderConfigException("Failed to initialise stereo rendering plugin: " + this.getName(), Component.literal(this.getinitError())); + throw new RenderConfigException("Failed to initialise stereo rendering plugin: " + this.getName(), new TextComponent(this.getinitError())); } Tuple tuple = this.getRenderTextureSizes(); @@ -418,7 +421,7 @@ public void setupRenderConfiguration() throws Exception { this.createRenderTexture(eyew, eyeh); if (this.LeftEyeTextureId == -1) { - throw new RenderConfigException("Failed to initialise stereo rendering plugin: " + this.getName(), Component.literal(this.getLastError())); + throw new RenderConfigException("Failed to initialise stereo rendering plugin: " + this.getName(), new TextComponent(this.getLastError())); } dataholder.print("Provider supplied render texture IDs: " + this.LeftEyeTextureId + " " + this.RightEyeTextureId); diff --git a/common/src/main/java/org/vivecraft/client_vr/provider/openvr_lwjgl/MCOpenVR.java b/common/src/main/java/org/vivecraft/client_vr/provider/openvr_lwjgl/MCOpenVR.java index 759396cf4..9eaf6ca92 100644 --- a/common/src/main/java/org/vivecraft/client_vr/provider/openvr_lwjgl/MCOpenVR.java +++ b/common/src/main/java/org/vivecraft/client_vr/provider/openvr_lwjgl/MCOpenVR.java @@ -8,8 +8,9 @@ import com.sun.jna.NativeLibrary; import net.minecraft.client.KeyMapping; import net.minecraft.client.Minecraft; -import net.minecraft.network.chat.Component; import net.minecraft.network.chat.MutableComponent; +import net.minecraft.network.chat.TextComponent; +import net.minecraft.network.chat.TranslatableComponent; import net.minecraft.world.phys.Vec3; import org.lwjgl.openvr.*; import org.lwjgl.system.MemoryStack; @@ -459,12 +460,12 @@ private void generateActionManifest() { Map map1 = new HashMap<>(); for (VRInputAction vrinputaction1 : list1) { - MutableComponent component = Component.translatable(vrinputaction1.keyBinding.getCategory()).append(" - ").append(Component.translatable(vrinputaction1.keyBinding.getName())); + MutableComponent component = new TranslatableComponent(vrinputaction1.keyBinding.getCategory()).append(" - ").append(new TranslatableComponent(vrinputaction1.keyBinding.getName())); map1.put(vrinputaction1.name, component.getString()); } for (VRInputActionSet vrinputactionset1 : VRInputActionSet.values()) { - MutableComponent component = Component.translatable(vrinputactionset1.localizedName); + MutableComponent component = new TranslatableComponent(vrinputactionset1.localizedName); map1.put(vrinputactionset1.name, component.getString()); } @@ -642,8 +643,8 @@ private void getTransforms() { if (l == 0L) { flag = true; } else { - var renderModelComponentState = RenderModelComponentState.calloc(stack); - boolean b0 = VRRenderModels_GetComponentStateForDevicePath(renderModelName, componentName, l, RenderModelControllerModeState.calloc(stack), renderModelComponentState); + var renderModelComponentState = RenderModelComponentState.callocStack(stack); + boolean b0 = VRRenderModels_GetComponentStateForDevicePath(renderModelName, componentName, l, RenderModelControllerModeState.callocStack(stack), renderModelComponentState); if (!b0) { flag = true; @@ -813,7 +814,7 @@ private void installApplicationManifest(boolean force) throws RenderConfigExcept String error = VRApplications_GetApplicationsErrorNameFromEnum(i) + (hasInvalidChars ? "\nInvalid characters in path: \n" : "\n"); System.out.println("Failed to install application manifest: " + error + file1.getAbsolutePath()); - throw new RenderConfigException("Failed to install application manifest", Component.empty().append(error).append(pathFormatted)); + throw new RenderConfigException("Failed to install application manifest", new TextComponent(error).append(pathFormatted)); } System.out.println("Application manifest installed successfully"); @@ -989,7 +990,7 @@ private void readOriginInfo(long inputValueHandle) { } private void readPoseData(long actionHandle) { - int i = VRInput_GetPoseActionDataForNextFrame(actionHandle, 1, this.poseData, InputPoseActionData.SIZEOF, 0L); + int i = VRInput_GetPoseActionData(actionHandle, 1, 0F, this.poseData, InputPoseActionData.SIZEOF, 0L); if (i != 0) { throw new RuntimeException("Error reading pose data: " + getInputErrorName(i)); @@ -1060,7 +1061,7 @@ private void updatePose() { } try (MemoryStack stack = MemoryStack.stackPush()) { - var hmdmatrix34 = HmdMatrix34.calloc(stack); + var hmdmatrix34 = HmdMatrix34.callocStack(stack); OpenVRUtil.convertSteamVRMatrix3ToMatrix4f(VRSystem_GetEyeToHeadTransform(0, hmdmatrix34), this.hmdPoseLeftEye); OpenVRUtil.convertSteamVRMatrix3ToMatrix4f(VRSystem_GetEyeToHeadTransform(1, hmdmatrix34), this.hmdPoseRightEye); } diff --git a/common/src/main/java/org/vivecraft/client_vr/provider/openvr_lwjgl/OpenVRStereoRenderer.java b/common/src/main/java/org/vivecraft/client_vr/provider/openvr_lwjgl/OpenVRStereoRenderer.java index bf7b40e41..1e7df2a38 100644 --- a/common/src/main/java/org/vivecraft/client_vr/provider/openvr_lwjgl/OpenVRStereoRenderer.java +++ b/common/src/main/java/org/vivecraft/client_vr/provider/openvr_lwjgl/OpenVRStereoRenderer.java @@ -4,7 +4,7 @@ import com.mojang.blaze3d.platform.TextureUtil; import com.mojang.blaze3d.systems.RenderSystem; import com.mojang.math.Matrix4f; -import net.minecraft.network.chat.Component; +import net.minecraft.network.chat.TextComponent; import net.minecraft.util.Tuple; import org.lwjgl.opengl.GL11; import org.lwjgl.openvr.*; @@ -70,9 +70,9 @@ public Tuple getRenderTextureSizes() { public Matrix4f getProjectionMatrix(int eyeType, float nearClip, float farClip) { try (MemoryStack stack = MemoryStack.stackPush()) { if (eyeType == 0) { - return Utils.Matrix4fFromOpenVR(VRSystem_GetProjectionMatrix(0, nearClip, farClip, HmdMatrix44.calloc(stack))); + return Utils.Matrix4fFromOpenVR(VRSystem_GetProjectionMatrix(0, nearClip, farClip, HmdMatrix44.callocStack(stack))); } else { - return Utils.Matrix4fFromOpenVR(VRSystem_GetProjectionMatrix(1, nearClip, farClip, HmdMatrix44.calloc(stack))); + return Utils.Matrix4fFromOpenVR(VRSystem_GetProjectionMatrix(1, nearClip, farClip, HmdMatrix44.callocStack(stack))); } } } @@ -116,7 +116,7 @@ public void endFrame() throws RenderConfigException { VRCompositor_PostPresentHandoff(); if (i + j > 0) { - throw new RenderConfigException("Compositor Error", Component.literal("Texture submission error: Left/Right " + getCompostiorError(i) + "/" + getCompostiorError(j))); + throw new RenderConfigException("Compositor Error", new TextComponent("Texture submission error: Left/Right " + getCompostiorError(i) + "/" + getCompostiorError(j))); } } } diff --git a/common/src/main/java/org/vivecraft/client_vr/render/VRWidgetHelper.java b/common/src/main/java/org/vivecraft/client_vr/render/VRWidgetHelper.java index c4bce130f..d5eef5075 100644 --- a/common/src/main/java/org/vivecraft/client_vr/render/VRWidgetHelper.java +++ b/common/src/main/java/org/vivecraft/client_vr/render/VRWidgetHelper.java @@ -15,7 +15,6 @@ import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.resources.ResourceLocation; -import net.minecraft.util.RandomSource; import net.minecraft.world.inventory.InventoryMenu; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.phys.Vec3; @@ -28,11 +27,12 @@ import org.vivecraft.client_vr.settings.VRSettings; import org.vivecraft.client.utils.Utils; +import java.util.Random; import java.util.function.Function; public class VRWidgetHelper { - private static final RandomSource random = RandomSource.create(); + private static final Random random = new Random(); public static boolean debug = false; public static void renderVRThirdPersonCamWidget() @@ -85,7 +85,7 @@ public static void renderVRHandheldCameraWidget() renderVRCameraWidget(-0.5F, -0.25F, -0.22F, f, RenderPass.CAMERA, CameraTracker.cameraModel, CameraTracker.cameraDisplayModel, () -> { - if (((ItemInHandRendererExtension) minecraft.getEntityRenderDispatcher().getItemInHandRenderer()).getNearOpaqueBlock(dataholder.vrPlayer.vrdata_world_render.getEye(RenderPass.CAMERA).getPosition(), (double)((GameRendererExtension) minecraft.gameRenderer).getMinClipDistance()) == null) + if (((ItemInHandRendererExtension) minecraft.getItemInHandRenderer()).getNearOpaqueBlock(dataholder.vrPlayer.vrdata_world_render.getEye(RenderPass.CAMERA).getPosition(), (double)((GameRendererExtension) minecraft.gameRenderer).getMinClipDistance()) == null) { dataholder.vrRenderer.cameraFramebuffer.bindRead(); RenderSystem.setShaderTexture(0, dataholder.vrRenderer.cameraFramebuffer.getColorTextureId()); diff --git a/common/src/main/java/org/vivecraft/client_vr/render/VivecraftItemRendering.java b/common/src/main/java/org/vivecraft/client_vr/render/VivecraftItemRendering.java index e0a285cf3..467c70526 100644 --- a/common/src/main/java/org/vivecraft/client_vr/render/VivecraftItemRendering.java +++ b/common/src/main/java/org/vivecraft/client_vr/render/VivecraftItemRendering.java @@ -89,10 +89,6 @@ else if (pStack.getUseAnimation() == UseAnim.BOW) } } } - else if (pStack.getUseAnimation() == UseAnim.TOOT_HORN) - { - rendertype = VivecraftItemTransformType.Horn; - } else if (item instanceof SwordItem || pStack.is(ItemTags.VIVECRAFT_SWORDS)) { rendertype = VivecraftItemTransformType.Sword; diff --git a/common/src/main/java/org/vivecraft/client_vr/settings/AutoCalibration.java b/common/src/main/java/org/vivecraft/client_vr/settings/AutoCalibration.java index 245dd19bf..e63cfdb38 100644 --- a/common/src/main/java/org/vivecraft/client_vr/settings/AutoCalibration.java +++ b/common/src/main/java/org/vivecraft/client_vr/settings/AutoCalibration.java @@ -4,7 +4,7 @@ import org.vivecraft.client.utils.LangHelper; import net.minecraft.client.Minecraft; -import net.minecraft.network.chat.Component; +import net.minecraft.network.chat.TextComponent; public class AutoCalibration { @@ -16,7 +16,7 @@ public static void calibrateManual() ClientDataHolderVR dataholder = ClientDataHolderVR.getInstance(); dataholder.vrSettings.manualCalibration = (float)dataholder.vr.hmdPivotHistory.averagePosition(0.5D).y; int i = (int)((float)((double)Math.round(100.0D * (double)getPlayerHeight() / (double)1.52F))); - minecraft.gui.getChat().addMessage(Component.literal(LangHelper.get("vivecraft.messages.heightset", i))); + minecraft.gui.getChat().addMessage(new TextComponent(LangHelper.get("vivecraft.messages.heightset", i))); dataholder.vrSettings.saveOptions(); } diff --git a/common/src/main/java/org/vivecraft/client_vr/settings/VRHotkeys.java b/common/src/main/java/org/vivecraft/client_vr/settings/VRHotkeys.java index 009a77af8..6570f9dce 100644 --- a/common/src/main/java/org/vivecraft/client_vr/settings/VRHotkeys.java +++ b/common/src/main/java/org/vivecraft/client_vr/settings/VRHotkeys.java @@ -22,7 +22,8 @@ import net.minecraft.client.Minecraft; import net.minecraft.client.gui.screens.WinScreen; -import net.minecraft.network.chat.Component; +import net.minecraft.network.chat.TextComponent; +import net.minecraft.network.chat.TranslatableComponent; import net.minecraft.world.phys.Vec3; public class VRHotkeys @@ -53,21 +54,21 @@ public static boolean handleKeyboardInputs(int key, int scanCode, int action, in if (action == 1 && key == 344 && MethodHolder.isKeyDown(345)) { dataholder.vrSettings.storeDebugAim = true; - minecraft.gui.getChat().addMessage(Component.translatable("vivecraft.messages.showaim")); + minecraft.gui.getChat().addMessage(new TranslatableComponent("vivecraft.messages.showaim")); flag = true; } if (action == 1 && key == 66 && MethodHolder.isKeyDown(345)) { dataholder.vrSettings.walkUpBlocks = !dataholder.vrSettings.walkUpBlocks; - minecraft.gui.getChat().addMessage(Component.translatable("vivecraft.messages.walkupblocks", dataholder.vrSettings.walkUpBlocks ? LangHelper.getYes() : LangHelper.getNo())); + minecraft.gui.getChat().addMessage(new TranslatableComponent("vivecraft.messages.walkupblocks", dataholder.vrSettings.walkUpBlocks ? LangHelper.getYes() : LangHelper.getNo())); flag = true; } if (action == 1 && key == 73 && MethodHolder.isKeyDown(345)) { dataholder.vrSettings.inertiaFactor = dataholder.vrSettings.inertiaFactor.getNext(); - minecraft.gui.getChat().addMessage(Component.translatable("vivecraft.messages.playerinertia", Component.translatable(dataholder.vrSettings.inertiaFactor.getLangKey()))); + minecraft.gui.getChat().addMessage(new TranslatableComponent("vivecraft.messages.playerinertia", new TranslatableComponent(dataholder.vrSettings.inertiaFactor.getLangKey()))); flag = true; } @@ -77,12 +78,12 @@ public static boolean handleKeyboardInputs(int key, int scanCode, int action, in if (dataholder.vrPlayer.isTeleportOverridden()) { dataholder.vrPlayer.setTeleportOverride(false); - minecraft.gui.getChat().addMessage(Component.translatable("vivecraft.messages.teleportdisabled")); + minecraft.gui.getChat().addMessage(new TranslatableComponent("vivecraft.messages.teleportdisabled")); } else { dataholder.vrPlayer.setTeleportOverride(true); - minecraft.gui.getChat().addMessage(Component.translatable("vivecraft.messages.teleportenabled")); + minecraft.gui.getChat().addMessage(new TranslatableComponent("vivecraft.messages.teleportenabled")); } flag = true; @@ -195,13 +196,13 @@ public static void handleMRKeys() if (MethodHolder.isKeyDown(260) && MethodHolder.isKeyDown(345) && !MethodHolder.isKeyDown(344)) { - minecraft.options.fov().set(minecraft.options.fov().get() + 1); + ++minecraft.options.fov; flag = true; } if (MethodHolder.isKeyDown(261) && MethodHolder.isKeyDown(345) && !MethodHolder.isKeyDown(344)) { - minecraft.options.fov().set(minecraft.options.fov().get() - 1); + --minecraft.options.fov; flag = true; } @@ -223,15 +224,15 @@ public static void handleMRKeys() if (dataholder.vr.mrMovingCamActive) { - Minecraft.getInstance().gui.getChat().addMessage(Component.literal(LangHelper.get("vivecraft.messages.coords", dataholder.vrSettings.mrMovingCamOffsetX, dataholder.vrSettings.mrMovingCamOffsetY, dataholder.vrSettings.mrMovingCamOffsetZ))); + Minecraft.getInstance().gui.getChat().addMessage(new TextComponent(LangHelper.get("vivecraft.messages.coords", dataholder.vrSettings.mrMovingCamOffsetX, dataholder.vrSettings.mrMovingCamOffsetY, dataholder.vrSettings.mrMovingCamOffsetZ))); Angle angle = dataholder.vrSettings.mrMovingCamOffsetRotQuat.toEuler(); - Minecraft.getInstance().gui.getChat().addMessage(Component.literal(LangHelper.get("vivecraft.messages.angles", angle.getPitch(), angle.getYaw(), angle.getRoll()))); + Minecraft.getInstance().gui.getChat().addMessage(new TextComponent(LangHelper.get("vivecraft.messages.angles", angle.getPitch(), angle.getYaw(), angle.getRoll()))); } else { - Minecraft.getInstance().gui.getChat().addMessage(Component.literal(LangHelper.get("vivecraft.messages.coords", dataholder.vrSettings.vrFixedCamposX, dataholder.vrSettings.vrFixedCamposY, dataholder.vrSettings.vrFixedCamposZ))); + Minecraft.getInstance().gui.getChat().addMessage(new TextComponent(LangHelper.get("vivecraft.messages.coords", dataholder.vrSettings.vrFixedCamposX, dataholder.vrSettings.vrFixedCamposY, dataholder.vrSettings.vrFixedCamposZ))); Angle angle1 = dataholder.vrSettings.vrFixedCamrotQuat.toEuler(); - Minecraft.getInstance().gui.getChat().addMessage(Component.literal(LangHelper.get("vivecraft.messages.angles", angle1.getPitch(), angle1.getYaw(), angle1.getRoll()))); + Minecraft.getInstance().gui.getChat().addMessage(new TextComponent(LangHelper.get("vivecraft.messages.angles", angle1.getPitch(), angle1.getYaw(), angle1.getRoll()))); } } } diff --git a/common/src/main/java/org/vivecraft/client_vr/settings/VRSettings.java b/common/src/main/java/org/vivecraft/client_vr/settings/VRSettings.java index 4415e1eaf..975b6318b 100644 --- a/common/src/main/java/org/vivecraft/client_vr/settings/VRSettings.java +++ b/common/src/main/java/org/vivecraft/client_vr/settings/VRSettings.java @@ -1367,17 +1367,17 @@ String getDisplayString(String prefix, Object value) { MONO_FOV(true, false, 1, 179, 1, 0) { // Undistorted FOV @Override String getDisplayString(String prefix, Object value) { - return prefix + String.format("%.0f" + DEGREE, (float)Minecraft.getInstance().options.fov().get()); + return prefix + String.format("%.0f" + DEGREE, Minecraft.getInstance().options.fov); } @Override Float getOptionFloatValue(float value) { - return (float)Minecraft.getInstance().options.fov().get(); + return (float)Minecraft.getInstance().options.fov; } @Override Float setOptionFloatValue(float value) { - Minecraft.getInstance().options.fov().set((int) value); + Minecraft.getInstance().options.fov = value; return 0f; } }, @@ -1518,10 +1518,30 @@ Object convertOption(String value) { } }, HRTF_SELECTION(false, false) { // HRTF - // this is now handled by vanilla + @Override + String getDisplayString(String prefix, Object value) { + int i = (int)value; + if (i == -1) + return prefix + I18n.get("options.off"); + else if (i == 0) + return prefix + I18n.get("vivecraft.options.default"); + else if (i <= ClientDataHolderVR.hrtfList.size()) + return prefix + ClientDataHolderVR.hrtfList.get(i - 1); + return prefix; + } + @Override Object setOptionValue(Object value) { - return value; + int i = (int)value; + if (++i > ClientDataHolderVR.hrtfList.size()) + i = -1; + return i; + } + + @Override + void onOptionChange() { + // Reload the sound engine to get the new HRTF + Minecraft.getInstance().getSoundManager().reload(); } }, RELOAD_EXTERNAL_CAMERA(false, false) { // Reload External Camera 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 c9c7bbbb8..d1d36ff1c 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 @@ -254,7 +254,8 @@ public void blitFovReduction(ShaderInstance instance, int width, int height) { } else { throw new IllegalStateException("Unexpected vertex format " + instance.getVertexFormat()); } - BufferUploader.draw(bufferBuilder.end()); + bufferBuilder.end(); + BufferUploader._endInternal(bufferBuilder); instance.clear(); RenderSystem.depthMask(true); RenderSystem.colorMask(true, true, true, true); @@ -334,7 +335,8 @@ private void _blitToScreen(ShaderInstance instance, int left, int width, int hei .color(255, 255, 255, 255).endVertex(); bufferbuilder.vertex((double) f4, (double) f5, 0.0D).uv(xCropFactor, f9 - yCropFactor) .color(255, 255, 255, 255).endVertex(); - BufferUploader.draw(bufferbuilder.end()); + bufferbuilder.end(); + BufferUploader._endInternal(bufferbuilder); instance.clear(); RenderSystem.depthMask(true); 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 fb2160cee..e649e1fdd 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 @@ -6,6 +6,7 @@ import net.minecraft.client.renderer.PanoramaRenderer; import net.minecraft.network.chat.CommonComponents; import net.minecraft.network.chat.Component; +import net.minecraft.network.chat.TranslatableComponent; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.*; import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; @@ -44,13 +45,13 @@ private void addVRModeButton() { vrModeButton = new Button( this.width / 2 + 104, this.height / 4 + 72, 56, 20, - Component.translatable("vivecraft.gui.vr", getIcon() , VRState.vrEnabled ? CommonComponents.OPTION_ON : CommonComponents.OPTION_OFF), + new TranslatableComponent("vivecraft.gui.vr", getIcon() , VRState.vrEnabled ? CommonComponents.OPTION_ON : CommonComponents.OPTION_OFF), (button) -> { showError = false; VRState.vrEnabled = !VRState.vrEnabled; ClientDataHolderVR.getInstance().vrSettings.vrEnabled = VRState.vrEnabled; ClientDataHolderVR.getInstance().vrSettings.saveOptions(); - button.setMessage(Component.translatable("vivecraft.gui.vr", getIcon(), VRState.vrEnabled ? CommonComponents.OPTION_ON : CommonComponents.OPTION_OFF)); + button.setMessage(new TranslatableComponent("vivecraft.gui.vr", getIcon(), VRState.vrEnabled ? CommonComponents.OPTION_ON : CommonComponents.OPTION_OFF)); }); this.addRenderableWidget(vrModeButton); @@ -58,7 +59,7 @@ private void addVRModeButton() { updateButton = new Button( this.width / 2 + 104, this.height / 4 + 96, 56, 20, - Component.translatable("vivecraft.gui.update"), + new TranslatableComponent("vivecraft.gui.update"), (button) -> minecraft.setScreen(new UpdateScreen())); updateButton.visible = UpdateChecker.hasUpdate; @@ -75,10 +76,10 @@ public void renderToolTip(PoseStack poseStack, int i, int j, float f, CallbackIn updateButton.visible = UpdateChecker.hasUpdate; if (vrModeButton.isMouseOver(i, j)) { - renderTooltip(poseStack, font.split(Component.translatable("vivecraft.options.VR_MODE.tooltip"), Math.max(width / 2 - 43, 170)), i, j); + renderTooltip(poseStack, font.split(new TranslatableComponent("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"); + Component hotswitchMessage = new TranslatableComponent("vivecraft.messages.vrhotswitchinginfo"); 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 29c2088f7..78442e836 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 @@ -16,15 +16,15 @@ @Mixin(Main.class) public class MainMixin { - @Inject(at = @At(value = "INVOKE", target = "Ljoptsimple/OptionParser;allowsUnrecognizedOptions()V", remap = false), method = "run", locals = LocalCapture.CAPTURE_FAILHARD) - private static void options(String[] strings, boolean bl, CallbackInfo ci, OptionParser optionparser) { + @Inject(at = @At(value = "INVOKE", target = "Ljoptsimple/OptionParser;allowsUnrecognizedOptions()V"), method = "main", remap = false, locals = LocalCapture.CAPTURE_FAILHARD) + private static void options(String[] strings, CallbackInfo ci, OptionParser optionparser) { optionparser.accepts("kiosk"); optionparser.accepts("viewonly"); optionparser.accepts("katvr"); optionparser.accepts("infinadeck"); } - @Redirect(at = @At(value = "INVOKE", target = "Ljoptsimple/OptionParser;parse([Ljava/lang/String;)Ljoptsimple/OptionSet;", remap = false) , method = "run") + @Redirect(at = @At(value = "INVOKE", target = "Ljoptsimple/OptionParser;parse([Ljava/lang/String;)Ljoptsimple/OptionSet;") , method = "main", remap = false) private static OptionSet kiosk(OptionParser optionparser, String[] p_129642_) { new Thread(UpdateChecker::checkForUpdates).start(); OptionSet optionset = optionparser.parse(p_129642_); diff --git a/common/src/main/java/org/vivecraft/mixin/client/player/AbstractClientPlayerMixin.java b/common/src/main/java/org/vivecraft/mixin/client/player/AbstractClientPlayerMixin.java index 4272eee47..50dec8a0f 100644 --- a/common/src/main/java/org/vivecraft/mixin/client/player/AbstractClientPlayerMixin.java +++ b/common/src/main/java/org/vivecraft/mixin/client/player/AbstractClientPlayerMixin.java @@ -3,7 +3,6 @@ import com.mojang.authlib.GameProfile; import net.minecraft.client.multiplayer.ClientLevel; import net.minecraft.client.player.AbstractClientPlayer; -import net.minecraft.world.entity.player.ProfilePublicKey; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Inject; @@ -13,7 +12,7 @@ @Mixin(AbstractClientPlayer.class) public class AbstractClientPlayerMixin { @Inject(method = "", at = @At("TAIL")) - private void addPatreonInfo(ClientLevel clientLevel, GameProfile gameProfile, ProfilePublicKey profilePublicKey, CallbackInfo ci) { + private void addPatreonInfo(ClientLevel clientLevel, GameProfile gameProfile, CallbackInfo ci) { PatreonReceiver.addPlayerInfo(((AbstractClientPlayer) (Object) this)); } } diff --git a/common/src/main/java/org/vivecraft/mixin/client_vr/KeyboardInputVRMixin.java b/common/src/main/java/org/vivecraft/mixin/client_vr/KeyboardInputVRMixin.java index 5d559c3cb..990b67eca 100644 --- a/common/src/main/java/org/vivecraft/mixin/client_vr/KeyboardInputVRMixin.java +++ b/common/src/main/java/org/vivecraft/mixin/client_vr/KeyboardInputVRMixin.java @@ -42,7 +42,7 @@ private float axisToDigitalMovement(float value) { } @Inject(method = "tick", at = @At("HEAD"), cancellable = true) - public void tick(boolean isSneaking, float sneakSpeed, CallbackInfo ci) { + public void tick(boolean isSneaking, CallbackInfo ci) { if (!VRState.vrRunning) { return; } @@ -179,8 +179,8 @@ public void tick(boolean isSneaking, float sneakSpeed, CallbackInfo ci) { this.shiftKeyDown = (dataholder.sneakTracker.sneakCounter > 0 || dataholder.sneakTracker.sneakOverride || this.options.keyShift.isDown()) && minecraft.screen == null; if (isSneaking) { - this.leftImpulse = (float) ((double) this.leftImpulse * sneakSpeed); - this.forwardImpulse = (float) ((double) this.forwardImpulse * sneakSpeed); + this.leftImpulse *= 0.3F; + this.forwardImpulse *= 0.3F; } } } diff --git a/common/src/main/java/org/vivecraft/mixin/client_vr/MinecraftVRMixin.java b/common/src/main/java/org/vivecraft/mixin/client_vr/MinecraftVRMixin.java index fa1a80637..0653ac2c5 100644 --- a/common/src/main/java/org/vivecraft/mixin/client_vr/MinecraftVRMixin.java +++ b/common/src/main/java/org/vivecraft/mixin/client_vr/MinecraftVRMixin.java @@ -32,7 +32,8 @@ import net.minecraft.client.server.IntegratedServer; import net.minecraft.client.sounds.SoundManager; import net.minecraft.core.BlockPos; -import net.minecraft.network.chat.Component; +import net.minecraft.network.chat.TextComponent; +import net.minecraft.network.chat.TranslatableComponent; import net.minecraft.network.chat.HoverEvent; import net.minecraft.server.packs.PackResources; import net.minecraft.server.packs.resources.ReloadableResourceManager; @@ -274,8 +275,6 @@ public MinecraftVRMixin(String string) { @Shadow public abstract RenderTarget getMainRenderTarget(); - @Shadow private double gpuUtilization; - @Shadow @Nullable public abstract ClientPacketListener getConnection(); @Shadow @Final public LevelRenderer levelRenderer; @@ -317,7 +316,7 @@ public Overlay initVivecraft(Overlay overlay) { // on first resource load finished @Inject(at = @At("HEAD"), method = { "method_24040", // fabric - "lambda$new$3"} // forge + "lambda$new$2"} // forge , remap = false) public void initVROnLaunch(CallbackInfo ci) { // init vr after resource loading @@ -423,7 +422,10 @@ public void replaceTick(boolean bl, CallbackInfo callback) { } // the VR runtime handles the frame limit, no need to manually limit it 60fps - @ModifyConstant(constant = @Constant(longValue = 16), method = "doWorldLoad", expect = 0) + @ModifyConstant(constant = @Constant(longValue = 16), method = { + "doLoadLevel", // fabric + "doLoadLevel(Ljava/lang/String;Ljava/util/function/Function;Ljava/util/function/Function;ZLnet/minecraft/client/Minecraft$ExperimentalDialogType;Z)V" // forge + }, expect = 0) private long noWaitOnLevelLoadFabric(long constant) { if (VRState.vrRunning) { return 0L; @@ -681,7 +683,7 @@ public void preRender(boolean tick) { ClientDataHolderVR.getInstance().vrRenderer.setupRenderConfiguration(); } catch (RenderConfigException renderConfigException) { // TODO: could disabling VR here cause issues? - Minecraft.getInstance().setScreen(new ErrorScreen("VR Render Error", Component.translatable("vivecraft.messages.rendersetupfailed", renderConfigException.error + "\nVR provider: " + ClientDataHolderVR.getInstance().vr.getName()))); + Minecraft.getInstance().setScreen(new ErrorScreen("VR Render Error", new TranslatableComponent("vivecraft.messages.rendersetupfailed", renderConfigException.error + "\nVR provider: " + ClientDataHolderVR.getInstance().vr.getName()))); VRState.destroyVR(true); return; } catch (Exception exception2) { @@ -808,24 +810,14 @@ public void postRender() { // } while(Util.getMillis() >= this.lastTime + 1000L) { - String string; - if (this.gpuUtilization > 0.0) { - string = " GPU: " + (this.gpuUtilization > 100.0 ? ChatFormatting.RED + "100%" : Math.round(this.gpuUtilization) + "%"); - } else { - string = ""; - } - fps = this.frames; this.fpsString = String.format( - Locale.ROOT, - "%d fps T: %s%s%s%s B: %d%s", - fps, - k == 260 ? "inf" : k, - this.options.enableVsync().get() ? " vsync" : "", - this.options.graphicsMode().get(), - this.options.cloudStatus().get() == CloudStatus.OFF ? "" : (this.options.cloudStatus().get() == CloudStatus.FAST ? " fast-clouds" : " fancy-clouds"), - this.options.biomeBlendRadius().get(), - string + "%d fps T: %s%s%s%s B: %d", + fps, + (double)this.options.framerateLimit == Option.FRAMERATE_LIMIT.getMaxValue() ? "inf" : this.options.framerateLimit, + this.options.enableVsync ? " vsync" : "", + this.options.graphicsMode, this.options.renderClouds == CloudStatus.OFF ? "" : (this.options.renderClouds == CloudStatus.FAST ? " fast-clouds" : " fancy-clouds"), + this.options.biomeBlendRadius ); this.lastTime += 1000L; this.frames = 0; @@ -930,10 +922,10 @@ public void vrTick(CallbackInfo info) { ClientDataHolderVR.getInstance().vrSettings.lastUpdate = UpdateChecker.newestVersion; ClientDataHolderVR.getInstance().vrSettings.saveOptions(); ClientDataHolderVR.getInstance().showedUpdateNotification = true; - this.gui.getChat().addMessage(Component.translatable("vivecraft.messages.updateAvailable", Component.literal(UpdateChecker.newestVersion).withStyle(ChatFormatting.ITALIC, ChatFormatting.GREEN)) + this.gui.getChat().addMessage(new TranslatableComponent("vivecraft.messages.updateAvailable", new TextComponent(UpdateChecker.newestVersion).withStyle(ChatFormatting.ITALIC, ChatFormatting.GREEN)) .withStyle(style -> style .withClickEvent(new VivecraftClickEvent(VivecraftClickEvent.VivecraftAction.OPEN_SCREEN, new UpdateScreen())) - .withHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT, Component.translatable("vivecraft.messages.click"))))); + .withHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT, new TranslatableComponent("vivecraft.messages.click"))))); } } @@ -944,7 +936,7 @@ public void vrTick(CallbackInfo info) { if (ClientDataHolderVR.getInstance().vrPlayer.teleportWarning) { if(showMessage) - this.gui.getChat().addMessage(Component.translatable("vivecraft.messages.noserverplugin")); + this.gui.getChat().addMessage(new TranslatableComponent("vivecraft.messages.noserverplugin")); ClientDataHolderVR.getInstance().vrPlayer.teleportWarning = false; // allow vr switching on vanilla server @@ -952,7 +944,7 @@ public void vrTick(CallbackInfo info) { } if (ClientDataHolderVR.getInstance().vrPlayer.vrSwitchWarning) { if (showMessage) - this.gui.getChat().addMessage(Component.translatable("vivecraft.messages.novrhotswitchinglegacy")); + this.gui.getChat().addMessage(new TranslatableComponent("vivecraft.messages.novrhotswitchinglegacy")); ClientDataHolderVR.getInstance().vrPlayer.vrSwitchWarning = false; } ClientNetworking.displayedChatWarning = true; @@ -1035,12 +1027,12 @@ public void vrTick(CallbackInfo info) { else { MenuWorldExporter.saveAreaToFile(level, blockpos.getX() - offset, blockpos.getZ() - offset, size, size, blockpos.getY(), file2); - gui.getChat().addMessage(Component.translatable("vivecraft.messages.menuworldexportclientwarning")); + gui.getChat().addMessage(new TranslatableComponent("vivecraft.messages.menuworldexportclientwarning")); } if (error == null) { - gui.getChat().addMessage(Component.translatable("vivecraft.messages.menuworldexportcomplete.1", size)); - gui.getChat().addMessage(Component.translatable("vivecraft.messages.menuworldexportcomplete.2", file2.getAbsolutePath())); + gui.getChat().addMessage(new TranslatableComponent("vivecraft.messages.menuworldexportcomplete.1", size)); + gui.getChat().addMessage(new TranslatableComponent("vivecraft.messages.menuworldexportcomplete.2", file2.getAbsolutePath())); } break; } @@ -1054,7 +1046,7 @@ public void vrTick(CallbackInfo info) { error = throwable; } finally { if (error != null) { - gui.getChat().addMessage(Component.translatable("vivecraft.messages.menuworldexporterror", error.getMessage())); + gui.getChat().addMessage(new TranslatableComponent("vivecraft.messages.menuworldexporterror", error.getMessage())); } } } diff --git a/common/src/main/java/org/vivecraft/mixin/client_vr/blaze3d/audio/LibraryVRMixin.java b/common/src/main/java/org/vivecraft/mixin/client_vr/blaze3d/audio/LibraryVRMixin.java index 556a983f5..4ba6a391c 100644 --- a/common/src/main/java/org/vivecraft/mixin/client_vr/blaze3d/audio/LibraryVRMixin.java +++ b/common/src/main/java/org/vivecraft/mixin/client_vr/blaze3d/audio/LibraryVRMixin.java @@ -1,28 +1,142 @@ package org.vivecraft.mixin.client_vr.blaze3d.audio; import com.mojang.blaze3d.audio.Library; +import org.lwjgl.BufferUtils; +import org.lwjgl.openal.AL10; +import org.lwjgl.openal.ALC10; +import org.lwjgl.openal.ALCCapabilities; +import org.lwjgl.openal.ALCapabilities; +import org.lwjgl.openal.SOFTHRTF; import org.slf4j.Logger; import org.spongepowered.asm.mixin.Final; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Shadow; +import org.spongepowered.asm.mixin.Unique; import org.spongepowered.asm.mixin.injection.At; -import org.spongepowered.asm.mixin.injection.ModifyVariable; +import org.spongepowered.asm.mixin.injection.Inject; +import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; +import org.spongepowered.asm.mixin.injection.callback.LocalCapture; import org.vivecraft.client_vr.ClientDataHolderVR; import org.vivecraft.client_vr.VRState; +import java.nio.Buffer; +import java.nio.IntBuffer; +import java.util.Objects; + @Mixin(Library.class) public class LibraryVRMixin { @Shadow @Final static Logger LOGGER; - @ModifyVariable(method = "init", at = @At("HEAD"), argsOnly = true) - private boolean shouldDoHRTF(boolean vanillaHRTF) { - if (VRState.vrRunning) { - // don't force HRTF in nonvr - LOGGER.info("enabling HRTF: {}", ClientDataHolderVR.getInstance().vrSettings.hrtfSelection >= 0); - return ClientDataHolderVR.getInstance().vrSettings.hrtfSelection >= 0; + @Shadow + private long currentDevice; + + @Unique + private boolean checkALError(String string) { + int i = AL10.alGetError(); + if (i != 0) { + LOGGER.error("{}: {}", string, alErrorToString(i)); + return true; + } else { + return false; + } + } + + @Unique + private String alErrorToString(int i) { + return switch (i) { + case 40961 -> "Invalid name parameter."; + case 40962 -> "Invalid enumerated parameter value."; + case 40963 -> "Invalid parameter parameter value."; + case 40964 -> "Invalid operation."; + case 40965 -> "Unable to allocate memory."; + default -> "An unrecognized error occurred."; + }; + } + + @Inject(method = "init", at = @At(value = "INVOKE", target = "Lcom/mojang/blaze3d/audio/OpenAlUtil;checkALError(Ljava/lang/String;)Z", ordinal = 0, shift = At.Shift.AFTER), locals = LocalCapture.CAPTURE_FAILHARD) + private void setHRTF(String string, CallbackInfo ci, ALCCapabilities aLCCapabilities, int i, int j, int k, ALCapabilities aLCapabilities) { + if (!VRState.vrRunning) { + return; + } + ClientDataHolderVR.hrtfList.clear(); + + if (aLCCapabilities.ALC_SOFT_HRTF) { + int l = ALC10.alcGetInteger(this.currentDevice, 6548); + + if (l > 0) { + LOGGER.info("Available HRTFs:"); + + for (int i1 = 0; i1 < l; i1++) { + String s = Objects.requireNonNull(SOFTHRTF.alcGetStringiSOFT(this.currentDevice, 6549, i1)); + ClientDataHolderVR.hrtfList.add(s); + LOGGER.info("{}: {}", i1, s); + } + + int k1 = ClientDataHolderVR.getInstance().vrSettings.hrtfSelection; + int l1; + + if (k1 == -1) { + l1 = 0; + } else { + l1 = 1; + } + + IntBuffer intbuffer = BufferUtils.createIntBuffer(10).put(6546).put(l1); + + if (k1 != -1) { + if (k1 > 0 && k1 <= ClientDataHolderVR.hrtfList.size()) { + LOGGER.info("Using HRTF: {}", ClientDataHolderVR.hrtfList.get(k1 - 1)); + intbuffer.put(6550).put(k1 - 1); + } else { + if (k1 > ClientDataHolderVR.hrtfList.size()) { + LOGGER.warn("Invalid HRTF index: {}", k1); + } + + LOGGER.info("Using default HRTF"); + } + } else { + LOGGER.info("Disabling HRTF"); + } + + ((Buffer) intbuffer.put(0)).flip(); + SOFTHRTF.alcResetDeviceSOFT(this.currentDevice, intbuffer); + + if (!checkALError("HRTF initialization")) { + LOGGER.info("HRTF initialized."); + int j1 = ALC10.alcGetInteger(this.currentDevice, 6547); + + switch (j1) { + case 0: + LOGGER.info("HRTF status: disabled"); + break; + + case 1: + LOGGER.info("HRTF status: enabled"); + break; + + case 2: + LOGGER.info("HRTF status: denied"); + break; + + case 3: + LOGGER.info("HRTF status: required"); + break; + + case 4: + LOGGER.info("HRTF status: headphones detected"); + break; + + case 5: + LOGGER.info("HRTF status: unsupported format"); + } + } + } else { + LOGGER.warn("No HRTFs found."); + } + } else { + LOGGER.warn("ALC_SOFT_HRTF is not supported."); } - return vanillaHRTF; } } 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 83102760a..ac3f0d4ff 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 @@ -234,6 +234,7 @@ public void drawCentredTexturedModalRect(int centreX, int centreY, float width, bufferbuilder.vertex((double)((float)centreX - width / 2.0F), (double)((float)centreY + height / 2.0F), (double)this.getBlitOffset()).uv((float)(u + 0) * f, (float)(v + texHeight) * f1).endVertex(); bufferbuilder.vertex((double)((float)centreX + width / 2.0F), (double)((float)centreY + height / 2.0F), (double)this.getBlitOffset()).uv((float)(u + texWidth) * f, (float)(v + texHeight) * f1).endVertex(); bufferbuilder.vertex((double)((float)centreX + width / 2.0F), (double)((float)centreY - height / 2.0F), (double)this.getBlitOffset()).uv((float)(u + texWidth) * f, (float)(v + 0) * f1).endVertex();bufferbuilder.vertex((double)((float)centreX - width / 2.0F), (double)((float)centreY - height / 2.0F), (double)this.getBlitOffset()).uv((float)(u + 0) * f, (float)(v + 0) * f1).endVertex(); - BufferUploader.drawWithShader(bufferbuilder.end()); + bufferbuilder.end(); + BufferUploader.end(bufferbuilder); } } diff --git a/common/src/main/java/org/vivecraft/mixin/client_vr/gui/screens/OptionsScreenVRMixin.java b/common/src/main/java/org/vivecraft/mixin/client_vr/gui/screens/OptionsScreenVRMixin.java index d88f9c405..6f0eb4f1b 100644 --- a/common/src/main/java/org/vivecraft/mixin/client_vr/gui/screens/OptionsScreenVRMixin.java +++ b/common/src/main/java/org/vivecraft/mixin/client_vr/gui/screens/OptionsScreenVRMixin.java @@ -5,6 +5,7 @@ import net.minecraft.client.gui.screens.OptionsScreen; import net.minecraft.client.gui.screens.Screen; import net.minecraft.network.chat.Component; +import net.minecraft.network.chat.TranslatableComponent; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.*; import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; @@ -38,7 +39,7 @@ private AbstractWidget addVivecraftSettings(OptionInstance option, Options optio // place below FOV slider @Inject(method = "init", at = @At(value = "HEAD")) private void addVivecraftSettings(CallbackInfo ci) { - this.addRenderableWidget(new Button(this.width / 2 - 155, this.height / 6 - 12 + 24, 150, 20, Component.translatable("vivecraft.options.screen.main.button"), (p) -> + this.addRenderableWidget(new Button(this.width / 2 - 155, this.height / 6 - 12 + 24, 150, 20, new TranslatableComponent("vivecraft.options.screen.main.button"), (p) -> { Minecraft.getInstance().options.save(); Minecraft.getInstance().setScreen(new GuiMainVRSettings(this)); diff --git a/common/src/main/java/org/vivecraft/mixin/client_vr/gui/screens/PauseScreenVRMixin.java b/common/src/main/java/org/vivecraft/mixin/client_vr/gui/screens/PauseScreenVRMixin.java index b2a60f550..8624b6cd6 100644 --- a/common/src/main/java/org/vivecraft/mixin/client_vr/gui/screens/PauseScreenVRMixin.java +++ b/common/src/main/java/org/vivecraft/mixin/client_vr/gui/screens/PauseScreenVRMixin.java @@ -9,6 +9,7 @@ import net.minecraft.client.gui.screens.Screen; import net.minecraft.client.gui.screens.social.SocialInteractionsScreen; import net.minecraft.network.chat.Component; +import net.minecraft.network.chat.TranslatableComponent; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.*; import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; @@ -52,48 +53,48 @@ public void addInit(CallbackInfo ci) { int offset = moveAllButtons ? 0 : 24; if (!Minecraft.getInstance().isMultiplayerServer()) { - this.addRenderableWidget(new Button(this.width / 2 - 102, this.height / 4 + 48 + -16 + offset, 98, 20, Component.translatable("vivecraft.gui.chat"), (p) -> + this.addRenderableWidget(new Button(this.width / 2 - 102, this.height / 4 + 48 + -16 + offset, 98, 20, new TranslatableComponent("vivecraft.gui.chat"), (p) -> { this.minecraft.setScreen(new ChatScreen("")); if (ClientDataHolderVR.getInstance().vrSettings.autoOpenKeyboard) KeyboardHandler.setOverlayShowing(true); })); } else { - this.addRenderableWidget(new Button(this.width / 2 - 102, this.height / 4 + 48 + -16 + offset, 46, 20, Component.translatable("vivecraft.gui.chat"), (p) -> + this.addRenderableWidget(new Button(this.width / 2 - 102, this.height / 4 + 48 + -16 + offset, 46, 20, new TranslatableComponent("vivecraft.gui.chat"), (p) -> { this.minecraft.setScreen(new ChatScreen("")); })); - this.addRenderableWidget(new Button(this.width / 2 - 102 + 48, this.height / 4 + 48 + -16 + offset, 46, 20, Component.translatable("vivecraft.gui.social"), (p) -> + this.addRenderableWidget(new Button(this.width / 2 - 102 + 48, this.height / 4 + 48 + -16 + offset, 46, 20, new TranslatableComponent("vivecraft.gui.social"), (p) -> { this.minecraft.setScreen(new SocialInteractionsScreen()); })); } - this.addRenderableWidget(new Button(this.width / 2 + 4, this.height / 4 + 48 + -16 + offset, 98, 20, Component.translatable("vivecraft.gui.commands"), (p) -> + this.addRenderableWidget(new Button(this.width / 2 + 4, this.height / 4 + 48 + -16 + offset, 98, 20, new TranslatableComponent("vivecraft.gui.commands"), (p) -> { this.minecraft.setScreen(new GuiQuickCommandsInGame(this)); this.init(); })); - this.addRenderableWidget(new Button(this.width / 2 - 102, this.height / 4 + 96 + -16 + offset, 49, 20, Component.translatable("vivecraft.gui.overlay"), (p) -> + this.addRenderableWidget(new Button(this.width / 2 - 102, this.height / 4 + 96 + -16 + offset, 49, 20, new TranslatableComponent("vivecraft.gui.overlay"), (p) -> { this.minecraft.options.renderDebug = !this.minecraft.options.renderDebug; this.minecraft.setScreen((Screen) null); })); - this.addRenderableWidget(new Button(this.width / 2 - 52, this.height / 4 + 96 + -16 + offset, 49, 20, Component.translatable("vivecraft.gui.profiler"), (p) -> + this.addRenderableWidget(new Button(this.width / 2 - 52, this.height / 4 + 96 + -16 + offset, 49, 20, new TranslatableComponent("vivecraft.gui.profiler"), (p) -> { if (!this.minecraft.options.renderDebug) this.minecraft.options.renderDebugCharts = false; this.minecraft.options.renderDebugCharts = !this.minecraft.options.renderDebugCharts; this.minecraft.options.renderDebug = this.minecraft.options.renderDebugCharts; this.minecraft.setScreen((Screen) null); })); - this.addRenderableWidget(new Button(this.width / 2 + 4, this.height / 4 + 96 + -16 + offset, 98, 20, Component.translatable("vivecraft.gui.screenshot"), (p) -> + this.addRenderableWidget(new Button(this.width / 2 + 4, this.height / 4 + 96 + -16 + offset, 98, 20, new TranslatableComponent("vivecraft.gui.screenshot"), (p) -> { this.minecraft.setScreen((Screen) null); ClientDataHolderVR.getInstance().grabScreenShot = true; })); if (!ClientDataHolderVR.getInstance().vrSettings.seated) { - this.addRenderableWidget(new Button(this.width / 2 - 102, this.height / 4 + 120 + -16 + offset, 98, 20, Component.translatable("vivecraft.gui.calibrateheight"), (p) -> + this.addRenderableWidget(new Button(this.width / 2 - 102, this.height / 4 + 120 + -16 + offset, 98, 20, new TranslatableComponent("vivecraft.gui.calibrateheight"), (p) -> { AutoCalibration.calibrateManual(); ClientDataHolderVR.getInstance().vrSettings.saveOptions(); @@ -102,7 +103,7 @@ public void addInit(CallbackInfo ci) { } if (ClientDataHolderVR.katvr) { - this.addRenderableWidget(new Button(this.width / 2 + 106, this.height / 4 + 120 + -16 + offset, 98, 20, Component.translatable("vivecraft.gui.alignkatwalk"), (p) -> + this.addRenderableWidget(new Button(this.width / 2 + 106, this.height / 4 + 120 + -16 + offset, 98, 20, new TranslatableComponent("vivecraft.gui.alignkatwalk"), (p) -> { jkatvr.resetYaw(ClientDataHolderVR.getInstance().vrPlayer.vrdata_room_pre.hmd.getYaw()); this.minecraft.setScreen((Screen) null); @@ -110,7 +111,7 @@ public void addInit(CallbackInfo ci) { } if (!ClientDataHolderVR.getInstance().vrSettings.seated || ClientDataHolderVR.getInstance().vrSettings.displayMirrorMode == VRSettings.MirrorMode.THIRD_PERSON || ClientDataHolderVR.getInstance().vrSettings.displayMirrorMode == VRSettings.MirrorMode.MIXED_REALITY) { - this.addRenderableWidget(new Button(this.width / 2 + 4, this.height / 4 + 120 + -16 + offset, 98, 20, Component.translatable("vivecraft.gui.movethirdpersoncam"), (p) -> + this.addRenderableWidget(new Button(this.width / 2 + 4, this.height / 4 + 120 + -16 + offset, 98, 20, new TranslatableComponent("vivecraft.gui.movethirdpersoncam"), (p) -> { if (!VRHotkeys.isMovingThirdPersonCam()) { VRHotkeys.startMovingThirdPersonCam(1, VRHotkeys.Triggerer.MENUBUTTON); diff --git a/common/src/main/java/org/vivecraft/mixin/client_vr/gui/screens/SoundOptionsScreenVRMixin.java b/common/src/main/java/org/vivecraft/mixin/client_vr/gui/screens/SoundOptionsScreenVRMixin.java index eb1aaa28d..0500412e5 100644 --- a/common/src/main/java/org/vivecraft/mixin/client_vr/gui/screens/SoundOptionsScreenVRMixin.java +++ b/common/src/main/java/org/vivecraft/mixin/client_vr/gui/screens/SoundOptionsScreenVRMixin.java @@ -11,6 +11,8 @@ import net.minecraft.client.sounds.SoundManager; import net.minecraft.network.chat.CommonComponents; import net.minecraft.network.chat.Component; +import net.minecraft.network.chat.TextComponent; +import net.minecraft.network.chat.TranslatableComponent; import net.minecraft.sounds.SoundEvents; import net.minecraft.util.FormattedCharSequence; import org.spongepowered.asm.mixin.Mixin; @@ -39,8 +41,8 @@ private void addVivecraftSettings(CallbackInfo ci) { .withValues(false, true) .withInitialValue(ClientDataHolderVR.getInstance().vrSettings.hrtfSelection >= 0) .withTooltip(obj -> - minecraft.font.split(Component.translatable("vivecraft.options.HRTF_SELECTION.tooltip"), 200)) - .create(this.width / 2 - 155 + 160, this.height / 6 - 12 + 22 * 5, 150, 20, Component.translatable("vivecraft.options.HRTF_SELECTION"), (cycleButton, newValue) -> { + minecraft.font.split(new TextComponent("vivecraft.options.HRTF_SELECTION.tooltip"), 200)) + .create(this.width / 2 - 155 + 160, this.height / 6 - 12 + 22 * 5, 150, 20, new TranslatableComponent("vivecraft.options.HRTF_SELECTION"), (cycleButton, newValue) -> { ClientDataHolderVR.getInstance().vrSettings.hrtfSelection = (boolean)newValue ? 0 : -1; ClientDataHolderVR.getInstance().vrSettings.setOptionValue(VRSettings.VrOptions.HRTF_SELECTION); ClientDataHolderVR.getInstance().vrSettings.saveOptions(); 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 12007245a..9eed87107 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 @@ -5,6 +5,8 @@ import net.minecraft.client.gui.screens.inventory.EffectRenderingInventoryScreen; import net.minecraft.core.NonNullList; import net.minecraft.network.chat.Component; +import net.minecraft.network.chat.TextComponent; +import net.minecraft.network.chat.TranslatableComponent; import net.minecraft.world.entity.player.Inventory; import net.minecraft.world.item.CreativeModeTab; import net.minecraft.world.item.ItemStack; @@ -41,18 +43,18 @@ public void fill(CreativeModeTab creativeModeTab, CallbackInfo ci) { @Unique private void addCreativeItems(CreativeModeTab tab, NonNullList list) { if (tab == CreativeModeTab.TAB_FOOD || 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")); + ItemStack itemstack = (new ItemStack(Items.PUMPKIN_PIE)).setHoverName(new TextComponent("EAT ME")); + ItemStack itemstack1 = PotionUtils.setPotion(new ItemStack(Items.POTION), Potions.WATER).setHoverName(new TextComponent("DRINK ME")); itemstack1.getTag().putInt("HideFlags", 32); list.add(itemstack); list.add(itemstack1); } if (tab == CreativeModeTab.TAB_TOOLS || tab == null) { - ItemStack itemstack3 = (new ItemStack(Items.LEATHER_BOOTS)).setHoverName(Component.translatable("vivecraft.item.jumpboots")); + ItemStack itemstack3 = (new ItemStack(Items.LEATHER_BOOTS)).setHoverName(new TranslatableComponent("vivecraft.item.jumpboots")); itemstack3.getTag().putBoolean("Unbreakable", true); itemstack3.getTag().putInt("HideFlags", 4); - ItemStack itemstack4 = (new ItemStack(Items.SHEARS)).setHoverName(Component.translatable("vivecraft.item.climbclaws")); + ItemStack itemstack4 = (new ItemStack(Items.SHEARS)).setHoverName(new TranslatableComponent("vivecraft.item.climbclaws")); itemstack4.getTag().putBoolean("Unbreakable", true); itemstack4.getTag().putInt("HideFlags", 4); list.add(itemstack3); diff --git a/common/src/main/java/org/vivecraft/mixin/client_vr/multiplayer/ClientPacketListenerVRMixin.java b/common/src/main/java/org/vivecraft/mixin/client_vr/multiplayer/ClientPacketListenerVRMixin.java index dc527909e..263ef8842 100644 --- a/common/src/main/java/org/vivecraft/mixin/client_vr/multiplayer/ClientPacketListenerVRMixin.java +++ b/common/src/main/java/org/vivecraft/mixin/client_vr/multiplayer/ClientPacketListenerVRMixin.java @@ -83,20 +83,11 @@ public void disconnect(Component component, CallbackInfo ci) { public void cleanup(CallbackInfo ci) { ClientNetworking.needsReset = true; } - @Inject(at = @At("TAIL"), method = "handlePlayerChat") - public void chat(ClientboundPlayerChatPacket clientboundPlayerChatPacket, CallbackInfo ci) { + @Inject(at = @At("TAIL"), method = "handleChat") + public void chat(ClientboundChatPacket clientboundChatPacket, CallbackInfo ci) { String lastMsg = ((PlayerExtension)minecraft.player).getLastMsg(); ((PlayerExtension)minecraft.player).setLastMsg(null); - if (VRState.vrRunning && (minecraft.player == null || lastMsg == null || clientboundPlayerChatPacket.message().signedHeader().sender() == minecraft.player.getUUID())) { - triggerHapticSound(); - } - } - - @Inject(at = @At("TAIL"), method = "handleSystemChat") - public void chatSystem(ClientboundSystemChatPacket clientboundSystemChatPacket, CallbackInfo ci) { - String lastMsg = ((PlayerExtension)minecraft.player).getLastMsg(); - ((PlayerExtension)minecraft.player).setLastMsg(null); - if (VRState.vrRunning && (minecraft.player == null || lastMsg == null || clientboundSystemChatPacket.content().getString().contains(lastMsg))) { + if (VRState.vrRunning && (minecraft.player == null || lastMsg == null || !clientboundChatPacket.getMessage().getString().contains(lastMsg))) { triggerHapticSound(); } } diff --git a/common/src/main/java/org/vivecraft/mixin/client_vr/multiplayer/MultiPlayerGameModeVRMixin.java b/common/src/main/java/org/vivecraft/mixin/client_vr/multiplayer/MultiPlayerGameModeVRMixin.java index 493088e44..32489918e 100644 --- a/common/src/main/java/org/vivecraft/mixin/client_vr/multiplayer/MultiPlayerGameModeVRMixin.java +++ b/common/src/main/java/org/vivecraft/mixin/client_vr/multiplayer/MultiPlayerGameModeVRMixin.java @@ -1,5 +1,7 @@ package org.vivecraft.mixin.client_vr.multiplayer; +import net.minecraft.client.multiplayer.ClientLevel; +import net.minecraft.world.level.Level; import org.vivecraft.client_vr.ClientDataHolderVR; import net.minecraft.client.multiplayer.MultiPlayerGameMode; import net.minecraft.client.player.LocalPlayer; @@ -19,7 +21,7 @@ public class MultiPlayerGameModeVRMixin { @Inject(at = @At("HEAD"), method = "useItem") - public void overrideUse(Player player, InteractionHand interactionHand, CallbackInfoReturnable cir) { + public void overrideUse(Player player, Level level, InteractionHand interactionHand, CallbackInfoReturnable cir) { if (VRState.vrRunning) { ClientNetworking.overrideLook(player, ClientDataHolderVR.getInstance().vrPlayer.getRightClickLookOverride(player, interactionHand.ordinal())); } @@ -33,7 +35,7 @@ public void overrideReleaseUse(Player player, CallbackInfo ci) { } @Inject(at = @At("HEAD"), method = "useItemOn") - public void overrideUseOn(LocalPlayer localPlayer, InteractionHand interactionHand, BlockHitResult blockHitResult, CallbackInfoReturnable cir) { + public void overrideUseOn(LocalPlayer localPlayer, ClientLevel clientLevel, InteractionHand interactionHand, BlockHitResult blockHitResult, CallbackInfoReturnable cir) { if (VRState.vrRunning) { ClientNetworking.overrideLook(localPlayer, blockHitResult.getLocation().subtract(localPlayer.getEyePosition(1.0F)).normalize()); } 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 899d3bf1b..c8e553cfc 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 @@ -1,8 +1,6 @@ package org.vivecraft.mixin.client_vr.player; -import net.minecraft.network.chat.Component; import net.minecraft.network.protocol.Packet; -import net.minecraft.world.entity.player.ProfilePublicKey; import net.minecraft.world.level.Level; import org.spongepowered.asm.mixin.injection.*; import org.vivecraft.client_vr.ClientDataHolderVR; @@ -78,8 +76,8 @@ public abstract class LocalPlayerVRMixin extends AbstractClientPlayer implements @Shadow public Input input; - public LocalPlayerVRMixin(ClientLevel clientLevel, GameProfile gameProfile, ProfilePublicKey profilePublicKey) { - super(clientLevel, gameProfile, profilePublicKey); + public LocalPlayerVRMixin(ClientLevel clientLevel, GameProfile gameProfile) { + super(clientLevel, gameProfile); } @Shadow @@ -141,8 +139,8 @@ public void noMovePacketsOnTeleport(ClientPacketListener instance, Packet pac } } - @Inject(at = @At("TAIL"), method = "chatSigned") - public void chatMsg(String string, Component component, CallbackInfo ci) { + @Inject(at = @At("TAIL"), method = "chat") + public void chatMsg(String string, CallbackInfo ci) { this.lastMsg = string; } @@ -151,13 +149,13 @@ public void walkUp(CallbackInfo ci) { // clear teleport here, after all the packets would be sent this.teleported = false; if (VRState.vrRunning && ClientDataHolderVR.getInstance().vrSettings.walkUpBlocks) { - this.minecraft.options.autoJump().set(false); + this.minecraft.options.autoJump = false; } } @Override public void swingArm(InteractionHand interactionhand, VRFirstPersonArmSwing interact) { - ((ItemInHandRendererExtension) this.minecraft.getEntityRenderDispatcher().getItemInHandRenderer()).setSwingType(interact); + ((ItemInHandRendererExtension) this.minecraft.getItemInHandRenderer()).setSwingType(interact); this.swing(interactionhand); } 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 f7cf6893a..714c88326 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 @@ -275,7 +275,7 @@ public void noFOVchangeInVR(CallbackInfo ci){ @Inject(at = @At("HEAD"), method = "getFov(Lnet/minecraft/client/Camera;FZ)D", cancellable = true) public void fov(Camera camera, float f, boolean bl, CallbackInfoReturnable info) { if (this.minecraft.level == null || isInMenuRoom()) { // Vivecraft: using this on the main menu - info.setReturnValue(Double.valueOf(this.minecraft.options.fov().get())); + info.setReturnValue(this.minecraft.options.fov); } } @@ -347,7 +347,7 @@ public long active() { @Inject(at = @At(value = "INVOKE", target = "Lcom/mojang/blaze3d/systems/RenderSystem;viewport(IIII)V", shift = Shift.AFTER), method = "Lnet/minecraft/client/renderer/GameRenderer;render(FJZ)V") public void matrix(float partialTicks, long nanoTime, boolean renderWorldIn, CallbackInfo info) { - this.resetProjectionMatrix(this.getProjectionMatrix(minecraft.options.fov().get())); + this.resetProjectionMatrix(this.getProjectionMatrix(minecraft.options.fov)); RenderSystem.getModelViewStack().setIdentity(); RenderSystem.applyModelViewMatrix(); } @@ -537,7 +537,7 @@ public int reduceNauseaSpeed(int oldVal) { } } - @ModifyVariable(at = @At(value = "STORE", ordinal = 1), ordinal = 3, method = "renderLevel") + @ModifyVariable(at = @At(value = "STORE", ordinal = 1), ordinal = 2, method = "renderLevel") public float reduceNauseaAffect(float oldVal) { if (!RenderPassType.isVanilla()) { // scales down the effect from (1,0.65) to (1,0.9) @@ -683,7 +683,8 @@ void renderMainMenuHand(int c, float partialTicks, boolean depthAlways, PoseStac RenderSystem.setShader(GameRenderer::getPositionColorShader); tesselator.getBuilder().begin(Mode.QUADS, DefaultVertexFormat.POSITION_COLOR_NORMAL); this.renderBox(tesselator, vec3, vec33, -0.02F, 0.02F, -0.0125F, 0.0125F, vec32, vec3i, b0, poseStack); - BufferUploader.drawWithShader(tesselator.getBuilder().end()); + tesselator.getBuilder().end(); + BufferUploader.end(tesselator.getBuilder()); poseStack.popPose(); RenderSystem.depthFunc(515); } @@ -1602,7 +1603,8 @@ private void renderJrbuddasAwesomeMainMenuRoomNew(PoseStack pMatrixStack) { bufferbuilder.vertex(matrix4f, f2, f, f3).uv(i * f2, i * f).color(r, g, b, a).normal(0, 0, -1).endVertex(); bufferbuilder.vertex(matrix4f, f2, 0, f3).uv(i * f2, 0).color(r, g, b, a).normal(0, 0, -1).endVertex(); - BufferUploader.drawWithShader(bufferbuilder.end()); + bufferbuilder.end(); + BufferUploader.end(bufferbuilder); pMatrixStack.popPose(); } @@ -1668,7 +1670,8 @@ private void renderTechjarsAwesomeMainMenuRoom(PoseStack poseStack) { .color(1f,1f,1f,1f) .normal(0, 1, 0).endVertex(); - BufferUploader.drawWithShader(bufferbuilder.end()); + bufferbuilder.end(); + BufferUploader.end(bufferbuilder); RenderSystem.setShaderColor(1.0f,1.0f,1.0f,1.0f); poseStack.popPose(); @@ -1813,7 +1816,8 @@ public void drawSizedQuad(float displayWidth, float displayHeight, float size, f .color(color[0], color[1], color[2], color[3]).normal(0.0F, 0.0F, 1.0F).endVertex(); bufferbuilder.vertex((double) (-(size / 2.0F)), (double) (size * f / 2.0F), 0.0D).uv(0.0F, 1.0F) .color(color[0], color[1], color[2], color[3]).normal(0.0F, 0.0F, 1.0F).endVertex(); - BufferUploader.drawWithShader(bufferbuilder.end()); + bufferbuilder.end(); + BufferUploader.end(bufferbuilder); } public void drawSizedQuad(float displayWidth, float displayHeight, float size, float[] color, Matrix4f pMatrix) { @@ -1826,7 +1830,8 @@ public void drawSizedQuad(float displayWidth, float displayHeight, float size, f bufferbuilder.vertex(pMatrix, (size / 2.0F), (-(size * f) / 2.0F), 0).uv(1.0F, 0.0F).endVertex(); bufferbuilder.vertex(pMatrix, (size / 2.0F), (size * f / 2.0F), 0).uv(1.0F, 1.0F).endVertex(); bufferbuilder.vertex(pMatrix, (-(size / 2.0F)), (size * f / 2.0F), 0).uv(0.0F, 1.0F).endVertex(); - BufferUploader.drawWithShader(bufferbuilder.end()); + bufferbuilder.end(); + BufferUploader.end(bufferbuilder); RenderSystem.setShaderColor(1f, 1f, 1f, 1f); } @@ -1855,7 +1860,8 @@ public void drawSizedQuadSolid(float displayWidth, float displayHeight, float si .uv(1.0F, 1.0F).overlayCoords(OverlayTexture.NO_OVERLAY).uv2(light).normal(0.0F, 0.0F, 1.0F).endVertex(); bufferbuilder.vertex(pMatrix, (-(size / 2.0F)), (size * f / 2.0F), 0).color(color[0], color[1], color[2], color[3]) .uv(0.0F, 1.0F).overlayCoords(OverlayTexture.NO_OVERLAY).uv2(light).normal(0.0F, 0.0F, 1.0F).endVertex(); - BufferUploader.drawWithShader(bufferbuilder.end()); + bufferbuilder.end(); + BufferUploader.end(bufferbuilder); this.lightTexture.turnOffLightLayer(); // reset lights @@ -1895,7 +1901,8 @@ public void drawSizedQuadWithLightmap(float displayWidth, float displayHeight, f .uv(1.0F, 1.0F).overlayCoords(OverlayTexture.NO_OVERLAY).uv2(lighti).normal(0, 0, 1).endVertex(); bufferbuilder.vertex(pMatrix, (-(size / 2.0F)), (size * f / 2.0F), 0).color(color[0], color[1], color[2], color[3]) .uv(0.0F, 1.0F).overlayCoords(OverlayTexture.NO_OVERLAY).uv2(lighti).normal(0, 0, 1).endVertex(); - BufferUploader.drawWithShader(bufferbuilder.end()); + bufferbuilder.end(); + BufferUploader.end(bufferbuilder); this.lightTexture.turnOffLightLayer(); @@ -2311,7 +2318,8 @@ private void renderCrosshairAtDepth(boolean depthAlways, PoseStack poseStack) { bufferbuilder.vertex(poseStack.last().pose(), -1.0F, -1.0F, 0.0F).color(f2, f2, f2, 1.0F) .uv(0.0F, 0.0F).overlayCoords(OverlayTexture.NO_OVERLAY).uv2(i).normal(0.0F, 0.0F, 1.0F).endVertex(); - BufferUploader.drawWithShader(bufferbuilder.end()); + bufferbuilder.end(); + BufferUploader.end(bufferbuilder); RenderSystem.defaultBlendFunc(); RenderSystem.disableBlend(); @@ -2451,7 +2459,8 @@ private void renderFireInFirstPerson() { bufferbuilder.vertex(matrix4f, f12, 0.0F, -f12).uv(f7, f10).color(1.0F, 1.0F, 1.0F, 0.9F).endVertex(); bufferbuilder.vertex(matrix4f, f12, f13, -f12).uv(f7, f9).color(1.0F, 1.0F, 1.0F, 0.9F).endVertex(); bufferbuilder.vertex(matrix4f, -f12, f13, -f12).uv(f8, f9).color(1.0F, 1.0F, 1.0F, 0.9F).endVertex(); - BufferUploader.drawWithShader(bufferbuilder.end()); + bufferbuilder.end(); + BufferUploader.end(bufferbuilder); posestack.popPose(); } 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 f6772cc87..309ce42d0 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 @@ -2,6 +2,7 @@ import net.minecraft.server.packs.resources.ResourceManager; import com.mojang.math.Matrix4f; +import net.minecraft.world.entity.player.Player; import org.spongepowered.asm.mixin.injection.*; import org.vivecraft.client_vr.ClientDataHolderVR; import org.vivecraft.client_vr.VRState; @@ -294,7 +295,7 @@ public void colorHitBox(PoseStack poseStack, VertexConsumer vertexConsumer, Voxe } @Inject(at = @At("HEAD"), method = "levelEvent") - public void shakeOnSound(int i, BlockPos blockPos, int j, CallbackInfo ci) { + public void shakeOnSound(Player player, int i, BlockPos blockPos, int j, CallbackInfo ci) { boolean playerNearAndVR = VRState.vrRunning && this.minecraft.player != null && this.minecraft.player.isAlive() && this.minecraft.player.blockPosition().distSqr(blockPos) < 25.0D; if (playerNearAndVR) { switch (i) { diff --git a/common/src/main/java/org/vivecraft/mixin/client_vr/tutorial/MovementTutorialStepInstanceVRMixin.java b/common/src/main/java/org/vivecraft/mixin/client_vr/tutorial/MovementTutorialStepInstanceVRMixin.java index 6f95c9a6f..d145751ae 100644 --- a/common/src/main/java/org/vivecraft/mixin/client_vr/tutorial/MovementTutorialStepInstanceVRMixin.java +++ b/common/src/main/java/org/vivecraft/mixin/client_vr/tutorial/MovementTutorialStepInstanceVRMixin.java @@ -5,6 +5,8 @@ import net.minecraft.client.player.Input; import net.minecraft.client.tutorial.MovementTutorialStepInstance; import net.minecraft.network.chat.Component; +import net.minecraft.network.chat.TextComponent; +import net.minecraft.network.chat.TranslatableComponent; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Shadow; import org.spongepowered.asm.mixin.injection.At; @@ -36,10 +38,10 @@ private Component alterMovementTitle(Component title) { // find the currently used movement binding if (MCVR.get().getInputAction(VivecraftVRMod.INSTANCE.keyFreeMoveStrafe).isActive()) { // moveStrafe active - return Component.translatable("vivecraft.toasts.move1", Component.literal(MCVR.get().getOriginName(MCVR.get().getInputAction(VivecraftVRMod.INSTANCE.keyFreeMoveStrafe).getLastOrigin())).withStyle(ChatFormatting.BOLD)); + return new TranslatableComponent("vivecraft.toasts.move1", new TextComponent(MCVR.get().getOriginName(MCVR.get().getInputAction(VivecraftVRMod.INSTANCE.keyFreeMoveStrafe).getLastOrigin())).withStyle(ChatFormatting.BOLD)); } else if (MCVR.get().getInputAction(VivecraftVRMod.INSTANCE.keyFreeMoveRotate).isActive()) { // moveRotate active - return Component.translatable("vivecraft.toasts.move1", Component.literal(MCVR.get().getOriginName(MCVR.get().getInputAction(VivecraftVRMod.INSTANCE.keyFreeMoveRotate).getLastOrigin())).withStyle(ChatFormatting.BOLD)); + return new TranslatableComponent("vivecraft.toasts.move1", new TextComponent(MCVR.get().getOriginName(MCVR.get().getInputAction(VivecraftVRMod.INSTANCE.keyFreeMoveRotate).getLastOrigin())).withStyle(ChatFormatting.BOLD)); } else if (MCVR.get().getInputAction(Minecraft.getInstance().options.keyUp).isActive() || MCVR.get().getInputAction(Minecraft.getInstance().options.keyDown).isActive() || MCVR.get().getInputAction(Minecraft.getInstance().options.keyLeft).isActive() || @@ -62,36 +64,36 @@ private Component alterMovementTitle(Component title) { String[] stringArray = buttons.toArray(new String[0]); return switch (buttons.size()) { - case 1 -> Component.translatable( + case 1 -> new TranslatableComponent( "vivecraft.toasts.move1", - Component.literal(stringArray[0]).withStyle(ChatFormatting.BOLD) + new TextComponent(stringArray[0]).withStyle(ChatFormatting.BOLD) ); - case 2 -> Component.translatable( + case 2 -> new TranslatableComponent( "vivecraft.toasts.move2", - Component.literal(stringArray[0]).withStyle(ChatFormatting.BOLD), - Component.literal(stringArray[1]).withStyle(ChatFormatting.BOLD) + new TextComponent(stringArray[0]).withStyle(ChatFormatting.BOLD), + new TextComponent(stringArray[1]).withStyle(ChatFormatting.BOLD) ); - case 3 -> Component.translatable( + case 3 -> new TranslatableComponent( "vivecraft.toasts.move3", - Component.literal(stringArray[0]).withStyle(ChatFormatting.BOLD), - Component.literal(stringArray[1]).withStyle(ChatFormatting.BOLD), - Component.literal(stringArray[2]).withStyle(ChatFormatting.BOLD) + new TextComponent(stringArray[0]).withStyle(ChatFormatting.BOLD), + new TextComponent(stringArray[1]).withStyle(ChatFormatting.BOLD), + new TextComponent(stringArray[2]).withStyle(ChatFormatting.BOLD) ); - case 4 -> Component.translatable( + case 4 -> new TranslatableComponent( "vivecraft.toasts.move4", - Component.literal(stringArray[0]).withStyle(ChatFormatting.BOLD), - Component.literal(stringArray[1]).withStyle(ChatFormatting.BOLD), - Component.literal(stringArray[2]).withStyle(ChatFormatting.BOLD), - Component.literal(stringArray[3]).withStyle(ChatFormatting.BOLD) + new TextComponent(stringArray[0]).withStyle(ChatFormatting.BOLD), + new TextComponent(stringArray[1]).withStyle(ChatFormatting.BOLD), + new TextComponent(stringArray[2]).withStyle(ChatFormatting.BOLD), + new TextComponent(stringArray[3]).withStyle(ChatFormatting.BOLD) ); - default -> Component.literal(""); + default -> new TextComponent(""); }; } else if (MCVR.get().getInputAction(VivecraftVRMod.INSTANCE.keyTeleportFallback).isActive()) { // teleport fallback - return Component.translatable("vivecraft.toasts.move1", Component.literal(MCVR.get().getOriginName(MCVR.get().getInputAction(VivecraftVRMod.INSTANCE.keyTeleportFallback).getLastOrigin())).withStyle(ChatFormatting.BOLD)); + return new TranslatableComponent("vivecraft.toasts.move1", new TextComponent(MCVR.get().getOriginName(MCVR.get().getInputAction(VivecraftVRMod.INSTANCE.keyTeleportFallback).getLastOrigin())).withStyle(ChatFormatting.BOLD)); } else if (MCVR.get().getInputAction(VivecraftVRMod.INSTANCE.keyTeleport).isActive()) { // teleport - return Component.translatable("vivecraft.toasts.teleport", Component.literal(MCVR.get().getOriginName(MCVR.get().getInputAction(VivecraftVRMod.INSTANCE.keyTeleport).getLastOrigin())).withStyle(ChatFormatting.BOLD)); + return new TranslatableComponent("vivecraft.toasts.teleport", new TextComponent(MCVR.get().getOriginName(MCVR.get().getInputAction(VivecraftVRMod.INSTANCE.keyTeleport).getLastOrigin())).withStyle(ChatFormatting.BOLD)); } } return title; @@ -103,7 +105,7 @@ private Component alterMovementDescription(Component description) { } if (!ClientDataHolderVR.getInstance().vrSettings.seated && MCVR.get().getInputAction(Minecraft.getInstance().options.keyJump).isActive()) { - return Component.translatable("tutorial.move.description", Component.literal(MCVR.get().getOriginName(MCVR.get().getInputAction(Minecraft.getInstance().options.keyJump).getLastOrigin())).withStyle(ChatFormatting.BOLD)); + return new TranslatableComponent("tutorial.move.description", new TextComponent(MCVR.get().getOriginName(MCVR.get().getInputAction(Minecraft.getInstance().options.keyJump).getLastOrigin())).withStyle(ChatFormatting.BOLD)); } return description; } @@ -115,7 +117,7 @@ private Component alterLookDescription(Component title) { } if (!ClientDataHolderVR.getInstance().vrSettings.seated) { - return Component.translatable("vivecraft.toasts.point_controller", Component.translatable(ClientDataHolderVR.getInstance().vrSettings.reverseHands ? "vivecraft.toasts.point_controller.left" : "vivecraft.toasts.point_controller.right").withStyle(ChatFormatting.BOLD)); + return new TranslatableComponent("vivecraft.toasts.point_controller", new TranslatableComponent(ClientDataHolderVR.getInstance().vrSettings.reverseHands ? "vivecraft.toasts.point_controller.left" : "vivecraft.toasts.point_controller.right").withStyle(ChatFormatting.BOLD)); } return title; } diff --git a/common/src/main/java/org/vivecraft/mixin/client_vr/tutorial/OpenInventoryTutorialStepVRMixin.java b/common/src/main/java/org/vivecraft/mixin/client_vr/tutorial/OpenInventoryTutorialStepVRMixin.java index 73d1feb33..2171d6ebc 100644 --- a/common/src/main/java/org/vivecraft/mixin/client_vr/tutorial/OpenInventoryTutorialStepVRMixin.java +++ b/common/src/main/java/org/vivecraft/mixin/client_vr/tutorial/OpenInventoryTutorialStepVRMixin.java @@ -4,6 +4,8 @@ import net.minecraft.client.Minecraft; import net.minecraft.client.tutorial.OpenInventoryTutorialStep; import net.minecraft.network.chat.Component; +import net.minecraft.network.chat.TextComponent; +import net.minecraft.network.chat.TranslatableComponent; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.ModifyArg; @@ -19,7 +21,7 @@ private Component alterDescription(Component component) { return component; } if (!ClientDataHolderVR.getInstance().vrSettings.seated && MCVR.get().getInputAction(Minecraft.getInstance().options.keyInventory).isActive()) { - return Component.translatable("tutorial.open_inventory.description", Component.literal(MCVR.get().getOriginName(MCVR.get().getInputAction(Minecraft.getInstance().options.keyInventory).getLastOrigin())).withStyle(ChatFormatting.BOLD)); + return new TranslatableComponent("tutorial.open_inventory.description", new TextComponent(MCVR.get().getOriginName(MCVR.get().getInputAction(Minecraft.getInstance().options.keyInventory).getLastOrigin())).withStyle(ChatFormatting.BOLD)); } return component; } diff --git a/common/src/main/java/org/vivecraft/mixin/client_vr/tutorial/PunchTreeTutorialStepInstanceVRMixin.java b/common/src/main/java/org/vivecraft/mixin/client_vr/tutorial/PunchTreeTutorialStepInstanceVRMixin.java index a3abec9b8..2c25b21b1 100644 --- a/common/src/main/java/org/vivecraft/mixin/client_vr/tutorial/PunchTreeTutorialStepInstanceVRMixin.java +++ b/common/src/main/java/org/vivecraft/mixin/client_vr/tutorial/PunchTreeTutorialStepInstanceVRMixin.java @@ -2,6 +2,7 @@ import net.minecraft.client.tutorial.PunchTreeTutorialStepInstance; import net.minecraft.network.chat.Component; +import net.minecraft.network.chat.TranslatableComponent; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.ModifyArg; @@ -16,7 +17,7 @@ private Component alterDescription(Component component) { return component; } if (!ClientDataHolderVR.getInstance().vrSettings.seated) { - return Component.translatable("tutorial.find_tree.description"); + return new TranslatableComponent("tutorial.find_tree.description"); } return component; } diff --git a/fabric/src/main/java/org/vivecraft/fabric/mixin/world/level/biome/BiomeAccessor.java b/common/src/main/java/org/vivecraft/mixin/client_vr/world/level/biome/BiomeAccessor.java similarity index 82% rename from fabric/src/main/java/org/vivecraft/fabric/mixin/world/level/biome/BiomeAccessor.java rename to common/src/main/java/org/vivecraft/mixin/client_vr/world/level/biome/BiomeAccessor.java index 9c174d052..1b38d365d 100644 --- a/fabric/src/main/java/org/vivecraft/fabric/mixin/world/level/biome/BiomeAccessor.java +++ b/common/src/main/java/org/vivecraft/mixin/client_vr/world/level/biome/BiomeAccessor.java @@ -1,4 +1,4 @@ -package org.vivecraft.fabric.mixin.world.level.biome; +package org.vivecraft.mixin.client_vr.world.level.biome; import net.minecraft.world.level.biome.Biome; import org.spongepowered.asm.mixin.Mixin; 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 864d20b5f..09e227b66 100644 --- a/common/src/main/java/org/vivecraft/mixin/server/ServerGamePacketListenerImplMixin.java +++ b/common/src/main/java/org/vivecraft/mixin/server/ServerGamePacketListenerImplMixin.java @@ -1,6 +1,9 @@ package org.vivecraft.mixin.server; +import net.minecraft.Util; +import net.minecraft.network.chat.ChatType; import net.minecraft.network.chat.Component; +import net.minecraft.network.chat.TextComponent; import net.minecraft.network.protocol.PacketUtils; import org.spongepowered.asm.mixin.Final; import org.spongepowered.asm.mixin.Mixin; @@ -73,7 +76,7 @@ public void doLeaveMessage(Component component, CallbackInfo ci) { if (ServerConfig.messagesEnabled.get()) { String message = ServerConfig.messagesLeaveMessage.get(); if (!message.isEmpty()) { - this.server.getPlayerList().broadcastSystemMessage(Component.literal(message.formatted(this.player.getName().getString())), false); + this.server.getPlayerList().broadcastMessage(new TextComponent(message.formatted(this.player.getName().getString())), ChatType.SYSTEM, Util.NIL_UUID); } } } 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 c32a9e349..9260848bc 100644 --- a/common/src/main/java/org/vivecraft/mixin/server/ServerPlayerMixin.java +++ b/common/src/main/java/org/vivecraft/mixin/server/ServerPlayerMixin.java @@ -1,7 +1,6 @@ package org.vivecraft.mixin.server; import net.minecraft.server.MinecraftServer; -import net.minecraft.world.entity.player.ProfilePublicKey; import net.minecraft.world.damagesource.DamageSource; import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.projectile.AbstractArrow; @@ -24,9 +23,12 @@ import net.minecraft.core.BlockPos; import net.minecraft.core.particles.ItemParticleOption; import net.minecraft.core.particles.ParticleTypes; +import net.minecraft.network.chat.ChatType; import net.minecraft.network.chat.Component; +import net.minecraft.network.chat.TextComponent; import net.minecraft.server.level.ServerLevel; import net.minecraft.server.level.ServerPlayer; +import net.minecraft.Util; import net.minecraft.util.Mth; import net.minecraft.world.InteractionHand; import net.minecraft.world.entity.item.ItemEntity; @@ -42,7 +44,8 @@ @Mixin(ServerPlayer.class) public abstract class ServerPlayerMixin extends Player { - @Shadow @Final public MinecraftServer server; + @Shadow @Final + public MinecraftServer server; @Unique private String language = "en_us"; @Unique @@ -50,8 +53,8 @@ public abstract class ServerPlayerMixin extends Player { @Unique private Component tabListDisplayName = null; - public ServerPlayerMixin(Level level, BlockPos blockPos, float f, GameProfile gameProfile, ProfilePublicKey profilePublicKey) { - super(level, blockPos, f, gameProfile, profilePublicKey); + public ServerPlayerMixin(Level level, BlockPos blockPos, float f, GameProfile gameProfile) { + super(level, blockPos, f, gameProfile); } @Inject(at = @At("TAIL"), method = "initInventoryMenu") @@ -60,10 +63,10 @@ public void menu(CallbackInfo ci) { if (ServerConfig.vrFun.get() && serverviveplayer != null && serverviveplayer.isVR() && this.random.nextInt(40) == 3) { ItemStack itemstack; if (this.random.nextInt(2) == 1) { - itemstack = (new ItemStack(Items.PUMPKIN_PIE)).setHoverName(Component.literal("EAT ME")); + itemstack = (new ItemStack(Items.PUMPKIN_PIE)).setHoverName(new TextComponent("EAT ME")); } else { itemstack = PotionUtils.setPotion(new ItemStack(Items.POTION), Potions.WATER) - .setHoverName(Component.literal("DRINK ME")); + .setHoverName(new TextComponent("DRINK ME")); } itemstack.getTag().putInt("HideFlags", 32); @@ -186,33 +189,33 @@ public void checkCanGetHurt(DamageSource damageSource, float f, CallbackInfoRetu || (!thisVive.isVR() && otherVive.isVR() && otherVive.isSeated())) { // nonvr vs Seated if (!ServerConfig.pvpSEATEDVRvsNONVR.get()) { - server.getPlayerList().broadcastSystemMessage(Component.literal("canceled non vs seat"), false); + server.getPlayerList().broadcastMessage(new TextComponent("canceled non vs seat"), ChatType.SYSTEM, Util.NIL_UUID); cir.setReturnValue(false); } } else if ((!otherVive.isVR() && thisVive.isVR() && !thisVive.isSeated()) || (!thisVive.isVR() && otherVive.isVR() && !otherVive.isSeated())) { // nonvr vs Standing if (!ServerConfig.pvpVRvsNONVR.get()) { - server.getPlayerList().broadcastSystemMessage(Component.literal("canceled non vs stand"), false); + server.getPlayerList().broadcastMessage(new TextComponent("canceled non vs stand"), ChatType.SYSTEM, Util.NIL_UUID); cir.setReturnValue(false); } } else if ((otherVive.isVR() && otherVive.isSeated() && thisVive.isVR() && !thisVive.isSeated()) || (thisVive.isVR() && thisVive.isSeated() && otherVive.isVR() && !otherVive.isSeated())) { // Standing vs Seated if (!ServerConfig.pvpVRvsSEATEDVR.get()) { - server.getPlayerList().broadcastSystemMessage(Component.literal("canceled seat vs stand"), false); + server.getPlayerList().broadcastMessage(new TextComponent("canceled seat vs stand"), ChatType.SYSTEM, Util.NIL_UUID); cir.setReturnValue(false); } } else if (otherVive.isVR() && !otherVive.isSeated() && thisVive.isVR() && !thisVive.isSeated()) { // Standing vs Standing if (!ServerConfig.pvpVRvsVR.get()) { - server.getPlayerList().broadcastSystemMessage(Component.literal("canceled stand vs stand"), false); + server.getPlayerList().broadcastMessage(new TextComponent("canceled stand vs stand"), ChatType.SYSTEM, Util.NIL_UUID); cir.setReturnValue(false); } } else if (otherVive.isVR() && otherVive.isSeated() && thisVive.isVR() && thisVive.isSeated()){ // Seated vs Seated if (!ServerConfig.pvpSEATEDVRvsSEATEDVR.get()) { - server.getPlayerList().broadcastSystemMessage(Component.literal("canceled seat vs seat"), false); + server.getPlayerList().broadcastMessage(new TextComponent("canceled seat vs seat"), ChatType.SYSTEM, Util.NIL_UUID); cir.setReturnValue(false); } } 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 65dead252..7350902a0 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 @@ -89,7 +89,7 @@ public void damageMultiplier(EntityHitResult entityHitResult, CallbackInfo ci) { - this.getDeltaMovement().z, 0.1); // send sound effect - owner.connection.send(new ClientboundSoundPacket(SoundEvents.ITEM_BREAK, SoundSource.PLAYERS, owner.getX(), owner.getY(), owner.getZ(), 0.7f, 0.5f, owner.level.random.nextLong())); + owner.connection.send(new ClientboundSoundPacket(SoundEvents.ITEM_BREAK, SoundSource.PLAYERS, owner.getX(), owner.getY(), owner.getZ(), 0.7f, 0.5f)); } } // if headshots are disabled, still use the regular multiplier diff --git a/common/src/main/java/org/vivecraft/mixin/world/item/crafting/ShapedRecipeMixin.java b/common/src/main/java/org/vivecraft/mixin/world/item/crafting/ShapedRecipeMixin.java index 21b169fba..3c2727ceb 100644 --- a/common/src/main/java/org/vivecraft/mixin/world/item/crafting/ShapedRecipeMixin.java +++ b/common/src/main/java/org/vivecraft/mixin/world/item/crafting/ShapedRecipeMixin.java @@ -4,7 +4,7 @@ import com.google.gson.JsonParseException; import com.google.gson.JsonSyntaxException; import net.minecraft.core.Registry; -import net.minecraft.network.chat.Component; +import net.minecraft.network.chat.TranslatableComponent; import net.minecraft.resources.ResourceLocation; import net.minecraft.util.GsonHelper; import net.minecraft.world.item.Item; @@ -47,7 +47,7 @@ private static ItemStack customizeVanillaItemStack(JsonObject jsonObject, Item v throw new JsonSyntaxException("Invalid output count: " + i); } else { ItemStack itemStack = new ItemStack(vanillaItem, i); - itemStack.setHoverName(Component.translatable(jsonObject.get("name").getAsString())); + itemStack.setHoverName(new TranslatableComponent(jsonObject.get("name").getAsString())); itemStack.getOrCreateTag().putBoolean("Unbreakable", GsonHelper.getAsBoolean(jsonObject, "unbreakable", false)); itemStack.getOrCreateTag().putInt("HideFlags", GsonHelper.getAsInt(jsonObject, "hideflags", 0)); return itemStack; diff --git a/common/src/main/java/org/vivecraft/mod_compat_vr/physicsmod/mixin/OptionsScreenMixin.java b/common/src/main/java/org/vivecraft/mod_compat_vr/physicsmod/mixin/OptionsScreenMixin.java index d8fa9ca22..bc851f65d 100644 --- a/common/src/main/java/org/vivecraft/mod_compat_vr/physicsmod/mixin/OptionsScreenMixin.java +++ b/common/src/main/java/org/vivecraft/mod_compat_vr/physicsmod/mixin/OptionsScreenMixin.java @@ -5,7 +5,7 @@ import net.minecraft.client.gui.screens.OptionsScreen; import net.minecraft.client.gui.screens.Screen; import net.minecraft.network.chat.Component; -import net.minecraft.network.chat.contents.TranslatableContents; +import net.minecraft.network.chat.TranslatableComponent; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Inject; @@ -23,7 +23,7 @@ protected OptionsScreenMixin(Component component) { private void reducePhysicsmodButtonSize(CallbackInfo ci) { for (GuiEventListener guiEventListener : children()) { if (guiEventListener instanceof Button button) { - if (button.getMessage().getContents() instanceof TranslatableContents contents && "physicsmod.menu.main.title".equals(contents.getKey())) { + if (button.getMessage() instanceof TranslatableComponent contents && "physicsmod.menu.main.title".equals(contents.getKey())) { // physics mods button would collide with ours, so make it half size to the right button.x = button.x + button.getWidth()/2 + 5; button.setWidth(button.getWidth()/2 - 5); diff --git a/common/src/main/java/org/vivecraft/server/ServerNetworking.java b/common/src/main/java/org/vivecraft/server/ServerNetworking.java index 2da7ae6fc..3ac07cc39 100644 --- a/common/src/main/java/org/vivecraft/server/ServerNetworking.java +++ b/common/src/main/java/org/vivecraft/server/ServerNetworking.java @@ -2,8 +2,9 @@ import com.mojang.logging.LogUtils; import io.netty.buffer.Unpooled; +import net.minecraft.Util; import net.minecraft.network.FriendlyByteBuf; -import net.minecraft.network.chat.Component; +import net.minecraft.network.chat.TextComponent; import net.minecraft.network.protocol.game.ClientboundCustomPayloadPacket; import net.minecraft.server.level.ServerChunkCache; import net.minecraft.server.level.ServerPlayer; @@ -67,7 +68,7 @@ public static void handlePacket(CommonNetworkHelper.PacketDiscriminators packetI } } else { // unsupported version, send notification, and disregard - listener.player.sendSystemMessage(Component.literal("Unsupported vivecraft version, VR features will not work")); + listener.player.sendMessage(new TextComponent("Unsupported vivecraft version, VR features will not work"), Util.NIL_UUID); if (ServerConfig.debug.get()) { LOGGER.info("{} networking not supported. client range [{},{}], server range [{},{}]", listener.player.getName().getString(), diff --git a/common/src/main/java/org/vivecraft/server/ServerUtil.java b/common/src/main/java/org/vivecraft/server/ServerUtil.java index 6486d958a..3edf74927 100644 --- a/common/src/main/java/org/vivecraft/server/ServerUtil.java +++ b/common/src/main/java/org/vivecraft/server/ServerUtil.java @@ -2,9 +2,11 @@ import com.mojang.brigadier.CommandDispatcher; import com.mojang.brigadier.arguments.*; +import net.minecraft.Util; import net.minecraft.commands.Commands; import net.minecraft.core.Registry; -import net.minecraft.network.chat.Component; +import net.minecraft.network.chat.ChatType; +import net.minecraft.network.chat.TextComponent; import net.minecraft.server.level.ServerPlayer; import org.vivecraft.client.utils.UpdateChecker; import org.vivecraft.server.config.ConfigBuilder; @@ -37,14 +39,14 @@ public static void scheduleWelcomeMessageOrKick(ServerPlayer serverPlayer) { // kick non VR players if (!isOpAndAllowed && ServerConfig.vr_only.get() && (vivePlayer == null || !vivePlayer.isVR())) { - serverPlayer.connection.disconnect(Component.literal(ServerConfig.messagesKickVROnly.get())); + serverPlayer.connection.disconnect(new TextComponent(ServerConfig.messagesKickVROnly.get())); return; } // kick non vivecraft players if (!isOpAndAllowed && ServerConfig.vive_only.get() && (vivePlayer == null)) { - serverPlayer.connection.disconnect(Component.literal(ServerConfig.messagesKickViveOnly.get())); + serverPlayer.connection.disconnect(new TextComponent(ServerConfig.messagesKickViveOnly.get())); return; } @@ -63,7 +65,7 @@ public static void scheduleWelcomeMessageOrKick(ServerPlayer serverPlayer) { } // actually send the message, if there is one set if (!message.isEmpty()) { - serverPlayer.server.getPlayerList().broadcastSystemMessage(Component.literal(message.formatted(serverPlayer.getName().getString())), false); + serverPlayer.server.getPlayerList().broadcastMessage(new TextComponent(message.formatted(serverPlayer.getName().getString())), ChatType.SYSTEM, Util.NIL_UUID); } } } @@ -78,7 +80,7 @@ public static void sendUpdateNotificationIfOP (ServerPlayer serverPlayer) { // check for update on not the main thread scheduler.schedule(() -> { if (UpdateChecker.checkForUpdates()) { - serverPlayer.sendSystemMessage(Component.literal("Vivecraft update available: §a" + UpdateChecker.newestVersion)); + serverPlayer.sendMessage(new TextComponent("Vivecraft update available: §a" + UpdateChecker.newestVersion), Util.NIL_UUID); } }, 0, TimeUnit.MILLISECONDS); } @@ -89,7 +91,7 @@ public static void registerCommands(CommandDispatcher source.hasPermission(4)).then( Commands.literal("reload").executes(context -> { ServerConfig.init((action, path, incorrectValue, correctedValue) -> context.getSource() - .sendSystemMessage(Component.literal("Corrected §a[" + String.join("§r.§a", path) + "]§r: was '(" + incorrectValue.getClass().getSimpleName() + ")" + incorrectValue + "', is now '(" + correctedValue.getClass().getSimpleName() + ")" + correctedValue + "'"))); + .sendSuccess(new TextComponent("Corrected §a[" + String.join("§r.§a", path) + "]§r: was '(" + incorrectValue.getClass().getSimpleName() + ")" + incorrectValue + "', is now '(" + correctedValue.getClass().getSimpleName() + ")" + correctedValue + "'"), true)); return 1; }) ) @@ -123,7 +125,7 @@ public static void registerCommands(CommandDispatcher list = listConfig.get(); list.remove(newValue); listConfig.set(list); - context.getSource().sendSystemMessage(Component.literal("removed '" + newValue + "' from §a[" + setting.getPath() + "]§r")); - context.getSource().sendSystemMessage(Component.literal("is now '" + setting.get())); + context.getSource().sendSuccess(new TextComponent("removed '" + newValue + "' from §a[" + setting.getPath() + "]§r"), true); + context.getSource().sendSuccess(new TextComponent("is now '" + setting.get()), true); return 1; }) ) @@ -187,7 +189,7 @@ public static void registerCommands(CommandDispatcher { Object newValue = setting.reset(); - context.getSource().sendSystemMessage(Component.literal("reset §a[" + setting.getPath() + "]§r to '" + newValue + "'")); + context.getSource().sendSuccess(new TextComponent("reset §a[" + setting.getPath() + "]§r to '" + newValue + "'"), true); return 1; }) ) @@ -196,7 +198,7 @@ public static void registerCommands(CommandDispatcher source.hasPermission(4)).then( Commands.literal(setting.getPath()) .executes(context -> { - context.getSource().sendSystemMessage(Component.literal("§a[" + setting.getPath() + "]§r is set to '" + setting.get() + "'")); + context.getSource().sendSuccess(new TextComponent("§a[" + setting.getPath() + "]§r is set to '" + setting.get() + "'"), true); return 1; }) )); diff --git a/common/src/main/resources/vivecraft.accesswidener b/common/src/main/resources/vivecraft.accesswidener index 724df447c..ea6f1e60e 100644 --- a/common/src/main/resources/vivecraft.accesswidener +++ b/common/src/main/resources/vivecraft.accesswidener @@ -97,5 +97,8 @@ accessible field net/minecraft/client/multiplayer/ClientLevel$ClientLevelData is 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 +accessible field net/minecraft/world/level/biome/Biome$ClimateSettings temperatureModifier Lnet/minecraft/world/level/biome/Biome$TemperatureModifier; extendable class net/minecraft/world/level/material/FluidState -accessible field net/minecraft/world/level/block/state/StateHolder propertiesCodec Lcom/mojang/serialization/MapCodec; \ No newline at end of file +accessible field net/minecraft/world/level/block/state/StateHolder propertiesCodec Lcom/mojang/serialization/MapCodec; +accessible field net/minecraft/world/level/dimension/DimensionType ambientLight F +accessible field net/minecraft/world/level/dimension/DimensionType fixedTime Ljava/util/OptionalLong; \ No newline at end of file diff --git a/common/src/main/resources/vivecraft.mixins.json b/common/src/main/resources/vivecraft.mixins.json index d62d3e491..b065fa120 100644 --- a/common/src/main/resources/vivecraft.mixins.json +++ b/common/src/main/resources/vivecraft.mixins.json @@ -44,7 +44,6 @@ "client_vr.player.LocalPlayerVRMixin", "client_vr.renderer.GameRendererVRMixin", "client_vr.renderer.ItemInHandRendererVRMixin", - "client_vr.renderer.ItemPropertiesVRMixin", "client_vr.renderer.LevelRendererVRMixin", "client_vr.renderer.NoSodiumLevelRendererVRMixin", "client_vr.renderer.PostChainVRMixin", @@ -63,7 +62,8 @@ "client_vr.world.ItemVRMixin", "client_vr.world.PotionItemVRMixin", "client_vr.world.entity.projectile.FireworkRocketEntityVRMixin", - "client_vr.world.entity.player.PlayerVRMixin" + "client_vr.world.entity.player.PlayerVRMixin", + "client_vr.world.level.biome.BiomeAccessor" ], "minVersion": "0.8.4", "mixins": [ diff --git a/fabric/build.gradle b/fabric/build.gradle index 42adb80b8..4c8e5c0a2 100644 --- a/fabric/build.gradle +++ b/fabric/build.gradle @@ -29,31 +29,31 @@ dependencies { modApi("dev.architectury:architectury-fabric:${rootProject.architectury_version}") // for sodium compat - modCompileOnly "maven.modrinth:sodium:mc1.19.2-0.4.4" + modCompileOnly "maven.modrinth:sodium:mc1.18.2-0.4.1" // for iris compat - modCompileOnly "maven.modrinth:iris:1.5.2+1.19.2" + modCompileOnly "maven.modrinth:iris:1.5.2+1.18.2" modRuntimeOnly 'org.anarres:jcpp:1.4.14' //temp iris modRuntimeOnly 'io.github.douira:glsl-transformer:2.0.0-pre9' //temp iris // for REI compat - modRuntimeOnly "me.shedaniel:RoughlyEnoughItems-fabric:9.1.619" + modCompileOnly "me.shedaniel:RoughlyEnoughItems-fabric:8.3.618" // for Pehkui compat - modRuntimeOnly("com.github.Virtuoel:Pehkui:3.7.1", { exclude group: "net.fabricmc.fabric-api" }) + modCompileOnly("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") - modCompileOnly "maven.modrinth:lithium:mc1.19.2-0.11.1" - modCompileOnly "maven.modrinth:indium:1.0.9+mc1.19.2" + // modRuntimeOnly("com.simibubi.create:create-fabric-1.18.2:0.5.0.i-1016+1.18.2") + modCompileOnly "maven.modrinth:lithium:mc1.18.2-0.10.3" + modCompileOnly "maven.modrinth:indium:1.0.7+mc1.18.2" /* // for immersive portals compat - modRuntimeOnly ('com.github.qouteall.ImmersivePortalsMod:imm_ptl_core:v2.3.2-mc1.19.2'){ //temp immersiveportals + modRuntimeOnly ('com.github.qouteall.ImmersivePortalsMod:imm_ptl_core:v1.4.11-1.18'){ //temp immersiveportals exclude(group: "net.fabricmc.fabric-api") transitive(false) } - modRuntimeOnly ('com.github.qouteall.ImmersivePortalsMod:q_misc_util:v2.3.2-mc1.19.2'){ //temp immersiveportals + modRuntimeOnly ('com.github.qouteall.ImmersivePortalsMod:q_misc_util:v1.4.11-1.18'){ //temp immersiveportals exclude(group: "net.fabricmc.fabric-api") transitive(false) } @@ -63,15 +63,15 @@ dependencies { include(modImplementation(fabricApi.module("fabric-resource-loader-v0", rootProject.fabric_api_version))) // commands also needs base include(modImplementation(fabricApi.module("fabric-api-base", rootProject.fabric_api_version))) - include(modImplementation(fabricApi.module("fabric-command-api-v2", rootProject.fabric_api_version))) + include(modImplementation(fabricApi.module("fabric-command-api-v1", rootProject.fabric_api_version))) include(implementation('com.electronwill.night-config:toml:3.6.6')) include(implementation('com.electronwill.night-config:core:3.6.6')) - include(implementation("org.lwjgl:lwjgl-openvr:3.3.1")) - include(implementation("org.lwjgl:lwjgl-openvr:3.3.1:natives-linux")) - include(implementation("org.lwjgl:lwjgl-openvr:3.3.1:natives-macos")) - include(implementation("org.lwjgl:lwjgl-openvr:3.3.1:natives-windows")) + include(implementation("org.lwjgl:lwjgl-openvr:3.2.2")) + include(implementation("org.lwjgl:lwjgl-openvr:3.2.2:natives-linux")) + include(implementation("org.lwjgl:lwjgl-openvr:3.2.2:natives-macos")) + include(implementation("org.lwjgl:lwjgl-openvr:3.2.2:natives-windows")) } diff --git a/fabric/src/main/java/org/vivecraft/client/fabric/XplatImpl.java b/fabric/src/main/java/org/vivecraft/client/fabric/XplatImpl.java index ae8ad8c95..897ec36bb 100644 --- a/fabric/src/main/java/org/vivecraft/client/fabric/XplatImpl.java +++ b/fabric/src/main/java/org/vivecraft/client/fabric/XplatImpl.java @@ -14,7 +14,7 @@ import net.minecraft.world.level.biome.BiomeSpecialEffects; import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.material.FluidState; -import org.vivecraft.fabric.mixin.world.level.biome.BiomeAccessor; +import org.vivecraft.mixin.client_vr.world.level.biome.BiomeAccessor; import java.nio.file.Path; diff --git a/fabric/src/main/java/org/vivecraft/fabric/VivecraftMod.java b/fabric/src/main/java/org/vivecraft/fabric/VivecraftMod.java index 2a50bfb85..d421e77e9 100644 --- a/fabric/src/main/java/org/vivecraft/fabric/VivecraftMod.java +++ b/fabric/src/main/java/org/vivecraft/fabric/VivecraftMod.java @@ -1,7 +1,7 @@ package org.vivecraft.fabric; import net.fabricmc.api.ModInitializer; -import net.fabricmc.fabric.api.command.v2.CommandRegistrationCallback; +import net.fabricmc.fabric.api.command.v1.CommandRegistrationCallback; import org.vivecraft.server.config.ServerConfig; import org.vivecraft.server.ServerUtil; @@ -12,7 +12,7 @@ public void onInitialize() { ServerConfig.init(null); // add server config commands - CommandRegistrationCallback.EVENT.register((dispatcher, registryAccess, environment) -> + CommandRegistrationCallback.EVENT.register((dispatcher, dedicated) -> ServerUtil.registerCommands(dispatcher)); } } diff --git a/fabric/src/main/resources/fabric.mod.json b/fabric/src/main/resources/fabric.mod.json index 614c8a392..10f1a1a77 100644 --- a/fabric/src/main/resources/fabric.mod.json +++ b/fabric/src/main/resources/fabric.mod.json @@ -36,7 +36,7 @@ ], "depends": { "fabricloader": ">=0.11.3", - "minecraft": "1.19.2", + "minecraft": "1.18.2", "java": ">=17" }, "suggests": { diff --git a/fabric/src/main/resources/vivecraft.fabric.mixins.json b/fabric/src/main/resources/vivecraft.fabric.mixins.json index 6fee324bf..39c37ce53 100644 --- a/fabric/src/main/resources/vivecraft.fabric.mixins.json +++ b/fabric/src/main/resources/vivecraft.fabric.mixins.json @@ -6,8 +6,7 @@ "client": [ "FabricGameRendererVRMixin", "client.resources.model.FabricModelBakeryMixin", - "screenhandler.client.FabricClientNetworkingVRMixin", - "world.level.biome.BiomeAccessor" + "screenhandler.client.FabricClientNetworkingVRMixin" ], "minVersion": "0.8.4" } \ No newline at end of file diff --git a/forge/build.gradle b/forge/build.gradle index 06554c4b0..42dbf0ebb 100644 --- a/forge/build.gradle +++ b/forge/build.gradle @@ -48,16 +48,16 @@ dependencies { modCompileOnly("maven.modrinth:rubidium:0.6.2b") modCompileOnly("maven.modrinth:oculus:1.19.2-1.6.4") - forgeRuntimeLibrary("org.lwjgl:lwjgl-openvr:3.3.1") - forgeRuntimeLibrary("org.lwjgl:lwjgl-openvr:3.3.1:natives-linux") - forgeRuntimeLibrary("org.lwjgl:lwjgl-openvr:3.3.1:natives-macos") - forgeRuntimeLibrary("org.lwjgl:lwjgl-openvr:3.3.1:natives-windows") + forgeRuntimeLibrary("org.lwjgl:lwjgl-openvr:3.2.2") + forgeRuntimeLibrary("org.lwjgl:lwjgl-openvr:3.2.2:natives-linux") + forgeRuntimeLibrary("org.lwjgl:lwjgl-openvr:3.2.2:natives-macos") + forgeRuntimeLibrary("org.lwjgl:lwjgl-openvr:3.2.2:natives-windows") // shadow the natives - bundle ("org.lwjgl:lwjgl-openvr:3.3.1") { transitive = false } - bundle ("org.lwjgl:lwjgl-openvr:3.3.1:natives-linux") { transitive = false } - bundle ("org.lwjgl:lwjgl-openvr:3.3.1:natives-macos") { transitive = false } - bundle ("org.lwjgl:lwjgl-openvr:3.3.1:natives-windows") { transitive = false } + bundle ("org.lwjgl:lwjgl-openvr:3.2.2") { transitive = false } + bundle ("org.lwjgl:lwjgl-openvr:3.2.2:natives-linux") { transitive = false } + bundle ("org.lwjgl:lwjgl-openvr:3.2.2:natives-macos") { transitive = false } + bundle ("org.lwjgl:lwjgl-openvr:3.2.2:natives-windows") { transitive = false } } processResources { diff --git a/forge/src/main/java/org/vivecraft/client/forge/XeventsImpl.java b/forge/src/main/java/org/vivecraft/client/forge/XeventsImpl.java index 126ecdaa0..8747af7c4 100644 --- a/forge/src/main/java/org/vivecraft/client/forge/XeventsImpl.java +++ b/forge/src/main/java/org/vivecraft/client/forge/XeventsImpl.java @@ -4,22 +4,21 @@ import net.minecraft.core.BlockPos; import net.minecraft.world.entity.player.Player; import net.minecraft.world.level.block.state.BlockState; -import net.minecraftforge.client.ForgeHooksClient; -import net.minecraftforge.client.event.RenderBlockScreenEffectEvent; +import net.minecraftforge.client.event.RenderBlockOverlayEvent; import net.minecraftforge.event.ForgeEventFactory; public class XeventsImpl { public static boolean renderBlockOverlay(Player player, PoseStack mat, BlockState state, BlockPos pos) { - return ForgeHooksClient.renderBlockOverlay(player, mat, RenderBlockScreenEffectEvent.OverlayType.BLOCK, state, pos); + return ForgeEventFactory.renderBlockOverlay(player, mat, RenderBlockOverlayEvent.OverlayType.BLOCK, state, pos); } public static boolean renderWaterOverlay(Player player, PoseStack mat) { - return ForgeHooksClient.renderWaterOverlay(player, mat); + return ForgeEventFactory.renderWaterOverlay(player, mat); } public static boolean renderFireOverlay(Player player, PoseStack mat) { - return ForgeHooksClient.renderFireOverlay(player, mat); + return ForgeEventFactory.renderFireOverlay(player, mat); } public static void onRenderTickStart(float f) { diff --git a/forge/src/main/java/org/vivecraft/client/forge/XplatImpl.java b/forge/src/main/java/org/vivecraft/client/forge/XplatImpl.java index c940809f7..5ae8d24af 100644 --- a/forge/src/main/java/org/vivecraft/client/forge/XplatImpl.java +++ b/forge/src/main/java/org/vivecraft/client/forge/XplatImpl.java @@ -13,6 +13,7 @@ import net.minecraftforge.fml.loading.FMLLoader; import net.minecraftforge.fml.loading.FMLPaths; import net.minecraftforge.fml.util.ObfuscationReflectionHelper; +import org.vivecraft.mixin.client_vr.world.level.biome.BiomeAccessor; import java.nio.file.Path; @@ -70,10 +71,10 @@ public static TextureAtlasSprite[] getFluidTextures(BlockAndTintGetter level, Bl } public static Biome.ClimateSettings getBiomeClimateSettings(Biome biome){ - return biome.getModifiedClimateSettings(); + return ((BiomeAccessor)(Object)biome).getClimateSettings(); } public static BiomeSpecialEffects getBiomeEffects(Biome biome){ - return biome.getModifiedSpecialEffects(); + return biome.getSpecialEffects(); } } diff --git a/forge/src/main/java/org/vivecraft/forge/Vivecraft.java b/forge/src/main/java/org/vivecraft/forge/Vivecraft.java index c53e4f82b..c4acbb64b 100644 --- a/forge/src/main/java/org/vivecraft/forge/Vivecraft.java +++ b/forge/src/main/java/org/vivecraft/forge/Vivecraft.java @@ -1,6 +1,9 @@ package org.vivecraft.forge; +import net.minecraftforge.fml.IExtensionPoint; +import net.minecraftforge.fml.ModLoadingContext; import net.minecraftforge.fml.common.Mod; +import net.minecraftforge.network.NetworkConstants; import org.vivecraft.server.config.ServerConfig; @Mod(Vivecraft.MODID) @@ -10,5 +13,9 @@ public class Vivecraft { public Vivecraft() { // init server config ServerConfig.init(null); + ModLoadingContext.get().registerExtensionPoint(IExtensionPoint.DisplayTest.class, ()-> new IExtensionPoint.DisplayTest( + () -> NetworkConstants.IGNORESERVERONLY, // only needed on server, client is optional + (s,b) -> true // any version is good + )); } } diff --git a/forge/src/main/java/org/vivecraft/forge/event/ClientEvents.java b/forge/src/main/java/org/vivecraft/forge/event/ClientEvents.java index 97aadd60b..5d4b6aa00 100644 --- a/forge/src/main/java/org/vivecraft/forge/event/ClientEvents.java +++ b/forge/src/main/java/org/vivecraft/forge/event/ClientEvents.java @@ -1,7 +1,8 @@ package org.vivecraft.forge.event; import net.minecraftforge.api.distmarker.Dist; -import net.minecraftforge.client.event.ModelEvent; +import net.minecraftforge.client.event.ModelRegistryEvent; +import net.minecraftforge.client.model.ForgeModelBakery; import net.minecraftforge.eventbus.api.SubscribeEvent; import net.minecraftforge.fml.common.Mod; import org.vivecraft.client_vr.ClientDataHolderVR; @@ -11,11 +12,11 @@ @Mod.EventBusSubscriber(value = Dist.CLIENT, bus = Mod.EventBusSubscriber.Bus.MOD) public class ClientEvents { @SubscribeEvent - public static void registerModels(ModelEvent.RegisterAdditional event) { - event.register(TelescopeTracker.scopeModel); - event.register(ClientDataHolderVR.thirdPersonCameraModel); - event.register(ClientDataHolderVR.thirdPersonCameraDisplayModel); - event.register(CameraTracker.cameraModel); - event.register(CameraTracker.cameraDisplayModel); + public static void registerModels(ModelRegistryEvent event) { + ForgeModelBakery.addSpecialModel(TelescopeTracker.scopeModel); + ForgeModelBakery.addSpecialModel(ClientDataHolderVR.thirdPersonCameraModel); + ForgeModelBakery.addSpecialModel(ClientDataHolderVR.thirdPersonCameraDisplayModel); + ForgeModelBakery.addSpecialModel(CameraTracker.cameraModel); + ForgeModelBakery.addSpecialModel(CameraTracker.cameraDisplayModel); } } 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 b61b7e56c..f4bc3e3da 100644 --- a/forge/src/main/java/org/vivecraft/forge/mixin/ForgeIngameGuiVRMixin.java +++ b/forge/src/main/java/org/vivecraft/forge/mixin/ForgeIngameGuiVRMixin.java @@ -2,9 +2,8 @@ import com.mojang.blaze3d.vertex.PoseStack; import net.minecraft.client.KeyMapping; -import net.minecraftforge.client.gui.overlay.ForgeGui; -import net.minecraftforge.client.gui.overlay.NamedGuiOverlay; -import net.minecraftforge.client.gui.overlay.VanillaGuiOverlay; +import net.minecraftforge.client.gui.ForgeIngameGui; +import net.minecraftforge.client.gui.IIngameOverlay; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Inject; @@ -13,11 +12,11 @@ import org.vivecraft.client_vr.extensions.GuiExtension; import org.vivecraft.client_xr.render_pass.RenderPassType; -@Mixin(ForgeGui.class) +@Mixin(ForgeIngameGui.class) public abstract class ForgeIngameGuiVRMixin{ - @Inject(method = "pre", at = @At("HEAD"), remap = false, cancellable = true) - 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())) { + @Inject(method = "pre(Lnet/minecraftforge/client/gui/IIngameOverlay;Lcom/mojang/blaze3d/vertex/PoseStack;)Z", at = @At("HEAD"), remap = false, cancellable = true) + private void noStuff(IIngameOverlay overlay, PoseStack poseStack, CallbackInfoReturnable info) { + if (RenderPassType.isGuiOnly() && (overlay == ForgeIngameGui.VIGNETTE_ELEMENT || overlay == ForgeIngameGui.SPYGLASS_ELEMENT || overlay == ForgeIngameGui.HELMET_ELEMENT || overlay == ForgeIngameGui.FROSTBITE_ELEMENT || overlay == ForgeIngameGui.PORTAL_ELEMENT)) { info.setReturnValue(true); } } diff --git a/forge/src/main/resources/META-INF/mods.toml b/forge/src/main/resources/META-INF/mods.toml index 13e2521b0..270539ee8 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 = "[43,44)" +loaderVersion = "[40,41)" #issueTrackerURL = "" license = "LGPLv3" @@ -9,7 +9,7 @@ version = "${version}" displayName = "Vivecraft" logoFile="vivecraft_icon.png" authors = "fayer3, Ferri_Arnus, IMS, jrbudda, minecraft player" -displayTest="IGNORE_SERVER_VERSION" +displayTest="IGNORE_ALL_VERSION" description = ''' The VR mod for any loader! ''' @@ -19,13 +19,13 @@ updateJSONURL = "https://api.modrinth.com/updates/vivecraft/forge_updates.json" [[dependencies.vivecraft]] modId = "forge" mandatory = true -versionRange = "[43,44)" +versionRange = "[40,41)" ordering = "NONE" side = "BOTH" [[dependencies.vivecraft]] modId = "minecraft" mandatory = true -versionRange = "[1.19.2]" +versionRange = "[1.18.2]" ordering = "NONE" side = "BOTH" diff --git a/gradle.properties b/gradle.properties index 7304247aa..a8955ec87 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,18 +1,18 @@ org.gradle.jvmargs=-Xmx4G -minecraft_version=1.19.2 +minecraft_version=1.18.2 enabled_platforms=fabric,forge archives_base_name=vivecraft mod_version=1.0.0 maven_group=org.vivecraft -architectury_version=6.5.85 +architectury_version=4.11.93 fabric_loader_version=0.14.17 -fabric_api_version=0.76.0+1.19.2 +fabric_api_version=0.76.0+1.18.2 -forge_version=1.19.2-43.2.14 +forge_version=1.18.2-40.2.9