Jump to content

Recommended Posts

Posted

So I decided I wanted to make a mc mod but I didnt know any coding so I watched a tutorial and was getting pretty far. I got to armor but when I went to test the armor it couldn't load the mod? I tried updating the forge version from 1.15.2 to 1.16.1 but that broke even more things so I went back to 1.15.2 . What can I do to fix this?

 

Posted (edited)
  On 9/16/2020 at 2:12 AM, GlitchyTurtle546YT said:

I decided I wanted to make a mc mod but I didnt know any coding so I watched a tutorial and was getting pretty far

Expand  

Learn java before modding. Also...

@Override
    public int getDamageReductionAmount(EquipmentSlotType slotIn) {
        return this.damageReductionAmountArray[slotIn.getSlotIndex()];
}

will not work for an index of 4 or higher and HEAD.getSlotIndex() returns 4.

Edited by Danebi
Posted (edited)
  On 9/16/2020 at 12:35 PM, GlitchyTurtle546YT said:

How do I fix the problem then? Is one of my values too high?

Expand  

Read what Danebi said...i suggest you look into the EquipmentSlotType class, so you can see which values are returned by getSlotIndex(). And remember array indexes start from 0, not from 1..so your damageReductionAmountArray which contains four values can only be indexed with 0, 1, 2 or 3...if you put a higher number inside the [ ] brackets you will get an error.

Edited by Beethoven92

Check out the port of the BetterEnd fabric mod (WIP): https://www.curseforge.com/minecraft/mc-mods/betterend-forge-port

Posted

I checked the EquipmentSlotType class and the only thing that was mentioned was this.

   /**
    * Gets the actual slot index.
    */
   public int getSlotIndex() {
      return this.slotIndex;
   }

I then also checked the two classes that I changed (RegistryHandler and ModArmorMaterial) and I couldn't find any numbers inside square brackets. I have also tried decreasing some of the numbers like the maxDamageFactor, toughness, enchantability, etc. but nothing changed. Here is a screenshot from the game.

error from game.png

Posted
  On 9/16/2020 at 11:21 AM, Danebi said:

will not work for an index of 4 or higher and HEAD.getSlotIndex() returns 4.

Expand  

You should really read more, including the enums provided.

 

Besides that fact, you should also realize that you don't even have a custom armor class implemented. So, there is no possible way for your armor model to show.

Posted (edited)
  On 9/16/2020 at 1:53 PM, ChampionAsh5357 said:

Besides that fact, you should also realize that you don't even have a custom armor class implemented. So, there is no possible way for your armor model to show.

Expand  

That would be perfectly true, unless he just wants to use the vanilla model, which i have a feeling it is what he needs at the moment. In that case the layer_1 and layer_2 textures are enough (provided he put those in the correct place)

Edited by Beethoven92

Check out the port of the BetterEnd fabric mod (WIP): https://www.curseforge.com/minecraft/mc-mods/betterend-forge-port

Posted

Yes just the vanilla models with custom textures. I put the item textures in Minecraft Modding\MemeCraft\src\main\resources\assets\meme546\textures\items , and the model textures in Minecraft Modding\MemeCraft\src\main\resources\assets\meme546\textures\models\armor . Everything has their correct name with the items having the same name you would type in the chat to get them through /give or place them with /setblock and having the model textures be called no_u_layer_1 and no_u_layer_2 .

Posted

Allright but the problem we already pointed out to you still persist and its caused by this line:

damageReductionAmountArray[slotIn.getSlotIndex()]

when it gets called with the head piece slotIndex value. Again if you look into the EquipmentSlotType enum, you will see that there are two sets of indexes for the various slots. There is a slotIndex (the one you are requesting^^^^) which as you can see goes from 0 to 5 (because it includes also both hand slots) and is a general index for all the possible slots you can have (6 in total)..and then there is a index which can be seen as a "local" index (hands slots are a thing and armor slots are another), which you can see has values 0 and 1 for the two hands, and 0, 1, 2 and 3 for the four armor slots. Hope this gives you a better idea on which is the value you need to put inside the brackets:

damageReductionAmountArray[put the right index here]

 

Check out the port of the BetterEnd fabric mod (WIP): https://www.curseforge.com/minecraft/mc-mods/betterend-forge-port

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.

