Puzzle 1.3.4 for 1.18.2

This commit is contained in:
Motschen
2022-07-06 21:03:32 +02:00
parent f885597769
commit b4948cdd43
14 changed files with 78 additions and 73 deletions

View File

@@ -3,29 +3,29 @@ org.gradle.jvmargs=-Xmx1G
# Fabric Properties # Fabric Properties
# check these on https://fabricmc.net/use # check these on https://fabricmc.net/use
minecraft_version=1.19 minecraft_version=1.18.2
yarn_mappings=1.19+build.4 yarn_mappings=1.18.2+build.3
loader_version=0.14.8 loader_version=0.14.8
# Mod Properties # Mod Properties
mod_version = 1.3.4 mod_version = 1.3.4-1.18
maven_group = net.puzzlemc maven_group = net.puzzlemc
archives_base_name = puzzle archives_base_name = puzzle
# Dependencies # Dependencies
# currently not on the main fabric site, check on the maven: https://maven.fabricmc.net/net/fabricmc/fabric-api/fabric-api # currently not on the main fabric site, check on the maven: https://maven.fabricmc.net/net/fabricmc/fabric-api/fabric-api
fabric_version=0.57.0+1.19 fabric_version=0.57.0+1.18.2
mod_menu_version = 4.0.0 mod_menu_version = 2.0.13
cull_leaves_version = 2.3.3 cull_leaves_version = 2.3.3
ldl_version = 2.1.2+1.19 ldl_version = 2.1.0+1.17
lbg_version = 1.3.0+1.19 lbg_version = 1.2.3+1.18
iris_version = 1.19.x-v1.2.5 iris_version = 1.18.x-v1.2.4
continuity_version = 2.0.0+1.19 continuity_version = 1.0.3+1.18
animatica_version = 0.5+1.19 animatica_version = 0.2+1.18
cit_resewn_version = 1.0.1+1.18.2 cit_resewn_version = 1.0.1+1.18.2
cem_version = 0.7.1-1.19 cem_version = 0.7.1
complete_config_version = 1.0.0 complete_config_version = 1.0.0
spruceui_version=4.0.0+1.19 spruceui_version=3.3.3+1.18
midnightlib_version=0.5.2 midnightlib_version=0.4.4
entitytexturefeatures_version=3.1.5 entitytexturefeatures_version=3.1.4-mc1.18

View File

