diff --git a/CHANGELOG.md b/CHANGELOG.md index d2372c407..dc210c46a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +## 3.0.5 + +- Fixed server crash + ## 3.0.4 - Improved internal registries logic (Might fix some crashes) diff --git a/common/src/main/java/com/faboslav/friendsandfoes/common/events/client/RegisterRenderLayersEvent.java b/common/src/main/java/com/faboslav/friendsandfoes/common/events/client/RegisterRenderLayersEvent.java index 6520ea489..42d402963 100644 --- a/common/src/main/java/com/faboslav/friendsandfoes/common/events/client/RegisterRenderLayersEvent.java +++ b/common/src/main/java/com/faboslav/friendsandfoes/common/events/client/RegisterRenderLayersEvent.java @@ -1,6 +1,8 @@ package com.faboslav.friendsandfoes.common.events.client; import com.faboslav.friendsandfoes.common.events.base.EventHandler; +import net.fabricmc.api.EnvType; +import net.fabricmc.api.Environment; import net.minecraft.block.Block; import net.minecraft.client.render.RenderLayer; import net.minecraft.fluid.Fluid; @@ -15,6 +17,7 @@ * @author ThatGravyBoat * https://github.com/Team-Resourceful/ResourcefulLib */ +@Environment(EnvType.CLIENT) public record RegisterRenderLayersEvent(BiConsumer fluid, BiConsumer block) { public static final EventHandler EVENT = new EventHandler<>(); diff --git a/gradle.properties b/gradle.properties index 653e1264a..6e0aff541 100644 --- a/gradle.properties +++ b/gradle.properties @@ -7,7 +7,7 @@ org.gradle.caching=true mod_java_version=21 mod_name=Friends & Foes mod_id=friendsandfoes -mod_version=3.0.4 +mod_version=3.0.5 mod_author=Faboslav mod_description=Adds outvoted and forgotten mobs from the mob vote, expanding on their original concepts and introducing new vanilla-like features. maven_group=com.faboslav.friendsandfoes diff --git a/neoforge/src/main/java/com/faboslav/friendsandfoes/neoforge/FriendsAndFoesNeoForge.java b/neoforge/src/main/java/com/faboslav/friendsandfoes/neoforge/FriendsAndFoesNeoForge.java index 4837172d5..0da88453b 100644 --- a/neoforge/src/main/java/com/faboslav/friendsandfoes/neoforge/FriendsAndFoesNeoForge.java +++ b/neoforge/src/main/java/com/faboslav/friendsandfoes/neoforge/FriendsAndFoesNeoForge.java @@ -3,7 +3,6 @@ import com.faboslav.friendsandfoes.common.FriendsAndFoes; import com.faboslav.friendsandfoes.common.events.AddItemGroupEntriesEvent; import com.faboslav.friendsandfoes.common.events.entity.RegisterVillagerTradesEvent; -import com.faboslav.friendsandfoes.common.events.client.RegisterRenderLayersEvent; import com.faboslav.friendsandfoes.common.events.lifecycle.*; import com.faboslav.friendsandfoes.common.init.FriendsAndFoesEntityTypes; import com.faboslav.friendsandfoes.common.init.FriendsAndFoesStructurePoolElements; @@ -16,7 +15,6 @@ import com.faboslav.friendsandfoes.neoforge.mixin.FireBlockAccessor; import com.faboslav.friendsandfoes.neoforge.network.NeoForgeNetworking; import net.minecraft.block.Blocks; -import net.minecraft.client.render.RenderLayers; import net.minecraft.entity.EntityType; import net.minecraft.entity.mob.MobEntity; import net.minecraft.registry.Registries; @@ -91,7 +89,6 @@ private static void onSetup(final FMLCommonSetupEvent event) { ); } - RegisterRenderLayersEvent.EVENT.invoke(new RegisterRenderLayersEvent(RenderLayers::setRenderLayer, RenderLayers::setRenderLayer)); RegisterFlammabilityEvent.EVENT.invoke(new RegisterFlammabilityEvent((item, igniteOdds, burnOdds) -> ((FireBlockAccessor) Blocks.FIRE).invokeRegisterFlammableBlock(item, igniteOdds, burnOdds))); }); diff --git a/neoforge/src/main/java/com/faboslav/friendsandfoes/neoforge/FriendsAndFoesNeoForgeClient.java b/neoforge/src/main/java/com/faboslav/friendsandfoes/neoforge/FriendsAndFoesNeoForgeClient.java index c3c1df0e8..9d9d188a7 100644 --- a/neoforge/src/main/java/com/faboslav/friendsandfoes/neoforge/FriendsAndFoesNeoForgeClient.java +++ b/neoforge/src/main/java/com/faboslav/friendsandfoes/neoforge/FriendsAndFoesNeoForgeClient.java @@ -3,15 +3,14 @@ import com.faboslav.friendsandfoes.common.FriendsAndFoes; import com.faboslav.friendsandfoes.common.FriendsAndFoesClient; import com.faboslav.friendsandfoes.common.config.ConfigScreenBuilder; -import com.faboslav.friendsandfoes.common.events.client.RegisterEntityLayersEvent; -import com.faboslav.friendsandfoes.common.events.client.RegisterEntityRenderersEvent; -import com.faboslav.friendsandfoes.common.events.client.RegisterItemColorEvent; -import com.faboslav.friendsandfoes.common.events.client.RegisterParticlesEvent; +import com.faboslav.friendsandfoes.common.events.client.*; +import com.faboslav.friendsandfoes.common.events.lifecycle.ClientSetupEvent; import com.faboslav.friendsandfoes.common.init.FriendsAndFoesItems; import com.faboslav.friendsandfoes.common.init.registry.RegistryEntry; import com.faboslav.friendsandfoes.common.item.DispenserAddedSpawnEgg; import net.minecraft.client.particle.ParticleFactory; import net.minecraft.client.particle.SpriteProvider; +import net.minecraft.client.render.RenderLayers; import net.minecraft.particle.ParticleEffect; import net.minecraft.particle.ParticleType; import net.neoforged.bus.api.IEventBus; @@ -38,6 +37,9 @@ public static void init(IEventBus modEventBus, IEventBus eventBus) { } public static void onClientSetup(final FMLClientSetupEvent event) { + ClientSetupEvent.EVENT.invoke(new ClientSetupEvent(Runnable::run)); + RegisterRenderLayersEvent.EVENT.invoke(new RegisterRenderLayersEvent(RenderLayers::setRenderLayer, RenderLayers::setRenderLayer)); + event.enqueueWork(() -> { if (ModList.get().isLoaded("cloth_config")) { ModLoadingContext.get().registerExtensionPoint(IConfigScreenFactory.class, () -> (client, screen) -> {