Jump to content

[WIP][1.7.2] Minecraft Automodder


FeralInstinctStudios

Recommended Posts

Minecraft Automodder

 

 

Introduction

 

The modding community is what keeps Minecraft alive and fresh. It allows for a myriad of gameplay possibilities, each player able to shape their experience however they desire. Forge has been able to realize so many potentials, but up until now you needed to have a background in programming with Java, spend countless hours finding out how Minecraft works, how Forge works, look up tutorials, and find every single bug that arises within your code. All of this on top of the already heavy workload of trying to create a unique ground-breaking mod to amaze and impress, and the work doesn't just stop there. Every time Minecraft updates you need to pick through your mountain of code making changes so it'll work with the latest version of Forge. The Minecraft Automodder aims to eliminate all of these problems.

 

NOTE: INFORMATION BELOW STATES INTENDED FEATURES THAT HAVE YET TO BE IMPLEMENTED!

If you're looking for something to use right at this very second, you'll need to look elsewhere as this is currently in it's pre-alpha stages of development and doesn't have a public version yet!

 

 

Features

 

It's all good and well to say we're going to address some problems, but what specifically are we going to add to make your modding experience a better one?

  • A Development Interface
    You won't need to look at a single line of code again! With a fully functional development environment, easily add and remove blocks, items, recipes, mobs, textures, anything you can imagine.
     
     
     
  • Automatic Updating
    The work of making the mod is taxing enough, why waste your time having to redo your code every time Minecraft updates when it can be done automatically? Now your full attention can be focused on content rather than updating!
     
     
     
  • Backwards Compatibility
    Don't you hate it when you want to use an old version of Minecraft for some nostalgic gameplay but your favourite mods were just in their budding development at the time and lack that crucial feature you just gotta have? We sure do, that's why all mods created with the Automodder will be able to be played on any version of Minecraft that it supports.
     
     
     
  • Easy Cross-Mod Development
    Have you ever wanted to add extra features to an already existing mod but can't decipher their code? Want to easily remove and replace the features you don't like about it? Now just simply import any existing Automodder mod and work directly alongside it.

 

How it Works

 

All of this sounds fine and dandy on paper, but you may be wondering how all of this is possible. The Automodder works as such: The first part is your mod file. When you create and save your mod, it creates a text file with an extension of .MCA for identification purposes. The second part is the Automodder support mod. This support mod is coded through Forge and is a true traditional mod coded just as any other mod is today.

 

Forge will still need to be installed, and the support mod will still need to be added like any other Forge mod. Upon loading the game for the first time, the support mod will create a new directory inside the mods folder specifically for Automodder mods, in which you will place the files of all the mods you want added to your game.

 

On startup, the support mod will run through these files, and dynamically add blocks, items, and everything else your mod includes. Since the support mod is the only true Forge mod, it's the only thing that needs to get updated, as it reads every Automodder mod the same way.

 

 

