stonecutter: support MC 1.21.8

This commit is contained in:
Martin Prokoph
2025-11-04 22:52:52 +01:00
parent 8138e17b42
commit fc4db5f749
4 changed files with 34 additions and 10 deletions

View File

@@ -11,10 +11,12 @@ import net.minecraft.client.gui.components.MultiLineTextWidget;
import net.minecraft.client.gui.components.events.GuiEventListener; import net.minecraft.client.gui.components.events.GuiEventListener;
import net.minecraft.client.gui.narration.NarratableEntry; import net.minecraft.client.gui.narration.NarratableEntry;
import net.minecraft.client.gui.screens.ConfirmLinkScreen; import net.minecraft.client.gui.screens.ConfirmLinkScreen;
import net.minecraft.client.input.MouseButtonEvent;
import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.core.registries.BuiltInRegistries;
import net.minecraft.network.chat.Component; import net.minecraft.network.chat.Component;
import net.minecraft.resources.ResourceLocation; import net.minecraft.resources.ResourceLocation;
//? if >= 1.21.9 {
import net.minecraft.client.input.MouseButtonEvent;
//?}
public class ButtonEntry extends ContainerObjectSelectionList.Entry<ButtonEntry> { public class ButtonEntry extends ContainerObjectSelectionList.Entry<ButtonEntry> {
private static final Font textRenderer = Minecraft.getInstance().font; private static final Font textRenderer = Minecraft.getInstance().font;
@@ -41,13 +43,19 @@ public class ButtonEntry extends ContainerObjectSelectionList.Entry<ButtonEntry>
} }
} }
@Override
//? if >= 1.21.9 {
public void renderContent(GuiGraphics context, int mouseX, int mouseY, boolean hovered, float tickDelta) { public void renderContent(GuiGraphics context, int mouseX, int mouseY, boolean hovered, float tickDelta) {
int y = this.getY();
//?} else {
/*public void render(GuiGraphics context, int index, int y, int x, int entryWidth, int entryHeight, int mouseX, int mouseY, boolean hovered, float tickDelta) {
*///?}
buttons.forEach(b -> { buttons.forEach(b -> {
b.setY(this.getY()); b.setY(y);
b.render(context, mouseX, mouseY, tickDelta); b.render(context, mouseX, mouseY, tickDelta);
}); });
if (title != null) { if (title != null) {
title.setY(this.getY() + 5); title.setY(y + 5);
title.render(context, mouseX, mouseY, tickDelta); title.render(context, mouseX, mouseY, tickDelta);
if (info.entry != null && !this.buttons.isEmpty() && this.buttons.getFirst() instanceof AbstractWidget widget) { if (info.entry != null && !this.buttons.isEmpty() && this.buttons.getFirst() instanceof AbstractWidget widget) {
@@ -55,16 +63,24 @@ public class ButtonEntry extends ContainerObjectSelectionList.Entry<ButtonEntry>
if (idMode != -1) context.renderItem(idMode == 0 ? if (idMode != -1) context.renderItem(idMode == 0 ?
BuiltInRegistries.ITEM.getValue(ResourceLocation.tryParse(this.info.tempValue)).getDefaultInstance() BuiltInRegistries.ITEM.getValue(ResourceLocation.tryParse(this.info.tempValue)).getDefaultInstance()
: BuiltInRegistries.BLOCK.getValue(ResourceLocation.tryParse(this.info.tempValue)).asItem().getDefaultInstance(), : BuiltInRegistries.BLOCK.getValue(ResourceLocation.tryParse(this.info.tempValue)).asItem().getDefaultInstance(),
widget.getX() + widget.getWidth() - 18, this.getY() + 2); widget.getX() + widget.getWidth() - 18, y + 2);
} }
} }
} }
@Override @Override
//? if >= 1.21.9 {
public boolean mouseClicked(MouseButtonEvent click, boolean doubled) { public boolean mouseClicked(MouseButtonEvent click, boolean doubled) {
//?} else {
/*public boolean mouseClicked(double d, double e, int i) {
*///?}
if (this.info != null && this.info.comment != null && !this.info.comment.url().isBlank()) if (this.info != null && this.info.comment != null && !this.info.comment.url().isBlank())
ConfirmLinkScreen.confirmLinkNow(Minecraft.getInstance().screen, this.info.comment.url(), true); ConfirmLinkScreen.confirmLinkNow(Minecraft.getInstance().screen, this.info.comment.url(), true);
//? if >= 1.21.9 {
return super.mouseClicked(click, doubled); return super.mouseClicked(click, doubled);
//?} else {
/*return super.mouseClicked(d, e, i);
*///?}
} }
public List<? extends GuiEventListener> children() { public List<? extends GuiEventListener> children() {

View File

@@ -14,7 +14,6 @@ import net.minecraft.client.gui.components.tabs.Tab;
import net.minecraft.client.gui.components.tabs.TabManager; import net.minecraft.client.gui.components.tabs.TabManager;
import net.minecraft.client.gui.components.tabs.TabNavigationBar; import net.minecraft.client.gui.components.tabs.TabNavigationBar;
import net.minecraft.client.gui.screens.Screen; import net.minecraft.client.gui.screens.Screen;
import net.minecraft.client.input.KeyEvent;
import net.minecraft.client.resources.language.I18n; import net.minecraft.client.resources.language.I18n;
import net.minecraft.network.chat.CommonComponents; import net.minecraft.network.chat.CommonComponents;
import net.minecraft.network.chat.Component; import net.minecraft.network.chat.Component;
@@ -29,6 +28,9 @@ import java.util.List;
import java.util.function.BiFunction; import java.util.function.BiFunction;
import java.util.function.Function; import java.util.function.Function;
import java.util.function.Predicate; import java.util.function.Predicate;
//? if >= 1.21.9 {
import net.minecraft.client.input.KeyEvent;
//?}
public class MidnightConfigScreen extends Screen { public class MidnightConfigScreen extends Screen {
public MidnightConfig instance; public MidnightConfig instance;
@@ -101,9 +103,15 @@ public class MidnightConfigScreen extends Screen {
} }
@Override @Override
//? if >= 1.21.9 {
public boolean keyPressed(KeyEvent input) { public boolean keyPressed(KeyEvent input) {
return this.tabNavigation.keyPressed(input) || super.keyPressed(input); return this.tabNavigation.keyPressed(input) || super.keyPressed(input);
} }
//?} else {
/*public boolean keyPressed(int key, int scanCode, int modifiers) {
return this.tabNavigation.keyPressed(key) || super.keyPressed(key, scanCode, modifiers);
}
*///?}
@Override @Override
public void onClose() { public void onClose() {

View File

@@ -43,9 +43,9 @@ public class PlatformFunctions {
} }
public static boolean isClientEnv() { public static boolean isClientEnv() {
//? if >= 1.21.9 { //? if >= 1.21.9 {
return FMLEnvironment.getDist().isClient(); /^return FMLEnvironment.getDist().isClient();
//?} else { ^///?} else {
// return FMLEnvironment.dist.isClient(); return FMLEnvironment.dist.isClient();
//?} //?}
} }
public static boolean isModLoaded(String modid) { public static boolean isModLoaded(String modid) {

View File

@@ -10,7 +10,7 @@ displayName = "${name}"
logoFile = "midnightlib.png" logoFile = "midnightlib.png"
authors = "TeamMidnightDust, Motschen" authors = "TeamMidnightDust, Motschen"
description = ''' description = '''
Common Library for Team MidnightDust's mods. Lightweight config library with config screens and commands.
''' '''
[[mixins]] [[mixins]]