diff --git a/common/src/main/java/eu/midnightdust/celestria/CelestriaClient.java b/common/src/main/java/eu/midnightdust/celestria/CelestriaClient.java index ba0088c..d2788b1 100755 --- a/common/src/main/java/eu/midnightdust/celestria/CelestriaClient.java +++ b/common/src/main/java/eu/midnightdust/celestria/CelestriaClient.java @@ -32,7 +32,7 @@ public class CelestriaClient { ClientUtils.registerClientTick(true, (client) -> { shootingStars.forEach(ShootingStar::tick); shootingStars.removeAll(shootingStars.stream().filter(star -> star.progress <= 0).toList()); - if (CelestriaClient.clientOnlyMode && CelestriaConfig.enableShootingStars && client.world != null) { + if (CelestriaClient.clientOnlyMode && CelestriaConfig.enableShootingStars && client != null && client.world != null) { float tickDelta = client.getRenderTickCounter().getDynamicDeltaTicks(); if ((180 < client.world.getSkyAngle(tickDelta) * 360 && 270 > client.world.getSkyAngle(tickDelta) * 360) && random.nextInt(Celestria.getChance(client.world)) == 0) { shootingStars.add(new ShootingStar(CelestriaConfig.shootingStarPathLength, random.nextInt(3), random.nextBetween(100, 150), random.nextInt(360), random.nextBetween(10, 170), random.nextBetween(Math.min(CelestriaConfig.shootingStarMinSize, CelestriaConfig.shootingStarMaxSize), Math.max(CelestriaConfig.shootingStarMaxSize, CelestriaConfig.shootingStarMinSize)))); diff --git a/common/src/main/java/eu/midnightdust/celestria/ShootingStar.java b/common/src/main/java/eu/midnightdust/celestria/ShootingStar.java index bff4159..43f2564 100644 --- a/common/src/main/java/eu/midnightdust/celestria/ShootingStar.java +++ b/common/src/main/java/eu/midnightdust/celestria/ShootingStar.java @@ -22,7 +22,7 @@ public class ShootingStar { public void tick() { --progress; phaseScore++; - phaseScore %= 100; + phaseScore %= CelestriaConfig.shootingStarPhaseCycle; } /** diff --git a/gradle.properties b/gradle.properties index 1e89a7a..995ebc8 100755 --- a/gradle.properties +++ b/gradle.properties @@ -8,7 +8,7 @@ yarn_mappings=1.21.6+build.1 enabled_platforms=fabric,neoforge archives_base_name=celestria -mod_version=2.0.1-rc.1 +mod_version=2.0.1-rc.2 maven_group=eu.midnightdust release_type=release curseforge_id=1085811 diff --git a/neoforge/src/main/java/eu/midnightdust/celestria/neoforge/CelestriaNeoForge.java b/neoforge/src/main/java/eu/midnightdust/celestria/neoforge/CelestriaNeoForge.java index d8ab93e..cb76c58 100644 --- a/neoforge/src/main/java/eu/midnightdust/celestria/neoforge/CelestriaNeoForge.java +++ b/neoforge/src/main/java/eu/midnightdust/celestria/neoforge/CelestriaNeoForge.java @@ -3,14 +3,13 @@ package eu.midnightdust.celestria.neoforge; import eu.midnightdust.celestria.Celestria; import eu.midnightdust.celestria.CelestriaClient; import eu.midnightdust.celestria.effect.StatusEffectInit; -import net.minecraft.registry.BuiltinRegistries; import net.minecraft.registry.Registries; import net.neoforged.api.distmarker.Dist; import net.neoforged.bus.api.SubscribeEvent; import net.neoforged.fml.common.EventBusSubscriber; import net.neoforged.fml.common.Mod; -import net.neoforged.neoforge.registries.NeoForgeRegistries; import net.neoforged.neoforge.registries.RegisterEvent; +import org.jetbrains.annotations.NotNull; import static eu.midnightdust.celestria.Celestria.MOD_ID; import static eu.midnightdust.celestria.Celestria.id; @@ -27,10 +26,10 @@ public class CelestriaNeoForge { CelestriaClient.init(); } } - @EventBusSubscriber(modid = MOD_ID, bus = EventBusSubscriber.Bus.MOD) - public class GameEvents { + @EventBusSubscriber(modid = MOD_ID) + public static class GameEvents { @SubscribeEvent - public static void register(RegisterEvent event) { + public static void register(@NotNull RegisterEvent event) { event.register( Registries.STATUS_EFFECT.getKey(), registry -> { diff --git a/neoforge/src/main/java/eu/midnightdust/celestria/util/neoforge/ClientUtilsImpl.java b/neoforge/src/main/java/eu/midnightdust/celestria/util/neoforge/ClientUtilsImpl.java index 2668fa9..ade8f2a 100644 --- a/neoforge/src/main/java/eu/midnightdust/celestria/util/neoforge/ClientUtilsImpl.java +++ b/neoforge/src/main/java/eu/midnightdust/celestria/util/neoforge/ClientUtilsImpl.java @@ -18,6 +18,7 @@ import net.neoforged.neoforge.client.event.ClientPlayerNetworkEvent; import net.neoforged.neoforge.client.event.ClientTickEvent; import net.neoforged.neoforge.event.AddPackFindersEvent; import net.neoforged.neoforgespi.locating.IModFile; +import org.jetbrains.annotations.NotNull; import java.util.ArrayList; import java.util.HashSet; @@ -30,25 +31,27 @@ import java.util.function.Consumer; import static eu.midnightdust.celestria.Celestria.MOD_ID; public class ClientUtilsImpl { - public final static MinecraftClient client = MinecraftClient.getInstance(); static List packsToRegister = new ArrayList<>(); static List> disconnectHandlers = new ArrayList<>(); static Set> endClientTickEvents = new HashSet<>(); static Set> startClientTickEvents = new HashSet<>(); + @SuppressWarnings("unused") public static void registerBuiltinResourcePack(Identifier id) { packsToRegister.add(id); } + @SuppressWarnings("unused") public static void registerClientTick(boolean endTick, Consumer code) { if (endTick) endClientTickEvents.add(code); else startClientTickEvents.add(code); } + @SuppressWarnings("unused") public static void registerDisconnectEvent(BiConsumer code) { disconnectHandlers.add(code); } - @EventBusSubscriber(modid = MOD_ID, bus = EventBusSubscriber.Bus.MOD, value = Dist.CLIENT) - public class ClientEvents { + @EventBusSubscriber(modid = MOD_ID, value = Dist.CLIENT) + public static class ClientEvents { @SubscribeEvent public static void addPackFinders(AddPackFindersEvent event) { if (event.getPackType() == ResourceType.CLIENT_RESOURCES) { @@ -70,19 +73,19 @@ public class ClientUtilsImpl { })); } } - @EventBusSubscriber(modid = MOD_ID, bus = EventBusSubscriber.Bus.GAME, value = Dist.CLIENT) - public class ClientGameEvents { + @EventBusSubscriber(modid = MOD_ID, value = Dist.CLIENT) + public static class ClientGameEvents { @SubscribeEvent - public static void onDisconnect(ClientPlayerNetworkEvent.LoggingOut event) { - if (event.getPlayer() != null) disconnectHandlers.forEach(handler -> handler.accept(event.getPlayer().networkHandler, client)); + public static void onDisconnect(ClientPlayerNetworkEvent.@NotNull LoggingOut event) { + if (event.getPlayer() != null) disconnectHandlers.forEach(handler -> handler.accept(event.getPlayer().networkHandler, MinecraftClient.getInstance())); } @SubscribeEvent public static void startClientTick(ClientTickEvent.Pre event) { - startClientTickEvents.forEach(code -> code.accept(client)); + startClientTickEvents.forEach(code -> code.accept(MinecraftClient.getInstance())); } @SubscribeEvent public static void endClientTick(ClientTickEvent.Pre event) { - endClientTickEvents.forEach(code -> code.accept(client)); + endClientTickEvents.forEach(code -> code.accept(MinecraftClient.getInstance())); } } } diff --git a/neoforge/src/main/java/eu/midnightdust/celestria/util/neoforge/CommonUtilsImpl.java b/neoforge/src/main/java/eu/midnightdust/celestria/util/neoforge/CommonUtilsImpl.java index c771519..7d7415e 100644 --- a/neoforge/src/main/java/eu/midnightdust/celestria/util/neoforge/CommonUtilsImpl.java +++ b/neoforge/src/main/java/eu/midnightdust/celestria/util/neoforge/CommonUtilsImpl.java @@ -1,6 +1,5 @@ package eu.midnightdust.celestria.util.neoforge; -import net.minecraft.server.world.ServerWorld; import net.minecraft.world.World; import net.neoforged.bus.api.SubscribeEvent; import net.neoforged.fml.common.EventBusSubscriber; @@ -16,12 +15,13 @@ public class CommonUtilsImpl { static Set> startWorldTickEvents = new HashSet<>(); static Set> endWorldTickEvents = new HashSet<>(); + @SuppressWarnings("unused") public static void registerWorldTickEvent(boolean endTick, Consumer code) { if (endTick) endWorldTickEvents.add(code); else startWorldTickEvents.add(code); } - @EventBusSubscriber(modid = MOD_ID, bus = EventBusSubscriber.Bus.GAME) - public class GameEvents { + @EventBusSubscriber(modid = MOD_ID) + public static class GameEvents { @SubscribeEvent public static void startWorldTick(LevelTickEvent.Pre event) { startWorldTickEvents.forEach(code -> code.accept(event.getLevel())); diff --git a/neoforge/src/main/java/eu/midnightdust/celestria/util/neoforge/PacketUtilsImpl.java b/neoforge/src/main/java/eu/midnightdust/celestria/util/neoforge/PacketUtilsImpl.java index f9904a3..817d89d 100644 --- a/neoforge/src/main/java/eu/midnightdust/celestria/util/neoforge/PacketUtilsImpl.java +++ b/neoforge/src/main/java/eu/midnightdust/celestria/util/neoforge/PacketUtilsImpl.java @@ -1,6 +1,7 @@ package eu.midnightdust.celestria.util.neoforge; import eu.midnightdust.lib.util.PlatformFunctions; +import net.minecraft.client.MinecraftClient; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.network.NetworkSide; import net.minecraft.network.RegistryByteBuf; @@ -22,34 +23,41 @@ public class PacketUtilsImpl { static Map payloads = new HashMap<>(); private record PayloadStorage (boolean client, boolean server, PacketCodec codec, BiConsumer clientReceiver, BiConsumer serverReceiver) {} // Common + @SuppressWarnings("unused") public static void registerPayloadCommon(CustomPayload.Id id, PacketCodec codec) { payloads.put(id, new PayloadStorage<>(true, true, codec, (p, e) -> {}, (p, e) -> {})); } // Server + @SuppressWarnings("unused") public static void registerPayloadS2C(CustomPayload.Id id, PacketCodec codec) { payloads.put(id, new PayloadStorage<>(false, true, codec, (p, e) -> {}, (p, e) -> {})); } + @SuppressWarnings("unused") public static void sendPlayPayloadS2C(ServerPlayerEntity player, CustomPayload payload) { player.networkHandler.send(payload); } + @SuppressWarnings("unused") public static void registerServerGlobalReceiver(CustomPayload.Id type, BiConsumer code) { payloads.compute(type, (k, data) -> new PayloadStorage<>(data.client, data.server, data.codec, data.clientReceiver, code)); } // Client + @SuppressWarnings("unused") public static void registerPayloadC2S(CustomPayload.Id id, PacketCodec codec) { payloads.put(id, new PayloadStorage<>(true, false, codec, (p, e) -> {}, (p, e) -> {})); } + @SuppressWarnings("unused") public static void sendPlayPayloadC2S(CustomPayload payload) { - if (PlatformFunctions.isClientEnv() && ClientUtilsImpl.client.getNetworkHandler() != null) ClientUtilsImpl.client.getNetworkHandler().send(payload); + if (PlatformFunctions.isClientEnv() && MinecraftClient.getInstance().getNetworkHandler() != null) MinecraftClient.getInstance().getNetworkHandler().send(payload); } + @SuppressWarnings("unused") public static void registerClientGlobalReceiver(CustomPayload.Id type, BiConsumer code) { payloads.compute(type, (k, data) -> new PayloadStorage<>(data.client, data.server, data.codec, code, data.serverReceiver)); } - @EventBusSubscriber(modid = MOD_ID, bus = EventBusSubscriber.Bus.MOD) - public class CommonEvents { + @EventBusSubscriber(modid = MOD_ID) + public static class CommonEvents { @SubscribeEvent public static void registerPayloads(RegisterPayloadHandlersEvent event) { PayloadRegistrar registrar = event.registrar("1");