From bfbf99d2c771a2230ae566adaf93c454f46c3508 Mon Sep 17 00:00:00 2001 From: Exopandora Date: Sat, 9 Dec 2023 14:39:09 +0100 Subject: [PATCH] Update to 1.20.4 --- build.gradle | 45 ++++------------ gradle.properties | 6 +-- .../java/exopandora/worldhandler/Main.java | 2 +- .../exopandora/worldhandler/WorldHandler.java | 1 - .../builder/argument/Arguments.java | 26 ++++++++++ .../builder/impl/ExecuteCommandBuilder.java | 14 ++++- .../impl/ScoreboardCommandBuilder.java | 51 ++++++++++++++++++- .../gui/content/impl/ContentChangeWorld.java | 5 +- .../gui/widget/button/GuiHintTextField.java | 4 +- .../util/UserStylableComponent.java | 8 +-- src/main/resources/META-INF/mods.toml | 6 +-- src/main/resources/pack.mcmeta | 2 +- 12 files changed, 116 insertions(+), 54 deletions(-) diff --git a/build.gradle b/build.gradle index 89f3384..4cdeb41 100644 --- a/build.gradle +++ b/build.gradle @@ -1,7 +1,7 @@ plugins { id 'java' id 'eclipse' - id 'net.minecraftforge.gradle' version '6.0.+' + id 'net.minecraftforge.gradle' version '[6.0.16,6.2)' id 'me.hypherionmc.cursegradle' version '2.+' } @@ -17,61 +17,38 @@ minecraft { accessTransformer = file('src/main/resources/META-INF/accesstransformer.cfg') runs { - client { + configureEach { workingDirectory project.file('run') + } + + client { taskName "${project.name}Client" - - mods { - "${mod_id}" { - source sourceSets.main - } - } } server { - workingDirectory project.file('run') taskName "${project.name}Server" - - mods { - "${mod_id}" { - source sourceSets.main - } - } } gameTestServer { - workingDirectory project.file('run') taskName "${project.name}GameTest" - - mods { - "${mod_id}" { - source sourceSets.main - } - } + property 'forge.enabledGameTestNamespaces', mod_id } data { - workingDirectory project.file('run') + workingDirectory project.file('run-data') taskName "${project.name}Data" - - args '--mod', "${mod_id}", '--all', '--output', file('src/generated/resources/'), '--existing', file('src/main/resources/') - - mods { - "${mod_id}" { - source sourceSets.main - } - } + args '--mod', mod_id, '--all', '--output', file('src/generated/resources/'), '--existing', file('src/main/resources/') } } } -sourceSets.main.resources.srcDir 'src/generated/resources' +sourceSets.main.resources { srcDir 'src/generated/resources' } dependencies { minecraft "net.minecraftforge:forge:${minecraft_version}-${forge_version}" } -jar { +tasks.named('jar', Jar).configure { manifest { attributes([ "Specification-Title": "${mod_id}", @@ -86,7 +63,7 @@ jar { } } -processResources { +tasks.named('processResources', ProcessResources).configure { outputs.upToDateWhen { false } diff --git a/gradle.properties b/gradle.properties index 9acb514..f13c1e5 100644 --- a/gradle.properties +++ b/gradle.properties @@ -2,14 +2,14 @@ mod_id = worldhandler mod_name = WorldHandler mod_version = 3.5.1 -minecraft_version = 1.20.2 +minecraft_version = 1.20.4 group = exopandora.worldhandler main_class = exopandora.worldhandler.Main author = Exopandora # Forge -forge_version = 48.0.0 -forge_compatible_minecraft_versions = 1.20.2 +forge_version = 49.0.3 +forge_compatible_minecraft_versions = 1.20.3,1.20.4 # Publishing curse_project_id = 228970 diff --git a/src/main/java/exopandora/worldhandler/Main.java b/src/main/java/exopandora/worldhandler/Main.java index 5f1f553..862bac8 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.20.2"; + public static final String MC_VERSION = "1.20.4"; public static final String MOD_VERSION = "3.5.1"; public static final String URL = "https://minecraft.curseforge.com/projects/world-handler-command-gui"; diff --git a/src/main/java/exopandora/worldhandler/WorldHandler.java b/src/main/java/exopandora/worldhandler/WorldHandler.java index 89eadc7..f767458 100644 --- a/src/main/java/exopandora/worldhandler/WorldHandler.java +++ b/src/main/java/exopandora/worldhandler/WorldHandler.java @@ -37,7 +37,6 @@ public class WorldHandler public static final Logger LOGGER = LogManager.getLogger(); public static final Path USERCONTENT_PATH = FMLPaths.CONFIGDIR.get().resolve(Main.MODID).resolve("usercontent"); - @SuppressWarnings("serial") public WorldHandler() { IEventBus modEventBus = FMLJavaModLoadingContext.get().getModEventBus(); diff --git a/src/main/java/exopandora/worldhandler/builder/argument/Arguments.java b/src/main/java/exopandora/worldhandler/builder/argument/Arguments.java index 9393f63..69bb9ef 100644 --- a/src/main/java/exopandora/worldhandler/builder/argument/Arguments.java +++ b/src/main/java/exopandora/worldhandler/builder/argument/Arguments.java @@ -2,25 +2,34 @@ package exopandora.worldhandler.builder.argument; import java.util.function.Function; +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonParseException; import com.mojang.brigadier.StringReader; import com.mojang.brigadier.arguments.StringArgumentType; import com.mojang.brigadier.exceptions.CommandSyntaxException; +import com.mojang.serialization.JsonOps; import exopandora.worldhandler.builder.argument.PrimitiveArgument.Linkage; import exopandora.worldhandler.builder.argument.PrimitiveArgument.Operation; import exopandora.worldhandler.builder.argument.PrimitiveArgument.Relation; import exopandora.worldhandler.builder.argument.PrimitiveArgument.Type; import exopandora.worldhandler.util.EnumHelper; +import net.minecraft.Util; import net.minecraft.advancements.critereon.MinMaxBounds; +import net.minecraft.commands.ParserUtils; import net.minecraft.commands.arguments.EntityAnchorArgument.Anchor; import net.minecraft.core.Direction.Axis; import net.minecraft.network.chat.Component; +import net.minecraft.network.chat.Style; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.Difficulty; import net.minecraft.world.scores.criteria.ObjectiveCriteria.RenderType; public class Arguments { + private static final Gson GSON = (new GsonBuilder()).disableHtmlEscaping().create(); + public static PrimitiveArgument shortArg() { return PrimitiveArgument.builder(string -> @@ -339,4 +348,21 @@ public class Arguments { return new DimensionArgument(); } + + public static PrimitiveArgument