Jump to content

[1.10.2] Change the texture of a custom entity and make it working on a server ?


Major Squirrel

Recommended Posts

Good evening,

 

Following my topic today, I would like to change the skin of a custom entity (a NPC) by right-clicking on it with a specific item. As a naive approach, I tried to change the index of the texture array to redirect the correct texture in my getEntityTexture method.

 

So far, this works on a client, the texture of the entity changes when I correctly right-click on the entity, but this does not work on a server. I have a NoClassDefFoundError that pops on the server console when processing the texture change (the client, however, does not crash).

 

RenderNPCDialog (the renderer):

public class    RenderNPCDialog extends RenderLiving<EntityNPCDialog> {

    private static final ResourceLocation[] NPC_DIALOG_TEXTURES = new ResourceLocation[] {
            new ResourceLocation(CraftAndConquer.MODID, "textures/entities/npc/npc_dialog.png"),
            new ResourceLocation(CraftAndConquer.MODID, "textures/entities/npc/npc_dialog_2.png"),
    };

    private static int  textureID = 0;

    public      RenderNPCDialog(RenderManager renderManagerIn, ModelBase modelBaseIn, float shadowSizeIn) {
        super(renderManagerIn, modelBaseIn, shadowSizeIn);
    }

    @Override
    protected ResourceLocation  getEntityTexture(EntityNPCDialog entity) {
        return (RenderNPCDialog.NPC_DIALOG_TEXTURES[textureID]);
    }



    public static void          setEntityTextureID() {
        textureID = (textureID + 1 < NPC_DIALOG_TEXTURES.length) ? textureID + 1 : 0;
    }
}

 

NPCInteractEvent (the event that processes the texture change):

public class        NPCInteractEvent {

    @SubscribeEvent
    public void     onEntityNPCInteract(PlayerInteractEvent.EntityInteract event) {
        ItemStack   heldItem = event.getEntityPlayer().getHeldItem(EnumHand.MAIN_HAND);
        ItemBase    npcManager = CraftAndConquerItems.npcManager;

        if (event.getTarget() instanceof EntityNPCDialog &&
                event.getHand().equals(EnumHand.MAIN_HAND) &&
                heldItem.getItem().equals(npcManager)) {
            if (!event.getWorld().isRemote)
                RenderNPCDialog.setEntityTextureID();
        }
    }
}

 

ClientProxy:

public class    ClientProxy extends CommonProxy {

    @Override
    public void preInit() {
        super.preInit();
    }

    @Override
    public void init() {
        super.init();
    }

    @Override
    public void postInit() {
        super.postInit();
    }

    @Override
    public void registerItemRenderer(Item item, int meta, String id) {
        ModelLoader.setCustomModelResourceLocation(item, meta,
                new ModelResourceLocation(CraftAndConquer.MODID + ":" + id, "inventory"));
    }

    @Override
    public void         registerEntityRenderers() {
        RenderManager   renderManager = Minecraft.getMinecraft().getRenderManager();

        RenderingRegistry.registerEntityRenderingHandler(EntityNPCDialog.class, new RenderNPCDialog(renderManager, new ModelEntityNPCDialog(), 0.5f));
    }
}

 

CommonProxy:

public class    CommonProxy {

    public void preInit() {
        CraftAndConquerBlocks.init();
        CraftAndConquerItems.init();
        CraftAndConquerSounds.registerSounds();
        CraftAndConquerEntities.registerEntities();

        NetworkRegistry.INSTANCE.registerGuiHandler(CraftAndConquer.instance, new GuiHandler());
    }

    public void init() {
        CraftAndConquerRecipes.init();
        CraftAndConquer.proxy.registerEntityRenderers();
        
        MinecraftForge.EVENT_BUS.register(new NPCInteractEvent());
    }

    public void postInit() {

    }

    public void registerItemRenderer(Item item, int meta, String id) {

    }

    public void registerEntityRenderers() {

    }
}

 

Logs from the server console:

 

