- 36
- 0
Салам, написал мод который добавляет моба при помощи GeckoLib, так же прикрутил анимацию, все это скомпилировал и кинул мод на сервер, что в ответ получил ошибку, якобы геколиб это клиентская библиотека и не может использоваться на сервере, я так это понял, в итоги я забил на это, удалил весь код, и сейчас спустя две недели вернулся к этому, решил сначала добавить лишь моба на сервер, без анимаций, но все по прежнему, как мне решить данную проблему?
Увидел ошибку в EnergyHUDHandler, но все работало раньше, сейчас ошибка появилась, ошибка не должна быть в EnergyHUDHandler и мешать работать серверу
вот краш который я получаю на сервере
Увидел ошибку в EnergyHUDHandler, но все работало раньше, сейчас ошибка появилась, ошибка не должна быть в EnergyHUDHandler и мешать работать серверу
Java:
package com.lunya.hm.client.model;
import com.lunya.hm.reference.Reference;
import net.minecraft.util.ResourceLocation;
import software.bernie.geckolib3.model.AnimatedGeoModel;
@SuppressWarnings("rawtypes")
public class ModelEntityGiant extends AnimatedGeoModel {
@Override
public ResourceLocation getModelLocation(Object object) {
return new ResourceLocation(Reference.MODID, "geo/bat.geo.json");
}
@Override
public ResourceLocation getTextureLocation(Object object) {
return new ResourceLocation(Reference.MODID, "textures/models/entity/bat.png");
}
@Override
public ResourceLocation getAnimationFileLocation(Object animatable) {
return new ResourceLocation(Reference.MODID, "animations/bat.animation.json");
}
}
Java:
package com.lunya.hm.client.renderer;
import com.lunya.hm.client.model.ModelEntityGiant;
import com.lunya.hm.entity.EntityGiant.EntityGiant;
import net.minecraft.client.renderer.entity.RenderManager;
import software.bernie.geckolib3.renderers.geo.GeoEntityRenderer;
public class RenderEntityGiant extends GeoEntityRenderer<EntityGiant> {
public RenderEntityGiant(RenderManager renderManager) {
super(renderManager, new ModelEntityGiant());
}
}
[CODE=java]package com.lunya.hm.entity.EntityGiant;
import net.minecraft.entity.EntityCreature;
import net.minecraft.entity.ai.EntityAIWatchClosest;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.world.World;
import software.bernie.geckolib3.core.IAnimatable;
import software.bernie.geckolib3.core.IAnimationTickable;
import software.bernie.geckolib3.core.PlayState;
import software.bernie.geckolib3.core.builder.AnimationBuilder;
import software.bernie.geckolib3.core.controller.AnimationController;
import software.bernie.geckolib3.core.event.predicate.AnimationEvent;
import software.bernie.geckolib3.core.manager.AnimationData;
import software.bernie.geckolib3.core.manager.AnimationFactory;
public class EntityGiant extends EntityCreature implements IAnimatable, IAnimationTickable {
private AnimationFactory factory = new AnimationFactory(this);
private <E extends IAnimatable> PlayState predicate(AnimationEvent<E> event) {
event.getController().setAnimation(new AnimationBuilder().addAnimation("animation.bat.fly", true));
return PlayState.CONTINUE;
}
public EntityGiant(World worldIn) {
super(worldIn);
this.ignoreFrustumCheck = true;
this.setSize(0.7F, 1.3F);
}
@Override
public void registerControllers(AnimationData data) {
data.addAnimationController(new AnimationController<EntityGiant>(this, "controller", 50, this::predicate));
}
@Override
public AnimationFactory getFactory() {
return this.factory;
}
@Override
protected void initEntityAI() {
this.tasks.addTask(6, new EntityAIWatchClosest(this, EntityPlayer.class, 8.0F));
super.initEntityAI();
}
@Override
public int tickTimer() {
return ticksExisted;
}
@Override
public void tick() {
super.onUpdate();
}
}
Java:
package com.lunya.hm;
import com.lunya.hm.entity.EntityGiant.EntityGiant;
import com.lunya.hm.reference.Referen
[CODE=java]package com.lunya.hm;
import com.lunya.hm.client.renderer.RenderEntityGiant;
import com.lunya.hm.entity.EntityGiant.EntityGiant;
import com.lunya.hm.misc.HeavenlyTabs;
import com.lunya.hm.proxy.CommonProxy;
import com.lunya.hm.reference.Reference;
import com.lunya.hm.registry.EntityRegistry;
import com.lunya.hm.utils.handler.BagHandler;
import com.lunya.hm.utils.handler.EnergyHUDHandler;
import com.lunya.hm.utils.handler.EnergyHandler;
import com.lunya.hm.utils.handler.GuiHandler;
import com.lunya.hm.utils.handler.TileEntityHandler;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.fml.client.registry.RenderingRegistry;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.common.Mod.EventHandler;
import net.minecraftforge.fml.common.Mod.Instance;
import net.minecraftforge.fml.common.SidedProxy;
import net.minecraftforge.fml.common.event.FMLInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPostInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
import net.minecraftforge.fml.common.network.NetworkRegistry;
import software.bernie.geckolib3.GeckoLib;
@Mod(modid = Reference.MODID, name = Reference.NAME, version = Reference.VERSION, acceptedMinecraftVersions = Reference.ACCEPTED_MINECRAFT_VERSION)
public class HeavenlyMod {
@Instance
public static HeavenlyMod instance;
@SidedProxy(clientSide = Reference.CLIENT, serverSide = Reference.COMMON)
public static CommonProxy proxy;
public static final CreativeTabs HEAVENLY_TABS = new HeavenlyTabs("heavenly_tab");
@EventHandler
public static void preInit(FMLPreInitializationEvent event) {
MinecraftForge.EVENT_BUS.register(new CommonListener());
RenderingRegistry.registerEntityRenderingHandler(EntityGiant.class, RenderEntityGiant::new);
}
@Mod.EventHandler
public void init(FMLInitializationEvent event) {
GeckoLib.initialize();
}
@EventHandler
public static void postInit(FMLPostInitializationEvent event) {
}
}
Java:
package com.lunya.hm;
import com.lunya.hm.entity.EntityGiant.EntityGiant;
import com.lunya.hm.reference.Reference;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.event.RegistryEvent;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
import net.minecraftforge.fml.common.registry.EntityEntry;
import net.minecraftforge.fml.common.registry.EntityEntryBuilder;
public class CommonListener {
@SubscribeEvent
public void onRegisterEntities(RegistryEvent.Register<EntityEntry> event) {
int id = 0;
event.getRegistry().register(EntityEntryBuilder.create().entity(EntityGiant.class).name("Example")
.id(new ResourceLocation(Reference.MODID, "example"), id++).tracker(160, 2, false).build());
}
}
вот краш который я получаю на сервере
Java:
net.minecraftforge.fml.common.LoaderExceptionModCrash: Caught exception from Heavenly Mod (hm)
Caused by: java.lang.NoClassDefFoundError: com/lunya/hm/utils/handler/EnergyHUDHandler
at com.lunya.hm.HeavenlyMod.preInit(HeavenlyMod.java:38)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at net.minecraftforge.fml.common.FMLModContainer.handleModStateEvent(FMLModContainer.java:637)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.google.common.eventbus.Subscriber.invokeSubscriberMethod(Subscriber.java:91)
at com.google.common.eventbus.Subscriber$SynchronizedSubscriber.invokeSubscriberMethod(Subscriber.java:150)
at com.google.common.eventbus.Subscriber$1.run(Subscriber.java:76)
at com.google.common.util.concurrent.MoreExecutors$DirectExecutor.execute(MoreExecutors.java:399)
at com.google.common.eventbus.Subscriber.dispatchEvent(Subscriber.java:71)
at com.google.common.eventbus.Dispatcher$PerThreadQueuedDispatcher.dispatch(Dispatcher.java:116)
at com.google.common.eventbus.EventBus.post(EventBus.java:217)
at net.minecraftforge.fml.common.LoadController.sendEventToModContainer(LoadController.java:219)
at net.minecraftforge.fml.common.LoadController.propogateStateMessage(LoadController.java:197)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.google.common.eventbus.Subscriber.invokeSubscriberMethod(Subscriber.java:91)
at com.google.common.eventbus.Subscriber$SynchronizedSubscriber.invokeSubscriberMethod(Subscriber.java:150)
at com.google.common.eventbus.Subscriber$1.run(Subscriber.java:76)
at com.google.common.util.concurrent.MoreExecutors$DirectExecutor.execute(MoreExecutors.java:399)
at com.google.common.eventbus.Subscriber.dispatchEvent(Subscriber.java:71)
at com.google.common.eventbus.Dispatcher$PerThreadQueuedDispatcher.dispatch(Dispatcher.java:116)
at com.google.common.eventbus.EventBus.post(EventBus.java:217)
at net.minecraftforge.fml.common.LoadController.distributeStateMessage(LoadController.java:136)
at net.minecraftforge.fml.common.Loader.preinitializeMods(Loader.java:629)
at net.minecraftforge.fml.server.FMLServerHandler.beginServerLoading(FMLServerHandler.java:99)
at net.minecraftforge.fml.common.FMLCommonHandler.onServerStart(FMLCommonHandler.java:333)
at net.minecraft.server.dedicated.DedicatedServer.func_71197_b(DedicatedServer.java:125)
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:486)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.ClassNotFoundException: com.lunya.hm.utils.handler.EnergyHUDHandler
at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:191)
at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
... 37 more
Caused by: net.minecraftforge.fml.common.asm.ASMTransformerWrapper$TransformerException: Exception in class transformer net.minecraftforge.fml.common.asm.transformers.SideTransformer@5305c37d from coremod FMLCorePlugin
at net.minecraftforge.fml.common.asm.ASMTransformerWrapper$TransformerWrapper.transform(ASMTransformerWrapper.java:260)
at net.minecraft.launchwrapper.LaunchClassLoader.runTransformers(LaunchClassLoader.java:279)
at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:176)
... 39 more
Caused by: java.lang.RuntimeException: Attempted to load class com/lunya/hm/utils/handler/EnergyHUDHandler for invalid side SERVER
at net.minecraftforge.fml.common.asm.transformers.SideTransformer.transform(SideTransformer.java:62)
at net.minecraftforge.fml.common.asm.ASMTransformerWrapper$TransformerWrapper.transform(ASMTransformerWrapper.java:256)
... 41 more
A detailed walkthrough of the error, its code path and all known details is as follows:
---------------------------------------------------------------------------------------
-- System Details --
Details:
Minecraft Version: 1.12.2
Operating System: Linux (amd64) version 5.4.0-176-generic
Java Version: 1.8.0_312, Temurin
Java VM Version: OpenJDK 64-Bit Server VM (mixed mode), Temurin
Memory: 461629840 bytes (440 MB) / 742916096 bytes (708 MB) up to 1670381568 bytes (1593 MB)
JVM Flags: 17 total; -Xms128M -Xmx1792M -XX:+UseNUMA -XX:G1ReservePercent=10 -XX:G1HeapWastePercent=10 -XX:+OptimizeStringConcat -XX:+TieredCompilation -XX:+EliminateLocks -XX:+UseSuperWord -XX:+OptimizeFill -XX:LoopUnrollMin=4 -XX:LoopMaxUnroll=16 -XX:+UseLoopPredicate -XX:+RangeCheckElimination -XX:+DisableExplicitGC -XX:+UseFastJNIAccessors -XX:+UseParallelGC
IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0
FML: MCP 9.42 Powered by Forge 14.23.5.2860 6 mods loaded, 6 mods active
States: 'U' = Unloaded 'L' = Loaded 'C' = Constructed 'H' = Pre-initialized 'I' = Initialized 'J' = Post-initialized 'A' = Available 'D' = Disabled 'E' = Errored
| State | ID | Version | Source | Signature |
|:----- |:--------- |:------------ |:-------------------------------- |:---------------------------------------- |
| LCH | minecraft | 1.12.2 | minecraft.jar | None |
| LCH | mcp | 9.42 | minecraft.jar | None |
| LCH | FML | 8.0.99.99 | server.jar | e3c3d50c7c986df74c645c0ac54639741c90a557 |
| LCH | forge | 14.23.5.2860 | server.jar | e3c3d50c7c986df74c645c0ac54639741c90a557 |
| LCH | geckolib3 | 3.0.20 | geckolib-forge-1.12.2-3.0.21.jar | None |
| LCE | hm | 0.1 | modid-1.0.jar | None |
Loaded coremods (and transformers):
Profiler Position: N/A (disabled)
Is Modded: Definitely; Server brand changed to 'fml,forge'
Type: Dedicated Server (map_server.txt)
Последнее редактирование: