Merge pull request #92 from PuzzleMC/temp

port: recent 1.21.4 progress to 1.21.5
This commit is contained in:
Martin Prokoph
2025-03-29 14:42:36 +01:00
committed by GitHub
14 changed files with 61 additions and 53 deletions

View File

@@ -22,11 +22,11 @@ public class PuzzleGui {
public static void init() {
MidnightLib.hiddenMods.add("puzzle");
MinecraftClient client = MinecraftClient.getInstance();
PuzzleApi.addToMiscOptions(new PuzzleWidget(Text.of("Puzzle")));
PuzzleApi.addToMiscOptions(new PuzzleWidget(Text.of("\uD83E\uDDE9 Puzzle")));
PuzzleApi.addToMiscOptions(new PuzzleWidget(Text.translatable("puzzle.midnightconfig.title"), (button) -> button.setMessage(Text.of("OPEN")), (button) -> {
client.setScreen(PuzzleConfig.getScreen(client.currentScreen, "puzzle"));
}));
PuzzleApi.addToResourceOptions(new PuzzleWidget(Text.of("Puzzle")));
PuzzleApi.addToResourceOptions(new PuzzleWidget(Text.of("\uD83E\uDDE9 Puzzle")));
PuzzleApi.addToResourceOptions(new PuzzleWidget(Text.translatable("puzzle.option.resourcepack_splash_screen"), (button) -> button.setMessage(PuzzleConfig.resourcepackSplashScreen ? YES : NO), (button) -> {
PuzzleConfig.resourcepackSplashScreen = !PuzzleConfig.resourcepackSplashScreen;
PuzzleSplashScreen.resetColors();

View File

@@ -11,7 +11,7 @@ import static net.puzzlemc.gui.PuzzleGui.YES;
public class BorderlessMiningCompat {
public static void init() {
PuzzleApi.addToMiscOptions(new PuzzleWidget(Text.of("Borderless Mining")));
PuzzleApi.addToMiscOptions(new PuzzleWidget(Text.of("\uD83E\uDE9F Borderless Mining")));
ConfigHandler bmConfig = ConfigHandler.getInstance();
PuzzleApi.addToMiscOptions(new PuzzleWidget(Text.translatable("config.borderlessmining.general.enabled"), (button) -> button.setMessage(bmConfig.isEnabledOrPending() ? YES : NO), (button) -> {
bmConfig.setEnabledPending(!bmConfig.isEnabledOrPending());

View File

@@ -13,7 +13,7 @@ import static net.minecraft.screen.ScreenTexts.YES;
public class CITRCompat {
public static void init() {
if (CITResewnConfig.INSTANCE != null) {
PuzzleApi.addToResourceOptions(new PuzzleWidget(Text.of("CIT Resewn")));
PuzzleApi.addToResourceOptions(new PuzzleWidget(Text.of("CIT Resewn")));
CITResewnConfig citConfig = CITResewnConfig.INSTANCE;
PuzzleApi.addToResourceOptions(new PuzzleWidget(Text.translatable("config.citresewn.enabled.title"), (button) -> button.setMessage(citConfig.enabled ? YES : NO), (button) -> {
citConfig.enabled = !citConfig.enabled;

View File

@@ -12,7 +12,7 @@ import static net.puzzlemc.gui.PuzzleGui.YES;
public class ColormaticCompat {
public static void init() {
PuzzleApi.addToResourceOptions(new PuzzleWidget(Text.of("Colormatic")));
PuzzleApi.addToResourceOptions(new PuzzleWidget(Text.of("\uD83C\uDF08 Colormatic")));
ColormaticConfig colormaticConfig = Colormatic.config();
PuzzleApi.addToResourceOptions(new PuzzleWidget(Text.translatable("colormatic.config.option.clearSky"), (button) -> button.setMessage(colormaticConfig.clearSky ? YES : NO), (button) -> {
colormaticConfig.clearSky = !colormaticConfig.clearSky;

View File

@@ -11,7 +11,7 @@ import static net.puzzlemc.gui.PuzzleGui.YES;
public class ContinuityCompat {
public static void init() {
PuzzleApi.addToResourceOptions(new PuzzleWidget(Text.of("Continuity")));
PuzzleApi.addToResourceOptions(new PuzzleWidget(Text.of("Continuity")));
ContinuityConfig contConfig = ContinuityConfig.INSTANCE;
contConfig.getOptionMapView().forEach((s, option) -> {
if (s.equals("use_manual_culling")) return;

View File

@@ -11,7 +11,7 @@ import static net.puzzlemc.gui.PuzzleGui.YES;
public class CullLeavesCompat {
public static void init() {
PuzzleApi.addToPerformanceOptions(new PuzzleWidget(Text.of("CullLeaves")));
PuzzleApi.addToPerformanceOptions(new PuzzleWidget(Text.of("\uD83C\uDF43 Cull Leaves")));
PuzzleApi.addToPerformanceOptions(new PuzzleWidget(Text.translatable("cullleaves.puzzle.option.enabled"), (button) -> button.setMessage(CullLeavesConfig.enabled ? YES : NO), (button) -> {
CullLeavesConfig.enabled = !CullLeavesConfig.enabled;
CullLeavesConfig.write("cullleaves");

View File

@@ -13,12 +13,9 @@ import java.util.NavigableSet;
import java.util.Objects;
import java.util.TreeSet;
import static net.puzzlemc.gui.PuzzleGui.NO;
import static net.puzzlemc.gui.PuzzleGui.YES;
public class EMFCompat {
public static void init() {
PuzzleApi.addToResourceOptions(new PuzzleWidget(Text.translatable("entity_model_features.title")));
PuzzleApi.addToResourceOptions(new PuzzleWidget(Text.literal("\uD83D\uDC37 ").append(Text.translatable("entity_model_features.title"))));
EMFConfig emfConfig = EMF.config().getConfig();
if (PlatformFunctions.isModLoaded("physicsmod")) {
PuzzleApi.addToResourceOptions(new PuzzleWidget(Text.translatable("entity_model_features.config.physics"), (button) -> button.setMessage(emfConfig.attemptPhysicsModPatch_2 != EMFConfig.PhysicsModCompatChoice.OFF ?

View File

@@ -16,7 +16,7 @@ import static net.puzzlemc.gui.PuzzleGui.YES;
public class ETFCompat {
public static void init() {
PuzzleApi.addToResourceOptions(new PuzzleWidget(Text.translatable("config.entity_texture_features.title")));
PuzzleApi.addToResourceOptions(new PuzzleWidget(Text.literal("\uD83D\uDC2E ").append(Text.translatable("config.entity_texture_features.title"))));
ETFConfig etfConfig = ETFApi.getETFConfigObject();
PuzzleApi.addToResourceOptions(new PuzzleWidget(Text.translatable("config.entity_texture_features.enable_custom_textures.title"), (button) -> button.setMessage(etfConfig.enableCustomTextures ? YES : NO), (button) -> {
etfConfig.enableCustomTextures = !etfConfig.enableCustomTextures;

View File

@@ -12,7 +12,7 @@ import net.puzzlemc.gui.screen.widget.PuzzleWidget;
public class IrisCompat {
public static void init() {
PuzzleApi.addToGraphicsOptions(new PuzzleWidget(Text.of("Iris")));
PuzzleApi.addToGraphicsOptions(new PuzzleWidget(Text.of("\uD83D\uDC41 Iris")));
PuzzleApi.addToGraphicsOptions(new PuzzleWidget(Text.translatable("iris.puzzle.option.enableShaders"), (button) -> button.setMessage(IrisApi.getInstance().getConfig().areShadersEnabled() ? PuzzleGui.YES : PuzzleGui.NO), (button) -> {
IrisApiConfig irisConfig = IrisApi.getInstance().getConfig();
irisConfig.setShadersEnabledAndApply(!irisConfig.areShadersEnabled());

View File

@@ -12,7 +12,7 @@ import static net.puzzlemc.gui.PuzzleGui.YES;
public class LBGCompat {
public static void init() {
LBGConfig lbgConfig = LambdaBetterGrass.get().config;
PuzzleApi.addToGraphicsOptions(new PuzzleWidget(Text.of("LambdaBetterGrass")));
PuzzleApi.addToGraphicsOptions(new PuzzleWidget(Text.of("\uD83C\uDF31 LambdaBetterGrass")));
PuzzleApi.addToGraphicsOptions(new PuzzleWidget(Text.translatable("lambdabettergrass.option.mode"), (button) -> button.setMessage(lbgConfig.getMode().getTranslatedText()), (button) -> lbgConfig.setMode(lbgConfig.getMode().next())));
PuzzleApi.addToGraphicsOptions(new PuzzleWidget(Text.translatable("lambdabettergrass.option.better_snow"), (button) -> button.setMessage(lbgConfig.hasBetterLayer() ? YES : NO), (button) -> lbgConfig.setBetterLayer(!lbgConfig.hasBetterLayer())));
}

View File

@@ -13,7 +13,7 @@ public class LDLCompat {
public static void init() {
DynamicLightsConfig ldlConfig = LambDynLights.get().config;
PuzzleApi.addToGraphicsOptions(new PuzzleWidget(Text.of("LambDynamicLights")));
PuzzleApi.addToGraphicsOptions(new PuzzleWidget(Text.of("\uD83D\uDCA1 LambDynamicLights")));
PuzzleApi.addToGraphicsOptions(new PuzzleWidget(Text.translatable("lambdynlights.option.mode"), (button) -> button.setMessage(ldlConfig.getDynamicLightsMode().getTranslatedText()), (button) -> ldlConfig.setDynamicLightsMode(ldlConfig.getDynamicLightsMode().next())));
PuzzleApi.addToGraphicsOptions(new PuzzleWidget(Text.empty().append("DynLights: ").append(Text.translatable("lambdynlights.option.light_sources.entities")), (button) -> button.setMessage(ldlConfig.getEntitiesLightSource().get() ? YES : NO), (button) -> ldlConfig.getEntitiesLightSource().set(!ldlConfig.getEntitiesLightSource().get())));
PuzzleApi.addToGraphicsOptions(new PuzzleWidget(Text.empty().append("DynLights: ").append(Text.translatable("entity.minecraft.creeper")), (button) -> button.setMessage(ldlConfig.getCreeperLightingMode().getTranslatedText()), (button) -> ldlConfig.setCreeperLightingMode(ldlConfig.getCreeperLightingMode().next())));

View File

@@ -13,6 +13,7 @@ import net.minecraft.text.TranslatableTextContent;
import net.minecraft.util.Formatting;
import net.puzzlemc.gui.screen.PuzzleOptionsScreen;
import java.lang.annotation.Annotation;
import java.util.ArrayList;
import java.util.List;
@@ -33,7 +34,7 @@ public class PuzzleOptionListWidget extends MidnightConfig.MidnightConfigListWid
for (PuzzleWidget button : buttons) {
try {
if (button.buttonType == ButtonType.TEXT)
this.addButton(List.of(), Text.literal(" ").append(button.descriptionText).formatted(Formatting.BOLD));
this.addButton(List.of(), Text.literal("").append(button.descriptionText).formatted(Formatting.BOLD));
else if (button.buttonType == ButtonType.BUTTON)
this.addButton(List.of(new PuzzleButtonWidget(buttonX, 0, 150, 20, button.buttonTextAction, button.onPress)), button.descriptionText);
else if (button.buttonType == ButtonType.SLIDER)
@@ -50,8 +51,15 @@ public class PuzzleOptionListWidget extends MidnightConfig.MidnightConfigListWid
}
}
public void addButton(List<ClickableWidget> buttons, Text text) {
var entry = new MidnightConfig.ButtonEntry(buttons, text, new MidnightConfig.EntryInfo());
entry.centered = buttons.isEmpty();
MidnightConfig.EntryInfo info = new MidnightConfig.EntryInfo(null, "puzzle");
if (buttons.isEmpty()) info.comment = new MidnightConfig.Comment(){
public Class<? extends Annotation> annotationType() {return null;}
public boolean centered() {return true;}
public String category() {return "";}
public String name() {return "";}
public String requiredMod() {return "";}
};
var entry = new MidnightConfig.ButtonEntry(buttons, text, info);
this.addEntry(entry);
}
public void renderWidget(DrawContext context, int mouseX, int mouseY, float delta) {

View File

@@ -1,39 +1,42 @@
{
"puzzle.text.update_available": "有新版本可供升級",
"puzzle.screen.title": "Puzzle 設定",
"puzzle.page.graphics": "顯示設定",
"puzzle.page.resources": "資源設定",
"puzzle.page.performance": "效能設定",
"puzzle.page.misc": "其他設定",
"puzzle.option.check_for_updates": "檢查更新",
"puzzle.option.check_for_updates.tooltip": "啟 Puzzle 內建的更新檢查",
"puzzle.option.show_version_info": "顯示 Puzzle 版本信息",
"puzzle.option.show_version_info.tooltip": "在標題畫面和 F3 選單上\n顯示有關目前 Puzzle 版本和更新狀態的資訊",
"puzzle.option.resourcepack_splash_screen": "使用資源包載入畫面",
"puzzle.option.resourcepack_splash_screen.tooltip": "使資源包可以使用 OptiFine 格式\n更改 Minecraft 的載入畫面",
"puzzle.option.better_splash_screen_blend": "更好的載入畫面圖示混和",
"puzzle.option.better_splash_screen_blend.tooltip": "更改激活畫面標誌的混合方式\n以便更好地與自訂顏色的標誌配合使用",
"puzzle.option.unlimited_model_rotations": "無限模型旋轉",
"puzzle.option.unlimited_model_rotations.tooltip": "自訂方塊物品模型上解鎖完整 360° 旋轉",
"puzzle.option.bigger_custom_models": "更大的自訂模型",
"puzzle.option.bigger_custom_models.tooltip": "增加將自訂方塊物品模型大小\n從 3x3x3 增加到 5x5x5",
"puzzle.midnightconfig.title": "Puzzle 進階設定",
"puzzle.midnightconfig.tooltip": "給予進階使用者使用的選項",
"puzzle.text.update_available":"有新的更新可用",
"puzzle.screen.title":"Puzzle 設定",
"puzzle.page.graphics":"圖形",
"puzzle.page.resources":"資源",
"puzzle.page.performance":"效能",
"puzzle.page.misc":"其他",
"puzzle.option.check_for_updates":"檢查更新",
"puzzle.option.check_for_updates.tooltip":"啟 Puzzle 內建的更新檢查",
"puzzle.option.show_version_info":"顯示 Puzzle 版本資訊",
"puzzle.option.show_version_info.tooltip":"在標題畫面和 F3 選單上顯示\n目前 Puzzle 版本和更新狀態的資訊",
"puzzle.option.resourcepack_splash_screen":"使用資源包的啟動畫面",
"puzzle.option.resourcepack_splash_screen.tooltip":"允許資源包使用 OptiFine 格式變更\nMinecraft 的載入/啟動畫面",
"puzzle.option.better_splash_screen_blend":"更好的啟動畫面標誌混合",
"puzzle.option.better_splash_screen_blend.tooltip":"變更啟動畫面標誌使用的混合類型,\n使其更好地與自訂顏色的標誌配合使用",
"puzzle.option.unlimited_model_rotations":"無限模型旋轉",
"puzzle.option.unlimited_model_rotations.tooltip":"解鎖自訂方塊/物品模型完整 360° 旋轉",
"puzzle.option.bigger_custom_models":"更大的自訂模型",
"puzzle.option.bigger_custom_models.tooltip":"將自訂方塊/物品模型大小限制\n從 3×3×3 增加到 5×5×5",
"puzzle.midnightconfig.title":"Puzzle 進階設定",
"puzzle.midnightconfig.category.gui":"介面",
"puzzle.midnightconfig.category.features":"功能",
"puzzle.midnightconfig.category.internal":"內部",
"puzzle.midnightconfig.tooltip":"僅供進階使用者使用的選項",
"cullleaves.puzzle.option.enabled": "樹葉剔除",
"cullleaves.puzzle.option.enabled.tooltip": "啟樹葉剔除以提升效能",
"iris.puzzle.option.enableShaders": "啟光影",
"iris.puzzle.option.enableShaders.tooltip": "開啟或關閉光影包",
"iris.puzzle.option.open": "開",
"options.iris.shaderPackSelection.tooltip": "開啟選擇畫面光影包和設定",
"lambdabettergrass.option.mode.tooltip": "讓草的側面連接相鄰的草",
"lambdabettergrass.option.better_snow.tooltip": "對雪塊/苔蘚方塊被包圍的完整方塊\n增加視覺效果",
"config.dynamicfps.reduce_when_unfocused.tooltip": " Minecraft 失去焦點時限制 FPS\n如切換到其他視窗或是遊戲被隱藏)\n以節省電和系統資源",
"config.dynamicfps.unfocused_fps.tooltip": "Minecraft 失去焦點時允許的最大 FPS",
"config.dynamicfps.restore_when_hovered.tooltip": "開啟或關閉預覽 Mineceraft 時是否停止 FPS 限制\n如停留在工作列或 Dock",
"config.dynamicfps.run_gc_on_unfocus.tooltip": " Minecraft 失去焦點時執行垃圾清理\n以減少一些記憶體",
"config.dynamicfps.unfocused_volume.tooltip": "當 Minecraft 失去焦點時撥放的音量\n如選擇了另一個視窗)",
"config.dynamicfps.hidden_volume.tooltip": "遊戲在不可見時應該播放的音量\n最小化、被其他視窗覆蓋或在另一個虛擬桌面上)",
"cullleaves.puzzle.option.enabled": "剔除樹葉",
"cullleaves.puzzle.option.enabled.tooltip": "啟樹葉剔除以提升效能",
"iris.puzzle.option.enableShaders": "啟光影",
"iris.puzzle.option.enableShaders.tooltip": "是否啟用光影包",
"iris.puzzle.option.open": "開",
"options.iris.shaderPackSelection.tooltip": "開啟一個畫面以選擇\n並設定光影包",
"lambdabettergrass.option.mode.tooltip": "使草地的側面與\n相鄰的草地連接",
"lambdabettergrass.option.better_snow.tooltip": "為被雪/苔蘚包圍的完整方塊\n加入純粹視覺上的雪/苔蘚層",
"config.dynamicfps.reduce_when_unfocused.tooltip": "在未聚焦時降低 Minecraft 的 FPS\n例如另一個視窗被聚焦或遊戲被隱藏)\n以節省電和系統資源",
"config.dynamicfps.unfocused_fps.tooltip": "Minecraft 在未聚焦時\n允許繪製的 FPS",
"config.dynamicfps.restore_when_hovered.tooltip": "預覽 Minecraft 時是否停止\nFPS 限制(例如,將滑鼠懸停在工作列或 Dock",
"config.dynamicfps.run_gc_on_unfocus.tooltip": " Minecraft 未聚焦時執行垃圾回收器\n以釋放一些記憶體",
"config.dynamicfps.unfocused_volume.tooltip": "遊戲在未聚焦時播放聲音的音量\n例如,選取了另一個視窗)",
"config.dynamicfps.hidden_volume.tooltip": "遊戲在不可見時播放聲音的音量\n例如,最小化、被其他視窗覆蓋\n或在另一個虛擬桌面上)",
"entity_texture_features.puzzle.emissive_type.brighter": "§e更亮",
"entity_texture_features.puzzle.emissive_type.default": "§6預設"
}

View File

@@ -22,7 +22,7 @@ neoforge_version=21.5.0-beta
yarn_mappings_patch_neoforge_version = 1.21+build.4
# Libraries
midnightlib_version = 1.6.11+1.21.4
midnightlib_version = 1.7.0+1.21.4
modmenu_version = 13.0.0-beta.1
# Mod Integrations