Announcements



  • Recently Browsing

    • No registered users viewing this page.
  • Posts

    • I deleted delightful and all farmers delight addon (just in case) and still i have the error :'(, i need to check mod by mod?
    • I'm developing a Forge mod for Minecraft 1.16.5 to run on CatServer (version 1.16.5-1d8d6313, Forge 36.2.39). My mod needs to get the player's UUID from a ServerPlayerEntity object within a Forge ServerChatEvent handler. When I use serverPlayerEntity.getUUID(), my mod compiles fine, but I get a java.lang.NoSuchMethodError: net.minecraft.entity.player.ServerPlayerEntity.getUUID()Ljava/util/UUID; at runtime. I cannot use serverPlayerEntity.getUniqueID() as it causes a compile error (cannot find symbol). Is there a known issue with this on CatServer, or a recommended way for a Forge mod to reliably get a player's UUID from ServerPlayerEntity in this environment? My goal is to pass this UUID to the LuckPerms API (which is running as a Bukkit plugin and successfully connected via ServicesManager). erorr ChatMod: FMLServerStartedEvent received. Attempting to initialize LuckPerms connection... [22:45:20] [Server thread/INFO]: ⚙️ Початок ініціалізації LuckPerms API через Bukkit Services Manager... [22:45:20] [Server thread/INFO]: ✅ Bukkit ServicesManager успішно отримано. [22:45:20] [Server thread/INFO]: ✅ Реєстрацію сервісу LuckPerms знайдено. [22:45:20] [Server thread/INFO]: ✅ API LuckPerms успішно отримано від Bukkit plugin! [22:45:20] [Server thread/INFO]: Використовується реалізація: me.lucko.luckperms.common.api.LuckPermsApiProvider [22:45:20] [Server thread/INFO]: ✅ LuckPerms API схоже що успішно ініціалізовано через Bukkit Services Manager. [22:45:24] [User Authenticator #1/INFO]: UUID of player Hiklee is 92cd7721-2652-3867-896b-2ceba5b99306 [22:45:25] [Server thread/INFO]: Using new advancement loading for net.minecraft.advancements.PlayerAdvancements@24cb7a68 [22:45:26] [Server thread/INFO]: Hiklee[/127.0.0.1:41122] logged in with entity id 210 at (92.23203876864889, 95.6183020148442, 68.24087802017877) [22:45:28] [Async Chat Thread - #0/INFO]: ✅ Скасовано стандартне відправлення чату! [22:45:28] [Async Chat Thread - #0/ERROR]: Exception caught during firing event: net.minecraft.entity.player.ServerPlayerEntity.getUUID()Ljava/util/UUID; Index: 1 Listeners: 0: NORMAL 1: ASM: class com.example.chatmod.ChatEventHandler onPlayerChat(Lnet/minecraftforge/event/ServerChatEvent;)V java.lang.NoSuchMethodError: net.minecraft.entity.player.ServerPlayerEntity.getUUID()Ljava/util/UUID; at com.example.chatmod.ChatPacketHandler.getPlayerPrefix(ChatPacketHandler.java:46) at com.example.chatmod.ChatEventHandler.onPlayerChat(ChatEventHandler.java:32) at net.minecraftforge.eventbus.ASMEventHandler_1_ChatEventHandler_onPlayerChat_ServerChatEvent.invoke(.dynamic) at net.minecraftforge.eventbus.ASMEventHandler.invoke(ASMEventHandler.java:85) at net.minecraftforge.eventbus.EventBus.post(EventBus.java:303) at net.minecraftforge.eventbus.EventBus.post(EventBus.java:283) at net.minecraftforge.common.ForgeHooks.onServerChatEvent(ForgeHooks.java:493) at net.minecraft.network.play.ServerPlayNetHandler.chat(ServerPlayNetHandler.java:1717) at net.minecraft.network.play.ServerPlayNetHandler.func_244548_c(ServerPlayNetHandler.java:1666) at net.minecraft.network.play.ServerPlayNetHandler.func_147354_a(ServerPlayNetHandler.java:1605) at net.minecraft.network.play.client.CChatMessagePacket.lambda$handle$0(CChatMessagePacket.java:34) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:750
    • Thank you so much for your help, I'll try it as soon as I can. I have a genuine question because I'm not familiar with the matter: Can a recipe error cause something as serious as the AMD error?
    • When i try to launch my modpack, the instance crashes and this is sent to the logs: Time: 2025-05-27 23:07:18 Description: Rendering overlay Below is the full log: https://mclo.gs/jP5G2EH
    • Make a test without delightful
  • Topics

×
×
  • Create New...

Important Information

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