[00:16:38] [server thread/ERROR] [FML]: Exception caught during firing event net.minecraftforge.event.entity.player.PlayerInteractEvent$EntityInteract@5a71b038:
java.lang.NoClassDefFoundError: net/theviolentsquirrels/craftandconquer/client/renderer/entity/RenderNPCDialog
at net.theviolentsquirrels.craftandconquer.event.NPCInteractEvent.onEntityNPCInteract(NPCInteractEvent.java:27) ~[NPCInteractEvent.class:?]
at net.minecraftforge.fml.common.eventhandler.ASMEventHandler_6_NPCInteractEvent_onEntityNPCInteract_EntityInteract.invoke(.dynamic) ~[?:?]
at net.minecraftforge.fml.common.eventhandler.ASMEventHandler.invoke(ASMEventHandler.java:90) ~[ASMEventHandler.class:?]
at net.minecraftforge.fml.common.eventhandler.EventBus.post(EventBus.java:185) [EventBus.class:?]
at net.minecraftforge.common.ForgeHooks.onInteractEntity(ForgeHooks.java:1008) [ForgeHooks.class:?]
at net.minecraft.entity.player.EntityPlayer.interact(EntityPlayer.java:1246) [EntityPlayer.class:?]
at net.minecraft.network.NetHandlerPlayServer.processUseEntity(NetHandlerPlayServer.java:1072) [NetHandlerPlayServer.class:?]
at net.minecraft.network.play.client.CPacketUseEntity.processPacket(CPacketUseEntity.java:93) [CPacketUseEntity.class:?]
at net.minecraft.network.play.client.CPacketUseEntity.processPacket(CPacketUseEntity.java:14) [CPacketUseEntity.class:?]
at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) [PacketThreadUtil$1.class:?]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_111]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_111]
at net.minecraft.util.Util.runTask(Util.java:25) [util.class:?]
at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:742) [MinecraftServer.class:?]
at net.minecraft.server.dedicated.DedicatedServer.updateTimeLightAndEntities(DedicatedServer.java:408) [DedicatedServer.class:?]
at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:687) [MinecraftServer.class:?]
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:536) [MinecraftServer.class:?]
at java.lang.Thread.run(Thread.java:745) [?:1.8.0_111]
Caused by: java.lang.ClassNotFoundException: net.theviolentsquirrels.craftandconquer.client.renderer.entity.RenderNPCDialog
at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:191) ~[launchwrapper-1.12.jar:?]
at java.lang.ClassLoader.loadClass(ClassLoader.java:424) ~[?:1.8.0_111]
at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[?:1.8.0_111]
... 18 more
Caused by: java.lang.NoClassDefFoundError: net/minecraft/client/renderer/entity/RenderLiving
at java.lang.ClassLoader.defineClass1(Native Method) ~[?:1.8.0_111]
at java.lang.ClassLoader.defineClass(ClassLoader.java:763) ~[?:1.8.0_111]
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) ~[?:1.8.0_111]
at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:182) ~[launchwrapper-1.12.jar:?]
at java.lang.ClassLoader.loadClass(ClassLoader.java:424) ~[?:1.8.0_111]
at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[?:1.8.0_111]
... 18 more
Caused by: java.lang.ClassNotFoundException: net.minecraft.client.renderer.entity.RenderLiving
at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:101) ~[launchwrapper-1.12.jar:?]
at java.lang.ClassLoader.loadClass(ClassLoader.java:424) ~[?:1.8.0_111]
at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[?:1.8.0_111]
at java.lang.ClassLoader.defineClass1(Native Method) ~[?:1.8.0_111]
at java.lang.ClassLoader.defineClass(ClassLoader.java:763) ~[?:1.8.0_111]
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) ~[?:1.8.0_111]
at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:182) ~[launchwrapper-1.12.jar:?]
at java.lang.ClassLoader.loadClass(ClassLoader.java:424) ~[?:1.8.0_111]
at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[?:1.8.0_111]
... 18 more
[00:16:38] [server thread/ERROR] [FML]: Index: 1 Listeners:
[00:16:38] [server thread/ERROR] [FML]: 0: NORMAL
[00:16:38] [server thread/ERROR] [FML]: 1: ASM: net.theviolentsquirrels.craftandconquer.event.NPCInteractEvent@4d7d80dd onEntityNPCInteract(Lnet/minecraftforge/event/entity/player/PlayerInteractEvent$EntityInteract;)V
[00:16:38] [server thread/FATAL] [net.minecraft.server.MinecraftServer]: Error executing task
java.util.concurrent.ExecutionException: java.lang.NoClassDefFoundError: net/theviolentsquirrels/craftandconquer/client/renderer/entity/RenderNPCDialog
at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_111]
at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_111]
at net.minecraft.util.Util.runTask(Util.java:26) [util.class:?]
at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:742) [MinecraftServer.class:?]
at net.minecraft.server.dedicated.DedicatedServer.updateTimeLightAndEntities(DedicatedServer.java:408) [DedicatedServer.class:?]
at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:687) [MinecraftServer.class:?]
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:536) [MinecraftServer.class:?]
at java.lang.Thread.run(Thread.java:745) [?:1.8.0_111]
Caused by: java.lang.NoClassDefFoundError: net/theviolentsquirrels/craftandconquer/client/renderer/entity/RenderNPCDialog
at net.theviolentsquirrels.craftandconquer.event.NPCInteractEvent.onEntityNPCInteract(NPCInteractEvent.java:27) ~[NPCInteractEvent.class:?]
at net.minecraftforge.fml.common.eventhandler.ASMEventHandler_6_NPCInteractEvent_onEntityNPCInteract_EntityInteract.invoke(.dynamic) ~[?:?]
at net.minecraftforge.fml.common.eventhandler.ASMEventHandler.invoke(ASMEventHandler.java:90) ~[ASMEventHandler.class:?]
at net.minecraftforge.fml.common.eventhandler.EventBus.post(EventBus.java:185) ~[EventBus.class:?]
at net.minecraftforge.common.ForgeHooks.onInteractEntity(ForgeHooks.java:1008) ~[ForgeHooks.class:?]
at net.minecraft.entity.player.EntityPlayer.interact(EntityPlayer.java:1246) ~[EntityPlayer.class:?]
at net.minecraft.network.NetHandlerPlayServer.processUseEntity(NetHandlerPlayServer.java:1072) ~[NetHandlerPlayServer.class:?]
at net.minecraft.network.play.client.CPacketUseEntity.processPacket(CPacketUseEntity.java:93) ~[CPacketUseEntity.class:?]
at net.minecraft.network.play.client.CPacketUseEntity.processPacket(CPacketUseEntity.java:14) ~[CPacketUseEntity.class:?]
at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[PacketThreadUtil$1.class:?]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_111]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[?:1.8.0_111]
at net.minecraft.util.Util.runTask(Util.java:25) ~[util.class:?]
... 5 more
Caused by: java.lang.ClassNotFoundException: net.theviolentsquirrels.craftandconquer.client.renderer.entity.RenderNPCDialog
at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:191) ~[launchwrapper-1.12.jar:?]
at java.lang.ClassLoader.loadClass(ClassLoader.java:424) ~[?:1.8.0_111]
at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[?:1.8.0_111]
at net.theviolentsquirrels.craftandconquer.event.NPCInteractEvent.onEntityNPCInteract(NPCInteractEvent.java:27) ~[NPCInteractEvent.class:?]
at net.minecraftforge.fml.common.eventhandler.ASMEventHandler_6_NPCInteractEvent_onEntityNPCInteract_EntityInteract.invoke(.dynamic) ~[?:?]
at net.minecraftforge.fml.common.eventhandler.ASMEventHandler.invoke(ASMEventHandler.java:90) ~[ASMEventHandler.class:?]
at net.minecraftforge.fml.common.eventhandler.EventBus.post(EventBus.java:185) ~[EventBus.class:?]
at net.minecraftforge.common.ForgeHooks.onInteractEntity(ForgeHooks.java:1008) ~[ForgeHooks.class:?]
at net.minecraft.entity.player.EntityPlayer.interact(EntityPlayer.java:1246) ~[EntityPlayer.class:?]
at net.minecraft.network.NetHandlerPlayServer.processUseEntity(NetHandlerPlayServer.java:1072) ~[NetHandlerPlayServer.class:?]
at net.minecraft.network.play.client.CPacketUseEntity.processPacket(CPacketUseEntity.java:93) ~[CPacketUseEntity.class:?]
at net.minecraft.network.play.client.CPacketUseEntity.processPacket(CPacketUseEntity.java:14) ~[CPacketUseEntity.class:?]
at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[PacketThreadUtil$1.class:?]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_111]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[?:1.8.0_111]
at net.minecraft.util.Util.runTask(Util.java:25) ~[util.class:?]
... 5 more
Caused by: java.lang.NoClassDefFoundError: net/minecraft/client/renderer/entity/RenderLiving
at java.lang.ClassLoader.defineClass1(Native Method) ~[?:1.8.0_111]
at java.lang.ClassLoader.defineClass(ClassLoader.java:763) ~[?:1.8.0_111]
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) ~[?:1.8.0_111]
at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:182) ~[launchwrapper-1.12.jar:?]
at java.lang.ClassLoader.loadClass(ClassLoader.java:424) ~[?:1.8.0_111]
at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[?:1.8.0_111]
at net.theviolentsquirrels.craftandconquer.event.NPCInteractEvent.onEntityNPCInteract(NPCInteractEvent.java:27) ~[NPCInteractEvent.class:?]
at net.minecraftforge.fml.common.eventhandler.ASMEventHandler_6_NPCInteractEvent_onEntityNPCInteract_EntityInteract.invoke(.dynamic) ~[?:?]
at net.minecraftforge.fml.common.eventhandler.ASMEventHandler.invoke(ASMEventHandler.java:90) ~[ASMEventHandler.class:?]
at net.minecraftforge.fml.common.eventhandler.EventBus.post(EventBus.java:185) ~[EventBus.class:?]
at net.minecraftforge.common.ForgeHooks.onInteractEntity(ForgeHooks.java:1008) ~[ForgeHooks.class:?]
at net.minecraft.entity.player.EntityPlayer.interact(EntityPlayer.java:1246) ~[EntityPlayer.class:?]
at net.minecraft.network.NetHandlerPlayServer.processUseEntity(NetHandlerPlayServer.java:1072) ~[NetHandlerPlayServer.class:?]
at net.minecraft.network.play.client.CPacketUseEntity.processPacket(CPacketUseEntity.java:93) ~[CPacketUseEntity.class:?]
at net.minecraft.network.play.client.CPacketUseEntity.processPacket(CPacketUseEntity.java:14) ~[CPacketUseEntity.class:?]
at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[PacketThreadUtil$1.class:?]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_111]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[?:1.8.0_111]
at net.minecraft.util.Util.runTask(Util.java:25) ~[util.class:?]
... 5 more
Caused by: java.lang.ClassNotFoundException: net.minecraft.client.renderer.entity.RenderLiving
at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:101) ~[launchwrapper-1.12.jar:?]
at java.lang.ClassLoader.loadClass(ClassLoader.java:424) ~[?:1.8.0_111]
at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[?:1.8.0_111]
at java.lang.ClassLoader.defineClass1(Native Method) ~[?:1.8.0_111]
at java.lang.ClassLoader.defineClass(ClassLoader.java:763) ~[?:1.8.0_111]
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) ~[?:1.8.0_111]
at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:182) ~[launchwrapper-1.12.jar:?]
at java.lang.ClassLoader.loadClass(ClassLoader.java:424) ~[?:1.8.0_111]
at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[?:1.8.0_111]
at net.theviolentsquirrels.craftandconquer.event.NPCInteractEvent.onEntityNPCInteract(NPCInteractEvent.java:27) ~[NPCInteractEvent.class:?]
at net.minecraftforge.fml.common.eventhandler.ASMEventHandler_6_NPCInteractEvent_onEntityNPCInteract_EntityInteract.invoke(.dynamic) ~[?:?]
at net.minecraftforge.fml.common.eventhandler.ASMEventHandler.invoke(ASMEventHandler.java:90) ~[ASMEventHandler.class:?]
at net.minecraftforge.fml.common.eventhandler.EventBus.post(EventBus.java:185) ~[EventBus.class:?]
at net.minecraftforge.common.ForgeHooks.onInteractEntity(ForgeHooks.java:1008) ~[ForgeHooks.class:?]
at net.minecraft.entity.player.EntityPlayer.interact(EntityPlayer.java:1246) ~[EntityPlayer.class:?]
at net.minecraft.network.NetHandlerPlayServer.processUseEntity(NetHandlerPlayServer.java:1072) ~[NetHandlerPlayServer.class:?]
at net.minecraft.network.play.client.CPacketUseEntity.processPacket(CPacketUseEntity.java:93) ~[CPacketUseEntity.class:?]
at net.minecraft.network.play.client.CPacketUseEntity.processPacket(CPacketUseEntity.java:14) ~[CPacketUseEntity.class:?]
at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[PacketThreadUtil$1.class:?]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_111]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[?:1.8.0_111]
at net.minecraft.util.Util.runTask(Util.java:25) ~[util.class:?]
... 5 more

 

 

I have explored the code of the Custom NPC mod to get some hints, but it seems that I am unable to find what I would like to do. I have checked the content of my .jar file and the class RenderNPCDialog does exist, so I don't quite understand what is going on. :)

 

Thank you for your help !

Squirrel ! Squirrel ! Squirrel !

Link to comment
Share on other sites

You will need to create a packet that sends this to the client(s).

 

Okay so I just checked Vanilla and it seems that EntityWolf has the same thing as me: three different textures regarding the wolf behavior (tamed, not tamed and angry) and the getEntityTexture returns the correct one according to the correct behavior. But it does not seem to send any packet to the client.

 

I don't understand why would I need to send any packet here since there is a NoClassDefFoundError. Would you mean to send a packet to the client so that - on the client - it calls the function from RenderNPCDialog ? If yes, is it the correct thing to do in general in Minecraft to notify players of a texture change ?

Squirrel ! Squirrel ! Squirrel !

Link to comment
Share on other sites

First of all, you cannot have this as a static field in your renderer. It would mean that the texture for all of your entities always change at once. You need to store the texture in the entity.

 

Yup, thank you. I will change that so that the texture index has to be stored directly in this entity. :) Maybe I can do it with DataWatchers ?

 

The wolf synchronizes the necessary state (tamed, angry) to the client via the DataWatcher mechanic, you should be able to find a tutorial if you don't know how to use it.

 

There was an old tutorial on the wiki, but the link isn't available anymore... I'm gonna try to read through the source code tho.

Squirrel ! Squirrel ! Squirrel !

Link to comment
Share on other sites

Good evening,

 

I managed to use DataWatchers - not really DataWatchers, more DataParameter and EntityDataManager :D - to store the texture index in the entity and thus being able to make it work.

 

EntityNPCDialog:

public class                EntityNPCDialog extends EntityLiving {

    private static final DataParameter<Integer> TEXTURE_INDEX = EntityDataManager.<Integer>createKey(EntityNPCDialog.class, DataSerializers.VARINT);

    public                  EntityNPCDialog(World worldIn) {
        super(worldIn);
    }

    @Override
    protected void          entityInit() {
        super.entityInit();

        this.dataManager.register(TEXTURE_INDEX, 0);
    }

    @Nullable
    @Override
    protected SoundEvent    getAmbientSound() {
        return (CraftAndConquerSounds.NPCDialogSoundEvent);
    }

    @Nullable
    @Override
    protected SoundEvent    getHurtSound() {
        return (CraftAndConquerSounds.NPCDialogSoundEvent);
    }

    @Nullable
    @Override
    protected SoundEvent    getDeathSound() {
        return (CraftAndConquerSounds.NPCDialogSoundEvent);
    }

    @Override
    protected SoundEvent    getFallSound(int heightIn) {
        return (CraftAndConquerSounds.NPCDialogSoundEvent);
    }

    @Override
    protected SoundEvent    getSwimSound() {
        return (CraftAndConquerSounds.NPCDialogSoundEvent);
    }

    @Override
    protected SoundEvent    getSplashSound() {
        return (CraftAndConquerSounds.NPCDialogSoundEvent);
    }

    public void             setTextureIndex() {
        int                 textureID = this.dataManager.get(TEXTURE_INDEX);

        this.dataManager.set(TEXTURE_INDEX, (textureID + 1 < 2) ? textureID + 1 : 0);
    }

    public int              getTextureIndex() {
        return (this.dataManager.get(TEXTURE_INDEX));
    }
}

 

NPCInteractEvent:

public class        NPCInteractEvent {

    @SubscribeEvent
    public void     onEntityNPCInteract(PlayerInteractEvent.EntityInteract event) {
        ItemStack   heldItem = event.getEntityPlayer().getHeldItem(EnumHand.MAIN_HAND);
        ItemBase    npcManager = CraftAndConquerItems.npcManager;

        if (event.getTarget() instanceof EntityNPCDialog &&
                event.getHand().equals(EnumHand.MAIN_HAND) &&
                heldItem.getItem().equals(npcManager)) {
            if (!event.getWorld().isRemote)
                ((EntityNPCDialog) event.getTarget()).setTextureIndex();
        }
    }
}

 

NPCInteractEvent

@SideOnly(Side.CLIENT)
public class    RenderNPCDialog extends RenderLiving<EntityNPCDialog> {

    public static final ResourceLocation[] NPC_DIALOG_TEXTURES = new ResourceLocation[] {
            new ResourceLocation(CraftAndConquer.MODID, "textures/entities/npc/npc_dialog.png"),
            new ResourceLocation(CraftAndConquer.MODID, "textures/entities/npc/npc_dialog_2.png"),
    };

    public      RenderNPCDialog(RenderManager renderManagerIn, ModelBase modelBaseIn, float shadowSizeIn) {
        super(renderManagerIn, modelBaseIn, shadowSizeIn);
    }

    @Override
    protected ResourceLocation  getEntityTexture(EntityNPCDialog entity) {
        return (RenderNPCDialog.NPC_DIALOG_TEXTURES[entity.getTextureIndex()]);
    }
}

 

Here is what I did :

 

  • I took a look at the EntityWolf and RenderWolf vanilla classes which cover the purpose of my question. The Wolf has three skins according to its state (tamed, not tamed and angry as written above).
  • The getEntityTexture method in RenderWolf returns the correct texture according to different checks (isTamed and isAngry). Actually, those booleans are updated at the same time the EntityWolf's DataParameters are. (You can see a DataParameter named TAMED in EntityTameable which is the extend of the EntityWolf class.)
  • All I had to do was to create a custom DataParameter for my entity (TEXTURE_INDEX), override the entityInit method to register my DataParameter into the EntityDataManager of my custom entity, and correctly get and set the value in my TEXTURE_INDEX parameter.

 

The NoClassDefFoundError was there because I was trying to access my Render class from my Entity class, now there is no access anymore. :) The last thing I have to do is to store the index in NBT tags in order to retrieve the correct texture when the server restarts.

 

I have one question though: what if I don't want to get the texture from an existing array, but loading it from a folder ? Right now, all the clients are aware of the different textures of the entity because they are stored in the class. Would it be possible to load the texture from a folder from the server, applying it to the entity and notify all the clients that the texture has changed ? Right now, I would see a problem because the clients would not be aware of this specific texture applied on the entity (you know, same when a player changes his skin from minecraft.net, there has to be a reconnect on the server in order to update the thing).

Squirrel ! Squirrel ! Squirrel !

Link to comment
Share on other sites

You would either have to transfer the texture to the client through normal packets and then manually inject it into the texture system, or use the same mechanic skins use and host them on a server somewhere.

 

I didn't really know where to start, so I took a look at vanilla classes and I noticed the getDownloadImageSkin method in AbstractClientPlayer. I naively and simply copy-pasted the method into my custom entity class and changed the method's content so that it downloads a specific texture (hard-coded, I will change this later once it works) from imgur and then put this texture instead of the NPC default one. Moreover, I created a DefaultNPCSkin class (similar to the existing DefaultPlayerSkin vanilla class) which holds the default texture for NPCs and is accessible from my Renderer and the NPCInteractEvent class.

 

