Jump to content

Recommended Posts

Posted

Hey all,

 

I am working on implementing a custom model for a block using an .obj file. The OBJLoader.addDomain(domain) method has been removed since I last did this, and I cannot find anywhere what to do now. Does anyone know how to load obj model for blocks in the latest version?

Posted

Ok so I have made some progress. I got the model loading now. But the model renders all in white. I am unconvinced it is the texture file. No errors are thrown and if I move my texture the model doesn't load. Anyone else had a similar issue in the past?

Posted

After reading the code, I eventually reversed engineered this and got it to work. I will post how to do it soon so anyone else struggling at least has something to reference. better than naught

Posted (edited)

The forge read the docs wiki is a little out of date. It is a lot easier now. I learnt how to do this from reverse engineering minecraft's and forge's code.

 

I use blender to create my model. A fantastic tutorial on how to create pixel art based models in blender can be found here: 

 

 

To export: go to File>Export->Wavefront (.obj)

 

1.png.81bda88e1758f50e167780dfd044cf96.png

 

Your settings should reflect this. This will convert the Blender coordinate system into Minecraft's.

2.png.827603fe861479b761a53e92eaab2cce.png

 

When you export your model you will get two files, an obj and a mtl. e.g. block_name.obj and block_name.mtl. The obj file describes the shape of the model while mtl file  describes how it looks. Keep both files next to each other. Go into your mod resource directory and place these two files where you want them, e.g. assets/modid/models/block/path

 

Within block_name.obj, make sure the mtllib points to the mtl file. Remember, your obj and mtl file should be next to each other. It should read:

mtllib block_name.mtl

