Jump to content

Would Forge, MCP and Spigot teams be willing to work with Mojang?


Recommended Posts

Now that there's a C++ client (which performs orders of magnitude better than the Java client in my experience) Mojang needs to make it moddable. Certainly no easy task, but they could use the years of expertise of Forge and MCP people to speed up the progress considerably. Would the unsung heroes of the Minecraft modding community be willing to get hired by Mojang? My suggestion is that those teams of devs take the iniciative and get together and develop a prototype or a schematic approach for a modding framework and present it to Mojang.


Also, how hard do you guys imagine it would be to write a modding framework for C++ minecraft? No class loader, no JIT, no runtime. Is it even possible?

Link to comment
Share on other sites

Unless something THIS BIG was able to pass before my eyes (and whole google search engine) unnoticed - it doesn't exist.


PC edition for MC is Java only.


If you are referring to official clients that are written in C++, you are talking about extended Minecraft Pocket Edition for Windows 10 (and few other platforms).


No - those are not even close to Java Minecraft which will stay (Java version) in development for at least quite many years if not even forever.

If we were to expect C++ ports anytime soon - questions like these have been alredy asked and answers revolved around Forge being made for JAVA and if we were to get C++ version - it is possible that someone (even from forge contributors) might start working on it.


As to hiring and all other stuff - highly unlikely.

As to C++ capabilities - well, yeah, it would be possible but way I see it the modding would be totally different from current one (and much harder considering even Java is quite too hard for some here - I am refering to ppl that have no clue about coding and try to write a Mod. Said that - mastering C++ is waaaay harder).

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

Link to comment
Share on other sites

Honestly, I think that the Pocket/Win10/Gear VR Edition will get an official mod/plugin API within a couple years, once the 2 teams working on the edition (Mojang's PE team and the Win10 Edition team from MS) have achieved feature-parity with the Java edition and they can shift their priority to something else. I'd almost be willing to bet that it gets its mod API before the Java edition, much like BUD blocks, fixed boats, pistons-pushing-block-entities, etc.) At that point, depending on how powerful the official API is, the community for the C++ edition might build their own API on top of the official one to allow for more complex changes/additions.


As for right now, the C++ edition is not yet ready to replace the Java edition and to do so needs to achieve feature parity, get ported to OS X & Linux, and get a mod API. The modding community for PE is pretty small right now, due to a lack of modding tools as powerful as Forge and lack of proper dedicated server software. C++ is also considerably more difficult to mod without an existing official API (which is why one is so essential), and the majority of the Minecraft modding community has experience in Java, which is mainly due to the fact that up until recently, the only edition worth modding was written in that language. (It was only a couple years ago that PE had finite worlds, no hunger/experience, no Redstone mechanics, and only a couple mobs.)


So basically, the Java edition's modding community is either not experienced enough or not going to want to bother making an API for the C++ edition, seeing as that an official one is not too far on the horizon. One day the C++ edition will become the dominant platform, but there needs to be feature parity, the official API, and Mac/Linux support first, and it will take time for the existing community to move over and for new people with C++ experience to start modding.

Colore - The mod that adds monochrome blocks in every color of the rainbow!



If you're looking to learn how to make mods for 1.9.4, I wrote a helpful article with links to a lot of useful resources for learning Minecraft 1.9.4 modding!



Link to comment
Share on other sites

But I don't think the mods would have to be written in C++ necessarily. C++ gets compiled into machine code, so as long as a piece of code externalizes an API it can interact with anything, because, in the end, it all boils down to the hardware instructions. I believe we would still have a considerable performance gain if our mods targeted .NET, with minecraft running pure machine code and offering numerous API entry points with which the CLR on top of it could use to run our mods. It would probably be a gargantuan project to implement, but with Microsoft backing Mojang up I think they are up to the task.


In the end it all depends on how interested Microsoft is in making this happen. And I think it would be foolish of them to not consult with the developers of the modding tools like Forge, Spigot and MCP. Lots of enterprises fail because big shots from the outside look at a bunch of data to figure out how the inside is like, instead of just asking someone who's been inside all his life.


PC edition for MC is Java only.


If you are referring to official clients that are written in C++, you are talking about extended Minecraft Pocket Edition for Windows 10 (and few other platforms).


Yes, I was refering to Minecraft client for Windows 10. It's a beta. They're working on it. I believe it won't be long before it gets all the features of the java client and more. Only problem I foresee, as of course is the topic of this thread, is how will they manage modding.

Link to comment
Share on other sites

  • 1 month later...

The Windows 10 client isn't intended to "take over" as the primary Minecraft version on desktop computers, it's the pocket edition version meant for Windows 10 devices other than PCs (ie phones, xbox one, tablets, etc..apparently it even runs on the hololens...which sounds incredibly cool).


However, what you're asking for though has, in a way, already happened.


