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)
9 hours ago, 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

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)
13 minutes ago, GlitchyTurtle546YT said:

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

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
2 hours ago, Danebi said:

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

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)
29 minutes ago, 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.

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



×
×
  • Create New...

Important Information

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