Jump to content

Recommended Posts

Posted

 

Hey everyone!

I started learning Minecraft modding with a friend and we have a medium-sized mod we are about to start working on as a hobby (something like Botania, a sort of tech mod with magic skin). We have a lots of ideas and we might end up releasing it one day if we succeed to make a polished enough mod. In this eventuality in mind, we would like to have a clean project from the start, in case we release it and expand it afterwards. So I have multiple questions, some of them will certainly be seen as overkill (ex: thinking about mod porting before developing the mod in the first place) but those are also to satisfy my curiosity and learn more about modding in general (I added numbers so it's easier to answer a specific question):

1) Regarding Minecraft versions, which one do you advise us to start with, and how hard is it to port for other versions? 1.19 is pretty recent, so I guess less stable and with less documentation than 1.18. Are there any good practice to adopt early to ease future version porting?

2) (I couldn't find if this question is allowed here, feel free to delete it if it's not) Same question for Forge and Fabric. We use Forge for now, how hard is it to port for Fabric (or other modding api), and are there any good practice to ease the process?

3) I've seen some Libraries mod (like AppleCore for 1.12 or GeckoLib), are there any very useful ones I should be aware of that should be included in almost every mod projects?

4) Our mod would use at least some entities to work (think about MineColonies, or the chicken mod https://www.curseforge.com/minecraft/mc-mods/chickens) and we are debating on how much entities could we use without introducing too much lag. We have a design in mind to reduce the potential amount of entities used (like the chicken staff that turn chicken entities into item form), but we prefer the visual appeal of having entities "working" and moving around. So I know it's a very vague question (depend of the scale of the server and client hardware), but from your experience what would be an acceptable range of entities count we should target?

5) This one is really out of curiosity, but I've seen some big mods divided into multiple smaller mods (like the Thermal Series or Integrated Dynamic). What's the reason behind this and how hard is it to achieve/maintain? I suppose it allow players and modpack creator to include specific features without having to include a whole lot of unwanted content?

6) Any other good practice/tips/recommandation?

Have a nice day!

 

 

Posted

2) just separate "forge" stuff (registering things, etc.) from "mod" stuff (what should happen for players to see) into separate classes and you will be fine.

3) no, not really. especially if you want to port to other mod loaders. except maybe architectury but i never used that.

4) don't worry about it, at least for controllable things like chickens. let player decide if he wants 4 or 400 chickens around. you should worry about ambient entities (things flying/swimming around) and not have hundreds of those especially if you can't prevent them from appearing all the time (like squids) or if you can't kill them (like some glowbugs/fireflies...).

1) start with 1.18. porting to 1.19 is pretty easy, but you probably wont want to maintain 1.19 in parallel, likely 1.18 and 1.20. you do not need to decide on this now because you don't know when you'll have a stable mod and free time.

  • Like 1

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

    • Looks like I've figured it out, after entirely too much time wasted on trial-and-error.   The solution was to create /resources/data/minecraft/ and place the tags under there, rather than the mod's data directory. I also needed to add  "replace": false, to the JSON files under /resources/data/minecraft/tags/block/ -> needs_stone_tool.json and mineable/pickaxe.json.   I cannot overstate how dumb this is. I don't think developers should be needing to create additive Minecraft subdirectories for files that belong to a mod. These properties should belong to the block properties anyway, since we're specifying that a tool is required... we should be specifying what that tool is in the same place. (I'm so glad I came back to this mess!) Anyway, it is fixed. Hopefully this helps some poor unsuspecting newbie somewhere down the road.
    • I downloaded Forgematice, moved the file to the mods folder, but after starting Minecraft it does not detect any modifications, I need help
    • Upon registering a new account on here, there's a simple security question. Something along the lines of "name a tool you can craft in vanilla Minecraft" and "name a weapon you can craft in vanilla Minecraft". I answered these with answers that are correct. Yet I'm told I "didn't pass the security check". This happens with every answer to every question. If you can't craft a pickaxe, or use a sword as a weapon in vanilla Minecraft then you and I must be playing a totally different game!!
    • Hello, and happy new year! I've returned to modding while on break from work, and cannot make heads or tails of the method for setting the correct tool for breaking a custom block. This should be a simple affair, but after digging through the vanilla files, all I could find was  assets/data/minecraft/tags/block/mineable/pickaxe.json (and axe, hoe, shovel). So I figured this must be how they're specifying the tool for each block. Yet, after implementing a similar file in my own data folder, it still doesn't work. Plus, this doesn't address the issue of specifying what level of tool is required (wood/stone/iron, etc).   So, please... how should this be being done, properly? And could it be done through the Java code rather than JSON files, without overriding functions for block breaking? I'm either missing something obvious, or -- as is more likely the case -- this is just far more convoluted than it ought to be, for something that should just be a field or two in the Block Properties.
    • and this forge error, is just for forge 1.19.2
  • Topics

×
×
  • Create New...

Important Information

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