Questions and Answers

  • Will these mods be compatible with all the current Forge mods? I can't live without Buildcraft!
    Yes! Most Automodder mods should be compatible with all current Forge mods. It cannot be guaranteed, however, as I have no control over other modders methods of coding. A planned feature of being able to edit vanilla Minecraft will also break compatibility of some mods, for instance removing apples in your mod will make it incompatible with mods that use that block as a component in their recipes, although this is the only if you choose to edit vanilla mechanics in your mod and will not break compatibility with mods that choose not to utilize this feature. No other currently planned features will break compatibility.
     
     
     
  • How much control will I have with my mod, since it's only a text file and doesn't contain any actual code?
    You will have access to every feature that gets added to the development interface. This is a community focused project for you guys, so the features that get added will be heavily decided by you. Blocks, items, and recipes will have full customization over every property of them, as well as a custom event script to handle actions such as being mined, stepped on, eaten, etc. Once again, this is focused for you guys so if I deem something to be low priority and no-one says they want that particular feature then it may take a while before it gets added.
     
     
     
  • Okay then, I want this that, the other thing, and the kitchen sink.
    Woah there, slow down hotshot. While it's nice to have every feature imaginable straight from the get-go keep in mind that this project is being worked on by a single developer, and as such there's little possibility of multitasking twenty different features at once. Just state the main, important features that you want prioritized, everything else will come with time. If I see NBTTag support on the same post as flower rendering, I'll assume you want both of them equally and will be happy with either one, in which case chances are I'll take the simpler of the choices to add more features quicker. Once the main features you guys want are in then it's time to add in the lower priority ones that slipped by.
     
     
     
  • I've suggested my idea a hundred times this past hour and you still haven't added it in! What gives?
    Patience is key. I work on this when I can, but it's not a paid job and there are other things that get in the way, such as eating, sleeping, and this strange thing some people call a life. It'll get added when it gets added, but trying to force it with spam and threats will only get it further removed from the to-do list. I'm a jerk like that, it's something you'll have to deal with.
     
     
     
  • Is this going to be open source?
    Right now I'm debating on if it'll be open source or if I'll add data encryption to the .MCA files. I support open source mods, I love the concept of being able to help show other people how I program things, and I would love to have this open source, but if it is then the algorithms for data decryption will also be made public, rendering it moot. If the files are encrypted, it makes it virtually impossible to change the data within them, such as altering the author name and trying to pass someone else's mod off as your own. One solution to this is to upload an alternate source of the code that skips out on the data decryption, although this would be an added work load to have to change the source to work between encrypted data and how it is now.
     
    What's probably going to happen is I'll let the community decide what they'd rather have, encrypted files or source code. Then when most of the features have been added in and the code will only need to be updated when Forge updates rather than every time a new feature is added in, I'll release the other option. If people would rather have encryption, then chances are I'll upload the occasional source code, but it won't be the most up to date, it'll just be whenever I feel like putting in the extra work.
     
     
     
  • So how am I supposed to get my voice heard among the sea of comments then?
    There will be frequent polls set up for main features, and that's mainly how I'll decide what to add. Comments aren't completely out of the question, you may have an idea that I haven't thought of. If I think it's a good idea I'll probably add it into a future poll, and if I think it's an exceptional idea it may warrant an immediate inclusion into the Automodder.
     
     
     
  • How can I get on your good side?
    Common courtesy is the easiest way to make me willing to help/add a feature. Be nice to me and I'll be nice to you. Spelling and grammar is also a good way to get me to help. I'll be more likely to respond if you talk with proper capitalization at the beginning of sentences and the [QUESTION] tags being all capitals as shown below. I know spelling mistakes occur, but pls dnt ask y i nvr added a feature b4 lik dis, chances are I won't respond, again being the jerk that I am.
     
     
     
  • Feral Instinct? You have a subforum in the inactive mods section, why spam here rather than post there?
    That is an old subforum that was created by another member of the development team at the time, who is no longer with us. That subforum is no longer regulated by Feral Instinct and a notification has been sent with a request to take it down.
     
     
     
  • None of these answer my question!
    Leave a comment below! I'll try to answer it if I can, and if it's important enough I might add it to this list. Check for other similar questions first though, as if I see a repeat question it will be ignored. Make sure to prefix your post with [QUESTION], or it won't be answered. This is to help people search the inevitable mountain of arguably useless posts and make it so I won't need to answer the same question every other day. This will be enforced to make sure it's used. An example would be:
     
    [QUESTION]
    What is the purpose of the save as .txt option that's currently unimplemented?
     
    The question will be answered with a quote of the original post, followed by an answer, for example:
     
    [QUESTION]
    What is the purpose of the save as .txt option that's currently unimplemented?
     
    [ANSWER]
    This is a low priority planned feature that will allow you to save your files as actual code for Java to allow you to work on your mod normally. This is non-reversible, you won't be able to import this to an Automodder mod down the road, so make sure you save an .MCA file as well!
     
    When you're searching for previously asked questions, start with a search for [ANSWER] to see if I've given an answer to someone else already, and if not make sure to do a search of [QUESTION] to see if the question exists but I haven't been able to answer it yet. If you think you know the answer to a question I'd appreciate if you don't answer it tagged unless you know for 100% sure what the problem is, how to fix it, explain it properly, and use the proper formatting. Untagged discussions of the problem at hand with possible but not guarenteed solutions, are acceptable.
     
     
     
  • Is there anything else that I can do to help get my comment noticed?
    Yes there is! Below is a list of other tags that I'll be looking for. It is highly recommended that they be used. As mentioned above do a search using these tags before you post your own, your answer may have already been noted.
     
    [bUG] Used to submit a bug. Will be responded to with a post tagged [bUGFIX] to help with searching before posting to ensure no duplicate posts.
    [FEATURE] Used to request a feature. These might not be responded to directly, and will be added in the to-do list as I see fit.
    [GRAMMAR] Used to point out any spelling/grammatical errors in this document or in the download files. I'm big on grammar so every step towards perfection is greatly appreciated.
     
    Tags will be added and removed as I see fit. As per before, proper capitalization is highly recommended and improper use of tags to try and get a message noticed will not be tolerated.

 

