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.narration.NarratableEntry;
import net.minecraft.client.gui.screens.ConfirmLinkScreen;
import net.minecraft.client.input.MouseButtonEvent;
import net.minecraft.core.registries.BuiltInRegistries;
import net.minecraft.network.chat.Component;
import net.minecraft.resources.ResourceLocation;
//? if >= 1.21.9 {
import net.minecraft.client.input.MouseButtonEvent;
//?}
public class ButtonEntry extends ContainerObjectSelectionList.Entry<ButtonEntry> {
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) {
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 -> {
b.setY(this.getY());
b.setY(y);
b.render(context, mouseX, mouseY, tickDelta);
});
if (title != null) {
title.setY(this.getY() + 5);
title.setY(y + 5);
title.render(context, mouseX, mouseY, tickDelta);
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 ?
BuiltInRegistries.ITEM.getValue(ResourceLocation.tryParse(this.info.tempValue)).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
//? if >= 1.21.9 {
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())
ConfirmLinkScreen.confirmLinkNow(Minecraft.getInstance().screen, this.info.comment.url(), true);
//? if >= 1.21.9 {
return super.mouseClicked(click, doubled);
//?} else {
/*return super.mouseClicked(d, e, i);
*///?}
}
public List<? extends GuiEventListener> children() {
@@ -74,4 +90,4 @@ public class ButtonEntry extends ContainerObjectSelectionList.Entry<ButtonEntry>
public List<? extends NarratableEntry> narratables() {
return Lists.newArrayList(buttons);
}
}
}

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.TabNavigationBar;
import net.minecraft.client.gui.screens.Screen;
import net.minecraft.client.input.KeyEvent;
import net.minecraft.client.resources.language.I18n;
import net.minecraft.network.chat.CommonComponents;
import net.minecraft.network.chat.Component;
@@ -29,6 +28,9 @@ import java.util.List;
import java.util.function.BiFunction;
import java.util.function.Function;
import java.util.function.Predicate;
//? if >= 1.21.9 {
import net.minecraft.client.input.KeyEvent;
//?}
public class MidnightConfigScreen extends Screen {
public MidnightConfig instance;
@@ -101,9 +103,15 @@ public class MidnightConfigScreen extends Screen {
}
@Override
//? if >= 1.21.9 {
public boolean keyPressed(KeyEvent 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
public void onClose() {

View File

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

View File

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