GlitchyTurtle546YT Posted September 16, 2020 Posted September 16, 2020 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? Quote
ChampionAsh5357 Posted September 16, 2020 Posted September 16, 2020 If you would please show your code and the debug.log file that would be nice. It allows us to have a better understanding of what you are doing, where you went wrong, and what steps can be taken to fix this. Quote
GlitchyTurtle546YT Posted September 16, 2020 Author Posted September 16, 2020 Here is my code from my ModArmorMaterial Enum and from my RegistryHandler Class. Both in TXT form because I would have to upload many images. ModArmorMaterial.txt RegistryHandler.txt Quote
GlitchyTurtle546YT Posted September 16, 2020 Author Posted September 16, 2020 (edited) It kept giving me the -200 error when uploading so here is the debug.log on google drive https://drive.google.com/file/d/1-AObZW1DpUYiJFwSZLJ_rkZ4LEWlOkVx/view?usp=sharing Edited September 16, 2020 by GlitchyTurtle546YT Quote
Danebi Posted September 16, 2020 Posted September 16, 2020 (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 September 16, 2020 by Danebi Quote
GlitchyTurtle546YT Posted September 16, 2020 Author Posted September 16, 2020 How do I fix the problem then? Is one of my values too high? Quote
Beethoven92 Posted September 16, 2020 Posted September 16, 2020 (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 September 16, 2020 by Beethoven92 Quote Check out the port of the BetterEnd fabric mod (WIP): https://www.curseforge.com/minecraft/mc-mods/betterend-forge-port
GlitchyTurtle546YT Posted September 16, 2020 Author Posted September 16, 2020 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. Quote
ChampionAsh5357 Posted September 16, 2020 Posted September 16, 2020 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. Quote
Beethoven92 Posted September 16, 2020 Posted September 16, 2020 (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 September 16, 2020 by Beethoven92 Quote Check out the port of the BetterEnd fabric mod (WIP): https://www.curseforge.com/minecraft/mc-mods/betterend-forge-port
GlitchyTurtle546YT Posted September 16, 2020 Author Posted September 16, 2020 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 . Quote
Beethoven92 Posted September 16, 2020 Posted September 16, 2020 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] Quote Check out the port of the BetterEnd fabric mod (WIP): https://www.curseforge.com/minecraft/mc-mods/betterend-forge-port
GlitchyTurtle546YT Posted September 16, 2020 Author Posted September 16, 2020 Thanks so much! it now works perfectly. Quote
Recommended Posts
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.