Jump to content

The state of tutorials, wiki site, and documentation for forge modding


DavidTriphon

Recommended Posts

So let me set this straight as far as I can see. We have a problem, and all our solutions to the problem are broken.

 

There are tons of people who want to start learning how to program mods using forge, but because they don't know how, they start looking for guides. They look for resources (or don't at all, we can't really help that), fail to find what they want, and then they go to the forums asking for help. The problem is that many of these questions have been asked before. That, and many of the kids are about as bad at telling us they know Java as they are at convincing the barkeep that they're over 21.

 

Alright, well, what was wrong with the resources that they found? Why are they asking for personal help, when there's a wiki, a million bazillion tutorials, and a forge documentation site?

 

So what's the first thing we see when we go to the forums? "TUTORIALS: A place for all Minecraft Forge related tutorials" Awesome! Plain and direct. Straight to the point. That's where I'll get help! I'm sure I'll find what I need!

 

*click*

 

...

 

That person is now about as confused as Mark Hamill was when he figured out how many lines he had in the new Star Wars movie.

 

That site is a MESS. The only way you even find anything with text on it that resembles a tutorial is through google! There's no logical way to navigate that site. Period. It's an web developer's worst nightmare. Thankfully, there are a couple of pages that are at least still somewhat useful, like the ore dictionary name page, or reasons not to make your mod a coremod.

 

Alright, moving on. What about tutorials? People love tutorials, you can follow along, hands on, and figure out how to code in forge by yourself! Wonderful! Doesn't everybody love hands on learning? Getting all interactive and figuring out what you did wrong and then fixing it? What? You don't? You only want to copy the code? No, that's not how... wait.. what are you doing... stop... THAt makes no SENNSE!

 

I'm sure the mods can think of a few tutorials that they wish had never popped up on the internet to teach such bad code design structure or horrible ways to get around the forge methods that are actually supplied for people to use. There's so many, and they're either way out of date and using deprecated methods that are only reserved for other methods to call, or they're teaching people to make extra classes for all their methods/using one class for the entire mod.

 

And if there are ever any experienced Java programmers who happen to come around, or maybe some students who actually paid attention in they Java class, they know to look for documentation. Documentation is great! It tells you what all the methods do and what purpose they have. It's like an actual wiki. Well, Forge's site isn't exactly like a wiki, it's more like a guide for a bunch of different features. But have you seen it? It's great! It makes sense! It's written by the people who know exactly why every design decision was made! It's...

 

Incomplete.

 

And there is where we have our problem. Every source of information available is broken, bad, or incomplete.

 

I know. I spent that last 2 weeks trying to learn how to properly register my blocks, items, and item blocks, and then properly register my ModelResourceLocations and then properly format all my block model .json files! I could probably write a small tutorial on how to start! Though it would probably be bad! Because all that was all I had to go off of! Now where am I at? Struggling to find a basic list of all the things I need to do just to create a TileEntity for a block!

 

These things are supposed to be basic! I know you guys! Your biggest problems are coding the logic or optimizing for your mods, not making blocks and base files!

 

I understand Java programming. I know how to structure all my class files. I know if methods should be static and private or public. I know when to use bounded type parameters. I know when to extend my classes and when to create an implementation.

 

So why should this be so hard?

 

People should not have to browse the modder support forum multiple times a day so that people can have their questions answered.

 

Is there any way that we can improve the state of any of these resources? Reconfigure and reformat the wiki? Add some quality controlled articles to the documentation? Maybe create some tutorials for the modder support's tutorial subforum and make it as visible as the wiki link? I would LOVE to help on ANY of these, IF I KNEW WHAT TO WRITE.

 

/rant. I hope I didn't irritate any mods too much...

Always, RESEARCH before asking a question. It's likely someone has already asked your question in the past. Filter your google searches with "site:www.minecraftforge.net/forum" to have a better chance finding your problem.

Link to comment
Share on other sites

This issue and outrages such as yours (humorously saying) is something that basically appears here once a month or more. Everyone who knows his shit (is an actual programmer, not wanna-be) has same opinion on this and it almost always leads to:

 

* Empty waste of time posting opinions on this issue in thread created, which is basically everyone just saying "I CONCUR!".

 

or

 

* Some guy stepping in and deciding HE is the ULTIMATE solution and that HE is gonna CREATE THE ULTIMATE wiki/tutorial for EVERYTHING on HIS OWN.

Just by looking at those "big" words you basically get the idea what I am saying - it end up being another piece of crap that covers ABSOLUTE basics of modding which have been done several times before and which again - are bad and incomplete.

 

So yeah - "I CONCUR!"

 

Now to the solution I always post:

* If someone will take his time to WRITE it down on OFFICIAL WIKI (github one) - I can personally hold conversation on Skype explaining big part of Vanilla and Forge, especially when it comes to designing mod properly and using hooks which apparently people don't use (and blindly overload server with design choices that are totally not needed or are dumb). I could probably do it on my own, but what's the point... nah, but seriously - while it is nice to come here and read/answer some of questions, designing proper wiki page on something is totally different thing and requires preparations, time and editing.

1.7.10 is no longer supported by forge, you are on your own.

Link to comment
Share on other sites

Huh, last I knew, the Forge Documentation was the official stuff. I didn't even know about the github wiki.

 

I apologize for bringing up the topic again. I looked through the first page of discussion and didn't see anything on this topic, so I thought I might bring it up. Like I said, I only came back a few weeks ago.  :P

 

I like your idea, but I feel that will require more than 2 people. It's certainly a lot of time.

 

Also I would love to help, but I don't think I'm anywhere near certified. Wouldn't some mod developers who have actually produced something be more helpful? Or are they already too busy between real life and modding? I mean, if you want my help, I will certainly give it. I wouldn't mind learning along the way.

 

Also, do tell me about hooks, I don't think I've heard that term before. If I'm doing something wrong with my code organization/design, I want to know about it.

Always, RESEARCH before asking a question. It's likely someone has already asked your question in the past. Filter your google searches with "site:www.minecraftforge.net/forum" to have a better chance finding your problem.

Link to comment
Share on other sites

For 1.7 it's not that hard to find information/tutorials, I had very little problems doing what I wanted to do. But 1.9/1.10 is in a horrible state when it comes to documentation. No wonder a lot of mods have not ported.

Link to comment
Share on other sites

Should I bother posting a 1.9.4 tutorial of what I've learned on the tutorial subforum? Would it help anyone? I would love it if someone more experienced than I could point out where I'm doing something wrong.

Always, RESEARCH before asking a question. It's likely someone has already asked your question in the past. Filter your google searches with "site:www.minecraftforge.net/forum" to have a better chance finding your problem.

Link to comment
Share on other sites

The wiki has been crap so we've officially switched to the RTDs through github.

So start sending PRs to it.

As for 'general site designs' to make it cleaner to understand or whatever go through and SPECIFICALLY request things and ping our new web admin, Flamegoat in it. {Not sure if pings work on this sit, but find a way to poke him, or we should make a 'website  support/suggestions' sub-forum}

 

As for tutorials, copy pasta is bad so its NOT ACCEPTED in the RTDs.

Describe the issue/problem and solution DO NOT GIVE CODE.

You want to teach not do it for them.

 

As for tutorials for old versions, you should ALWAYS promote using the latest version of MC.

However 90% of Minecraft stays the same between each version. So if you write it as descriptions and not copy/paste code then the tutorials will be fine between versions. Only needing smaller edits to point people at new/changed features in the new versions.

I do Forge for free, however the servers to run it arn't free, so anything is appreciated.
Consider supporting the team on Patreon

Link to comment
Share on other sites

What if a tutorial supplied examples from the base minecraft/forge code? Would it be alright to encourage users to scour the code libraries for themselves by only showing examples from code in the libraries to help explain to them what a method does or is supposed to be used for?

Always, RESEARCH before asking a question. It's likely someone has already asked your question in the past. Filter your google searches with "site:www.minecraftforge.net/forum" to have a better chance finding your problem.

Link to comment
Share on other sites

Using example code from the MC code base is MOST LIKELY a bad idea because it's a decompiled code which is inherantly ugly as shit as compiling is a lossy process.

 

It's better to tech them ideas then to give them code.

 

Exaplain what a function does in a class and any competant programmer will know how to call a function.

 

We are not writing tutorials for people who don't know basic java syntax and the basics of programming.

I do Forge for free, however the servers to run it arn't free, so anything is appreciated.
Consider supporting the team on Patreon

Link to comment
Share on other sites

Alright, got it. Ideas, usefulness of methods, not code.

 

Also, if I doubt that I've been using a method properly, like if I worry that I formatted my registry names incorrectly, and I was going to write on what things are affected by registry name and what are affected by unlocalized names (since people still mess that up), where would I ask to to make sure I'm right before I start? Or should I just wait for comments on my PR?

Always, RESEARCH before asking a question. It's likely someone has already asked your question in the past. Filter your google searches with "site:www.minecraftforge.net/forum" to have a better chance finding your problem.

Link to comment
Share on other sites

Is there any documentation on the new animation system for 1.10? Everything I could find was the example from forge which is very little information. When I look at the source code of other mods, the only thing I find are hacks to get ModelBase rendered ...

Link to comment
Share on other sites

@pWn3d

 

