Fix compiling for pre MC 1.20.6

This commit is contained in:
James Seibel
2025-09-27 08:35:57 -05:00
parent 7e18acdb8f
commit ed50161cfd
2 changed files with 35 additions and 38 deletions
@@ -313,7 +313,7 @@ public class ClassicConfigGUI
#if MC_VER < MC_1_20_6 // no background is rendered in MC 1.20.6+
if (this.minecraft != null && this.minecraft.level != null)
{
this.list.setRenderBackground(false);
this.configListWidget.setRenderBackground(false);
}
#endif
@@ -461,7 +461,8 @@ public class ClassicConfigGUI
this.configListWidget.render(matrices, mouseX, mouseY, delta); // Render buttons
// Render title
this.DhDrawCenteredString(matrices, this.font, this.title, this.width / 2, 15,
this.DhDrawCenteredString(matrices, this.font, this.title,
this.width / 2, 15,
#if MC_VER < MC_1_21_6
0xFFFFFF // RGB white
#else
@@ -24,21 +24,17 @@ public class MinecraftScreen
private static class ConfigScreenRenderer extends DhScreen
{
private final Screen parent;
private ConfigListWidget list;
private ConfigListWidget configListWidget;
private AbstractScreen screen;
#if MC_VER < MC_1_19_2
public static net.minecraft.network.chat.TranslatableComponent translate(String str, Object... args)
{
return new net.minecraft.network.chat.TranslatableComponent(str, args);
}
{ return new net.minecraft.network.chat.TranslatableComponent(str, args); }
#else
public static net.minecraft.network.chat.MutableComponent translate(String str, Object... args)
{
return net.minecraft.network.chat.Component.translatable(str, args);
}
#endif
{ return net.minecraft.network.chat.Component.translatable(str, args); }
#endif
protected ConfigScreenRenderer(Screen parent, AbstractScreen screen, String translationName)
{
@@ -53,20 +49,22 @@ public class MinecraftScreen
{
super.init(); // Init Minecraft's screen
Window mcWindow = this.minecraft.getWindow();
screen.width = mcWindow.getWidth();
screen.height = mcWindow.getHeight();
screen.scaledWidth = this.width;
screen.scaledHeight = this.height;
screen.init(); // Init our own config screen
this.screen.width = mcWindow.getWidth();
this.screen.height = mcWindow.getHeight();
this.screen.scaledWidth = this.width;
this.screen.scaledHeight = this.height;
this.screen.init(); // Init our own config screen
this.list = new ConfigListWidget(this.minecraft, this.width, this.height, 0, 0, 25); // Select the area to tint
this.configListWidget = new ConfigListWidget(this.minecraft, this.width, this.height, 0, 0, 25); // Select the area to tint
#if MC_VER < MC_1_20_6 // no background is rendered in MC 1.20.6+
if (this.minecraft != null && this.minecraft.level != null) // Check if in game
this.list.setRenderBackground(false); // Disable from rendering
{
this.configListWidget.setRenderBackground(false); // Disable from rendering
}
#endif
this.addWidget(this.list); // Add the tint to the things to be rendered
this.addWidget(this.configListWidget); // Add the tint to the things to be rendered
}
@Override
@@ -84,11 +82,11 @@ public class MinecraftScreen
// background blur is already being rendered, rendering again causes the game to crash
#endif
this.list.render(matrices, mouseX, mouseY, delta); // Renders the items in the render list (currently only used to tint background darker)
this.configListWidget.render(matrices, mouseX, mouseY, delta); // Renders the items in the render list (currently only used to tint background darker)
screen.mouseX = mouseX;
screen.mouseY = mouseY;
screen.render(delta); // Render everything on the main screen
this.screen.mouseX = mouseX;
this.screen.mouseY = mouseY;
this.screen.render(delta); // Render everything on the main screen
super.render(matrices, mouseX, mouseY, delta); // Render the vanilla stuff (currently only used for the background and tint)
}
@@ -98,41 +96,39 @@ public class MinecraftScreen
{
super.resize(mc, width, height); // Resize Minecraft's screen
Window mcWindow = this.minecraft.getWindow();
screen.width = mcWindow.getWidth();
screen.height = mcWindow.getHeight();
screen.scaledWidth = this.width;
screen.scaledHeight = this.height;
screen.onResize(); // Resize our screen
this.screen.width = mcWindow.getWidth();
this.screen.height = mcWindow.getHeight();
this.screen.scaledWidth = this.width;
this.screen.scaledHeight = this.height;
this.screen.onResize(); // Resize our screen
}
@Override
public void tick()
{
super.tick(); // Tick Minecraft's screen
screen.tick(); // Tick our screen
if (screen.close) // If we decide to close the screen, then actually close the screen
onClose();
this.screen.tick(); // Tick our screen
if (this.screen.close) // If we decide to close the screen, then actually close the screen
{
this.onClose();
}
}
@Override
public void onClose()
{
screen.onClose(); // Close our screen
Objects.requireNonNull(minecraft).setScreen(this.parent); // Goto the parent screen
this.screen.onClose(); // Close our screen
Objects.requireNonNull(this.minecraft).setScreen(this.parent); // Goto the parent screen
}
@Override
public void onFilesDrop(@NotNull List<Path> files)
{
screen.onFilesDrop(files);
}
{ this.screen.onFilesDrop(files); }
// For checking if it should close when you press the escape key
@Override
public boolean shouldCloseOnEsc()
{
return screen.shouldCloseOnEsc;
}
{ return this.screen.shouldCloseOnEsc; }
}