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) -> {