The discussion forum is more like the forum for modder support meta discussion, i.e. discussing modder support. If you actually want modder support, and you can't find the resources you need, you should go to the modder support forum. Even if you're asking where to find what you need, that goes in support, because the goal of the question is to help you figure out what to do for your mod. This thread was made to discuss what could be done to help the status of modding resources.

 

Edit:

 

Thanks ben, I'll be sure to do that.

Always, RESEARCH before asking a question. It's likely someone has already asked your question in the past. Filter your google searches with "site:www.minecraftforge.net/forum" to have a better chance finding your problem.

Link to comment
Share on other sites

@pWn3d

 

The discussion forum is more like the forum for modder support meta discussion, i.e. discussing modder support. If you actually want modder support, and you can't find the resources you need, you should go to the modder support forum. Even if you're asking where to find what you need, that goes in support, because the goal of the question is to help you figure out what to do for your mod. This thread was made to discuss what could be done to help the status of modding resources.

 

Edit:

 

Thanks ben, I'll be sure to do that.

 

I know, I just wanted to bring a current example where there is no documentation.

 

As for contributing, I could only write tutorials for 1.7 for now, which is unwanted I think?

Link to comment
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.
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

    • im stuck in a problem whit BlockEntities i cannot solve so im trying to work around it but in the less complex way possible  i think is posible to store data to the minecraft world  in older versions people talk about  WordDataSave i dont find anything about it for 1.20.4  i find a tutorial for player capability in 1.19    here is an event      //########## ########## ########## ##########     @SubscribeEvent     public static void onAttachCapabilitiesPlayer(AttachCapabilitiesEvent<Entity> event) {         if(event.getObject() instanceof Player) {             if(!event.getObject().getCapability(PlayerThirstProvider.PLAYER_THIRST).isPresent()) {                 event.addCapability(new ResourceLocation(mercmod.MOD_ID, "properties"), new PlayerThirstProvider());             }         }     }  soo i made this      //########## ########## ########## ##########     @SubscribeEvent     public static void onAttachCapabilitiesLevel(AttachCapabilitiesEvent<Level> event) {     } i think i can do some witchcraft  here  but is many things don't understand  to start whit i dont get yet how to recall the saved data from a BlockEntity  the handler still in progress the plan is to make a Map to store nbt data using the block coordinates as index later store that map as a big nbt      ########## any way the question is if theres alredy a tutorial for 1.20.4 for this ?? or some alredy working code from someone else doing something similar ?           
    • I tried this, and found out that Oculus is the mod that is crashing the game. I have removed it, and it now works fine! Thanks!
    • Hi @DanielderErbauer, I arrived here as I have the "as it does not exist in Block{minecraft:air}" error in a modpack I am trying to start. It's a long-shot, I know, but as the post that led this to being solved is missing, can I ask if you may recall what it said? Thanks in advance
    • Hm yeah sorry, not seeing anything else that's sticking out, I'd need to debug myself probably. Do you have a github or bitbucket repo? I could poke around when I have time to see what the problem might be.
    • looking around for the capabilities thing i found a piece of code and find this piece of code  //########## ########## ########## ########## @SubscribeEvent public static void addCustomTrades(VillagerTradesEvent event) { if(event.getType() == VillagerProfession.FLETCHER) { System.out.println("\n\n### VillagerProfession.FLETCHER \n\n");//<----------- Int2ObjectMap<List<VillagerTrades.ItemListing>> trades = event.getTrades(); ItemStack stack = new ItemStack(ItemInit.ARROW_STEEL.get(), 16); int villagerLevel = 1; trades.get(villagerLevel).add((trader, rand) -> new MerchantOffer( new ItemStack(Items.EMERALD, 2), stack,1,3,0.02F)); } if(event.getType() == VillagerProfession.TOOLSMITH) { System.out.println("\n\n### VillagerProfession.TOOLSMITH \n\n");//<----------- Int2ObjectMap<List<VillagerTrades.ItemListing>> trades = event.getTrades(); ItemStack stack = new ItemStack(ItemInit.INGOT_STEEL.get(), 1); int villagerLevel = 1; trades.get(villagerLevel).add((trader, rand) -> new MerchantOffer( new ItemStack(Items.EMERALD, 2), stack,10,8,0.02F)); } } //########## ########## ########## ########## the event is aknoledge and execute when the maps load  ### VillagerProfession.FLETCHER  ### VillagerProfession.TOOLSMITH  //########## But is not working      is a random piece of code is not working  could it be than this code is old 1.18 and no valid anymore for 1.20.4 or the thing are this numbers  stack,10,8,0.02F));  i dont know what this numbers means    ########## the question is ¿how to add things to the villager traders    thanks for your attention               
  • Topics

×
×
  • Create New...

Important Information

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