I don't know why, but I'm getting a cast error between ThreadDownloadImageData and SimpleTexture in my own getDownloadImageSkin method. The thing is, I just copy-pasted the existing one from vanilla and it seems to work well, so I don't quite understand what is going on: yet, ThreadDownloadImageData extends from multiple classes (SimpleTexture, which itself extends from AbstractTexture), especially AbstractTexture which implements the ITextureObject. Could you help me on this one ? :D

 

EntityNPCDialog:

public class                EntityNPCDialog extends EntityLiving {

//    private static final DataParameter<Integer> TEXTURE_INDEX = EntityDataManager.<Integer>createKey(EntityNPCDialog.class, DataSerializers.VARINT);

    public                  EntityNPCDialog(World worldIn) {
        super(worldIn);
    }

//    @Override
//    protected void          entityInit() {
//        super.entityInit();
//
//        this.dataManager.register(TEXTURE_INDEX, 0);
//    }

    @Nullable
    @Override
    protected SoundEvent    getAmbientSound() {
        return (CraftAndConquerSounds.NPCDialogSoundEvent);
    }

    @Nullable
    @Override
    protected SoundEvent    getHurtSound() {
        return (CraftAndConquerSounds.NPCDialogSoundEvent);
    }

    @Nullable
    @Override
    protected SoundEvent    getDeathSound() {
        return (CraftAndConquerSounds.NPCDialogSoundEvent);
    }

    @Override
    protected SoundEvent    getFallSound(int heightIn) {
        return (CraftAndConquerSounds.NPCDialogSoundEvent);
    }

    @Override
    protected SoundEvent    getSwimSound() {
        return (CraftAndConquerSounds.NPCDialogSoundEvent);
    }

    @Override
    protected SoundEvent    getSplashSound() {
        return (CraftAndConquerSounds.NPCDialogSoundEvent);
    }

//    public void             setTextureIndex() {
//        int                 textureID = this.dataManager.get(TEXTURE_INDEX);
//
//        this.dataManager.set(TEXTURE_INDEX, (textureID + 1 < 2) ? textureID + 1 : 0);
//    }
//
//    public int              getTextureIndex() {
//        return (this.dataManager.get(TEXTURE_INDEX));
//    }

    public static ThreadDownloadImageData   getDownloadImageSkin(ResourceLocation resourceLocationIn) {
        TextureManager texturemanager = Minecraft.getMinecraft().getTextureManager();
        ITextureObject itextureobject = texturemanager.getTexture(resourceLocationIn);

        if (itextureobject == null) {
            itextureobject = new ThreadDownloadImageData((File) null,
                    "http://imgur.com/Z0pbA3P.png",
                    DefaultNPCSkin.getDefaultSkin(), new ImageBufferDownload());

            texturemanager.loadTexture(resourceLocationIn, itextureobject);
        }

        return ((ThreadDownloadImageData) itextureobject);
    }
}

 

NPCInteractEvent

public class        NPCInteractEvent {

    @SubscribeEvent
    public void     onEntityNPCInteract(PlayerInteractEvent.EntityInteract event) {
        ItemStack   heldItem = event.getEntityPlayer().getHeldItem(EnumHand.MAIN_HAND);
        ItemBase    npcManager = CraftAndConquerItems.npcManager;

        if (event.getTarget() instanceof EntityNPCDialog &&
                event.getHand().equals(EnumHand.MAIN_HAND) &&
                heldItem.getItem().equals(npcManager)) {
            if (!event.getWorld().isRemote)
                EntityNPCDialog.getDownloadImageSkin(DefaultNPCSkin.getDefaultSkin());
        }
    }
}

 

DefaultNPCSkin:

public class    DefaultNPCSkin {

    private static final ResourceLocation   NPC_DIALOG_DEFAULT_TEXTURE =
            new ResourceLocation(CraftAndConquer.MODID, "textures/entities/npc/npc_dialog.png");

    public static ResourceLocation          getDefaultSkin() {
        return (NPC_DIALOG_DEFAULT_TEXTURE);
    }
}

 

RenderNPCDialog:

public class    RenderNPCDialog extends RenderLiving<EntityNPCDialog> {

//    public static final ResourceLocation[] NPC_DIALOG_TEXTURES = new ResourceLocation[] {
//            new ResourceLocation(CraftAndConquer.MODID, "textures/entities/npc/npc_dialog.png"),
//            new ResourceLocation(CraftAndConquer.MODID, "textures/entities/npc/npc_dialog_2.png"),
//    };

    public      RenderNPCDialog(RenderManager renderManagerIn, ModelBase modelBaseIn, float shadowSizeIn) {
        super(renderManagerIn, modelBaseIn, shadowSizeIn);
    }

    @Override
    protected ResourceLocation  getEntityTexture(EntityNPCDialog entity) {
        return (DefaultNPCSkin.getDefaultSkin());
    }
}

 

Logs from the console (I tested on singleplayer first, before going further with dedicated server):

[18:10:29] [server thread/ERROR] [FML]: Exception caught during firing event net.minecraftforge.event.entity.player.PlayerInteractEvent$EntityInteract@32971884:
java.lang.ClassCastException: net.minecraft.client.renderer.texture.SimpleTexture cannot be cast to net.minecraft.client.renderer.ThreadDownloadImageData
at net.theviolentsquirrels.craftandconquer.entity.EntityNPCDialog.getDownloadImageSkin(EntityNPCDialog.java:92) ~[EntityNPCDialog.class:?]
at net.theviolentsquirrels.craftandconquer.event.NPCInteractEvent.onEntityNPCInteract(NPCInteractEvent.java:27) ~[NPCInteractEvent.class:?]
at net.minecraftforge.fml.common.eventhandler.ASMEventHandler_6_NPCInteractEvent_onEntityNPCInteract_EntityInteract.invoke(.dynamic) ~[?:?]
at net.minecraftforge.fml.common.eventhandler.ASMEventHandler.invoke(ASMEventHandler.java:90) ~[ASMEventHandler.class:?]
at net.minecraftforge.fml.common.eventhandler.EventBus.post(EventBus.java:185) [EventBus.class:?]
at net.minecraftforge.common.ForgeHooks.onInteractEntity(ForgeHooks.java:1008) [ForgeHooks.class:?]
at net.minecraft.entity.player.EntityPlayer.interact(EntityPlayer.java:1246) [EntityPlayer.class:?]
at net.minecraft.network.NetHandlerPlayServer.processUseEntity(NetHandlerPlayServer.java:1072) [NetHandlerPlayServer.class:?]
at net.minecraft.network.play.client.CPacketUseEntity.processPacket(CPacketUseEntity.java:93) [CPacketUseEntity.class:?]
at net.minecraft.network.play.client.CPacketUseEntity.processPacket(CPacketUseEntity.java:14) [CPacketUseEntity.class:?]
at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) [PacketThreadUtil$1.class:?]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_111]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_111]
at net.minecraft.util.Util.runTask(Util.java:25) [util.class:?]
at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:742) [MinecraftServer.class:?]
at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:687) [MinecraftServer.class:?]
at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:156) [integratedServer.class:?]
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:536) [MinecraftServer.class:?]
at java.lang.Thread.run(Thread.java:745) [?:1.8.0_111]
[18:10:29] [server thread/ERROR] [FML]: Index: 1 Listeners:
[18:10:29] [server thread/ERROR] [FML]: 0: NORMAL
[18:10:29] [server thread/ERROR] [FML]: 1: ASM: net.theviolentsquirrels.craftandconquer.event.NPCInteractEvent@664a3770 onEntityNPCInteract(Lnet/minecraftforge/event/entity/player/PlayerInteractEvent$EntityInteract;)V
[18:10:29] [server thread/FATAL]: Error executing task
java.util.concurrent.ExecutionException: java.lang.ClassCastException: net.minecraft.client.renderer.texture.SimpleTexture cannot be cast to net.minecraft.client.renderer.ThreadDownloadImageData
at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_111]
at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_111]
at net.minecraft.util.Util.runTask(Util.java:26) [util.class:?]
at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:742) [MinecraftServer.class:?]
at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:687) [MinecraftServer.class:?]
at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:156) [integratedServer.class:?]
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:536) [MinecraftServer.class:?]
at java.lang.Thread.run(Thread.java:745) [?:1.8.0_111]
Caused by: java.lang.ClassCastException: net.minecraft.client.renderer.texture.SimpleTexture cannot be cast to net.minecraft.client.renderer.ThreadDownloadImageData
at net.theviolentsquirrels.craftandconquer.entity.EntityNPCDialog.getDownloadImageSkin(EntityNPCDialog.java:92) ~[EntityNPCDialog.class:?]
at net.theviolentsquirrels.craftandconquer.event.NPCInteractEvent.onEntityNPCInteract(NPCInteractEvent.java:27) ~[NPCInteractEvent.class:?]
at net.minecraftforge.fml.common.eventhandler.ASMEventHandler_6_NPCInteractEvent_onEntityNPCInteract_EntityInteract.invoke(.dynamic) ~[?:?]
at net.minecraftforge.fml.common.eventhandler.ASMEventHandler.invoke(ASMEventHandler.java:90) ~[ASMEventHandler.class:?]
at net.minecraftforge.fml.common.eventhandler.EventBus.post(EventBus.java:185) ~[EventBus.class:?]
at net.minecraftforge.common.ForgeHooks.onInteractEntity(ForgeHooks.java:1008) ~[ForgeHooks.class:?]
at net.minecraft.entity.player.EntityPlayer.interact(EntityPlayer.java:1246) ~[EntityPlayer.class:?]
at net.minecraft.network.NetHandlerPlayServer.processUseEntity(NetHandlerPlayServer.java:1072) ~[NetHandlerPlayServer.class:?]
at net.minecraft.network.play.client.CPacketUseEntity.processPacket(CPacketUseEntity.java:93) ~[CPacketUseEntity.class:?]
at net.minecraft.network.play.client.CPacketUseEntity.processPacket(CPacketUseEntity.java:14) ~[CPacketUseEntity.class:?]
at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[PacketThreadUtil$1.class:?]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_111]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[?:1.8.0_111]
at net.minecraft.util.Util.runTask(Util.java:25) ~[util.class:?]
... 5 more

