Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

[1.16.3] Modding Tutorial


Recommended Posts

I start a serial of Modding tutorial video, which will include Item, Block, TileEntity, special rendering, Entity, World Generation and so on.

There is the link:YoutubePlayList.

If you have any questions to ask, Welcome join my Discord Server.

You can find the source code in there.

context:

Link to post
Share on other sites

I'm going to break a few things down so you can correct it. As a person who's spread bad modding practices in the past, I don't want your videos to follow a similar path.

1) The build.gradle needs to be updated in a few ways.

- The 'eclipse' plugin is not relevant since you are using IntelliJ, change it to 'idea'.

- Update the version, group, archivesBaseName to your valid information.

- All instances of 'examplemod' should be replaced with your mod id.

- Fill out the jar manifest (this is not a requirement, but it makes your mod look more professional).

2) Update the pack.mcmeta to reflect the current information (again not necessary, but it makes it look more professional).

3) Careful how you hardcode parameters in Main as you should just store a single instance of the event bus and pass it around. However, that's most likely once you do your next object.

4) It's a waste of an object to only use it to hardcode a parameter. Doing it to use the double colon operator is worthless and just a waste of space. Your item (since nothing has changed) should just pass in a supplier with a new instance of the base item class. If you wanted to have all your items use the same properties, it's better to create a method that does it. Do note: be careful how that is done as you could end up making a deferred instance not deferred at all.

5) Use data providers to create your json files. Handwriting them is mainly just a waste of time and can be circumvented now.

Edited by ChampionAsh5357
Link to post
Share on other sites
  • 3 weeks later...
On 9/26/2020 at 6:55 PM, ChampionAsh5357 said:

5) Use data providers to create your json files. Handwriting them is mainly just a waste of time and can be circumvented now.

Don't really wanna pump this thread but, what are those and how do you use them? I would really love to know that for a few mods that I am going to make

  • Like 1
Link to post
Share on other sites
1 hour ago, MostafaSabry55 said:

what are those and how do you use them?

A data generator is a way to automate creating json files via providers. Current versions of the mdk have a base build.gradle set up so you do not need to edit anything. Then, I would suggest reading through the docs with their information and build off of there.

  • Thanks 1
Link to post
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.

Guest
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

    • Hello There! We are still uploading the last of the Hive Hunger Games videos with ONE MORE VIDEO LEFT AND THEN THAT IS IT FOREVER FROM THE HIVE! But until then enjoy this solo Hunger Games where I talk about Youtubers I used to look up to and some that have motivated me to get into youtube! I hope you all enjoy this video and if you did don't forget to like and sub for more!  
    • nvm i fixed it with my tech skills. it was dynqamic sound filters that caused the problem. thx for trying to help anyways
    • Problem Solved. I've checked other people's code: package x.x.flowingagony.registry; import love.marblegate.flowingagony.enchantment.ShadowbornEnchantment; import net.minecraft.enchantment.Enchantment; import net.minecraft.inventory.EquipmentSlotType; import net.minecraftforge.fml.RegistryObject; import net.minecraftforge.registries.DeferredRegister; import net.minecraftforge.registries.ForgeRegistries; public class EnchantmentRegistry { private static final EquipmentSlotType[] ARMOR_SLOTS = new EquipmentSlotType[]{EquipmentSlotType.HEAD, EquipmentSlotType.CHEST, EquipmentSlotType.LEGS, EquipmentSlotType.FEET}; public static final DeferredRegister<Enchantment> ENCHANTMENT = DeferredRegister.create(ForgeRegistries.ENCHANTMENTS, "flowingagony"); public static final RegistryObject<Enchantment> shadowborn_enchantment = ENCHANTMENT.register("shadowborn", () -> new ShadowbornEnchantment(Enchantment.Rarity.VERY_RARE, ARMOR_SLOTS)); } This code works!
    • Ok, I made a new enchantment and tried to register it. But the IDE told me "Inferred type 'I' for type parameter 'I' is not within its bound; should extend 'net.minecraft.enchantment.Enchantment'". The question is: I've already "extends Enchantment" in my custom enchantment code. What is wrong with my code or registry? Really Grateful for helping! My Custom Enchantment Code: package x.x.enchantment; import net.minecraft.enchantment.Enchantment; import net.minecraft.enchantment.EnchantmentType; import net.minecraft.inventory.EquipmentSlotType; public class ShadowbornEnchantment extends Enchantment { public ShadowbornEnchantment(Rarity p_i46731_1_, EquipmentSlotType[] p_i46731_3_) { super(p_i46731_1_, EnchantmentType.ARMOR_HEAD, p_i46731_3_); } public int getMinEnchantability(int p_77321_1_) { return 10; } public int getMaxEnchantability(int p_223551_1_) { return super.getMinEnchantability(p_223551_1_) + 50; } public int getMaxLevel() { return 1; } } My register Code: package love.marblegate.flowingagony.registry; import love.x.x.enchantment.ShadowbornEnchantment; import net.minecraft.enchantment.Enchantment; import net.minecraft.inventory.EquipmentSlotType; import net.minecraftforge.fml.RegistryObject; import net.minecraftforge.registries.DeferredRegister; import net.minecraftforge.registries.ForgeRegistries; public class EnchantmentRegistry { private static final EquipmentSlotType[] ARMOR_SLOTS = new EquipmentSlotType[]{EquipmentSlotType.HEAD, EquipmentSlotType.CHEST, EquipmentSlotType.LEGS, EquipmentSlotType.FEET}; public static final DeferredRegister<Enchantment> ENCHANTMENT = DeferredRegister.create(ForgeRegistries.ENCHANTMENTS, "flowingagony"); public static final RegistryObject<Enchantment> shadowborn_enchantment = ENCHANTMENT.register("shadowborn", new ShadowbornEnchantment(Enchantment.Rarity.VERY_RARE, ARMOR_SLOTS)); }  
    • I've always been playing in version 1.11.2 with forge 1.11.2 - 13.20.1.2588, and as of yesterday I couldn't get into this version anymore, so I went to try to download the forge again, but now he doesn't want to install it anymore.   I tried to download other versions of forge and they instal normally and it is possible to play on them as well but on 1.11.2 I can't do it anymore
  • Topics

  • Who's Online (See full list)

×
×
  • Create New...

Important Information

By using this site, you agree to our Privacy Policy.