Searge, the founder of the MCP project, was hired by Mojang a couple of years ago and has been an active dev of the PC version of Minecraft ever since, while still working on the MCP-project.


Mojang hired the Bukkit team to work on the official mod API back in 2012 and then promptly had them locked away in a dungeon never to be heard from again (I haven't heard anything from/about them since, probably due to me not paying attention but it's more fun to assume that they're being kept hidden in a dungeon somewhere).


Yet, still no official mod API. Personally I doubt we'll ever see an official API, not because they can't do it but because they don't want the headaches involved with supporting it. Maybe in the PE edition(s) but not in the main client.


Link to comment
Share on other sites

  • 1 month later...

Searge, the founder of the MCP project, was hired by Mojang a couple of years ago and has been an active dev of the PC version of Minecraft ever since, while still working on the MCP-project.

So he works on the deobfuscation of the code owned by the very company he works for.



Link to comment
Share on other sites

  • 2 months later...

Funnily enough, I was actually contacted about working on the XBox version of Minecraft.  If it weren't for the fact that my C++ skills are virtually non-existent I'd have taken it.

Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable.  If you think this is the case, JUST REPORT ME.  Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice.


Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked.


DO NOT PM ME WITH PROBLEMS. No help will be given.

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.

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.


  • Recently Browsing

    • No registered users viewing this page.
  • Posts

    • I have a structure, and sometimes several mobs spawn there. This is a boss and must spawn alone. Here is the code for spawning entities in the structure { "type": "minecraft:jigsaw", "start_pool": "egyptcraft:boss_pyramid/start_pool", "size": 5, "max_distance_from_center": 80, "biomes": "#egyptcraft:has_structure/boss_pyramid", "step": "surface_structures", "start_height": { "absolute": 0 }, "project_start_to_heightmap": "WORLD_SURFACE_WG", "use_expansion_hack": false, "spawn_overrides": { "monster": { "bounding_box": "full", "spawns": [ { "type": "egyptcraft:anubis", "maxCount": 1, "minCount": 1, "weight": 100 } ] } } } Maybe it's something else?
    • I have OreGenEvent.GenerateMinable event, I need to get a chance to spawn (generate) every ore that is processed in this event. Also e.getType().name().toString() is name this is the same block name by which it can be entered in the Block.getByID?  forge 1.12.2 59(recommended)
    • Hello everybody! Out of nowhere my minecraft doesn't allow me to play on forge 1.19.2 I tried to reinstall minecraft, doesn't have any mod right now on the forge version. Tried the newest version of forge, tried recommended version as well. I have the newest version of Java as well...   I dont know why it stopped working but it just stopped completly out of nowhere...   Thank you so much for your help guys ❤️
    • Hello, my world is crashing at 0% loaded and I don't know why. (Forge 43.2.14, 1.19.2) I have two worlds that I play on, and one works and the other doesn't, even with the same mod list. Here's the crash report: https://pastebin.com/AUbRwkGj
    • Minecraft 1.12.2 Very frustrating error. only ever occurs on one device. Started yesterday without prompting (maybe java updated or something?) Says things that have been imported actually arent when running client Reinstalled Intellij, cleared cache, cleaned and rebuilt gradle, redownloaded the entire file from git. Nothing works. (I believe I have the right plugins installed, dependencies OK, and am using corretto 1.8).   One thing I did for more of the below errors was just to explicitly import them, which was working up until this little guy who literally does not exist in forge to import. the class inhereting something inhereting it refers to import net.minecraftforge.registries.IForgeRegistryEntry.Impl, not net.minecraftforge.registries.IForgeRegistryEntry$Impl as the output implies. also I didn't even have to manually import these things for it to work on my other device. (which is just importing the minecraft package that contains them), but here I did have to just to get rid of a few errors--not even make anything work?? I dont know. (edited) here's the aforementioned "below error" (one of many like it): error: cannot access net.minecraftforge.registries.IForgeRegistryEntry.Impl public class BlockBase extends Block {        ^   class file for net.minecraftforge.registries.IForgeRegistryEntry$Impl not found Here's the class BlockBase:   package com.quantum.exodus.common.blocks; import com.quantum.exodus.ExodusMod; import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.Item; import net.minecraft.item.ItemBlock; import net.minecraftforge.registries.IForgeRegistryEntry.Impl; public class BlockBase extends Block { protected String name; public BlockBase(Material material, String name) { super(material); this.name = name; setTranslationKey(name); setRegistryName(name); } public void registerItemModel(Item itemBlock) { ExodusMod.proxy.registerItemRenderer(itemBlock, 0, name); } public Item createItemBlock() { return new ItemBlock(this).setRegistryName(getRegistryName()); } @Override public BlockBase setCreativeTab(CreativeTabs tab) { super.setCreativeTab(tab); return this; } }
  • Topics

  • Create New...

Important Information

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