From a65d4a6213e927b57de3115136ecec6db3244db6 Mon Sep 17 00:00:00 2001 From: Marcel Konrad Date: Thu, 3 Mar 2022 21:45:13 +0100 Subject: [PATCH] Update to 1.18.2 Swapped arguments for wh replace --- build.gradle | 6 +++--- .../java/exopandora/worldhandler/Main.java | 2 +- .../argument/BlockPredicateArgument.java | 2 +- .../argument/ItemPredicateArgument.java | 2 +- .../worldhandler/command/CommandWH.java | 8 ++++---- .../gui/content/impl/ContentChangeWorld.java | 20 +++++-------------- .../worldhandler/util/AdvancementHelper.java | 4 ++-- .../worldhandler/util/IConnection.java | 18 +---------------- .../worldhandler/util/RegistryHelper.java | 6 +----- src/main/resources/META-INF/mods.toml | 4 ++-- 10 files changed, 21 insertions(+), 51 deletions(-) diff --git a/build.gradle b/build.gradle index 72e35e5..6220120 100644 --- a/build.gradle +++ b/build.gradle @@ -15,7 +15,7 @@ buildscript { apply plugin: 'net.minecraftforge.gradle' apply plugin: 'eclipse' -version = '1.18.1-3.0.1' +version = '1.18.2-3.0.1' group = 'exopandora.worldhandler' // http://maven.apache.org/guides/mini/guide-naming-conventions.html archivesBaseName = 'WorldHandler' @@ -34,7 +34,7 @@ minecraft { // // Use non-default mappings at your own risk. they may not always work. // Simply re-run your setup task after changing the mappings to update your workspace. - mappings channel: 'official', version: '1.18.1' + mappings channel: 'official', version: '1.18.2' // makeObfSourceJar = false // an Srg named sources jar is made by default. uncomment this to disable. accessTransformer = file('src/main/resources/META-INF/accesstransformer.cfg') @@ -106,7 +106,7 @@ dependencies { // Specify the version of Minecraft to use, If this is any group other then 'net.minecraft' it is assumed // that the dep is a ForgeGradle 'patcher' dependency. And it's patches will be applied. // The userdev artifact is a special name and will get all sorts of transformations applied to it. - minecraft 'net.minecraftforge:forge:1.18.1-39.0.0' + minecraft 'net.minecraftforge:forge:1.18.2-40.0.2' // You may put jars on which you depend on in ./libs or you may define them like so.. // compile "some.group:artifact:version:classifier" diff --git a/src/main/java/exopandora/worldhandler/Main.java b/src/main/java/exopandora/worldhandler/Main.java index 4d8b016..9ed471d 100644 --- a/src/main/java/exopandora/worldhandler/Main.java +++ b/src/main/java/exopandora/worldhandler/Main.java @@ -11,7 +11,7 @@ public class Main { public static final String NAME = "World Handler"; public static final String MODID = "worldhandler"; - public static final String MC_VERSION = "1.18.1"; + public static final String MC_VERSION = "1.18.2"; public static final String MOD_VERSION = "3.0.1"; public static final String URL = "https://minecraft.curseforge.com/projects/world-handler-command-gui"; diff --git a/src/main/java/exopandora/worldhandler/builder/argument/BlockPredicateArgument.java b/src/main/java/exopandora/worldhandler/builder/argument/BlockPredicateArgument.java index 49148d8..6722c43 100644 --- a/src/main/java/exopandora/worldhandler/builder/argument/BlockPredicateArgument.java +++ b/src/main/java/exopandora/worldhandler/builder/argument/BlockPredicateArgument.java @@ -139,7 +139,7 @@ public class BlockPredicateArgument extends TagArgument } else { - this.resource = parser.getTag(); + this.resource = parser.getTag().location(); this.isTag = true; this.properties = parser.getVagueProperties(); this.setTag(parser.getNbt()); diff --git a/src/main/java/exopandora/worldhandler/builder/argument/ItemPredicateArgument.java b/src/main/java/exopandora/worldhandler/builder/argument/ItemPredicateArgument.java index 17e5e6c..416075c 100644 --- a/src/main/java/exopandora/worldhandler/builder/argument/ItemPredicateArgument.java +++ b/src/main/java/exopandora/worldhandler/builder/argument/ItemPredicateArgument.java @@ -70,7 +70,7 @@ public class ItemPredicateArgument extends TagArgument } else { - this.resource = parser.getTag(); + this.resource = parser.getTag().location(); this.setTag(parser.getNbt()); this.isTag = true; } diff --git a/src/main/java/exopandora/worldhandler/command/CommandWH.java b/src/main/java/exopandora/worldhandler/command/CommandWH.java index 2c80d88..733782a 100644 --- a/src/main/java/exopandora/worldhandler/command/CommandWH.java +++ b/src/main/java/exopandora/worldhandler/command/CommandWH.java @@ -40,9 +40,9 @@ public class CommandWH .executes(context -> fill(context.getSource(), BlockStateArgument.getBlock(context, "block"))))) .then(Commands.literal("replace") .requires(source -> source.hasPermission(2)) - .then(Commands.argument("block", BlockStateArgument.block()) - .then(Commands.argument("filter", BlockPredicateArgument.blockPredicate()) - .executes(context -> replace(context.getSource(), BlockStateArgument.getBlock(context, "block"), getCommandNode("filter", context.getNodes()).getRange().get(context.getInput())))))) + .then(Commands.argument("filter", BlockPredicateArgument.blockPredicate()) + .then(Commands.argument("block", BlockStateArgument.block()) + .executes(context -> replace(context.getSource(), getCommandNode("filter", context.getNodes()).getRange().get(context.getInput()), BlockStateArgument.getBlock(context, "block")))))) .then(Commands.literal("clone") .requires(source -> source.hasPermission(2)) .executes(context -> clone(context.getSource(), "masked", null)) @@ -95,7 +95,7 @@ public class CommandWH return 1; } - private static int replace(CommandSourceStack source, BlockInput block, String filter) + private static int replace(CommandSourceStack source, String filter, BlockInput block) { DistExecutor.unsafeRunWhenOn(Dist.CLIENT, () -> () -> { diff --git a/src/main/java/exopandora/worldhandler/gui/content/impl/ContentChangeWorld.java b/src/main/java/exopandora/worldhandler/gui/content/impl/ContentChangeWorld.java index 2570765..99f2bbc 100644 --- a/src/main/java/exopandora/worldhandler/gui/content/impl/ContentChangeWorld.java +++ b/src/main/java/exopandora/worldhandler/gui/content/impl/ContentChangeWorld.java @@ -18,12 +18,8 @@ import net.minecraft.client.gui.screens.multiplayer.SafetyScreen; import net.minecraft.client.gui.screens.worldselection.SelectWorldScreen; import net.minecraft.client.multiplayer.ServerData; import net.minecraft.client.multiplayer.resolver.ServerAddress; -import net.minecraft.client.server.IntegratedServer; -import net.minecraft.core.RegistryAccess; import net.minecraft.network.chat.MutableComponent; import net.minecraft.network.chat.TranslatableComponent; -import net.minecraft.world.level.LevelSettings; -import net.minecraft.world.level.levelgen.WorldGenSettings; public class ContentChangeWorld extends ContentChild { @@ -63,15 +59,11 @@ public class ContentChangeWorld extends ContentChild if(isIntegrated) { - IntegratedServer integrated = Minecraft.getInstance().getSingleplayerServer(); - String folder = integrated.storageSource.getLevelId(); - WorldGenSettings worldGenSettings = integrated.getWorldData().worldGenSettings(); - LevelSettings levelSettings = integrated.getWorldData().getLevelSettings(); - + String folder = Minecraft.getInstance().getSingleplayerServer().storageSource.getLevelId(); Minecraft.getInstance().level.disconnect(); Minecraft.getInstance().clearLevel(new GenericDirtMessageScreen(new TranslatableComponent("menu.savingLevel"))); - return new IntegratedConnection(folder, levelSettings, worldGenSettings); + return new IntegratedConnection(folder); } if(Minecraft.getInstance().level != null) @@ -94,15 +86,13 @@ public class ContentChangeWorld extends ContentChild { Minecraft.getInstance().setScreen(new RealmsMainScreen(new TitleScreen())); } - else if(connection instanceof IntegratedConnection) + else if(connection instanceof IntegratedConnection integrated) { - IntegratedConnection integrated = (IntegratedConnection) connection; - Minecraft.getInstance().createLevel(integrated.getFolder(), integrated.getWorldSettings(), RegistryAccess.builtin(), integrated.getWorldGenSettings()); + Minecraft.getInstance().loadLevel(integrated.getFolder());; Minecraft.getInstance().mouseHandler.grabMouse(); } - else if(connection instanceof DedicatedConnection) + else if(connection instanceof DedicatedConnection dedicated) { - DedicatedConnection dedicated = (DedicatedConnection) connection; ServerData data = dedicated.getData(); ConnectScreen.startConnecting(new TitleScreen(), Minecraft.getInstance(), ServerAddress.parseString(data.ip), data); } diff --git a/src/main/java/exopandora/worldhandler/util/AdvancementHelper.java b/src/main/java/exopandora/worldhandler/util/AdvancementHelper.java index 6fc92d7..a4471d9 100644 --- a/src/main/java/exopandora/worldhandler/util/AdvancementHelper.java +++ b/src/main/java/exopandora/worldhandler/util/AdvancementHelper.java @@ -13,8 +13,8 @@ import net.minecraft.server.packs.PackResources; import net.minecraft.server.packs.PackType; import net.minecraft.server.packs.repository.Pack; import net.minecraft.server.packs.resources.PreparableReloadListener; +import net.minecraft.server.packs.resources.ReloadableResourceManager; import net.minecraft.server.packs.resources.ResourceManager; -import net.minecraft.server.packs.resources.SimpleReloadableResourceManager; import net.minecraft.util.Unit; import net.minecraft.util.profiling.ProfilerFiller; import net.minecraft.world.level.storage.loot.PredicateManager; @@ -29,7 +29,7 @@ public class AdvancementHelper implements PreparableReloadListener { return CompletableFuture.supplyAsync(() -> { - SimpleReloadableResourceManager serverResourceManager = new SimpleReloadableResourceManager(PackType.SERVER_DATA); + ReloadableResourceManager serverResourceManager = new ReloadableResourceManager(PackType.SERVER_DATA); serverResourceManager.registerReloadListener(this.manager); return serverResourceManager; }).thenCompose(stage::wait).thenAcceptAsync(serverResourceManager -> diff --git a/src/main/java/exopandora/worldhandler/util/IConnection.java b/src/main/java/exopandora/worldhandler/util/IConnection.java index ec48f27..b80ece9 100644 --- a/src/main/java/exopandora/worldhandler/util/IConnection.java +++ b/src/main/java/exopandora/worldhandler/util/IConnection.java @@ -1,38 +1,22 @@ package exopandora.worldhandler.util; import net.minecraft.client.multiplayer.ServerData; -import net.minecraft.world.level.LevelSettings; -import net.minecraft.world.level.levelgen.WorldGenSettings; public interface IConnection { public static class IntegratedConnection implements IConnection { private final String folder; - private final LevelSettings levelSettings; - private final WorldGenSettings worldGenSettings; - public IntegratedConnection(String folderName, LevelSettings levelSettings, WorldGenSettings worldGenSettings) + public IntegratedConnection(String folderName) { this.folder = folderName; - this.levelSettings = levelSettings; - this.worldGenSettings = worldGenSettings; } public String getFolder() { return this.folder; } - - public LevelSettings getWorldSettings() - { - return this.levelSettings; - } - - public WorldGenSettings getWorldGenSettings() - { - return this.worldGenSettings; - } } public static class DedicatedConnection implements IConnection diff --git a/src/main/java/exopandora/worldhandler/util/RegistryHelper.java b/src/main/java/exopandora/worldhandler/util/RegistryHelper.java index 21926af..960e9c9 100644 --- a/src/main/java/exopandora/worldhandler/util/RegistryHelper.java +++ b/src/main/java/exopandora/worldhandler/util/RegistryHelper.java @@ -7,15 +7,12 @@ import java.util.function.Function; import javax.annotation.Nullable; import exopandora.worldhandler.Main; -import net.minecraft.core.Registry; -import net.minecraft.core.RegistryAccess; import net.minecraft.locale.Language; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.effect.MobEffect; import net.minecraft.world.entity.EntityType; import net.minecraft.world.item.Item; import net.minecraft.world.item.enchantment.Enchantment; -import net.minecraft.world.level.biome.Biome; import net.minecraft.world.level.block.Block; import net.minecraftforge.registries.ForgeRegistries; import net.minecraftforge.registries.ForgeRegistryEntry; @@ -33,8 +30,7 @@ public class RegistryHelper registerRegistry(ForgeRegistries.MOB_EFFECTS, MobEffect::getDescriptionId); registerRegistry(ForgeRegistries.BIOMES, biome -> { - Registry registry = RegistryAccess.builtin().registryOrThrow(Registry.BIOME_REGISTRY); - ResourceLocation resource = registry.getKey(biome); + ResourceLocation resource = biome.getRegistryName(); String key = "biome." + biome.getRegistryName().getNamespace() + "." + resource.getPath(); return Language.getInstance().has(key) ? key : resource.toString(); }); diff --git a/src/main/resources/META-INF/mods.toml b/src/main/resources/META-INF/mods.toml index 3a4b74d..68fafe0 100644 --- a/src/main/resources/META-INF/mods.toml +++ b/src/main/resources/META-INF/mods.toml @@ -1,5 +1,5 @@ modLoader="javafml" -loaderVersion="[39,)" +loaderVersion="[40,)" updateJSONURL="https://raw.githubusercontent.com/Exopandora/worldhandler/master/version.json" issueTrackerURL="https://github.com/Exopandora/WorldHandler/issues" displayURL="https://minecraft.curseforge.com/projects/world-handler-command-gui" @@ -11,7 +11,7 @@ license="GPL v3.0" [[mods]] modId="worldhandler" - version="1.18.1-3.0.1" + version="1.18.2-3.0.1" displayName="World Handler" description="The World Handler provides a simple and easy to use graphical user interface for commands. It lets you create powerful and complex sub-commands alongside NBT-structures within seconds."