Current Progress

 

Blocks:

Properties: 80%

Textures: 100%

Basic Eventing: 80%

 

Items:

Properties: 75%%

Textures: 100%

Basic Eventing: 80%

 

Recipes: COMPLETE

Shaped: 100%

Shapeless: 100%

Vanilla blocks/items: 100%

Automodder blocks/items: 100%

 

Planned tasks to do once progress list is completed:

Release: v0.1.0 ALPHA.

 

 

Important Information

 

Currently, although light work has been done on the development interface, there are no plans of it being released due to me wanting to push features first. Mods can be created using a regular text editor, and appropriate text tutorials will be uploaded to assist with anyone wishing to get a head start on mods made with this. This may change if enough people would rather I develop the interface in parallel with the Automodder.

 

 

Downloads

 

As stated above, there are no downloads yet, this is merely a placeholder for the future.

 

 

Final Words

 

Currently, this post is solely for the purpose of introducing the concept to the public, and seeing if it sparks any interest within the community. My goal is to help inspire new creative minds making mods when once they would've been turned away by the entry level requirements while providing all the tools needed to make truly magnificent mods, and that this helps the modding community grow upon what it already is.

If you've made it this far, then I would like to thank you for your time, and hopefully for your support in making this a milestone for Minecraft modding.

Link to comment
Share on other sites

Umm.. I suggest you don't post it unless you can actually download. This won't help.

It is nice to have a placeholder for it and to let people know about it though so even if it doesn't help right now we know that it will be released and will make it much easier for the inexperienced coders to make a mod. Not saying that I will use it but it is a cool idea.

You can find my mod MechaniCraft at this link:

http://www.minecraftforge.net/forum/index.php/topic,13923.0.html

 

- Will11690

Link to comment
Share on other sites

Oh and [FEATURE]

1.) This is probably counted in blocks but custom furnaces (EX:Ore grinders, powered machines).

2.) A type of power system api for powered machines so that they can run off of all current types of power(EX:RF, MJ, EU, etc.).

You can find my mod MechaniCraft at this link:

http://www.minecraftforge.net/forum/index.php/topic,13923.0.html

 

- Will11690

Link to comment
Share on other sites

Oh and [FEATURE]

1.) This is probably counted in blocks but custom furnaces (EX:Ore grinders, powered machines).

2.) A type of power system api for powered machines so that they can run off of all current types of power(EX:RF, MJ, EU, etc.).

 

[ANSWER]

Short answer, both of these features are planned for a later update.

 

Long answer, custom furnaces, chests, and all similar objects all use NBTTagCompound and TileEntity mechanics, and in order to add furnace support the vast majority, if not the entirety of both of those would need to be added in. It's definitely going to be added in, just not in the first release and possibly not for a few releases after. Everything that can be done with these mechanics now will eventually be supported.

 

As for power system API's, they'll once again rely on the NBT tags and tile entities. Any mod that utilizes these will hopefully be fully supported, regardless of if it uses them to store a player name or control an entire energy system. That being said, any fields in a mod classes themselves used for data storage will not be able to be accessed through these mods. All data should be stored in NBT tags though, so ideally this won't cause an issue with mod compatibility and functionality.

 

