stonecutter: support 1.21.8

This commit is contained in:
Martin Prokoph
2025-11-19 18:15:19 +01:00
parent c2e4008871
commit 36bc344b94
6 changed files with 64 additions and 16 deletions

View File

@@ -1,7 +1,9 @@
package net.puzzlemc.core;
import net.minecraft.resources.ResourceLocation;
import net.puzzlemc.gui.screen.PuzzleOptionsScreen;
import net.puzzlemc.splashscreen.PuzzleSplashScreen;
@@ -11,8 +13,14 @@ import static net.puzzlemc.core.PuzzleCore.MOD_ID;
import com.terraformersmc.modmenu.api.ConfigScreenFactory;
import com.terraformersmc.modmenu.api.ModMenuApi;
import net.fabricmc.api.ClientModInitializer;
import net.fabricmc.fabric.api.resource.v1.ResourceLoader;
import net.minecraft.server.packs.PackType;
//? if >= 1.21.9 {
import net.fabricmc.fabric.api.resource.v1.ResourceLoader;
//?} else {
/*import net.fabricmc.fabric.api.resource.ResourceManagerHelper;
import net.fabricmc.fabric.api.resource.SimpleSynchronousResourceReloadListener;
import net.minecraft.server.packs.resources.ResourceManager;
*///?}
public class PuzzleClient implements ClientModInitializer, ModMenuApi {
@@ -26,7 +34,20 @@ public class PuzzleClient implements ClientModInitializer, ModMenuApi {
PuzzleCore.initModules();
//ResourceManagerHelper.get(PackType.CLIENT_RESOURCES).registerReloadListener
//? if >= 1.21.9 {
ResourceLoader.get(PackType.CLIENT_RESOURCES).registerReloader(ResourceLocation.fromNamespaceAndPath(MOD_ID, "splash_screen"), PuzzleSplashScreen.ReloadListener.INSTANCE);
//?} else {
/*ResourceManagerHelper.get(PackType.CLIENT_RESOURCES).registerReloadListener(new SimpleSynchronousResourceReloadListener() {
@Override
public ResourceLocation getFabricId() {
return ResourceLocation.fromNamespaceAndPath(MOD_ID, "splash_screen");
}
@Override
public void onResourceManagerReload(ResourceManager manager) {
PuzzleSplashScreen.ReloadListener.INSTANCE.onResourceManagerReload(manager);
}
});
*///?}
}
}
//?}

View File

@@ -12,6 +12,7 @@ import static net.puzzlemc.gui.PuzzleGui.YES;
public class ColormaticCompat {
public static void init() {
//? if fabric {
PuzzleApi.addToResourceOptions(new PuzzleWidget(Component.literal("\uD83C\uDF08 Colormatic")));
ColormaticConfig colormaticConfig = Colormatic.config();
PuzzleApi.addToResourceOptions(new PuzzleWidget(Component.translatable("colormatic.config.option.clearSky"), (button) -> button.setMessage(colormaticConfig.clearSky ? YES : NO), (button) -> {
@@ -42,5 +43,6 @@ public class ColormaticCompat {
}
catch (NumberFormatException ignored) {}
}));
//?}
}
}

View File

@@ -11,7 +11,6 @@ import static net.puzzlemc.gui.PuzzleGui.YES;
public class LDLCompat {
public static void init() {
//? fabric {
DynamicLightsConfig ldlConfig = LambDynLights.get().config;
PuzzleApi.addToGraphicsOptions(new PuzzleWidget(Component.literal("\uD83D\uDCA1 LambDynamicLights")));
@@ -20,6 +19,5 @@ public class LDLCompat {
PuzzleApi.addToGraphicsOptions(new PuzzleWidget(Component.empty().append("DynLights: ").append(Component.translatable("entity.minecraft.creeper")), (button) -> button.setMessage(ldlConfig.getCreeperLightingMode().getTranslatedText()), (button) -> ldlConfig.setCreeperLightingMode(ldlConfig.getCreeperLightingMode().next())));
PuzzleApi.addToGraphicsOptions(new PuzzleWidget(Component.empty().append("DynLights: ").append(Component.translatable("block.minecraft.tnt")), (button) -> button.setMessage(ldlConfig.getTntLightingMode().getTranslatedText()), (button) -> ldlConfig.setTntLightingMode(ldlConfig.getTntLightingMode().next())));
PuzzleApi.addToGraphicsOptions(new PuzzleWidget(Component.empty().append("DynLights: ").append(Component.translatable("lambdynlights.option.light_sources.water_sensitive_check")), (button) -> button.setMessage(ldlConfig.getWaterSensitiveCheck().get() ? YES : NO), (button) -> ldlConfig.getWaterSensitiveCheck().set(!ldlConfig.getWaterSensitiveCheck().get())));
//?}
}
}

View File

@@ -7,11 +7,13 @@ 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.network.chat.Component;
import net.puzzlemc.gui.PuzzleApi;
import net.puzzlemc.gui.PuzzleGui;
import net.puzzlemc.gui.screen.widget.*;
//? if >= 1.21.9
import net.minecraft.client.input.KeyEvent;
import java.util.List;
import java.util.Objects;
@@ -77,10 +79,6 @@ public class PuzzleOptionsScreen extends Screen {
list.addAll(options);
}
@Override
public boolean keyPressed(KeyEvent input) {
return this.tabNavigation.keyPressed(input) || super.keyPressed(input);
}
@Override
public void tick() {
super.tick();
if (prevTab != null && prevTab != tabManager.getCurrentTab()) {
@@ -90,4 +88,15 @@ public class PuzzleOptionsScreen extends Screen {
list.setScrollAmount(0);
}
}
@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);
}
*///?}
}