Still within block_name.obj, make sure the correct material library is being loaded (Ill show you where this is declared in a sec.) (Just scroll down until you find the line, don't write your own)

usemtl block_name_mat

Your block_name.mtl file should look like something like this when you export it. If it doesn't have all of these lines, don't worry, Minecraft doesn't care too much about these numbers.

# Blender MTL File: 'bloomery.blend'
# Material Count: 1

newmtl block_name_mat
Ns 323.999994
Ka 1.000000 1.000000 1.000000
Kd 0.800000 0.800000 0.800000
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.000000
d 1.000000
illum 2

Pretty much everything here can stay as is. "newmtl" is where we declare the material the obj loads with "usemtl". Make sure these match.

Next we need to let Minecraft know where to find out texture. Still within block_name.mtl add a map_Kd line below newmtl. If you forget this line, Forge will still load your model, but it will be all white.

newmtl block_name_mat
map_Kd modid:block/path/block_name
Ns 323.999994
Ka 1.000000 1.000000 1.000000
Kd 0.800000 0.800000 0.800000
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.000000
d 1.000000
illum 2

 

Place your texture within assets/modid/textures/block/path. The map_Kd should point to this location.

 

Next, create a blockstate file for your block as normal. [block_name.json]. This will load a json model file. This has to be next to your obj and mtl files.

{
    "variants": {
        "": { "model": "modid:block/path/block_name" }
    }
}

 

Block Model [block_name.json]

{
	"loader": "forge:obj",
	"model": "modid:models/block/path/block_name.obj",
	"flip-v": true
}

Enabling flip-v will depend your model file. This just flips the way the texture is applied. If your texture looks upside down, change this to false.

 

Your assets folder structure should look like this now:

assets/modid/
	blockstates/
		block_name.json
	models/block/path/
		block_name.json
		block_name.obj
		block_name.mtl
	textures/block/path/
		block_name.png

 

Edited by ZephyrWolf_
  • Thanks 5
  • 2 months later...
  • 1 year later...
  • Guest locked this topic
Guest
This topic is now closed to further replies.

Announcements



  • Recently Browsing

    • No registered users viewing this page.
  • Posts

    • So the Ender Dragon in one of my mods is just... not perching, even after the 30 second perch forcing. Is this a bug, or am i doing something wrong? (I also have Ender Catyclysm and YUNG's Better End installed, as well as Epic Fight and other mods)
    • Hi, everyone and thanks for your attention. My problem is that when I log in to my server it restarts, and in the console this comes out: [19:56:04] [Server thread/WARN] [minecraft/MinecraftServer]: Can't keep up! Is the server overloaded? Running 4836ms or 96 ticks behind [19:56:07] [Server thread/ERROR] [ne.mi.fm.lo.RuntimeDistCleaner/DISTXFORM]: Attempted to load class net/minecraft/client/Minecraft for invalid dist DEDICATED_SERVER [19:56:07] [Server thread/ERROR] [ne.mi.ev.EventBus/EVENTBUS]: Exception caught during firing event: Attempted to load class net/minecraft/client/Minecraft for invalid dist DEDICATED_SERVER         Index: 2         Listeners:                 0: HIGHEST                 1: net.minecraftforge.eventbus.EventBus$$Lambda/0x00007f2eccafd700@7ed6262e                 2: ASM: com.dplayend.justleveling.registry.RegistryCommonEvents@24a273e7 onAttackEntity(Lnet/minecraftforge/event/entity/living/LivingHurtEvent;)V                 3: HIGH                 4: ASM: dev.shadowsoffire.attributeslib.impl.AttributeEvents@59a96f29 apothCriticalStrike(Lnet/minecraftforge/event/entity/living/LivingHurtEvent;)V                 5: NORMAL                 6: ASM: com.bobmowzie.mowziesmobs.server.ServerEventHandler@31d74a8d onLivingHurt(Lnet/minecraftforge/event/entity/living/LivingHurtEvent;)V                 7: ASM: com.bobmowzie.mowziesmobs.server.ability.AbilityCommonEventHandler@18ccbfc8 onTakeDamage(Lnet/minecraftforge/event/entity/living/LivingHurtEvent;)V                 8: ASM: class com.aetherteam.aether.event.listeners.abilities.WeaponAbilityListener onDartHurt(Lnet/minecraftforge/event/entity/living/LivingHurtEvent;)V                 9: ASM: class net.mcreator.callofyucutan.procedures.EntityIsHurtProcedure onEntityAttacked(Lnet/minecraftforge/event/entity/living/LivingHurtEvent;)V                 10: ASM: class io.github.edwinmindcraft.apoli.common.ApoliPowerEventHandler onLivingHurt(Lnet/minecraftforge/event/entity/living/LivingHurtEvent;)V                 11: ASM: class net.mcreator.sonsofsins.procedures.InstinctHurtProcedure onEntityAttacked(Lnet/minecraftforge/event/entity/living/LivingHurtEvent;)V                 12: ASM: class net.mcreator.sonsofsins.procedures.DamagesHurtProcedure onEntityAttacked(Lnet/minecraftforge/event/entity/living/LivingHurtEvent;)V                 13: ASM: class net.mcreator.sonsofsins.procedures.DamageCancelPuppetProcedure onEntityAttacked(Lnet/minecraftforge/event/entity/living/LivingHurtEvent;)V                 14: ASM: class vectorwing.farmersdelight.common.item.enchantment.BackstabbingEnchantment$BackstabbingEvent onKnifeBackstab(Lnet/minecraftforge/event/entity/living/LivingHurtEvent;)V                 15: ASM: com.github.L_Ender.cataclysm.event.ServerEventHandler@7e9c5157 onLivingDamage(Lnet/minecraftforge/event/entity/living/LivingHurtEvent;)V                 16: ASM: class twilightforest.events.ToolEvents onKnightmetalToolDamage(Lnet/minecraftforge/event/entity/living/LivingHurtEvent;)V                 17: ASM: class twilightforest.events.ToolEvents onMinotaurAxeCharge(Lnet/minecraftforge/event/entity/living/LivingHurtEvent;)V                 18: ASM: class twilightforest.events.EntityEvents entityHurts(Lnet/minecraftforge/event/entity/living/LivingHurtEvent;)V                 19: ASM: class twilightforest.events.EntityEvents onLivingHurtEvent(Lnet/minecraftforge/event/entity/living/LivingHurtEvent;)V                 20: ASM: class net.alshanex.originsoverhaulmod.event.ModEvents$ForgeEvents onLivingHurt(Lnet/minecraftforge/event/entity/living/LivingHurtEvent;)V                 21: ASM: class io.redspace.ironsspellbooks.effect.EchoingStrikesEffect createEcho(Lnet/minecraftforge/event/entity/living/LivingHurtEvent;)V                 22: ASM: class com.oblivioussp.spartanweaponry.event.CommonEventHandler onLivingHurt(Lnet/minecraftforge/event/entity/living/LivingHurtEvent;)V                 23: ASM: class net.arphex.procedures.SpiderShieldProcedure onEntityAttacked(Lnet/minecraftforge/event/entity/living/LivingHurtEvent;)V                 24: net.minecraftforge.eventbus.EventBus$$Lambda/0x00007f2eccafd700@14152969                 25: net.minecraftforge.eventbus.EventBus$$Lambda/0x00007f2eccafd700@4f50bf14                 26: ASM: class net.BKTeam.illagerrevolutionmod.Events hurtEntity(Lnet/minecraftforge/event/entity/living/LivingHurtEvent;)V                 27: ASM: com.github.alexthe666.iceandfire.event.ServerEvents@74f2d766 onEntityDamage(Lnet/minecraftforge/event/entity/living/LivingHurtEvent;)V                 28: LOWEST                 29: ASM: class io.github.edwinmindcraft.apoli.common.ApoliPowerEventHandler livingDamage(Lnet/minecraftforge/event/entity/living/LivingHurtEvent;)V                 30: ASM: class net.merchantpug.apugli.ApugliForgeEventHandler onLivingHurt(Lnet/minecraftforge/event/entity/living/LivingHurtEvent;)V                 31: ASM: dev.shadowsoffire.attributeslib.impl.AttributeEvents@59a96f29 lifeStealOverheal(Lnet/minecraftforge/event/entity/living/LivingHurtEvent;)V java.lang.RuntimeException: Attempted to load class net/minecraft/client/Minecraft for invalid dist DEDICATED_SERVER         at MC-BOOTSTRAP/fmlloader@1.20.1-47.4.0/net.minecraftforge.fml.loading.RuntimeDistCleaner.processClassWithFlags(RuntimeDistCleaner.java:57)         at MC-BOOTSTRAP/cpw.mods.modlauncher@10.0.9/cpw.mods.modlauncher.LaunchPluginHandler.offerClassNodeToPlugins(LaunchPluginHandler.java:88)         at MC-BOOTSTRAP/cpw.mods.modlauncher@10.0.9/cpw.mods.modlauncher.ClassTransformer.transform(ClassTransformer.java:120)         at MC-BOOTSTRAP/cpw.mods.modlauncher@10.0.9/cpw.mods.modlauncher.TransformingClassLoader.maybeTransformClassBytes(TransformingClassLoader.java:50)         at cpw.mods.securejarhandler/cpw.mods.cl.ModuleClassLoader.readerToClass(ModuleClassLoader.java:113)         at cpw.mods.securejarhandler/cpw.mods.cl.ModuleClassLoader.lambda$findClass$15(ModuleClassLoader.java:219)         at cpw.mods.securejarhandler/cpw.mods.cl.ModuleClassLoader.loadFromModule(ModuleClassLoader.java:229)         at cpw.mods.securejarhandler/cpw.mods.cl.ModuleClassLoader.findClass(ModuleClassLoader.java:219)         at cpw.mods.securejarhandler/cpw.mods.cl.ModuleClassLoader.loadClass(ModuleClassLoader.java:135)         at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:526)         at TRANSFORMER/forge@47.4.0/net.minecraftforge.network.simple.SimpleChannel.sendToServer(SimpleChannel.java:87)         at TRANSFORMER/justleveling@1.7/com.dplayend.justleveling.network.ServerNetworking.sendToServer(ServerNetworking.java:36)         at TRANSFORMER/justleveling@1.7/com.dplayend.justleveling.network.packet.common.CounterAttackSP.send(CounterAttackSP.java:51)         at TRANSFORMER/justleveling@1.7/com.dplayend.justleveling.registry.RegistryCommonEvents.lambda$onAttackEntity$8(RegistryCommonEvents.java:315)         at TRANSFORMER/forge@47.4.0/net.minecraftforge.common.util.LazyOptional.ifPresent(LazyOptional.java:137)         at TRANSFORMER/justleveling@1.7/com.dplayend.justleveling.registry.RegistryCommonEvents.onAttackEntity(RegistryCommonEvents.java:315)         at TRANSFORMER/justleveling@1.7/com.dplayend.justleveling.registry.__RegistryCommonEvents_onAttackEntity_LivingHurtEvent.invoke(.dynamic)         at MC-BOOTSTRAP/net.minecraftforge.eventbus/net.minecraftforge.eventbus.ASMEventHandler.invoke(ASMEventHandler.java:73)         at MC-BOOTSTRAP/net.minecraftforge.eventbus/net.minecraftforge.eventbus.EventBus.post(EventBus.java:315)         at MC-BOOTSTRAP/net.minecraftforge.eventbus/net.minecraftforge.eventbus.EventBus.post(EventBus.java:296)         at TRANSFORMER/forge@47.4.0/net.minecraftforge.common.ForgeHooks.onLivingHurt(ForgeHooks.java:292)         at TRANSFORMER/minecraft@1.20.1/net.minecraft.world.entity.player.Player.m_6475_(Player.java:909)         at TRANSFORMER/minecraft@1.20.1/net.minecraft.world.entity.LivingEntity.m_6469_(LivingEntity.java:1112)         at TRANSFORMER/minecraft@1.20.1/net.minecraft.world.entity.player.Player.m_6469_(Player.java:840)         at TRANSFORMER/minecraft@1.20.1/net.minecraft.server.level.ServerPlayer.m_6469_(ServerPlayer.java:695)         at TRANSFORMER/minecraft@1.20.1/net.minecraft.world.entity.ai.behavior.warden.SonicBoom.m_217701_(SonicBoom.java:87)         at java.base/java.util.Optional.ifPresent(Optional.java:178)         at TRANSFORMER/minecraft@1.20.1/net.minecraft.world.entity.ai.behavior.warden.SonicBoom.m_6725_(SonicBoom.java:74)         at TRANSFORMER/minecraft@1.20.1/net.minecraft.world.entity.ai.behavior.warden.SonicBoom.m_6725_(SonicBoom.java:19)         at TRANSFORMER/minecraft@1.20.1/net.minecraft.world.entity.ai.behavior.Behavior.m_22558_(Behavior.java:66)         at TRANSFORMER/minecraft@1.20.1/net.minecraft.world.entity.ai.Brain.m_21963_(Brain.java:445)         at TRANSFORMER/minecraft@1.20.1/net.minecraft.world.entity.ai.Brain.m_21865_(Brain.java:390)         at TRANSFORMER/minecraft@1.20.1/net.minecraft.world.entity.monster.warden.Warden.m_8024_(Warden.java:311)         at TRANSFORMER/minecraft@1.20.1/net.minecraft.world.entity.Mob.m_6140_(Mob.java:768)         at TRANSFORMER/minecraft@1.20.1/net.minecraft.world.entity.LivingEntity.m_8107_(LivingEntity.java:2548)         at TRANSFORMER/minecraft@1.20.1/net.minecraft.world.entity.Mob.m_8107_(Mob.java:536)         at TRANSFORMER/minecraft@1.20.1/net.minecraft.world.entity.monster.Monster.m_8107_(Monster.java:42)         at TRANSFORMER/minecraft@1.20.1/net.minecraft.world.entity.LivingEntity.m_8119_(LivingEntity.java:2298)         at TRANSFORMER/minecraft@1.20.1/net.minecraft.world.entity.Mob.m_8119_(Mob.java:337)         at TRANSFORMER/minecraft@1.20.1/net.minecraft.world.entity.monster.warden.Warden.m_8119_(Warden.java:278)         at TRANSFORMER/minecraft@1.20.1/net.minecraft.server.level.ServerLevel.m_8647_(ServerLevel.java:694)         at TRANSFORMER/minecraft@1.20.1/net.minecraft.world.level.Level.m_46653_(Level.java:479)         at TRANSFORMER/minecraft@1.20.1/net.minecraft.server.level.ServerLevel.m_184063_(ServerLevel.java:343)         at TRANSFORMER/minecraft@1.20.1/net.minecraft.world.level.entity.EntityTickList.m_156910_(EntityTickList.java:54)         at TRANSFORMER/minecraft@1.20.1/net.minecraft.server.level.ServerLevel.m_8793_(ServerLevel.java:323)         at TRANSFORMER/minecraft@1.20.1/net.minecraft.server.MinecraftServer.m_5703_(MinecraftServer.java:893)         at TRANSFORMER/minecraft@1.20.1/net.minecraft.server.dedicated.DedicatedServer.m_5703_(DedicatedServer.java:283)         at TRANSFORMER/minecraft@1.20.1/net.minecraft.server.MinecraftServer.m_5705_(MinecraftServer.java:814)         at TRANSFORMER/minecraft@1.20.1/net.minecraft.server.MinecraftServer.m_130011_(MinecraftServer.java:661)         at TRANSFORMER/minecraft@1.20.1/net.minecraft.server.MinecraftServer.m_206580_(MinecraftServer.java:251)         at java.base/java.lang.Thread.run(Thread.java:1583) [19:56:07] [Server thread/ERROR] [minecraft/MinecraftServer]: Encountered an unexpected exception net.minecraft.ReportedException: Ticking entity         at net.minecraft.server.MinecraftServer.m_5703_(MinecraftServer.java:897) ~[server-1.20.1-20230612.114412-srg.jar%23235!/:?] {re:mixin,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B,pl:mixin:A}         at net.minecraft.server.dedicated.DedicatedServer.m_5703_(DedicatedServer.java:283) ~[server-1.20.1-20230612.114412-srg.jar%23235!/:?] {re:mixin,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B,pl:mixin:APP:lionfishapi.mixins.json:DedicatedServerMixin,pl:mixin:A}         at net.minecraft.server.MinecraftServer.m_5705_(MinecraftServer.java:814) ~[server-1.20.1-20230612.114412-srg.jar%23235!/:?] {re:mixin,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B,pl:mixin:A}         at net.minecraft.server.MinecraftServer.m_130011_(MinecraftServer.java:661) ~[server-1.20.1-20230612.114412-srg.jar%23235!/:?] {re:mixin,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B,pl:mixin:A}         at net.minecraft.server.MinecraftServer.m_206580_(MinecraftServer.java:251) ~[server-1.20.1-20230612.114412-srg.jar%23235!/:?] {re:mixin,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B,pl:mixin:A}         at java.lang.Thread.run(Thread.java:1583) ~[?:?] {} Caused by: java.lang.RuntimeException: Attempted to load class net/minecraft/client/Minecraft for invalid dist DEDICATED_SERVER         at net.minecraftforge.fml.loading.RuntimeDistCleaner.processClassWithFlags(RuntimeDistCleaner.java:57) ~[fmlloader-1.20.1-47.4.0.jar%2369!/:1.0] {}         at cpw.mods.modlauncher.LaunchPluginHandler.offerClassNodeToPlugins(LaunchPluginHandler.java:88) ~[modlauncher-10.0.9.jar%2355!/:?] {}         at cpw.mods.modlauncher.ClassTransformer.transform(ClassTransformer.java:120) ~[modlauncher-10.0.9.jar%2355!/:?] {}         at cpw.mods.modlauncher.TransformingClassLoader.maybeTransformClassBytes(TransformingClassLoader.java:50) ~[modlauncher-10.0.9.jar%2355!/:?] {}         at cpw.mods.cl.ModuleClassLoader.readerToClass(ModuleClassLoader.java:113) ~[securejarhandler-2.1.10.jar:?] {}         at cpw.mods.cl.ModuleClassLoader.lambda$findClass$15(ModuleClassLoader.java:219) ~[securejarhandler-2.1.10.jar:?] {}         at cpw.mods.cl.ModuleClassLoader.loadFromModule(ModuleClassLoader.java:229) ~[securejarhandler-2.1.10.jar:?] {}         at cpw.mods.cl.ModuleClassLoader.findClass(ModuleClassLoader.java:219) ~[securejarhandler-2.1.10.jar:?] {}         at cpw.mods.cl.ModuleClassLoader.loadClass(ModuleClassLoader.java:135) ~[securejarhandler-2.1.10.jar:?] {}         at java.lang.ClassLoader.loadClass(ClassLoader.java:526) ~[?:?] {}         at net.minecraftforge.network.simple.SimpleChannel.sendToServer(SimpleChannel.java:87) ~[forge-1.20.1-47.4.0-universal.jar%23240!/:?] {re:mixin,re:classloading}         at com.dplayend.justleveling.network.ServerNetworking.sendToServer(ServerNetworking.java:36) ~[justleveling-forge-1.20.x-v1.7.jar%23203!/:forge-1.20.x-v1.7] {re:classloading}         at com.dplayend.justleveling.network.packet.common.CounterAttackSP.send(CounterAttackSP.java:51) ~[justleveling-forge-1.20.x-v1.7.jar%23203!/:forge-1.20.x-v1.7] {re:classloading}         at com.dplayend.justleveling.registry.RegistryCommonEvents.lambda$onAttackEntity$8(RegistryCommonEvents.java:315) ~[justleveling-forge-1.20.x-v1.7.jar%23203!/:forge-1.20.x-v1.7] {re:classloading}         at net.minecraftforge.common.util.LazyOptional.ifPresent(LazyOptional.java:137) ~[forge-1.20.1-47.4.0-universal.jar%23240!/:?] {re:mixin,re:classloading}         at com.dplayend.justleveling.registry.RegistryCommonEvents.onAttackEntity(RegistryCommonEvents.java:315) ~[justleveling-forge-1.20.x-v1.7.jar%23203!/:forge-1.20.x-v1.7] {re:classloading}         at com.dplayend.justleveling.registry.__RegistryCommonEvents_onAttackEntity_LivingHurtEvent.invoke(.dynamic) ~[justleveling-forge-1.20.x-v1.7.jar%23203!/:forge-1.20.x-v1.7] {re:classloading,pl:eventbus:B}         at net.minecraftforge.eventbus.ASMEventHandler.invoke(ASMEventHandler.java:73) ~[eventbus-6.0.5.jar%2352!/:?] {}         at net.minecraftforge.eventbus.EventBus.post(EventBus.java:315) ~[eventbus-6.0.5.jar%2352!/:?] {}         at net.minecraftforge.eventbus.EventBus.post(EventBus.java:296) ~[eventbus-6.0.5.jar%2352!/:?] {}         at net.minecraftforge.common.ForgeHooks.onLivingHurt(ForgeHooks.java:292) ~[forge-1.20.1-47.4.0-universal.jar%23240!/:?] {re:mixin,re:classloading,pl:mixin:APP:revive_me.mixins.json:ForgeHooksMixin,pl:mixin:APP:apoli.mixins.json:forge.ForgeHooksMixin,pl:mixin:A}         at net.minecraft.world.entity.player.Player.m_6475_(Player.java:909) ~[server-1.20.1-20230612.114412-srg.jar%23235!/:?] {re:mixin,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B,pl:mixin:APP:pehkui.mixins.json:reach.PlayerEntityMixin,pl:mixin:APP:additionalentityattributes.mixins.json:common.DigSpeedMixin,pl:mixin:APP:additionalentityattributes.mixins.json:common.PlayerEntityMixin,pl:mixin:APP:aether.mixins.json:common.PlayerMixin,pl:mixin:APP:aether.mixins.json:common.accessor.PlayerAccessor,pl:mixin:APP:pehkui.mixins.json:PlayerEntityMixin,pl:mixin:APP:pehkui.mixins.json:compat117plus.PlayerEntityMixin,pl:mixin:APP:pehkui.mixins.json:compat1194plus.PlayerEntityMixin,pl:mixin:APP:pehkui.mixins.json:compat1201minus.EntityVehicleHeightOffsetMixin,pl:mixin:APP:pehkui.mixins.json:compat1204minus.PlayerEntityMixin,pl:mixin:APP:apoli.mixins.json:PlayerEntityMixin,pl:mixin:APP:apoli.mixins.json:forge.PlayerMixin,pl:mixin:APP:carryon.mixins.json:PlayerMixin,pl:mixin:APP:paraglider.mixins.json:MixinPlayer,pl:mixin:APP:friendsandfoes-common.mixins.json:PlayerEntityMixin,pl:mixin:APP:bettercombat.mixins.json:PlayerEntityAccessor,pl:mixin:APP:bettercombat.mixins.json:PlayerEntityMixin,pl:mixin:APP:justleveling.mixins.json:MixPlayer,pl:mixin:APP:origins.mixins.json:NoCobwebSlowdownMixin,pl:mixin:APP:origins.mixins.json:WaterBreathingMixin$UpdateAir,pl:mixin:APP:apugli.mixins.json:common.PlayerEntityMixin,pl:mixin:APP:origins_classes.mixins.json:common.minecraft.PlayerMixin,pl:mixin:APP:parcool.mixins.json:common.PlayerMixin,pl:mixin:APP:mixins.irons_spellbooks.json:PlayerMixin,pl:mixin:APP:attributeslib.mixins.json:PlayerMixin,pl:mixin:APP:spartanweaponry.mixins.json:PlayerMixin,pl:mixin:APP:medievalorigins.forge.mixins.json:compat.iceandfire.PlayerMixin,pl:mixin:A}         at net.minecraft.world.entity.LivingEntity.m_6469_(LivingEntity.java:1112) ~[server-1.20.1-20230612.114412-srg.jar%23235!/:?] {re:computing_frames,pl:accesstransformer:B,re:mixin,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B,pl:mixin:APP:additionalentityattributes.mixins.json:common.LivingEntityMixin,pl:mixin:APP:aether.mixins.json:common.LivingEntityMixin,pl:mixin:APP:aether.mixins.json:common.accessor.LivingEntityAccessor,pl:mixin:APP:pehkui.mixins.json:LivingEntityMixin,pl:mixin:APP:pehkui.mixins.json:compat117plus.LivingEntityMixin,pl:mixin:APP:pehkui.mixins.json:compat1194plus.LivingEntityMixin,pl:mixin:APP:pehkui.mixins.json:compat1204minus.LivingEntityMixin,pl:mixin:APP:caelus.mixins.json:MixinLivingEntity,pl:mixin:APP:apoli.mixins.json:LivingEntityMixin,pl:mixin:APP:citadel.mixins.json:LivingEntityMixin,pl:mixin:APP:mixins.bosses_of_mass_destruction.json:LivingEntityMixin,pl:mixin:APP:friendsandfoes-common.mixins.json:BlazeLivingEntityMixin,pl:mixin:APP:friendsandfoes-common.mixins.json:LivingEntityMixin,pl:mixin:APP:bettercombat.mixins.json:LivingEntityAccessor,pl:mixin:APP:bettercombat.mixins.json:LivingEntityMixin,pl:mixin:APP:justleveling.mixins.json:MixLivingEntity,pl:mixin:APP:cataclysm.mixins.json:LivingEntityMixin,pl:mixin:APP:curios.mixins.json:MixinLivingEntity,pl:mixin:APP:origins.mixins.json:LikeWaterMixin,pl:mixin:APP:origins.mixins.json:WaterBreathingMixin$CanBreatheInWater,pl:mixin:APP:apugli.mixins.json:common.LivingEntityMixin,pl:mixin:APP:apugli.mixins.json:common.accessor.LivingEntityAccessor,pl:mixin:APP:apugli.forge.mixins.json:common.LivingEntityMixin,pl:mixin:APP:origins_classes.mixins.json:accessor.minecraft.LivingEntityAccessor,pl:mixin:APP:parcool.mixins.json:common.LivingEntityMixin,pl:mixin:APP:mixins.irons_spellbooks.json:LivingEntityMixin,pl:mixin:APP:attributeslib.mixins.json:LivingEntityMixin,pl:mixin:APP:spartanweaponry.mixins.json:LivingEntityMixin,pl:mixin:APP:pehkui.mixins.json:compat115plus.LivingEntityMixin,pl:mixin:APP:obscure_api.mixins.json:LivingEntityMixin,pl:mixin:A}         at net.minecraft.world.entity.player.Player.m_6469_(Player.java:840) ~[server-1.20.1-20230612.114412-srg.jar%23235!/:?] {re:mixin,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B,pl:mixin:APP:pehkui.mixins.json:reach.PlayerEntityMixin,pl:mixin:APP:additionalentityattributes.mixins.json:common.DigSpeedMixin,pl:mixin:APP:additionalentityattributes.mixins.json:common.PlayerEntityMixin,pl:mixin:APP:aether.mixins.json:common.PlayerMixin,pl:mixin:APP:aether.mixins.json:common.accessor.PlayerAccessor,pl:mixin:APP:pehkui.mixins.json:PlayerEntityMixin,pl:mixin:APP:pehkui.mixins.json:compat117plus.PlayerEntityMixin,pl:mixin:APP:pehkui.mixins.json:compat1194plus.PlayerEntityMixin,pl:mixin:APP:pehkui.mixins.json:compat1201minus.EntityVehicleHeightOffsetMixin,pl:mixin:APP:pehkui.mixins.json:compat1204minus.PlayerEntityMixin,pl:mixin:APP:apoli.mixins.json:PlayerEntityMixin,pl:mixin:APP:apoli.mixins.json:forge.PlayerMixin,pl:mixin:APP:carryon.mixins.json:PlayerMixin,pl:mixin:APP:paraglider.mixins.json:MixinPlayer,pl:mixin:APP:friendsandfoes-common.mixins.json:PlayerEntityMixin,pl:mixin:APP:bettercombat.mixins.json:PlayerEntityAccessor,pl:mixin:APP:bettercombat.mixins.json:PlayerEntityMixin,pl:mixin:APP:justleveling.mixins.json:MixPlayer,pl:mixin:APP:origins.mixins.json:NoCobwebSlowdownMixin,pl:mixin:APP:origins.mixins.json:WaterBreathingMixin$UpdateAir,pl:mixin:APP:apugli.mixins.json:common.PlayerEntityMixin,pl:mixin:APP:origins_classes.mixins.json:common.minecraft.PlayerMixin,pl:mixin:APP:parcool.mixins.json:common.PlayerMixin,pl:mixin:APP:mixins.irons_spellbooks.json:PlayerMixin,pl:mixin:APP:attributeslib.mixins.json:PlayerMixin,pl:mixin:APP:spartanweaponry.mixins.json:PlayerMixin,pl:mixin:APP:medievalorigins.forge.mixins.json:compat.iceandfire.PlayerMixin,pl:mixin:A}         at net.minecraft.server.level.ServerPlayer.m_6469_(ServerPlayer.java:695) ~[server-1.20.1-20230612.114412-srg.jar%23235!/:?] {re:mixin,pl:accesstransformer:B,re:computing_frames,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B,pl:mixin:APP:revive_me.mixins.json:ServerPlayerMixin,pl:mixin:APP:pehkui.mixins.json:ServerPlayerEntityMixin,pl:mixin:APP:moonlight-common.mixins.json:ServerPlayerMixin,pl:mixin:APP:apugli.mixins.json:common.accessor.ServerPlayerEntityAccessor,pl:mixin:APP:illagerrevolution.mixins.json:ServerPlayerMixins,pl:mixin:A}         at net.minecraft.world.entity.ai.behavior.warden.SonicBoom.m_217701_(SonicBoom.java:87) ~[server-1.20.1-20230612.114412-srg.jar%23235!/:?] {re:classloading}         at java.util.Optional.ifPresent(Optional.java:178) ~[?:?] {re:mixin}         at net.minecraft.world.entity.ai.behavior.warden.SonicBoom.m_6725_(SonicBoom.java:74) ~[server-1.20.1-20230612.114412-srg.jar%23235!/:?] {re:classloading}         at net.minecraft.world.entity.ai.behavior.warden.SonicBoom.m_6725_(SonicBoom.java:19) ~[server-1.20.1-20230612.114412-srg.jar%23235!/:?] {re:classloading}         at net.minecraft.world.entity.ai.behavior.Behavior.m_22558_(Behavior.java:66) ~[server-1.20.1-20230612.114412-srg.jar%23235!/:?] {re:mixin,re:classloading}         at net.minecraft.world.entity.ai.Brain.m_21963_(Brain.java:445) ~[server-1.20.1-20230612.114412-srg.jar%23235!/:?] {re:mixin,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B,pl:mixin:A}         at net.minecraft.world.entity.ai.Brain.m_21865_(Brain.java:390) ~[server-1.20.1-20230612.114412-srg.jar%23235!/:?] {re:mixin,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B,pl:mixin:A}         at net.minecraft.world.entity.monster.warden.Warden.m_8024_(Warden.java:311) ~[server-1.20.1-20230612.114412-srg.jar%23235!/:?] {re:classloading}         at net.minecraft.world.entity.Mob.m_6140_(Mob.java:768) ~[server-1.20.1-20230612.114412-srg.jar%23235!/:?] {re:mixin,pl:accesstransformer:B,re:computing_frames,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B,pl:mixin:APP:aether.mixins.json:common.MobMixin,pl:mixin:APP:naturalist-common.mixins.json:MobMixin,pl:mixin:APP:pehkui.mixins.json:MobEntityMixin,pl:mixin:APP:moonlight-common.mixins.json:EntityMixin,pl:mixin:APP:spartanweaponry.mixins.json:MobMixin,pl:mixin:APP:pehkui.mixins.json:compat116plus.MobEntityMixin,pl:mixin:A}         at net.minecraft.world.entity.LivingEntity.m_8107_(LivingEntity.java:2548) ~[server-1.20.1-20230612.114412-srg.jar%23235!/:?] {re:computing_frames,pl:accesstransformer:B,re:mixin,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B,pl:mixin:APP:additionalentityattributes.mixins.json:common.LivingEntityMixin,pl:mixin:APP:aether.mixins.json:common.LivingEntityMixin,pl:mixin:APP:aether.mixins.json:common.accessor.LivingEntityAccessor,pl:mixin:APP:pehkui.mixins.json:LivingEntityMixin,pl:mixin:APP:pehkui.mixins.json:compat117plus.LivingEntityMixin,pl:mixin:APP:pehkui.mixins.json:compat1194plus.LivingEntityMixin,pl:mixin:APP:pehkui.mixins.json:compat1204minus.LivingEntityMixin,pl:mixin:APP:caelus.mixins.json:MixinLivingEntity,pl:mixin:APP:apoli.mixins.json:LivingEntityMixin,pl:mixin:APP:citadel.mixins.json:LivingEntityMixin,pl:mixin:APP:mixins.bosses_of_mass_destruction.json:LivingEntityMixin,pl:mixin:APP:friendsandfoes-common.mixins.json:BlazeLivingEntityMixin,pl:mixin:APP:friendsandfoes-common.mixins.json:LivingEntityMixin,pl:mixin:APP:bettercombat.mixins.json:LivingEntityAccessor,pl:mixin:APP:bettercombat.mixins.json:LivingEntityMixin,pl:mixin:APP:justleveling.mixins.json:MixLivingEntity,pl:mixin:APP:cataclysm.mixins.json:LivingEntityMixin,pl:mixin:APP:curios.mixins.json:MixinLivingEntity,pl:mixin:APP:origins.mixins.json:LikeWaterMixin,pl:mixin:APP:origins.mixins.json:WaterBreathingMixin$CanBreatheInWater,pl:mixin:APP:apugli.mixins.json:common.LivingEntityMixin,pl:mixin:APP:apugli.mixins.json:common.accessor.LivingEntityAccessor,pl:mixin:APP:apugli.forge.mixins.json:common.LivingEntityMixin,pl:mixin:APP:origins_classes.mixins.json:accessor.minecraft.LivingEntityAccessor,pl:mixin:APP:parcool.mixins.json:common.LivingEntityMixin,pl:mixin:APP:mixins.irons_spellbooks.json:LivingEntityMixin,pl:mixin:APP:attributeslib.mixins.json:LivingEntityMixin,pl:mixin:APP:spartanweaponry.mixins.json:LivingEntityMixin,pl:mixin:APP:pehkui.mixins.json:compat115plus.LivingEntityMixin,pl:mixin:APP:obscure_api.mixins.json:LivingEntityMixin,pl:mixin:A}         at net.minecraft.world.entity.Mob.m_8107_(Mob.java:536) ~[server-1.20.1-20230612.114412-srg.jar%23235!/:?] {re:mixin,pl:accesstransformer:B,re:computing_frames,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B,pl:mixin:APP:aether.mixins.json:common.MobMixin,pl:mixin:APP:naturalist-common.mixins.json:MobMixin,pl:mixin:APP:pehkui.mixins.json:MobEntityMixin,pl:mixin:APP:moonlight-common.mixins.json:EntityMixin,pl:mixin:APP:spartanweaponry.mixins.json:MobMixin,pl:mixin:APP:pehkui.mixins.json:compat116plus.MobEntityMixin,pl:mixin:A}         at net.minecraft.world.entity.monster.Monster.m_8107_(Monster.java:42) ~[server-1.20.1-20230612.114412-srg.jar%23235!/:?] {re:mixin,re:computing_frames,re:classloading,pl:mixin:APP:naturalist-common.mixins.json:MonsterMixin,pl:mixin:APP:friendsandfoes-common.mixins.json:IllusionerHostileEntityMixin,pl:mixin:A}         at net.minecraft.world.entity.LivingEntity.m_8119_(LivingEntity.java:2298) ~[server-1.20.1-20230612.114412-srg.jar%23235!/:?] {re:computing_frames,pl:accesstransformer:B,re:mixin,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B,pl:mixin:APP:additionalentityattributes.mixins.json:common.LivingEntityMixin,pl:mixin:APP:aether.mixins.json:common.LivingEntityMixin,pl:mixin:APP:aether.mixins.json:common.accessor.LivingEntityAccessor,pl:mixin:APP:pehkui.mixins.json:LivingEntityMixin,pl:mixin:APP:pehkui.mixins.json:compat117plus.LivingEntityMixin,pl:mixin:APP:pehkui.mixins.json:compat1194plus.LivingEntityMixin,pl:mixin:APP:pehkui.mixins.json:compat1204minus.LivingEntityMixin,pl:mixin:APP:caelus.mixins.json:MixinLivingEntity,pl:mixin:APP:apoli.mixins.json:LivingEntityMixin,pl:mixin:APP:citadel.mixins.json:LivingEntityMixin,pl:mixin:APP:mixins.bosses_of_mass_destruction.json:LivingEntityMixin,pl:mixin:APP:friendsandfoes-common.mixins.json:BlazeLivingEntityMixin,pl:mixin:APP:friendsandfoes-common.mixins.json:LivingEntityMixin,pl:mixin:APP:bettercombat.mixins.json:LivingEntityAccessor,pl:mixin:APP:bettercombat.mixins.json:LivingEntityMixin,pl:mixin:APP:justleveling.mixins.json:MixLivingEntity,pl:mixin:APP:cataclysm.mixins.json:LivingEntityMixin,pl:mixin:APP:curios.mixins.json:MixinLivingEntity,pl:mixin:APP:origins.mixins.json:LikeWaterMixin,pl:mixin:APP:origins.mixins.json:WaterBreathingMixin$CanBreatheInWater,pl:mixin:APP:apugli.mixins.json:common.LivingEntityMixin,pl:mixin:APP:apugli.mixins.json:common.accessor.LivingEntityAccessor,pl:mixin:APP:apugli.forge.mixins.json:common.LivingEntityMixin,pl:mixin:APP:origins_classes.mixins.json:accessor.minecraft.LivingEntityAccessor,pl:mixin:APP:parcool.mixins.json:common.LivingEntityMixin,pl:mixin:APP:mixins.irons_spellbooks.json:LivingEntityMixin,pl:mixin:APP:attributeslib.mixins.json:LivingEntityMixin,pl:mixin:APP:spartanweaponry.mixins.json:LivingEntityMixin,pl:mixin:APP:pehkui.mixins.json:compat115plus.LivingEntityMixin,pl:mixin:APP:obscure_api.mixins.json:LivingEntityMixin,pl:mixin:A}         at net.minecraft.world.entity.Mob.m_8119_(Mob.java:337) ~[server-1.20.1-20230612.114412-srg.jar%23235!/:?] {re:mixin,pl:accesstransformer:B,re:computing_frames,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B,pl:mixin:APP:aether.mixins.json:common.MobMixin,pl:mixin:APP:naturalist-common.mixins.json:MobMixin,pl:mixin:APP:pehkui.mixins.json:MobEntityMixin,pl:mixin:APP:moonlight-common.mixins.json:EntityMixin,pl:mixin:APP:spartanweaponry.mixins.json:MobMixin,pl:mixin:APP:pehkui.mixins.json:compat116plus.MobEntityMixin,pl:mixin:A}         at net.minecraft.world.entity.monster.warden.Warden.m_8119_(Warden.java:278) ~[server-1.20.1-20230612.114412-srg.jar%23235!/:?] {re:classloading}         at net.minecraft.server.level.ServerLevel.m_8647_(ServerLevel.java:694) ~[server-1.20.1-20230612.114412-srg.jar%23235!/:?] {re:mixin,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B,pl:mixin:APP:aether.mixins.json:common.accessor.ServerLevelAccessor,pl:mixin:APP:pehkui.mixins.json:compat117plus.ServerWorldMixin,pl:mixin:APP:citadel.mixins.json:ServerLevelMixin,pl:mixin:APP:mixins.bosses_of_mass_destruction.json:ExplosionMixin,pl:mixin:APP:friendsandfoes-common.mixins.json:ServerWorldAccessor,pl:mixin:APP:friendsandfoes-common.mixins.json:ServerWorldMixin,pl:mixin:APP:moonlight-common.mixins.json:ServerLevelMixin,pl:mixin:APP:apugli.mixins.json:common.ServerWorldMixin,pl:mixin:A}         at net.minecraft.world.level.Level.m_46653_(Level.java:479) ~[server-1.20.1-20230612.114412-srg.jar%23235!/:?] {re:mixin,pl:accesstransformer:B,xf:fml:twilightforest:cloud,re:classloading,pl:accesstransformer:B,xf:fml:twilightforest:cloud,pl:mixin:APP:aether.mixins.json:common.accessor.LevelAccessor,pl:mixin:APP:citadel.mixins.json:LevelMixin,pl:mixin:APP:apugli.mixins.json:common.LevelMixin,pl:mixin:A}         at net.minecraft.server.level.ServerLevel.m_184063_(ServerLevel.java:343) ~[server-1.20.1-20230612.114412-srg.jar%23235!/:?] {re:mixin,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B,pl:mixin:APP:aether.mixins.json:common.accessor.ServerLevelAccessor,pl:mixin:APP:pehkui.mixins.json:compat117plus.ServerWorldMixin,pl:mixin:APP:citadel.mixins.json:ServerLevelMixin,pl:mixin:APP:mixins.bosses_of_mass_destruction.json:ExplosionMixin,pl:mixin:APP:friendsandfoes-common.mixins.json:ServerWorldAccessor,pl:mixin:APP:friendsandfoes-common.mixins.json:ServerWorldMixin,pl:mixin:APP:moonlight-common.mixins.json:ServerLevelMixin,pl:mixin:APP:apugli.mixins.json:common.ServerWorldMixin,pl:mixin:A}         at net.minecraft.world.level.entity.EntityTickList.m_156910_(EntityTickList.java:54) ~[server-1.20.1-20230612.114412-srg.jar%23235!/:?] {re:classloading}         at net.minecraft.server.level.ServerLevel.m_8793_(ServerLevel.java:323) ~[server-1.20.1-20230612.114412-srg.jar%23235!/:?] {re:mixin,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B,pl:mixin:APP:aether.mixins.json:common.accessor.ServerLevelAccessor,pl:mixin:APP:pehkui.mixins.json:compat117plus.ServerWorldMixin,pl:mixin:APP:citadel.mixins.json:ServerLevelMixin,pl:mixin:APP:mixins.bosses_of_mass_destruction.json:ExplosionMixin,pl:mixin:APP:friendsandfoes-common.mixins.json:ServerWorldAccessor,pl:mixin:APP:friendsandfoes-common.mixins.json:ServerWorldMixin,pl:mixin:APP:moonlight-common.mixins.json:ServerLevelMixin,pl:mixin:APP:apugli.mixins.json:common.ServerWorldMixin,pl:mixin:A}         at net.minecraft.server.MinecraftServer.m_5703_(MinecraftServer.java:893) ~[server-1.20.1-20230612.114412-srg.jar%23235!/:?] {re:mixin,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B,pl:mixin:A}         ... 5 more
    • Finally solved this after looking a bit closer at the `Monster` class. I needed to override the `aiStep` method, adding a call to `updateSwingTime`. This makes `entity.swing()` trigger an animation. @Override public void aiStep() { this.updateSwingTime(); super.aiStep(); }  
    • new issue, now everything in game is black, no textures, it even caused a crash similar to the initial one (overlay error)
    • that worked in fact now i think i can put back mods that caused the throwables issue
  • Topics

×
×
  • Create New...

Important Information

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