From b0452ecce7b3c132ec915bbd32a33d65260324e0 Mon Sep 17 00:00:00 2001 From: Light_Quanta Date: Fri, 10 May 2024 18:09:33 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=AD=A6=E5=99=A8=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E5=88=9D=E5=A7=8B=E5=8C=96=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/net/mcreator/target/tools/GunsTool.java | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/src/main/java/net/mcreator/target/tools/GunsTool.java b/src/main/java/net/mcreator/target/tools/GunsTool.java index f4784e902..6bd4ebc94 100644 --- a/src/main/java/net/mcreator/target/tools/GunsTool.java +++ b/src/main/java/net/mcreator/target/tools/GunsTool.java @@ -5,9 +5,11 @@ import net.mcreator.target.TargetMod; import net.mcreator.target.network.GunsDataMessage; import net.mcreator.target.network.TargetModVariables; import net.minecraft.server.level.ServerPlayer; +import net.minecraft.server.packs.resources.ResourceManager; import net.minecraft.world.item.ItemStack; import net.minecraft.world.level.Level; import net.minecraftforge.event.entity.player.PlayerEvent; +import net.minecraftforge.event.server.ServerStartedEvent; import net.minecraftforge.eventbus.api.SubscribeEvent; import net.minecraftforge.fml.common.Mod; import net.minecraftforge.network.PacketDistributor; @@ -20,9 +22,7 @@ public class GunsTool { public static HashMap> gunsData = new HashMap<>(); - public static void initJsonData(Level level) { - var manager = level.getServer().getResourceManager(); - + public static void initJsonData(ResourceManager manager) { for (var entry : manager.listResources("guns", file -> file.getPath().endsWith(".json")).entrySet()) { var id = entry.getKey(); var attribute = entry.getValue(); @@ -44,7 +44,6 @@ public class GunsTool { public static void initGun(Level level, ItemStack stack, String location) { if (level.getServer() == null) return; - initJsonData(level); gunsData.get(location).forEach((k, v) -> stack.getOrCreateTag().putDouble(k, v)); } @@ -70,8 +69,12 @@ public class GunsTool { @SubscribeEvent public static void onPlayerLogin(PlayerEvent.PlayerLoggedInEvent event) { if (event.getEntity() instanceof ServerPlayer player) { - GunsTool.initJsonData(player.serverLevel()); TargetMod.PACKET_HANDLER.send(PacketDistributor.PLAYER.with(() -> player), new GunsDataMessage(GunsTool.gunsData)); } } + + @SubscribeEvent + public static void serverStarted(ServerStartedEvent event) { + initJsonData(event.getServer().getResourceManager()); + } }