@@ -1,6 +1,7 @@
package net.puzzlemc.core.mixin; package net.puzzlemc.core.mixin;
import net.fabricmc.loader.api.FabricLoader; import net.fabricmc.loader.api.FabricLoader;
import net.minecraft.text.TranslatableText;
import net.puzzlemc.core.PuzzleCore; import net.puzzlemc.core.PuzzleCore;
import net.puzzlemc.core.config.PuzzleConfig; import net.puzzlemc.core.config.PuzzleConfig;
import net.puzzlemc.core.util.UpdateChecker; import net.puzzlemc.core.util.UpdateChecker;
@@ -39,7 +40,7 @@ public abstract class MixinTitleScreen extends Screen {
puzzleText = Text.of(PuzzleCore.version); puzzleText = Text.of(PuzzleCore.version);
} }
else { else {
puzzleText = Text.translatable("").append(Text.of(PuzzleCore.version + " | ")).append(Text.translatable("puzzle.text.update_available")); puzzleText = new TranslatableText("").append(Text.of(PuzzleCore.version + " | ")).append(new TranslatableText("puzzle.text.update_available"));
this.puzzleTextWidth = this.textRenderer.getWidth(puzzleText); this.puzzleTextWidth = this.textRenderer.getWidth(puzzleText);
} }
} }
@@ -67,7 +68,7 @@ public abstract class MixinTitleScreen extends Screen {
@Inject(at = @At("HEAD"), method = "mouseClicked",cancellable = true) @Inject(at = @At("HEAD"), method = "mouseClicked",cancellable = true)
private void puzzle$mouseClicked(double mouseX, double mouseY, int button, CallbackInfoReturnable<Boolean> cir) { private void puzzle$mouseClicked(double mouseX, double mouseY, int button, CallbackInfoReturnable<Boolean> cir) {
if (mouseX > 2 && mouseX < (double)(2 + this.puzzleTextWidth) && mouseY > (double)(this.height - yOffset) && mouseY < (double)this.height - yOffset + 10) { if (mouseX > 2 && mouseX < (double)(2 + this.puzzleTextWidth) && mouseY > (double)(this.height - yOffset) && mouseY < (double)this.height - yOffset + 10) {
if (Objects.requireNonNull(this.client).options.getChatLinksPrompt().getValue()) { if (Objects.requireNonNull(this.client).options.chatLinksPrompt) {
this.client.setScreen(new ConfirmChatLinkScreen(this::confirmLink, PuzzleCore.updateURL, true)); this.client.setScreen(new ConfirmChatLinkScreen(this::confirmLink, PuzzleCore.updateURL, true));
} else { } else {
Util.getOperatingSystem().open(PuzzleCore.updateURL); Util.getOperatingSystem().open(PuzzleCore.updateURL);

View File

@@ -6,6 +6,7 @@ import net.irisshaders.iris.api.v0.IrisApiConfig;
import net.minecraft.client.MinecraftClient; import net.minecraft.client.MinecraftClient;
import net.minecraft.client.gui.screen.Screen; import net.minecraft.client.gui.screen.Screen;
import net.minecraft.text.Text; import net.minecraft.text.Text;
import net.minecraft.text.TranslatableText;
import net.puzzlemc.gui.screen.widget.PuzzleWidget; import net.puzzlemc.gui.screen.widget.PuzzleWidget;
public class IrisCompat { public class IrisCompat {
@@ -16,7 +17,7 @@ public class IrisCompat {
IrisApiConfig irisConfig = IrisApi.getInstance().getConfig(); IrisApiConfig irisConfig = IrisApi.getInstance().getConfig();
irisConfig.setShadersEnabledAndApply(!irisConfig.areShadersEnabled()); irisConfig.setShadersEnabledAndApply(!irisConfig.areShadersEnabled());
})); }));
PuzzleApi.addToGraphicsOptions(new PuzzleWidget(Text.translatable("options.iris.shaderPackSelection.title"), (button) -> button.setMessage(Text.of("OPEN")), (button) -> { PuzzleApi.addToGraphicsOptions(new PuzzleWidget(new TranslatableText("options.iris.shaderPackSelection.title"), (button) -> button.setMessage(Text.of("OPEN")), (button) -> {
MinecraftClient client = MinecraftClient.getInstance(); MinecraftClient client = MinecraftClient.getInstance();
client.setScreen((Screen) IrisApi.getInstance().openMainIrisScreenObj(client.currentScreen)); client.setScreen((Screen) IrisApi.getInstance().openMainIrisScreenObj(client.currentScreen));
})); }));

View File

@@ -18,18 +18,18 @@ public class PuzzleApi {
public static void addToGraphicsOptions(PuzzleWidget button) { public static void addToGraphicsOptions(PuzzleWidget button) {
GRAPHICS_OPTIONS.add(button); GRAPHICS_OPTIONS.add(button);
if (PuzzleConfig.debugMessages) LOGGER.info(button.descriptionText.getContent().toString() + " -> Graphics Options"); if (PuzzleConfig.debugMessages) LOGGER.info(button.descriptionText.toString() + " -> Graphics Options");
} }
public static void addToMiscOptions(PuzzleWidget button) { public static void addToMiscOptions(PuzzleWidget button) {
MISC_OPTIONS.add(button); MISC_OPTIONS.add(button);
if (PuzzleConfig.debugMessages) LOGGER.info(button.descriptionText.getContent().toString() + " -> Misc Options"); if (PuzzleConfig.debugMessages) LOGGER.info(button.descriptionText.toString() + " -> Misc Options");
} }
public static void addToPerformanceOptions(PuzzleWidget button) { public static void addToPerformanceOptions(PuzzleWidget button) {
PERFORMANCE_OPTIONS.add(button); PERFORMANCE_OPTIONS.add(button);
if (PuzzleConfig.debugMessages) LOGGER.info(button.descriptionText.getContent().toString() + "- > Performance Options"); if (PuzzleConfig.debugMessages) LOGGER.info(button.descriptionText.toString() + "- > Performance Options");
} }
public static void addToResourceOptions(PuzzleWidget button) { public static void addToResourceOptions(PuzzleWidget button) {
RESOURCE_OPTIONS.add(button); RESOURCE_OPTIONS.add(button);
if (PuzzleConfig.debugMessages) LOGGER.info(button.descriptionText.getContent().toString() + " -> Resource Options"); if (PuzzleConfig.debugMessages) LOGGER.info(button.descriptionText.toString() + " -> Resource Options");
} }
} }

View File

@@ -11,6 +11,7 @@ import me.pepperbell.continuity.client.config.Option;
import net.dorianpb.cem.internal.config.CemConfig; import net.dorianpb.cem.internal.config.CemConfig;
import net.dorianpb.cem.internal.config.CemConfigFairy; import net.dorianpb.cem.internal.config.CemConfigFairy;
import net.dorianpb.cem.internal.config.CemOptions; import net.dorianpb.cem.internal.config.CemOptions;
import net.minecraft.text.TranslatableText;
import net.puzzlemc.core.config.PuzzleConfig; import net.puzzlemc.core.config.PuzzleConfig;
import net.puzzlemc.gui.mixin.CemConfigAccessor; import net.puzzlemc.gui.mixin.CemConfigAccessor;
import net.puzzlemc.gui.screen.widget.PuzzleWidget; import net.puzzlemc.gui.screen.widget.PuzzleWidget;
@@ -28,27 +29,27 @@ import traben.entity_texture_features.config.ETFConfigScreen;
public class PuzzleClient implements ClientModInitializer { public class PuzzleClient implements ClientModInitializer {
public final static String id = "puzzle"; public final static String id = "puzzle";
public static final Text YES = Text.translatable("gui.yes").formatted(Formatting.GREEN); public static final Text YES = new TranslatableText("gui.yes").formatted(Formatting.GREEN);
public static final Text NO = Text.translatable("gui.no").formatted(Formatting.RED); public static final Text NO = new TranslatableText("gui.no").formatted(Formatting.RED);
@Override @Override
public void onInitializeClient() { public void onInitializeClient() {
MinecraftClient client = MinecraftClient.getInstance(); MinecraftClient client = MinecraftClient.getInstance();
PuzzleApi.addToMiscOptions(new PuzzleWidget(Text.of("Puzzle"))); PuzzleApi.addToMiscOptions(new PuzzleWidget(Text.of("Puzzle")));
PuzzleApi.addToMiscOptions(new PuzzleWidget(Text.translatable("puzzle.option.check_for_updates"), (button) -> button.setMessage(PuzzleConfig.checkUpdates ? YES : NO), (button) -> { PuzzleApi.addToMiscOptions(new PuzzleWidget(new TranslatableText("puzzle.option.check_for_updates"), (button) -> button.setMessage(PuzzleConfig.checkUpdates ? YES : NO), (button) -> {
PuzzleConfig.checkUpdates = !PuzzleConfig.checkUpdates; PuzzleConfig.checkUpdates = !PuzzleConfig.checkUpdates;
PuzzleConfig.write(id); PuzzleConfig.write(id);
})); }));
PuzzleApi.addToMiscOptions(new PuzzleWidget(Text.translatable("puzzle.option.show_version_info"), (button) -> button.setMessage(PuzzleConfig.showPuzzleInfo ? YES : NO), (button) -> { PuzzleApi.addToMiscOptions(new PuzzleWidget(new TranslatableText("puzzle.option.show_version_info"), (button) -> button.setMessage(PuzzleConfig.showPuzzleInfo ? YES : NO), (button) -> {
PuzzleConfig.showPuzzleInfo = !PuzzleConfig.showPuzzleInfo; PuzzleConfig.showPuzzleInfo = !PuzzleConfig.showPuzzleInfo;
PuzzleConfig.write(id); PuzzleConfig.write(id);
})); }));
PuzzleApi.addToMiscOptions(new PuzzleWidget(Text.translatable("puzzle.midnightconfig.title"), (button) -> button.setMessage(Text.of("OPEN")), (button) -> { PuzzleApi.addToMiscOptions(new PuzzleWidget(new TranslatableText("puzzle.midnightconfig.title"), (button) -> button.setMessage(Text.of("OPEN")), (button) -> {
client.setScreen(PuzzleConfig.getScreen(client.currentScreen, "puzzle")); client.setScreen(PuzzleConfig.getScreen(client.currentScreen, "puzzle"));
})); }));
PuzzleApi.addToResourceOptions(new PuzzleWidget(Text.of("Puzzle"))); PuzzleApi.addToResourceOptions(new PuzzleWidget(Text.of("Puzzle")));
if (FabricLoader.getInstance().isModLoaded("puzzle-splashscreen") && !PuzzleConfig.disabledIntegrations.contains("puzzle-splashscreen")) { if (FabricLoader.getInstance().isModLoaded("puzzle-splashscreen") && !PuzzleConfig.disabledIntegrations.contains("puzzle-splashscreen")) {
PuzzleApi.addToResourceOptions(new PuzzleWidget(Text.translatable("puzzle.option.resourcepack_splash_screen"), (button) -> button.setMessage(PuzzleConfig.resourcepackSplashScreen ? YES : NO), (button) -> { PuzzleApi.addToResourceOptions(new PuzzleWidget(new TranslatableText("puzzle.option.resourcepack_splash_screen"), (button) -> button.setMessage(PuzzleConfig.resourcepackSplashScreen ? YES : NO), (button) -> {
PuzzleConfig.resourcepackSplashScreen = !PuzzleConfig.resourcepackSplashScreen; PuzzleConfig.resourcepackSplashScreen = !PuzzleConfig.resourcepackSplashScreen;
PuzzleConfig.write(id); PuzzleConfig.write(id);
PuzzleSplashScreen.resetColors(); PuzzleSplashScreen.resetColors();
@@ -56,11 +57,11 @@ public class PuzzleClient implements ClientModInitializer {
})); }));
} }
if (FabricLoader.getInstance().isModLoaded("puzzle-models") && !PuzzleConfig.disabledIntegrations.contains("puzzle-models")) { if (FabricLoader.getInstance().isModLoaded("puzzle-models") && !PuzzleConfig.disabledIntegrations.contains("puzzle-models")) {
PuzzleApi.addToResourceOptions(new PuzzleWidget(Text.translatable("puzzle.option.unlimited_model_rotations"), (button) -> button.setMessage(PuzzleConfig.unlimitedRotations ? YES : NO), (button) -> { PuzzleApi.addToResourceOptions(new PuzzleWidget(new TranslatableText("puzzle.option.unlimited_model_rotations"), (button) -> button.setMessage(PuzzleConfig.unlimitedRotations ? YES : NO), (button) -> {
PuzzleConfig.unlimitedRotations = !PuzzleConfig.unlimitedRotations; PuzzleConfig.unlimitedRotations = !PuzzleConfig.unlimitedRotations;
PuzzleConfig.write(id); PuzzleConfig.write(id);
})); }));
PuzzleApi.addToResourceOptions(new PuzzleWidget(Text.translatable("puzzle.option.bigger_custom_models"), (button) -> button.setMessage(PuzzleConfig.biggerModels ? YES : NO), (button) -> { PuzzleApi.addToResourceOptions(new PuzzleWidget(new TranslatableText("puzzle.option.bigger_custom_models"), (button) -> button.setMessage(PuzzleConfig.biggerModels ? YES : NO), (button) -> {
PuzzleConfig.biggerModels = !PuzzleConfig.biggerModels; PuzzleConfig.biggerModels = !PuzzleConfig.biggerModels;
PuzzleConfig.write(id); PuzzleConfig.write(id);
})); }));
@@ -83,34 +84,34 @@ public class PuzzleClient implements ClientModInitializer {
DynamicLightsConfig ldlConfig = LambDynLights.get().config; DynamicLightsConfig ldlConfig = LambDynLights.get().config;
PuzzleApi.addToGraphicsOptions(new PuzzleWidget(Text.of("LambDynamicLights"))); PuzzleApi.addToGraphicsOptions(new PuzzleWidget(Text.of("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(new TranslatableText("lambdynlights.option.mode"), (button) -> button.setMessage(ldlConfig.getDynamicLightsMode().getTranslatedText()), (button) -> ldlConfig.setDynamicLightsMode(ldlConfig.getDynamicLightsMode().next())));
PuzzleApi.addToGraphicsOptions(new PuzzleWidget(Text.translatable("").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(new TranslatableText("").append("DynLights: ").append(new TranslatableText("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.translatable("").append("DynLights: ").append(Text.translatable("lambdynlights.option.light_sources.block_entities")), (button) -> button.setMessage(ldlConfig.getBlockEntitiesLightSource().get() ? YES : NO), (button) -> ldlConfig.getBlockEntitiesLightSource().set(!ldlConfig.getBlockEntitiesLightSource().get()))); PuzzleApi.addToGraphicsOptions(new PuzzleWidget(new TranslatableText("").append("DynLights: ").append(new TranslatableText("lambdynlights.option.light_sources.block_entities")), (button) -> button.setMessage(ldlConfig.getBlockEntitiesLightSource().get() ? YES : NO), (button) -> ldlConfig.getBlockEntitiesLightSource().set(!ldlConfig.getBlockEntitiesLightSource().get())));
PuzzleApi.addToGraphicsOptions(new PuzzleWidget(Text.translatable("").append("DynLights: ").append(Text.translatable("entity.minecraft.creeper")), (button) -> button.setMessage(ldlConfig.getCreeperLightingMode().getTranslatedText()), (button) -> ldlConfig.setCreeperLightingMode(ldlConfig.getCreeperLightingMode().next()))); PuzzleApi.addToGraphicsOptions(new PuzzleWidget(new TranslatableText("").append("DynLights: ").append(new TranslatableText("entity.minecraft.creeper")), (button) -> button.setMessage(ldlConfig.getCreeperLightingMode().getTranslatedText()), (button) -> ldlConfig.setCreeperLightingMode(ldlConfig.getCreeperLightingMode().next())));
PuzzleApi.addToGraphicsOptions(new PuzzleWidget(Text.translatable("").append("DynLights: ").append(Text.translatable("block.minecraft.tnt")), (button) -> button.setMessage(ldlConfig.getTntLightingMode().getTranslatedText()), (button) -> ldlConfig.setTntLightingMode(ldlConfig.getTntLightingMode().next()))); PuzzleApi.addToGraphicsOptions(new PuzzleWidget(new TranslatableText("").append("DynLights: ").append(new TranslatableText("block.minecraft.tnt")), (button) -> button.setMessage(ldlConfig.getTntLightingMode().getTranslatedText()), (button) -> ldlConfig.setTntLightingMode(ldlConfig.getTntLightingMode().next())));
PuzzleApi.addToGraphicsOptions(new PuzzleWidget(Text.translatable("").append("DynLights: ").append(Text.translatable("lambdynlights.option.light_sources.water_sensitive_check")), (button) -> button.setMessage(ldlConfig.getWaterSensitiveCheck().get() ? YES : NO), (button) -> ldlConfig.getWaterSensitiveCheck().set(!ldlConfig.getWaterSensitiveCheck().get()))); PuzzleApi.addToGraphicsOptions(new PuzzleWidget(new TranslatableText("").append("DynLights: ").append(new TranslatableText("lambdynlights.option.light_sources.water_sensitive_check")), (button) -> button.setMessage(ldlConfig.getWaterSensitiveCheck().get() ? YES : NO), (button) -> ldlConfig.getWaterSensitiveCheck().set(!ldlConfig.getWaterSensitiveCheck().get())));
} }
if (FabricLoader.getInstance().isModLoaded("citresewn") && !PuzzleConfig.disabledIntegrations.contains("citresewn") && CITResewnConfig.INSTANCE != null) { if (FabricLoader.getInstance().isModLoaded("citresewn") && !PuzzleConfig.disabledIntegrations.contains("citresewn") && CITResewnConfig.INSTANCE != null) {
PuzzleApi.addToResourceOptions(new PuzzleWidget(Text.of("CIT Resewn"))); PuzzleApi.addToResourceOptions(new PuzzleWidget(Text.of("CIT Resewn")));
CITResewnConfig citConfig = CITResewnConfig.INSTANCE; CITResewnConfig citConfig = CITResewnConfig.INSTANCE;
PuzzleApi.addToResourceOptions(new PuzzleWidget(Text.translatable("config.citresewn.enabled.title"), (button) -> button.setMessage(citConfig.enabled ? YES : NO), (button) -> { PuzzleApi.addToResourceOptions(new PuzzleWidget(new TranslatableText("config.citresewn.enabled.title"), (button) -> button.setMessage(citConfig.enabled ? YES : NO), (button) -> {
citConfig.enabled = !citConfig.enabled; citConfig.enabled = !citConfig.enabled;
citConfig.write(); citConfig.write();
MinecraftClient.getInstance().reloadResources(); MinecraftClient.getInstance().reloadResources();
})); }));
PuzzleApi.addToResourceOptions(new PuzzleWidget(Text.translatable("config.citresewn.mute_errors.title"), (button) -> button.setMessage(citConfig.mute_errors ? YES : NO), (button) -> { PuzzleApi.addToResourceOptions(new PuzzleWidget(new TranslatableText("config.citresewn.mute_errors.title"), (button) -> button.setMessage(citConfig.mute_errors ? YES : NO), (button) -> {
citConfig.mute_errors = !citConfig.mute_errors; citConfig.mute_errors = !citConfig.mute_errors;
citConfig.write(); citConfig.write();
})); }));
PuzzleApi.addToResourceOptions(new PuzzleWidget(Text.translatable("config.citresewn.mute_warns.title"), (button) -> button.setMessage(citConfig.mute_warns ? YES : NO), (button) -> { PuzzleApi.addToResourceOptions(new PuzzleWidget(new TranslatableText("config.citresewn.mute_warns.title"), (button) -> button.setMessage(citConfig.mute_warns ? YES : NO), (button) -> {
citConfig.mute_warns = !citConfig.mute_warns; citConfig.mute_warns = !citConfig.mute_warns;
citConfig.write(); citConfig.write();
})); }));
PuzzleApi.addToResourceOptions(new PuzzleWidget(Text.translatable("config.citresewn.broken_paths.title"), (button) -> button.setMessage(citConfig.broken_paths ? YES : NO), (button) -> { PuzzleApi.addToResourceOptions(new PuzzleWidget(new TranslatableText("config.citresewn.broken_paths.title"), (button) -> button.setMessage(citConfig.broken_paths ? YES : NO), (button) -> {
citConfig.broken_paths = !citConfig.broken_paths; citConfig.broken_paths = !citConfig.broken_paths;
citConfig.write(); citConfig.write();
})); }));
PuzzleApi.addToResourceOptions(new PuzzleWidget(0, 100,Text.translatable("config.citresewn.cache_ms.title"), (slider) -> slider.setInt(citConfig.cache_ms), PuzzleApi.addToResourceOptions(new PuzzleWidget(0, 100,new TranslatableText("config.citresewn.cache_ms.title"), (slider) -> slider.setInt(citConfig.cache_ms),
(button) -> button.setMessage(message(citConfig)), (button) -> button.setMessage(message(citConfig)),
(slider) -> { (slider) -> {
try { try {
@@ -123,22 +124,22 @@ public class PuzzleClient implements ClientModInitializer {
if (FabricLoader.getInstance().isModLoaded("lambdabettergrass") && !PuzzleConfig.disabledIntegrations.contains("lambdabettergrass")) { if (FabricLoader.getInstance().isModLoaded("lambdabettergrass") && !PuzzleConfig.disabledIntegrations.contains("lambdabettergrass")) {
LBGConfig lbgConfig = LambdaBetterGrass.get().config; LBGConfig lbgConfig = LambdaBetterGrass.get().config;
PuzzleApi.addToGraphicsOptions(new PuzzleWidget(Text.of("LambdaBetterGrass"))); PuzzleApi.addToGraphicsOptions(new PuzzleWidget(Text.of("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(new TranslatableText("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()))); PuzzleApi.addToGraphicsOptions(new PuzzleWidget(new TranslatableText("lambdabettergrass.option.better_snow"), (button) -> button.setMessage(lbgConfig.hasBetterLayer() ? YES : NO), (button) -> lbgConfig.setBetterLayer(!lbgConfig.hasBetterLayer())));
} }
if (FabricLoader.getInstance().isModLoaded("cem") && FabricLoader.getInstance().isModLoaded("completeconfig") && !PuzzleConfig.disabledIntegrations.contains("cem")) { if (FabricLoader.getInstance().isModLoaded("cem") && FabricLoader.getInstance().isModLoaded("completeconfig") && !PuzzleConfig.disabledIntegrations.contains("cem")) {
PuzzleApi.addToResourceOptions(new PuzzleWidget(Text.of("Custom Entity Models"))); PuzzleApi.addToResourceOptions(new PuzzleWidget(Text.of("Custom Entity Models")));
CemConfig cemConfig = (CemConfig) CemConfigFairy.getConfig(); CemConfig cemConfig = (CemConfig) CemConfigFairy.getConfig();
CemOptions cemOptions = CemConfigFairy.getConfig(); CemOptions cemOptions = CemConfigFairy.getConfig();
PuzzleApi.addToResourceOptions(new PuzzleWidget(Text.translatable("config.cem.use_optifine_folder"), (button) -> button.setMessage(cemConfig.useOptifineFolder() ? YES : NO), (button) -> { PuzzleApi.addToResourceOptions(new PuzzleWidget(new TranslatableText("config.cem.use_optifine_folder"), (button) -> button.setMessage(cemConfig.useOptifineFolder() ? YES : NO), (button) -> {
((CemConfigAccessor)cemOptions).setUseOptifineFolder(!cemConfig.useOptifineFolder()); ((CemConfigAccessor)cemOptions).setUseOptifineFolder(!cemConfig.useOptifineFolder());
cemConfig.save(); cemConfig.save();
})); }));
PuzzleApi.addToResourceOptions(new PuzzleWidget(Text.translatable("config.cem.use_new_model_creation_fix"), (button) -> button.setMessage(cemConfig.useTransparentParts() ? YES : NO), (button) -> { PuzzleApi.addToResourceOptions(new PuzzleWidget(new TranslatableText("config.cem.use_new_model_creation_fix"), (button) -> button.setMessage(cemConfig.useTransparentParts() ? YES : NO), (button) -> {
((CemConfigAccessor)cemOptions).setUseModelCreationFix(!cemConfig.useTransparentParts()); ((CemConfigAccessor)cemOptions).setUseModelCreationFix(!cemConfig.useTransparentParts());
cemConfig.save(); cemConfig.save();
})); }));
PuzzleApi.addToResourceOptions(new PuzzleWidget(Text.translatable("config.cem.use_old_animations"), (button) -> button.setMessage(cemConfig.useOldAnimations() ? YES : NO), (button) -> { PuzzleApi.addToResourceOptions(new PuzzleWidget(new TranslatableText("config.cem.use_old_animations"), (button) -> button.setMessage(cemConfig.useOldAnimations() ? YES : NO), (button) -> {
((CemConfigAccessor)cemOptions).setUseOldAnimations(!cemConfig.useOldAnimations()); ((CemConfigAccessor)cemOptions).setUseOldAnimations(!cemConfig.useOldAnimations());
cemConfig.save(); cemConfig.save();
})); }));
@@ -150,7 +151,7 @@ public class PuzzleClient implements ClientModInitializer {
if (s.equals("use_manual_culling")) return; if (s.equals("use_manual_culling")) return;
try { try {
Option.BooleanOption booleanOption = ((Option.BooleanOption)option); Option.BooleanOption booleanOption = ((Option.BooleanOption)option);
PuzzleApi.addToResourceOptions(new PuzzleWidget(Text.translatable("options.continuity."+s), (button) -> button.setMessage(booleanOption.get() ? YES : NO), (button) -> { PuzzleApi.addToResourceOptions(new PuzzleWidget(new TranslatableText("options.continuity."+s), (button) -> button.setMessage(booleanOption.get() ? YES : NO), (button) -> {
booleanOption.set(!booleanOption.get()); booleanOption.set(!booleanOption.get());
contConfig.onChange(); contConfig.onChange();
contConfig.save(); contConfig.save();
@@ -159,15 +160,15 @@ public class PuzzleClient implements ClientModInitializer {
}); });
} }
if (FabricLoader.getInstance().isModLoaded("entity_texture_features") && !PuzzleConfig.disabledIntegrations.contains("entity_texture_features")) { if (FabricLoader.getInstance().isModLoaded("entity_texture_features") && !PuzzleConfig.disabledIntegrations.contains("entity_texture_features")) {
PuzzleApi.addToResourceOptions(new PuzzleWidget(Text.translatable("config.etf.title"))); PuzzleApi.addToResourceOptions(new PuzzleWidget(new TranslatableText("config.etf.title")));
ETFConfig etfConfig = ETFClient.ETFConfigData; ETFConfig etfConfig = ETFClient.ETFConfigData;
ETFConfigScreen etfConfigScreen = new ETFConfigScreen(); ETFConfigScreen etfConfigScreen = new ETFConfigScreen();
PuzzleApi.addToResourceOptions(new PuzzleWidget(Text.translatable("config.etf.enable_custom_textures.title"), (button) -> button.setMessage(etfConfig.enableCustomTextures ? YES : NO), (button) -> { PuzzleApi.addToResourceOptions(new PuzzleWidget(new TranslatableText("config.etf.enable_custom_textures.title"), (button) -> button.setMessage(etfConfig.enableCustomTextures ? YES : NO), (button) -> {
etfConfig.enableCustomTextures = !etfConfig.enableCustomTextures; etfConfig.enableCustomTextures = !etfConfig.enableCustomTextures;
etfConfigScreen.saveConfig(); etfConfigScreen.saveConfig();
etfConfigScreen.resetVisuals(); etfConfigScreen.resetVisuals();
})); }));
PuzzleApi.addToResourceOptions(new PuzzleWidget(Text.translatable("config.etf.enable_emissive_textures.title"), (button) -> button.setMessage(etfConfig.enableEmissiveTextures ? YES : NO), (button) -> { PuzzleApi.addToResourceOptions(new PuzzleWidget(new TranslatableText("config.etf.enable_emissive_textures.title"), (button) -> button.setMessage(etfConfig.enableEmissiveTextures ? YES : NO), (button) -> {
etfConfig.enableEmissiveTextures = !etfConfig.enableEmissiveTextures; etfConfig.enableEmissiveTextures = !etfConfig.enableEmissiveTextures;
etfConfigScreen.saveConfig(); etfConfigScreen.saveConfig();
etfConfigScreen.resetVisuals(); etfConfigScreen.resetVisuals();
@@ -177,7 +178,7 @@ public class PuzzleClient implements ClientModInitializer {
etfConfigScreen.saveConfig(); etfConfigScreen.saveConfig();
etfConfigScreen.resetVisuals(); etfConfigScreen.resetVisuals();
})); }));
PuzzleApi.addToResourceOptions(new PuzzleWidget(Text.translatable("config.etf.blinking_mob_settings.title"), (button) -> button.setMessage(etfConfig.enableBlinking ? YES : NO), (button) -> { PuzzleApi.addToResourceOptions(new PuzzleWidget(new TranslatableText("config.etf.blinking_mob_settings.title"), (button) -> button.setMessage(etfConfig.enableBlinking ? YES : NO), (button) -> {
etfConfig.enableBlinking = !etfConfig.enableBlinking; etfConfig.enableBlinking = !etfConfig.enableBlinking;
etfConfigScreen.saveConfig(); etfConfigScreen.saveConfig();
etfConfigScreen.resetVisuals(); etfConfigScreen.resetVisuals();
@@ -193,7 +194,7 @@ public class PuzzleClient implements ClientModInitializer {
public static Text message(CITResewnConfig config) { public static Text message(CITResewnConfig config) {
int ticks = config.cache_ms; int ticks = config.cache_ms;
if (ticks <= 1) { if (ticks <= 1) {
return (Text.translatable("config.citresewn.cache_ms.ticks." + ticks)).formatted(Formatting.AQUA); return (new TranslatableText("config.citresewn.cache_ms.ticks." + ticks)).formatted(Formatting.AQUA);
} else { } else {
Formatting color = Formatting.DARK_RED; Formatting color = Formatting.DARK_RED;
if (ticks <= 40) { if (ticks <= 40) {
@@ -212,7 +213,7 @@ public class PuzzleClient implements ClientModInitializer {
color = Formatting.GREEN; color = Formatting.GREEN;
} }
return (Text.translatable("config.citresewn.cache_ms.ticks.any", ticks)).formatted(color); return (new TranslatableText("config.citresewn.cache_ms.ticks.any", ticks)).formatted(color);
} }
} }
} }

View File

@@ -3,6 +3,7 @@ package net.puzzlemc.gui.mixin;
import eu.midnightdust.core.config.MidnightLibConfig; import eu.midnightdust.core.config.MidnightLibConfig;
import eu.midnightdust.lib.util.screen.TexturedOverlayButtonWidget; import eu.midnightdust.lib.util.screen.TexturedOverlayButtonWidget;
import net.fabricmc.loader.api.FabricLoader; import net.fabricmc.loader.api.FabricLoader;
import net.minecraft.text.TranslatableText;
import net.minecraft.util.Identifier; import net.minecraft.util.Identifier;
import net.puzzlemc.core.config.PuzzleConfig; import net.puzzlemc.core.config.PuzzleConfig;
import net.puzzlemc.gui.PuzzleClient; import net.puzzlemc.gui.PuzzleClient;
@@ -31,7 +32,7 @@ public abstract class MixinOptionsScreen extends Screen {
int i = 0; int i = 0;
if (FabricLoader.getInstance().isModLoaded("lod")) i = i + 358; if (FabricLoader.getInstance().isModLoaded("lod")) i = i + 358;
if (MidnightLibConfig.config_screen_list.equals(MidnightLibConfig.ConfigButton.FALSE)) i = i - 25; if (MidnightLibConfig.config_screen_list.equals(MidnightLibConfig.ConfigButton.FALSE)) i = i - 25;
this.addDrawableChild(new TexturedOverlayButtonWidget(this.width / 2 - 178 + i, this.height / 6 - 12, 20, 20, 0, 0, 20, PUZZLE_ICON_TEXTURE, 32, 64, (buttonWidget) -> (Objects.requireNonNull(this.client)).setScreen(new PuzzleOptionsScreen(this)), Text.translatable("midnightlib.overview.title"))); this.addDrawableChild(new TexturedOverlayButtonWidget(this.width / 2 - 178 + i, this.height / 6 - 12, 20, 20, 0, 0, 20, PUZZLE_ICON_TEXTURE, 32, 64, (buttonWidget) -> (Objects.requireNonNull(this.client)).setScreen(new PuzzleOptionsScreen(this)), new TranslatableText("midnightlib.overview.title")));
} }
} }
} }

View File

@@ -1,7 +1,7 @@
package net.puzzlemc.gui.screen; package net.puzzlemc.gui.screen;
import net.minecraft.screen.ScreenTexts; import net.minecraft.client.gui.screen.ScreenTexts;
import net.minecraft.text.Text; import net.minecraft.text.TranslatableText;
import net.puzzlemc.gui.PuzzleClient; import net.puzzlemc.gui.PuzzleClient;
import net.puzzlemc.gui.screen.page.GraphicsPage; import net.puzzlemc.gui.screen.page.GraphicsPage;
import net.puzzlemc.gui.screen.page.MiscPage; import net.puzzlemc.gui.screen.page.MiscPage;
@@ -16,7 +16,7 @@ import java.util.Objects;
public class PuzzleOptionsScreen extends Screen { public class PuzzleOptionsScreen extends Screen {
public PuzzleOptionsScreen(Screen parent) { public PuzzleOptionsScreen(Screen parent) {
super(Text.translatable("puzzle.screen.title")); super(new TranslatableText("puzzle.screen.title"));
this.parent = parent; this.parent = parent;
} }
private final Screen parent; private final Screen parent;

View File

@@ -1,6 +1,6 @@
package net.puzzlemc.gui.screen.page; package net.puzzlemc.gui.screen.page;
import net.minecraft.screen.ScreenTexts; import net.minecraft.client.gui.screen.ScreenTexts;
import net.minecraft.text.Text; import net.minecraft.text.Text;
import net.puzzlemc.gui.screen.widget.PuzzleOptionListWidget; import net.puzzlemc.gui.screen.widget.PuzzleOptionListWidget;
import net.puzzlemc.gui.screen.widget.PuzzleWidget; import net.puzzlemc.gui.screen.widget.PuzzleWidget;

View File

@@ -1,12 +1,12 @@
package net.puzzlemc.gui.screen.page; package net.puzzlemc.gui.screen.page;
import net.minecraft.text.Text; import net.minecraft.text.TranslatableText;
import net.puzzlemc.gui.PuzzleApi; import net.puzzlemc.gui.PuzzleApi;
import net.minecraft.client.gui.screen.Screen; import net.minecraft.client.gui.screen.Screen;
public class GraphicsPage extends AbstractPuzzleOptionsPage { public class GraphicsPage extends AbstractPuzzleOptionsPage {
public GraphicsPage(Screen parent) { public GraphicsPage(Screen parent) {
super(parent, Text.translatable("puzzle.page.graphics"), PuzzleApi.GRAPHICS_OPTIONS); super(parent, new TranslatableText("puzzle.page.graphics"), PuzzleApi.GRAPHICS_OPTIONS);
} }
} }

View File

@@ -1,12 +1,12 @@
package net.puzzlemc.gui.screen.page; package net.puzzlemc.gui.screen.page;
import net.minecraft.text.Text; import net.minecraft.text.TranslatableText;
import net.puzzlemc.gui.PuzzleApi; import net.puzzlemc.gui.PuzzleApi;
import net.minecraft.client.gui.screen.Screen; import net.minecraft.client.gui.screen.Screen;
public class MiscPage extends AbstractPuzzleOptionsPage { public class MiscPage extends AbstractPuzzleOptionsPage {
public MiscPage(Screen parent) { public MiscPage(Screen parent) {
super(parent, Text.translatable("puzzle.page.misc"), PuzzleApi.MISC_OPTIONS); super(parent, new TranslatableText("puzzle.page.misc"), PuzzleApi.MISC_OPTIONS);
} }
} }

View File

@@ -1,12 +1,12 @@
package net.puzzlemc.gui.screen.page; package net.puzzlemc.gui.screen.page;
import net.minecraft.text.Text; import net.minecraft.text.TranslatableText;
import net.puzzlemc.gui.PuzzleApi; import net.puzzlemc.gui.PuzzleApi;
import net.minecraft.client.gui.screen.Screen; import net.minecraft.client.gui.screen.Screen;
public class PerformancePage extends AbstractPuzzleOptionsPage { public class PerformancePage extends AbstractPuzzleOptionsPage {
public PerformancePage(Screen parent) { public PerformancePage(Screen parent) {
super(parent, Text.translatable("puzzle.page.performance"), PuzzleApi.PERFORMANCE_OPTIONS); super(parent, new TranslatableText("puzzle.page.performance"), PuzzleApi.PERFORMANCE_OPTIONS);
} }
} }

View File

@@ -1,12 +1,12 @@
package net.puzzlemc.gui.screen.page; package net.puzzlemc.gui.screen.page;
import net.minecraft.text.Text; import net.minecraft.text.TranslatableText;
import net.puzzlemc.gui.PuzzleApi; import net.puzzlemc.gui.PuzzleApi;
import net.minecraft.client.gui.screen.Screen; import net.minecraft.client.gui.screen.Screen;
public class ResourcesPage extends AbstractPuzzleOptionsPage { public class ResourcesPage extends AbstractPuzzleOptionsPage {
public ResourcesPage(Screen parent) { public ResourcesPage(Screen parent) {
super(parent, Text.translatable("puzzle.page.resources"), PuzzleApi.RESOURCE_OPTIONS); super(parent, new TranslatableText("puzzle.page.resources"), PuzzleApi.RESOURCE_OPTIONS);
} }
} }

View File

@@ -9,6 +9,7 @@ import net.minecraft.client.gui.Selectable;
import net.minecraft.client.gui.widget.ClickableWidget; import net.minecraft.client.gui.widget.ClickableWidget;
import net.minecraft.client.gui.widget.ElementListWidget; import net.minecraft.client.gui.widget.ElementListWidget;
import net.minecraft.client.util.math.MatrixStack; import net.minecraft.client.util.math.MatrixStack;
import net.minecraft.text.LiteralText;
import net.minecraft.text.Text; import net.minecraft.text.Text;
import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.LogManager;
@@ -59,7 +60,7 @@ public class PuzzleOptionListWidget extends ElementListWidget<PuzzleOptionListWi
private ButtonEntry(ClickableWidget button, Text text) { private ButtonEntry(ClickableWidget button, Text text) {
if (button != null) if (button != null)
this.buttons.add(button); this.buttons.add(button);
this.button = button; this.button = button;
this.text = text; this.text = text;
} }
@@ -73,7 +74,7 @@ public class PuzzleOptionListWidget extends ElementListWidget<PuzzleOptionListWi
button.y = y; button.y = y;
button.render(matrices, mouseX, mouseY, tickDelta); button.render(matrices, mouseX, mouseY, tickDelta);
} }
if (button == null) drawCenteredText(matrices,textRenderer, Text.literal(" ").append(text).append(" "),x + 200,y+5,0xFFFFFF); if (button == null) drawCenteredText(matrices,textRenderer, new LiteralText(" ").append(text).append(" "),x + 200,y+5,0xFFFFFF);
else drawTextWithShadow(matrices,textRenderer, text,x+15,y+5,0xFFFFFF); else drawTextWithShadow(matrices,textRenderer, text,x+15,y+5,0xFFFFFF);
} }

View File

@@ -77,8 +77,8 @@ public class PuzzleSplashScreen implements ClientModInitializer {
client.getTextureManager().registerTexture(LOGO, new LogoTexture(LOGO)); client.getTextureManager().registerTexture(LOGO, new LogoTexture(LOGO));
client.getTextureManager().registerTexture(BACKGROUND, new LogoTexture(BACKGROUND)); client.getTextureManager().registerTexture(BACKGROUND, new LogoTexture(BACKGROUND));
manager.findResources("optifine", path -> path.getPath().contains("color.properties")).forEach((id, resource) -> { manager.findResources("optifine", path -> path.contains("color.properties")).forEach(id -> {
try (InputStream stream = manager.getResource(id).get().getInputStream()) { try (InputStream stream = manager.getResource(id).getInputStream()) {
Properties properties = new Properties(); Properties properties = new Properties();
properties.load(stream); properties.load(stream);
@@ -103,8 +103,8 @@ public class PuzzleSplashScreen implements ClientModInitializer {
LogManager.getLogger("Puzzle").error("Error occurred while loading color.properties " + id.toString(), e); LogManager.getLogger("Puzzle").error("Error occurred while loading color.properties " + id.toString(), e);
} }
}); });
manager.findResources("textures", path -> path.getPath().contains("mojangstudios.png")).forEach((id, resource) -> { manager.findResources("textures", path -> path.contains("mojangstudios.png")).forEach(id -> {
try (InputStream stream = manager.getResource(id).get().getInputStream()) { try (InputStream stream = manager.getResource(id).getInputStream()) {
Files.copy(stream, LOGO_TEXTURE, StandardCopyOption.REPLACE_EXISTING); Files.copy(stream, LOGO_TEXTURE, StandardCopyOption.REPLACE_EXISTING);
InputStream input = new FileInputStream(String.valueOf(PuzzleSplashScreen.LOGO_TEXTURE)); InputStream input = new FileInputStream(String.valueOf(PuzzleSplashScreen.LOGO_TEXTURE));
client.getTextureManager().registerTexture(LOGO, new NativeImageBackedTexture(NativeImage.read(input))); client.getTextureManager().registerTexture(LOGO, new NativeImageBackedTexture(NativeImage.read(input)));
@@ -112,8 +112,8 @@ public class PuzzleSplashScreen implements ClientModInitializer {
LogManager.getLogger("Puzzle").error("Error occurred while loading custom minecraft logo " + id.toString(), e); LogManager.getLogger("Puzzle").error("Error occurred while loading custom minecraft logo " + id.toString(), e);
} }
}); });
manager.findResources("puzzle", path -> path.getPath().contains("splash_background.png")).forEach((id, resource) -> { manager.findResources("puzzle", path -> path.contains("splash_background.png")).forEach(id -> {
try (InputStream stream = manager.getResource(id).get().getInputStream()) { try (InputStream stream = manager.getResource(id).getInputStream()) {
Files.copy(stream, BACKGROUND_TEXTURE, StandardCopyOption.REPLACE_EXISTING); Files.copy(stream, BACKGROUND_TEXTURE, StandardCopyOption.REPLACE_EXISTING);
InputStream input = new FileInputStream(String.valueOf(PuzzleSplashScreen.BACKGROUND_TEXTURE)); InputStream input = new FileInputStream(String.valueOf(PuzzleSplashScreen.BACKGROUND_TEXTURE));
client.getTextureManager().registerTexture(BACKGROUND, new NativeImageBackedTexture(NativeImage.read(input))); client.getTextureManager().registerTexture(BACKGROUND, new NativeImageBackedTexture(NativeImage.read(input)));