diff --git a/build.gradle b/build.gradle index d6a0e8a..407966c 100644 --- a/build.gradle +++ b/build.gradle @@ -3,7 +3,7 @@ plugins { id 'eclipse' id 'idea' id 'maven-publish' - id 'net.neoforged.gradle.userdev' version '7.0.145' + id 'net.neoforged.gradle.userdev' version '7.0.165' } version = mod_version @@ -32,7 +32,6 @@ runs { } server { systemProperty 'forge.enabledGameTestNamespaces', project.mod_id - programArgument '--nogui' } gameTestServer { systemProperty 'forge.enabledGameTestNamespaces', project.mod_id @@ -151,14 +150,19 @@ dependencies { implementation "vazkii.patchouli:Patchouli:${patchouli_ver}" - runtimeOnly "dev.xkmc:l2damagetracker:3.0.2" + runtimeOnly "dev.xkmc:l2damagetracker:3.0.3+2" runtimeOnly "dev.xkmc:l2menustacker:3.0.9" - runtimeOnly "dev.xkmc:l2itemselector:3.0.7" - runtimeOnly "dev.xkmc:l2library:3.0.2" - runtimeOnly "dev.xkmc:l2complements:3.0.2+3" + runtimeOnly "dev.xkmc:l2itemselector:3.0.8" + runtimeOnly "dev.xkmc:l2library:3.0.2+4" + runtimeOnly "dev.xkmc:l2complements:3.0.2+7" + runtimeOnly "dev.xkmc:l2archery:3.0.0+8" runtimeOnly "curse.maven:embeddium-908741:5630163" runtimeOnly "curse.maven:farmers-delight-398521:5566383" runtimeOnly "dev.xkmc:cuisinedelight:1.2.2" + implementation "curse.maven:enchantment-descriptions-250419:5760047" + implementation "curse.maven:bookshelf-228525:5757624" + implementation "curse.maven:prickle-1023259:5757615" + } \ No newline at end of file diff --git a/gradle.properties b/gradle.properties index 7dc3d2a..b809db9 100644 --- a/gradle.properties +++ b/gradle.properties @@ -10,7 +10,7 @@ neogradle.subsystems.parchment.mappingsVersion=2024.06.02 minecraft_version=1.21.1 minecraft_version_range=[1.21.1,1.22) -neo_version=21.1.4 +neo_version=21.1.61 neo_version_range=[21.1.4,) loader_version_range=[2,) @@ -18,7 +18,7 @@ loader_version_range=[2,) mod_id=l2core mod_name=L2Core mod_license=LGPL-2.1 -mod_version=3.0.7+42 +mod_version=3.0.7+45 mod_group_id=dev.xkmc mod_authors=lcy0x1 mod_description=Core Library mod for all L2 mods @@ -32,4 +32,4 @@ patchouli_ver = 1.21-87-NEOFORGE-SNAPSHOT lljij = false rootMod = false -l2serial_ver = 3.0.9 \ No newline at end of file +l2serial_ver = 3.0.9+4 \ No newline at end of file diff --git a/libs/l2archery-3.0.0+8-sources.jar b/libs/l2archery-3.0.0+8-sources.jar new file mode 100644 index 0000000..df18260 Binary files /dev/null and b/libs/l2archery-3.0.0+8-sources.jar differ diff --git a/libs/l2archery-3.0.0+8.jar b/libs/l2archery-3.0.0+8.jar new file mode 100644 index 0000000..4b55b6a Binary files /dev/null and b/libs/l2archery-3.0.0+8.jar differ diff --git a/libs/l2complements-3.0.2+3-sources.jar b/libs/l2complements-3.0.2+7-sources.jar similarity index 68% rename from libs/l2complements-3.0.2+3-sources.jar rename to libs/l2complements-3.0.2+7-sources.jar index 296fb85..d516f67 100644 Binary files a/libs/l2complements-3.0.2+3-sources.jar and b/libs/l2complements-3.0.2+7-sources.jar differ diff --git a/libs/l2complements-3.0.2+3.jar b/libs/l2complements-3.0.2+7.jar similarity index 60% rename from libs/l2complements-3.0.2+3.jar rename to libs/l2complements-3.0.2+7.jar index a3149d9..085a6e8 100644 Binary files a/libs/l2complements-3.0.2+3.jar and b/libs/l2complements-3.0.2+7.jar differ diff --git a/libs/l2damagetracker-3.0.2-sources.jar b/libs/l2damagetracker-3.0.2-sources.jar deleted file mode 100644 index a987fc2..0000000 Binary files a/libs/l2damagetracker-3.0.2-sources.jar and /dev/null differ diff --git a/libs/l2damagetracker-3.0.2.jar b/libs/l2damagetracker-3.0.2.jar deleted file mode 100644 index 45ae5fc..0000000 Binary files a/libs/l2damagetracker-3.0.2.jar and /dev/null differ diff --git a/libs/l2damagetracker-3.0.3+2-sources.jar b/libs/l2damagetracker-3.0.3+2-sources.jar new file mode 100644 index 0000000..0f5fd2d Binary files /dev/null and b/libs/l2damagetracker-3.0.3+2-sources.jar differ diff --git a/libs/l2damagetracker-3.0.3+2.jar b/libs/l2damagetracker-3.0.3+2.jar new file mode 100644 index 0000000..7e28149 Binary files /dev/null and b/libs/l2damagetracker-3.0.3+2.jar differ diff --git a/libs/l2itemselector-3.0.7-sources.jar b/libs/l2itemselector-3.0.8-sources.jar similarity index 89% rename from libs/l2itemselector-3.0.7-sources.jar rename to libs/l2itemselector-3.0.8-sources.jar index a469356..7faa521 100644 Binary files a/libs/l2itemselector-3.0.7-sources.jar and b/libs/l2itemselector-3.0.8-sources.jar differ diff --git a/libs/l2itemselector-3.0.7.jar b/libs/l2itemselector-3.0.8.jar similarity index 81% rename from libs/l2itemselector-3.0.7.jar rename to libs/l2itemselector-3.0.8.jar index 5d4d688..674fbc0 100644 Binary files a/libs/l2itemselector-3.0.7.jar and b/libs/l2itemselector-3.0.8.jar differ diff --git a/libs/l2library-3.0.2-sources.jar b/libs/l2library-3.0.2+4-sources.jar similarity index 91% rename from libs/l2library-3.0.2-sources.jar rename to libs/l2library-3.0.2+4-sources.jar index 25c8ae4..e28f339 100644 Binary files a/libs/l2library-3.0.2-sources.jar and b/libs/l2library-3.0.2+4-sources.jar differ diff --git a/libs/l2library-3.0.2.jar b/libs/l2library-3.0.2+4.jar similarity index 77% rename from libs/l2library-3.0.2.jar rename to libs/l2library-3.0.2+4.jar index ca9dad4..ee62311 100644 Binary files a/libs/l2library-3.0.2.jar and b/libs/l2library-3.0.2+4.jar differ diff --git a/libs/l2modularblocks-3.0.0+4-sources.jar b/libs/l2modularblocks-3.0.0+4-sources.jar new file mode 100644 index 0000000..3e5e9ae Binary files /dev/null and b/libs/l2modularblocks-3.0.0+4-sources.jar differ diff --git a/libs/l2modularblocks-3.0.0+4.jar b/libs/l2modularblocks-3.0.0+4.jar new file mode 100644 index 0000000..5369fca Binary files /dev/null and b/libs/l2modularblocks-3.0.0+4.jar differ diff --git a/libs/l2modularblocks-3.0.0-pre0.jar b/libs/l2modularblocks-3.0.0-pre0.jar deleted file mode 100644 index 7e01345..0000000 Binary files a/libs/l2modularblocks-3.0.0-pre0.jar and /dev/null differ diff --git a/libs/l2serial-3.0.9-sources.jar b/libs/l2serial-3.0.9+4-sources.jar similarity index 70% rename from libs/l2serial-3.0.9-sources.jar rename to libs/l2serial-3.0.9+4-sources.jar index 289f852..abf8f38 100644 Binary files a/libs/l2serial-3.0.9-sources.jar and b/libs/l2serial-3.0.9+4-sources.jar differ diff --git a/libs/l2serial-3.0.9.jar b/libs/l2serial-3.0.9+4.jar similarity index 74% rename from libs/l2serial-3.0.9.jar rename to libs/l2serial-3.0.9+4.jar index 67f010c..059ab78 100644 Binary files a/libs/l2serial-3.0.9.jar and b/libs/l2serial-3.0.9+4.jar differ diff --git a/src/main/java/dev/xkmc/l2core/events/ClientEventHandler.java b/src/main/java/dev/xkmc/l2core/events/ClientEventHandler.java index 08508e3..fcf1e55 100644 --- a/src/main/java/dev/xkmc/l2core/events/ClientEventHandler.java +++ b/src/main/java/dev/xkmc/l2core/events/ClientEventHandler.java @@ -61,7 +61,7 @@ public class ClientEventHandler { for (int i = 0; i < n; i++) { Component comp = list.get(i); Component lit; - if (comp.getContents() instanceof PlainTextContents.LiteralContents txt && comp.getSiblings().size() == 1) { + if (comp.getContents() instanceof PlainTextContents txt && !comp.getSiblings().isEmpty()) { comp = comp.getSiblings().getFirst(); lit = Component.literal(txt.text()); } else lit = Component.empty(); diff --git a/src/main/java/dev/xkmc/l2core/init/reg/registrate/NamedEntry.java b/src/main/java/dev/xkmc/l2core/init/reg/registrate/NamedEntry.java index 59d8565..3fc8527 100644 --- a/src/main/java/dev/xkmc/l2core/init/reg/registrate/NamedEntry.java +++ b/src/main/java/dev/xkmc/l2core/init/reg/registrate/NamedEntry.java @@ -1,6 +1,7 @@ package dev.xkmc.l2core.init.reg.registrate; import dev.xkmc.l2serial.util.Wrappers; +import net.minecraft.core.Holder; import net.minecraft.network.chat.Component; import net.minecraft.network.chat.MutableComponent; import net.minecraft.resources.ResourceLocation; @@ -46,4 +47,8 @@ public class NamedEntry> { return Wrappers.cast(this); } + public Holder holder() { + return registry.get().wrapAsHolder(getThis()); + } + } diff --git a/src/main/java/dev/xkmc/l2core/util/Proxy.java b/src/main/java/dev/xkmc/l2core/util/Proxy.java index 509c57a..038e0ce 100644 --- a/src/main/java/dev/xkmc/l2core/util/Proxy.java +++ b/src/main/java/dev/xkmc/l2core/util/Proxy.java @@ -7,6 +7,7 @@ import net.minecraft.server.MinecraftServer; import net.minecraft.world.entity.player.Player; import net.minecraft.world.level.Level; import net.neoforged.api.distmarker.Dist; +import net.neoforged.api.distmarker.OnlyIn; import net.neoforged.fml.loading.FMLEnvironment; import net.neoforged.neoforge.server.ServerLifecycleHooks; @@ -23,21 +24,6 @@ public class Proxy { return null; } - @Nullable - public static RegistryAccess getRegistryAccess() { - if (FMLEnvironment.dist == Dist.CLIENT) { - var level = Minecraft.getInstance().level; - if (level != null) { - return Minecraft.getInstance().level.registryAccess(); - } - } - var server = ServerLifecycleHooks.getCurrentServer(); - if (server != null) { - return server.registryAccess(); - } - return null; - } - @Nullable public static Level getLevel() { if (FMLEnvironment.dist == Dist.CLIENT) { diff --git a/src/main/java/dev/xkmc/l2core/util/ServerProxy.java b/src/main/java/dev/xkmc/l2core/util/ServerProxy.java new file mode 100644 index 0000000..7b018e9 --- /dev/null +++ b/src/main/java/dev/xkmc/l2core/util/ServerProxy.java @@ -0,0 +1,28 @@ +package dev.xkmc.l2core.util; + +import net.minecraft.core.RegistryAccess; +import net.minecraft.world.level.Level; +import net.neoforged.api.distmarker.Dist; +import net.neoforged.fml.loading.FMLEnvironment; +import net.neoforged.neoforge.server.ServerLifecycleHooks; + +import javax.annotation.Nullable; + +public class ServerProxy { + + @Nullable + public static RegistryAccess getRegistryAccess() { + if (FMLEnvironment.dist == Dist.CLIENT) { + Level level = Proxy.getLevel(); + if (level != null) { + return level.registryAccess(); + } + } + var server = ServerLifecycleHooks.getCurrentServer(); + if (server != null) { + return server.registryAccess(); + } + return null; + } + +}