It would also be advisable to note that the information above is my personal understanding of how Minecraft is coded, and I haven't looked into these aspects for quite a while, so this information may be outdated or altogether wrong.

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

    • This is a MacOs related issue: https://bugs.mojang.com/browse/MC-118506     Download this lib: https://libraries.minecraft.net/ca/weblite/java-objc-bridge/1.0.0/java-objc-bridge-1.0.0.jar and put it into ~/Library/Application Support/minecraft/libraries/ca/weblite/java-objc-bridge/1.0.0  
    • I use Bisect-Hosting, and I host a relatively modded server.  There is a mod I desperately want to have in a server. https://www.curseforge.com/minecraft/mc-mods/minehoplite This is MineHop. It's a mod that replicates the movement capabilities seen in Source Engine games, such as Half-Life, and such.  https://youtu.be/SbtLo7VbOvk - A video explaining the mod, if anyone is interested.  It is a clientside mod, meaning whoever is using it can change anything about the mod that they want, with no restrictions, even when they join a server with the same mod. They can change it to where they can go infinitely fast, or do some other overpowered thing. I don't want that to happen. So I just want to know if there is some way to force the SERVER'S configuration file, onto whoever is joining.  I'm not very savvy with all this modding stuff. There are two config files: minehop-common.txt, and minehop.txt I don't really know much about how each are different. I just know what the commands relating to acceleration and stuff mean.    
    • My journey into crypto trading began tentatively, with me dipping my toes into the waters by purchasing my first Bitcoin through a seasoned trader. With an initial investment of $5,000, I watched as my investment grew, proving to be both fruitful and lucrative. Encouraged by this success, I decided to increase my investment to $150,000, eager to capitalize on the growing popularity of cryptocurrency, However, as cryptocurrency gained mainstream attention, so too did the number of self-proclaimed "experts" in the field. Suddenly, everyone seemed to be a crypto guru, and more and more people were eager to jump on the bandwagon without fully understanding the intricacies of this complex world. With promises of quick and easy profits, these con artists preyed on the uninformed, luring them into schemes that often ended in disappointment and financial loss. Unfortunately, I fell victim to one such scheme. Seduced by the allure of easy money, I entrusted my hard-earned funds to a dubious trading platform, granting them access to my accounts in the hopes of seeing my investment grow. For a brief period, everything seemed to be going according to plan, with regular withdrawals and promising returns on my investment. However, my hopes were soon dashed when, without warning, communication from the platform ceased, and my Bitcoin holdings vanished into thin air. Feeling helpless and betrayed, I confided in a family member about my predicament. They listened sympathetically and offered a glimmer of hope in the form of a recommendation for Wizard Web Recovery. Intrigued by the possibility of reclaiming what I had lost, I decided to explore this option further. From the moment I reached out to Wizard Web Recovery, I was met with professionalism and empathy. They took the time to understand my situation and reassured me that I was not alone in my plight. With their guidance, I embarked on a journey to reclaim what was rightfully mine. Wizard Web Recovery's expertise and dedication were evident from the start. They meticulously analyzed the details of my case, uncovering crucial evidence that would prove invaluable in our quest for justice. With each step forward, they kept me informed and empowered, instilling in me a newfound sense of hope and determination. Through their tireless efforts and unwavering support, Wizard Web Recovery succeeded in recovering my lost Bitcoin holdings. It was a moment of triumph and relief, knowing that justice had been served and that I could finally put this chapter behind me. In conclusion, My experience with Wizard Web Recovery  was nothing short of transformative. Their professionalism, expertise, and unwavering commitment to their clients set them apart as true leaders in the field of cryptocurrency recovery. I am forever grateful for their assistance and would highly recommend their services to anyone in need of help navigating the treacherous waters of cryptocurrency scams. 
    • Ok so: Two things to note: It got stuck due to my dimension type. It was previously the same as the overworld dimension tpye but after changing it , it didn't freeze during spawn generation. ALSO, APPARENTLY, the way I'm doing things, the game can't have two extremely-rich dimensions or it will make the new chunk generation be veeery VEEERY slow. I'm doing the dimension file genreation all in the data generation step now, so it's all good. Mostly. If anybody has any tips regarding how can i more efficently generate a biome-rich dimension, im all ears.
    • https://mclo.gs/qTo3bUE  
  • Topics

×
×
  • Create New...

Important Information

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