Squirrel ! Squirrel ! Squirrel !

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Recently Browsing

    • No registered users viewing this page.
  • Posts

    • Now it says me "Incompatible Server"  I run Forge 40.2.0 with 38 mods at the same version as the aternos server. https://mclo.gs/oLpLRxH
    • Unfortunatly you can´t allocate more ram on aternos servers
    • I resolved all the conflicts that weren't letting me enter the game, thank you very much. But now another error has appeared, when I enter a world it immediately crashes, here is the log: https://paste.ee/p/AOGUx.
    • every mod is up to date, i need help, here's the log     [19:50:14] [main/INFO]: ModLauncher running: args [--username, HH_Zere, --version, forge-47.2.0, --gameDir, C:\Users\------\curseforge\minecraft\Instances\Single Player (1), --assetsDir, C:\Users\------\curseforge\minecraft\Install\assets, --assetIndex, 5, --uuid, ba5d8ed702394fa9a945f5e5bc8731d2, --accessToken, ????????, --clientId, Yzk2MmQ2NjQtOGZhOS00YjRlLTllMDQtYmUxMmM1NmY3Mzcy, --xuid, 2535439086822918, --userType, msa, --versionType, release, --width, 1920, --height, 1080, --quickPlayPath, C:\Users\------\curseforge\minecraft\Install\quickPlay\java\1709232612667.json, --launchTarget, forgeclient, --fml.forgeVersion, 47.2.0, --fml.mcVersion, 1.20.1, --fml.forgeGroup, net.minecraftforge, --fml.mcpVersion, 20230612.114412] [19:50:14] [main/INFO]: ModLauncher 10.0.9+10.0.9+main.dcd20f30 starting: java version 17.0.8 by Microsoft; OS Windows 11 arch amd64 version 10.0 [19:50:16] [main/INFO]: Loading ImmediateWindowProvider fmlearlywindow [19:50:16] [main/INFO]: Trying GL version 4.6 [19:50:16] [main/INFO]: Requested GL version 4.6 got version 4.6 [19:50:16] [main/INFO]: SpongePowered MIXIN Subsystem Version=0.8.5 Source=union:/C:/Users/Daniel/curseforge/minecraft/Install/libraries/org/spongepowered/mixin/0.8.5/mixin-0.8.5.jar%23100!/ Service=ModLauncher Env=CLIENT [19:50:16] [pool-2-thread-1/INFO]: GL info: NVIDIA GeForce RTX 2080 Ti/PCIe/SSE2 GL version 4.6.0 NVIDIA 551.61, NVIDIA Corporation [19:50:17] [main/INFO]: Found mod file [1.20.1] SecurityCraft v1.9.8.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file [Forge]ctov-3.4.2.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file additional_lights-1.20.1-2.1.7.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file AI-Improvements-1.20-0.5.2.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file AmbientSounds_FORGE_v5.3.9_mc1.20.1.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file appleskin-forge-mc1.20.1-2.5.1.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file architectury-9.2.14-forge.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file AttributeFix-Forge-1.20.1-21.0.4.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file balm-forge-1.20.1-7.2.2.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file bellsandwhistles-0.4.3-1.20.x.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file Better Falling-forge-1.3.0-mc1.20.1.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file BetterThirdPerson-Forge-1.20-1.9.0.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file BiomesOPlenty-1.20.1-18.0.0.592.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file Bookshelf-Forge-1.20.1-20.1.9.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file BotanyPots-Forge-1.20.1-13.0.24.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file BotanyPotsOrePlanting-Forge-7.9.0+1.20.1.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file BotanyPotsTiers-Forge-1.20.1-6.0.1.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file BotanyTrees-Forge-1.20.1-9.0.11.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file botarium-forge-1.20.1-2.3.3.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file cannibal-1.0.5-1.20.1.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file castle_in_the_sky-1.20.1-0.6.0.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file Chimes-v2.0.1-1.20.1.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file cleanswing-1.20-1.5.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file cloth-config-11.1.118-forge.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file Clumps-forge-1.20.1-12.0.0.3.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file Cognition-v2.0.3-1.20.1.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file collective-1.20.1-7.36.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file CraftableTotemOfUndying-1.20.1-3.2.1-[FORGE].jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file create-1.20.1-0.5.1.f.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file create-new-age-forge-1.20.1-1.1.2.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file create_jetpack-forge-4.2.1.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file create_mechanical_spawner-1.20.1-0.0.14.e-22.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file create_misc_and_things_ 1.20.1_4.0A.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file create_netherless-1.20.1-1.3.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file create_recycle_1.0.2_forge_1.20.1.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file create_sabers-1.20.1-1.3.0.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file createaddition-1.20.1-1.2.3.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file createbigcannons-forge-1.20.1-0.5.3.b.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file createdeco-2.0.1-1.20.1-forge.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file createoreexcavation-1.20-1.4.2.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file CreativeCore_FORGE_v2.11.24_mc1.20.1.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file Croptopia-1.20.1-FORGE-3.0.4.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file curios-forge-5.7.0+1.20.1.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file cyanide-forge-1.20.1-4.1.0.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file DarkUtilities-Forge-1.20.1-17.0.3.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file design_decor-0.3-1.20.1.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file DiagonalFences-v8.1.3-1.20.1-Forge.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file DiagonalWalls-v8.0.2-1.20.1-Forge.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file DiagonalWindows-v8.1.3-1.20.1-Forge.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file doubledoors-1.20.1-5.2.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file DripSounds-1.19.4-0.3.2.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file Durability101-forge-1.20-0.0.4.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file dynamiccrosshair-7.4.4+1.20-forge.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file effortlessbuilding-1.20.1-3.7-all.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file embeddium-0.3.7+mc1.20.1.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file EnchantingInfuser-v8.0.2-1.20.1-Forge.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file endermanoverhaul-forge-1.20.1-1.0.4.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file entityculling-forge-1.6.2-mc1.20.1.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file EpheroLib-1.20.1-FORGE-1.2.0.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file extendedgears-2.1.0-1.20.1-0.5.1.c-forge.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file fancymenu_forge_3.1.1_MC_1.20.1.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file fantasyfurniture-1.20.1-9.0.0.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file ferritecore-6.0.1-forge.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file fixexperiencebug-1.20-46.2.2.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file FlowerPatch-forge-1.20.1-3.1.0.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file FlowerSeeds2-1.20.1-1.1.2.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file FramedBlocks-9.2.0.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file fusion-1.1.1-forge-mc1.20.1.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file geckolib-forge-1.20.1-4.4.2.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file giacomos_exp-1.20.1-1.4.6.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file GoldenCrops-1.20.1-1.1.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file handcrafted-forge-1.20.1-3.0.6.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file iceandfire-2.1.13-1.20.1-beta-4.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file immersive_weathering-1.20.1-2.0.1-forge.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file infinity_cave-0.4-1.20.1-FORGE.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file interiors-0.5.2+mc1.20.1-FORGE.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file inventorio-1.20-forge-1.9.2.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file invhud.forge.1.20.1-3.4.18.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file ironchest-1.20.1-14.4.4.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file ironfurnaces-1.20.1-4.1.4.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file itemcollectors-1.1.9-forge-mc1.20.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file jei-1.20.1-forge-15.3.0.4.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file jumpoverfences-forge-1.20.1-1.3.1.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file keepmysoiltilled-1.20.1-2.2.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file Kiwi-1.20.1-forge-11.5.5.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file konkrete_forge_1.8.0_MC_1.20-1.20.1.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file kotlinforforge-4.10.0-all.jar of type LIBRARY with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file lazulib-1.20.1-1.2.1.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file lithostitched-forge-1.20.1-1.1.5.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file macawsbridgesbop-1.20-1.1.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file macawsroofsbop-1.20-1.0.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file mcw-bridges-2.1.1-mc1.20.1forge.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file mcw-doors-1.1.0forge-mc1.20.1.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file mcw-fences-1.1.1-mc1.20.1forge.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file mcw-furniture-3.2.2-mc1.20.1forge.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file mcw-paintings-1.0.5-1.20.1forge.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file mcw-paths-1.0.4forge-mc1.20.1.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file mcw-roofs-2.3.0-mc1.20.1forge.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file mcw-trapdoors-1.1.2-mc1.20.1forge.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file mcw-windows-2.2.1-mc1.20.1forge.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file mcwfencesbop-1.20-1.0.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file melody_forge_1.0.3_MC_1.20.1-1.20.4.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file mining-dimension-forge-1.20.1-1.1.0.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file MOAdecor LIGHTS 1.20.1.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file moonlight-1.20-2.10.10-forge.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file MouseTweaks-forge-mc1.20-2.25.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file nct-1.0.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file nocube's_create_compact_exp_1.0.3_forge_1.20.1.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file nyfsspiders-forge-1.20.1-2.1.1.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file oculus-mc1.20.1-1.6.15a.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file PassableFoliage-1.20.1-forge-8.2.1.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file physics-mod-pro-v167d-forge-1.20.1.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file PigPen-Forge-1.20.1-15.0.2.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file pipez-forge-1.20.1-1.2.6.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file player-animation-lib-forge-1.0.2-rc1+1.20.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file polymorph-forge-0.49.2+1.20.1.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file preciseblockplacing-2.0.2+1.19-forge.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file puffish_skills-0.11.3-1.20-forge.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file PuzzlesLib-v8.1.17-1.20.1-Forge.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file rangedwirelessredstone-1.20-4.0.0.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file realmrpg_dragon_wyrms_1.0.1_forge_1.20.1.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file realmrpg_fallen_adventurers_1.0.3_forge_1.20.1.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file rechiseled-1.1.5c-forge-mc1.20.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file rechiseledcreate-1.0.2-forge-mc1.20.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file resourcefulconfig-forge-1.20.1-2.1.2.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file resourcefullib-forge-1.20.1-2.1.23.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file Runelic-Forge-1.20.1-18.0.2.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file ShoulderSurfing-Forge-1.20.1-2.9.2.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file shw-forge-1.0.0.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file simplylight-1.20.1-1.4.6-build.50.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file sky_lands-0.1.1.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file SkyVillages-1.0.3-1.19.2-1.20.x-forge-release.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file smoothboot(reloaded)-mc1.20.1-0.0.4.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file sophisticatedbackpacks-1.20.1-3.20.1.1012.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file sophisticatedcore-1.20.1-0.6.3.553.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file sound-physics-remastered-forge-1.20.1-1.3.1.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file Steam_Rails-1.5.3+forge-mc1.20.1.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file storagedrawers-1.20.1-12.0.2.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file supermartijn642configlib-1.1.8-forge-mc1.20.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file supermartijn642corelib-1.1.17-forge-mc1.20.1.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file supplementaries-1.20-2.8.1.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file TerraBlender-forge-1.20.1-3.0.1.4.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file TheCropReapingMod-1.20.1-2.0.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file toolleveling-forge-1.20.1-2.0.0.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file torchmaster-20.1.5.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file totw_modded-1.0.2-1.20.1.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file trashcans-1.0.18b-forge-mc1.20.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file treeharvester-1.20.1-8.7.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file vc_gliders-forge-1.1.5.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file villagesandpillages-forge-mc1.20.1-1.0.0.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file VisualWorkbench-v8.0.0-1.20.1-Forge.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file waterframes-1.20.1-1.3.1e.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file watermedia-2.0.28.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file WI-Zoom-1.5-MC1.20.1-Forge.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file Xaeros_Minimap_23.9.7_Forge_1.20.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file XaerosWorldMap_1.37.8_Forge_1.20.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file YungsApi-1.20-Forge-4.0.3.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file YungsBetterDesertTemples-1.20-Forge-3.0.3.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file YungsBetterDungeons-1.20-Forge-4.0.3.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file YungsBetterEndIsland-1.20-Forge-2.0.5.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file YungsBetterJungleTemples-1.20-Forge-2.0.4.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file YungsBetterMineshafts-1.20-Forge-4.0.4.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file YungsBetterNetherFortresses-1.20-Forge-2.0.5.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file YungsBetterOceanMonuments-1.20-Forge-3.0.4.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file YungsBetterStrongholds-1.20-Forge-4.0.3.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file YungsBetterWitchHuts-1.20-Forge-3.0.3.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file YungsBridges-1.20-Forge-4.0.3.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file YungsExtras-1.20-Forge-4.0.3.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/INFO]: Found mod file YungsMenuTweaks-1.20.1-Forge-1.0.2.jar of type MOD with provider {mods folder locator at C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods} [19:50:17] [main/WARN]: Mod file C:\Users\Daniel\curseforge\minecraft\Install\libraries\net\minecraftforge\fmlcore\1.20.1-47.2.0\fmlcore-1.20.1-47.2.0.jar is missing mods.toml file [19:50:17] [main/WARN]: Mod file C:\Users\Daniel\curseforge\minecraft\Install\libraries\net\minecraftforge\javafmllanguage\1.20.1-47.2.0\javafmllanguage-1.20.1-47.2.0.jar is missing mods.toml file [19:50:17] [main/WARN]: Mod file C:\Users\Daniel\curseforge\minecraft\Install\libraries\net\minecraftforge\lowcodelanguage\1.20.1-47.2.0\lowcodelanguage-1.20.1-47.2.0.jar is missing mods.toml file [19:50:17] [main/WARN]: Mod file C:\Users\Daniel\curseforge\minecraft\Install\libraries\net\minecraftforge\mclanguage\1.20.1-47.2.0\mclanguage-1.20.1-47.2.0.jar is missing mods.toml file [19:50:17] [main/INFO]: Found mod file fmlcore-1.20.1-47.2.0.jar of type LIBRARY with provider net.minecraftforge.fml.loading.moddiscovery.MinecraftLocator@70e889e9 [19:50:17] [main/INFO]: Found mod file javafmllanguage-1.20.1-47.2.0.jar of type LANGPROVIDER with provider net.minecraftforge.fml.loading.moddiscovery.MinecraftLocator@70e889e9 [19:50:17] [main/INFO]: Found mod file lowcodelanguage-1.20.1-47.2.0.jar of type LANGPROVIDER with provider net.minecraftforge.fml.loading.moddiscovery.MinecraftLocator@70e889e9 [19:50:17] [main/INFO]: Found mod file mclanguage-1.20.1-47.2.0.jar of type LANGPROVIDER with provider net.minecraftforge.fml.loading.moddiscovery.MinecraftLocator@70e889e9 [19:50:17] [main/INFO]: Found mod file client-1.20.1-20230612.114412-srg.jar of type MOD with provider net.minecraftforge.fml.loading.moddiscovery.MinecraftLocator@70e889e9 [19:50:17] [main/INFO]: Found mod file forge-1.20.1-47.2.0-universal.jar of type MOD with provider net.minecraftforge.fml.loading.moddiscovery.MinecraftLocator@70e889e9 [19:50:17] [main/WARN]: Attempted to select two dependency jars from JarJar which have the same identification: Mod File:  and Mod File: . Using Mod File:  [19:50:17] [main/WARN]: Attempted to select two dependency jars from JarJar which have the same identification: Mod File:  and Mod File: . Using Mod File:  [19:50:17] [main/WARN]: Attempted to select a dependency jar for JarJar which was passed in as source: playeranimator. Using Mod File: C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1)\mods\player-animation-lib-forge-1.0.2-rc1+1.20.jar [19:50:17] [main/INFO]: Found 24 dependencies adding them to mods collection [19:50:17] [main/INFO]: Found mod file caffeine-3.1.8.jar of type GAMELIBRARY with provider net.minecraftforge.fml.loading.moddiscovery.JarInJarDependencyLocator@5df778c3 [19:50:17] [main/INFO]: Found mod file commonality-1.20.1-7.0.0.jar of type MOD with provider net.minecraftforge.fml.loading.moddiscovery.JarInJarDependencyLocator@5df778c3 [19:50:17] [main/INFO]: Found mod file mixinsquared-forge-0.1.1.jar of type GAMELIBRARY with provider net.minecraftforge.fml.loading.moddiscovery.JarInJarDependencyLocator@5df778c3 [19:50:17] [main/INFO]: Found mod file Registrate-MC1.20-1.3.3.jar of type GAMELIBRARY with provider net.minecraftforge.fml.loading.moddiscovery.JarInJarDependencyLocator@5df778c3 [19:50:17] [main/INFO]: Found mod file PalladiumCore-forge-1.20-2.0.0.0-forge.jar of type MOD with provider net.minecraftforge.fml.loading.moddiscovery.JarInJarDependencyLocator@5df778c3 [19:50:17] [main/INFO]: Found mod file spectrelib-forge-0.13.14+1.20.1.jar of type MOD with provider net.minecraftforge.fml.loading.moddiscovery.JarInJarDependencyLocator@5df778c3 [19:50:17] [main/INFO]: Found mod file mclib-20.jar of type GAMELIBRARY with provider net.minecraftforge.fml.loading.moddiscovery.JarInJarDependencyLocator@5df778c3 [19:50:17] [main/INFO]: Found mod file kffmod-4.10.0.jar of type MOD with provider net.minecraftforge.fml.loading.moddiscovery.JarInJarDependencyLocator@5df778c3 [19:50:17] [main/INFO]: Found mod file flywheel-forge-1.20.1-0.6.10-7.jar of type MOD with provider net.minecraftforge.fml.loading.moddiscovery.JarInJarDependencyLocator@5df778c3 [19:50:17] [main/INFO]: Found mod file bytecodecs-1.0.2.jar of type GAMELIBRARY with provider net.minecraftforge.fml.loading.moddiscovery.JarInJarDependencyLocator@5df778c3 [19:50:17] [main/INFO]: Found mod file ritchiesprojectilelib-1.0.0-369e88d+1.20.1-forge.jar of type MOD with provider net.minecraftforge.fml.loading.moddiscovery.JarInJarDependencyLocator@5df778c3 [19:50:17] [main/INFO]: Found mod file jcpp-1.4.14.jar of type GAMELIBRARY with provider net.minecraftforge.fml.loading.moddiscovery.JarInJarDependencyLocator@5df778c3 [19:50:17] [main/INFO]: Found mod file MixinSquared-0.1.1.jar of type GAMELIBRARY with provider net.minecraftforge.fml.loading.moddiscovery.JarInJarDependencyLocator@5df778c3 [19:50:17] [main/INFO]: Found mod file mixinextras-forge-0.2.0-beta.8.jar of type GAMELIBRARY with provider net.minecraftforge.fml.loading.moddiscovery.JarInJarDependencyLocator@5df778c3 [19:50:17] [main/INFO]: Found mod file yabn-1.0.3.jar of type GAMELIBRARY with provider net.minecraftforge.fml.loading.moddiscovery.JarInJarDependencyLocator@5df778c3 [19:50:17] [main/INFO]: Found mod file apexcore-1.20.1-10.0.0.jar of type MOD with provider net.minecraftforge.fml.loading.moddiscovery.JarInJarDependencyLocator@5df778c3 [19:50:17] [main/INFO]: Found mod file flightlib-forge-2.1.0.jar of type MOD with provider net.minecraftforge.fml.loading.moddiscovery.JarInJarDependencyLocator@5df778c3 [19:50:17] [main/INFO]: Found mod file yaclx-1.12+1.20.2-forge.jar of type MOD with provider net.minecraftforge.fml.loading.moddiscovery.JarInJarDependencyLocator@5df778c3 [19:50:17] [main/INFO]: Found mod file kfflang-4.10.0.jar of type LANGPROVIDER with provider net.minecraftforge.fml.loading.moddiscovery.JarInJarDependencyLocator@5df778c3 [19:50:17] [main/INFO]: Found mod file puzzlesaccessapi-forge-8.0.7.jar of type MOD with provider net.minecraftforge.fml.loading.moddiscovery.JarInJarDependencyLocator@5df778c3 [19:50:17] [main/INFO]: Found mod file MixinExtras-0.3.2.jar of type GAMELIBRARY with provider net.minecraftforge.fml.loading.moddiscovery.JarInJarDependencyLocator@5df778c3 [19:50:17] [main/INFO]: Found mod file kfflib-4.10.0.jar of type GAMELIBRARY with provider net.minecraftforge.fml.loading.moddiscovery.JarInJarDependencyLocator@5df778c3 [19:50:17] [main/INFO]: Found mod file diagonalblocks-forge-8.0.4.jar of type MOD with provider net.minecraftforge.fml.loading.moddiscovery.JarInJarDependencyLocator@5df778c3 [19:50:17] [main/INFO]: Found mod file japng-0.5.3.jar of type GAMELIBRARY with provider net.minecraftforge.fml.loading.moddiscovery.JarInJarDependencyLocator@5df778c3 [19:50:17] [main/ERROR]: Missing or unsupported mandatory dependencies:     Mod ID: 'watermedia', Requested by: 'waterframes', Expected range: '[1.3,1.4]', Actual version: '2.0.28'     Mod ID: 'citadel', Requested by: 'iceandfire', Expected range: '[2.4.1,2.5.99]', Actual version: '[MISSING]' [19:50:20] [main/INFO]: Compatibility level set to JAVA_17 [19:50:21] [main/ERROR]: Mixin config vc_gliders-common.mixins.json does not specify "minVersion" property [19:50:21] [main/ERROR]: Mixin config vc_gliders.mixins.json does not specify "minVersion" property [19:50:21] [main/ERROR]: Mixin config palladiumcore-common.mixins.json does not specify "minVersion" property [19:50:21] [main/ERROR]: Mixin config palladiumcore.mixins.json does not specify "minVersion" property [19:50:21] [main/ERROR]: Mixin config cannibal.mixin.json does not specify "minVersion" property [19:50:21] [main/INFO]: Successfully loaded Mixin Connector [com.sonicether.soundphysics.MixinConnector] [19:50:21] [main/INFO]: Successfully loaded Mixin Connector [de.maxhenkel.miningdimension.mixin.MixinConnector] [19:50:21] [main/INFO]: Launching target 'forgeclient' with arguments [--version, forge-47.2.0, --gameDir, C:\Users\Daniel\curseforge\minecraft\Instances\Single Player (1), --assetsDir, C:\Users\Daniel\curseforge\minecraft\Install\assets, --uuid, ba5d8ed702394fa9a945f5e5bc8731d2, --username, HH_Zere, --assetIndex, 5, --accessToken, ????????, --clientId, Yzk2MmQ2NjQtOGZhOS00YjRlLTllMDQtYmUxMmM1NmY3Mzcy, --xuid, 2535439086822918, --userType, msa, --versionType, release, --width, 1920, --height, 1080, --quickPlayPath, C:\Users\Daniel\curseforge\minecraft\Install\quickPlay\java\1709232612667.json] [19:50:21] [main/WARN]: Reference map 'createdeco-common-refmap.json' for createdeco-common.mixins.json could not be read. If this is a development environment you can ignore this message [19:50:21] [main/WARN]: Reference map 'createdeco-forge-refmap.json' for createdeco.mixins.json could not be read. If this is a development environment you can ignore this message [19:50:21] [main/INFO]: Loaded configuration file for Embeddium: 44 options available, 0 override(s) found [19:50:21] [main/INFO]: Searching for graphics cards... [19:50:21] [main/INFO]: Found graphics card: GraphicsAdapterInfo[vendor=NVIDIA, name=NVIDIA GeForce RTX 2080 Ti, version=DriverVersion=31.0.15.5161] [19:50:21] [main/WARN]: Sodium has applied one or more workarounds to prevent crashes or other issues on your system: [NVIDIA_THREADED_OPTIMIZATIONS] [19:50:21] [main/WARN]: This is not necessarily an issue, but it may result in certain features or optimizations being disabled. You can sometimes fix these issues by upgrading your graphics driver. [19:50:21] [main/WARN]: Reference map 'handcrafted-forge-1.20.1-forge-refmap.json' for handcrafted.mixins.json could not be read. If this is a development environment you can ignore this message [19:50:21] [main/WARN]: Reference map 'yungsextras.refmap.json' for yungsextras.mixins.json could not be read. If this is a development environment you can ignore this message [19:50:21] [main/WARN]: Reference map 'yungsextras.refmap.json' for yungsextras_forge.mixins.json could not be read. If this is a development environment you can ignore this message [19:50:21] [main/WARN]: Reference map 'EpheroLib-refmap.json' for epherolib.mixins.json could not be read. If this is a development environment you can ignore this message [19:50:21] [main/WARN]: Reference map 'tfmg.refmap.json' for design_decor.mixins.json could not be read. If this is a development environment you can ignore this message [19:50:21] [main/WARN]: Reference map 'vc_gliders-forge-refmap.json' for vc_gliders.mixins.json could not be read. If this is a development environment you can ignore this message [19:50:21] [main/INFO]: Loading 2 mods:     - forge 47.2.0     - minecraft 1.20.1 [19:50:21] [main/WARN]: Reference map 'ritchiesprojectilelib-forge-refmap.json' for ritchiesprojectilelib-forge.mixins.json could not be read. If this is a development environment you can ignore this message [19:50:21] [main/WARN]: Reference map 'create_mechanical_spawner.refmap.json' for create_mechanical_spawner.mixins.json could not be read. If this is a development environment you can ignore this message [19:50:21] [main/WARN]: Reference map 'apexcore.refmap.json' for apexcore.mixins.json could not be read. If this is a development environment you can ignore this message [19:50:22] [main/WARN]: Error loading class: net/raphimc/immediatelyfast/feature/map_atlas_generation/MapAtlasTexture (java.lang.ClassNotFoundException: net.raphimc.immediatelyfast.feature.map_atlas_generation.MapAtlasTexture) [19:50:22] [main/WARN]: Error loading class: net/optifine/shaders/Shaders (java.lang.ClassNotFoundException: net.optifine.shaders.Shaders) [19:50:22] [main/WARN]: Error loading class: net/optifine/shaders/ShadersCompatibility (java.lang.ClassNotFoundException: net.optifine.shaders.ShadersCompatibility) [19:50:22] [main/WARN]: Error loading class: net/optifine/shaders/Programs (java.lang.ClassNotFoundException: net.optifine.shaders.Programs) [19:50:22] [main/WARN]: Error loading class: org/valkyrienskies/core/impl/game/ships/ShipObjectClient (java.lang.ClassNotFoundException: org.valkyrienskies.core.impl.game.ships.ShipObjectClient) [19:50:22] [main/WARN]: Error loading class: net/optifine/util/BlockUtils (java.lang.ClassNotFoundException: net.optifine.util.BlockUtils) [19:50:22] [main/WARN]: Error loading class: ca/spottedleaf/starlight/common/light/StarLightEngine (java.lang.ClassNotFoundException: ca.spottedleaf.starlight.common.light.StarLightEngine) [19:50:22] [main/WARN]: Error loading class: link/infra/indium/renderer/render/TerrainRenderContext (java.lang.ClassNotFoundException: link.infra.indium.renderer.render.TerrainRenderContext) [19:50:22] [main/WARN]: Error loading class: net/optifine/shaders/ShadersRender (java.lang.ClassNotFoundException: net.optifine.shaders.ShadersRender) [19:50:22] [main/WARN]: @Mixin target net.optifine.shaders.ShadersRender was not found shouldersurfing.mixins.json:MixinShadersRender [19:50:22] [main/WARN]: Error loading class: me/cominixo/betterf3/modules/TargetModule (java.lang.ClassNotFoundException: me.cominixo.betterf3.modules.TargetModule) [19:50:22] [main/WARN]: @Mixin target me.cominixo.betterf3.modules.TargetModule was not found securitycraft.mixins.json:f3.BetterF3TargetModuleMixin [19:50:22] [main/WARN]: Error loading class: de/maxhenkel/voicechat/plugins/impl/audiochannel/EntityAudioChannelImpl (java.lang.ClassNotFoundException: de.maxhenkel.voicechat.plugins.impl.audiochannel.EntityAudioChannelImpl) [19:50:22] [main/WARN]: @Mixin target de.maxhenkel.voicechat.plugins.impl.audiochannel.EntityAudioChannelImpl was not found railways-common.mixins.json:compat.voicechat.EntityAudioChannelImplMixin [19:50:22] [main/WARN]: Error loading class: de/maxhenkel/voicechat/voice/server/Server (java.lang.ClassNotFoundException: de.maxhenkel.voicechat.voice.server.Server) [19:50:22] [main/WARN]: @Mixin target de.maxhenkel.voicechat.voice.server.Server was not found railways-common.mixins.json:compat.voicechat.ServerMixin [19:50:22] [main/WARN]: Error loading class: de/maxhenkel/voicechat/voice/server/ServerWorldUtils (java.lang.ClassNotFoundException: de.maxhenkel.voicechat.voice.server.ServerWorldUtils) [19:50:22] [main/WARN]: @Mixin target de.maxhenkel.voicechat.voice.server.ServerWorldUtils was not found railways-common.mixins.json:compat.voicechat.ServerWorldUtilsMixin [19:50:22] [main/WARN]: Error loading class: de/maxhenkel/voicechat/integration/freecam/FreecamUtil (java.lang.ClassNotFoundException: de.maxhenkel.voicechat.integration.freecam.FreecamUtil) [19:50:22] [main/WARN]: @Mixin target de.maxhenkel.voicechat.integration.freecam.FreecamUtil was not found railways-common.mixins.json:compat.voicechat.FreecamUtilMixin [19:50:22] [main/ERROR]: Could not find embeddium mod, there is likely a dependency error. Skipping mixin application. [19:50:23] [main/INFO]: Initializing MixinExtras via com.llamalad7.mixinextras.service.MixinExtrasServiceImpl(version=0.3.2). [19:50:23] [main/INFO]: Smooth Boot (Reloaded) config initialized [19:50:26] [pool-4-thread-1/WARN]: @Redirect conflict. Skipping securitycraft.mixins.json:camera.ServerPlayerMixin->@Redirect::securitycraft$tick(Lnet/minecraft/server/level/ServerPlayer;DDDFF)V with priority 1100, already redirected by railways-common.mixins.json:conductor_possession.ServerPlayerMixin->@Redirect::snr$securitycraft$tick(Lnet/minecraft/server/level/ServerPlayer;DDDFF)V with priority 1200
  • Topics

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.