Jump to content

MCNeo - A major, standalone MineCraft mod


EHX

Recommended Posts

Hi everyone,

 

since I'm not entirely sure whether or not to set up Twitch so I can have a MCForum account, I'll post this here for now. This post will be updated with the MCForum link as soon as my project is up there too.

 

EDIT: The MCForum post can be found here.

 

Anyway, as it says, MCNeo is a major MineCraft mod I'm currently working on. It's currently being developed for MineCraft 1.8, as I'm only planning to introduce it to 1.9+ once I'm introducing stat packs, and I have more than enough major features planned for the 1.8 release already. I'm building it with the MineCraft Coder Pack.

 

I'm currently working on transferring structure generation to a template system, fairly similar to Ruins, except my concept is modular in order to allow for procedural structures. Other planned features are:

  • Import of the dimension mods Aether, Erebus, Atum and Deeper Caves.
  • Import of some more basic mods, namely Torch Levers, Iron Chests, Potion Core, Exp Chests, Deconstruction Table, Power Apples and Lucky Blocks.
  • World generation will be overhauled to use something akin to Customized for everything, expanded to support all world types. Also world gen will be customizable for each dimension individually, and allowed to feature biomes that normally only appear in other dimensions.
  • I also plan to pre-port the Outer End and Bone Fossils.
  • The world type setting will also include a version of the Standard Overworld that includes the Far Lands, as well as basically a Superflat for the Nether (for convenience so you don't have to put a lot of air layers and then the bottom layers in opposite order manually).
  • Oh, I mentioned Lucky Blocks. I'm actually not only including the basic mod, but also 7 alternative textures for the block itself, each with a list of drops that resembles the original addon, with Loot++ blocks and items obviously being imported.
  • Oh right, Loot++. The recipe customization feature will also exist, with recipe lists for all crafting tables, furnaces, brewing and the Offering Altar from the Erebus mod. Custom ChestGenHooks are obviously a thing also.
  • Also on the side of modded entities, besides what comes with the dimensions, I'm also planning to import Elemental Witches, Ore Spiders and Aqua Creepers, as well as the minotaurs from Gabriele Maurina's Best Mazes (obviously along with Ivory, Pisellite and the mazes).
  • If possible, I will also include TangoTek's Mummy Mod. Yes, in addition to Atum Mummies.
  • Now with all the imports, you may think I'm not planning anything of my own besides a massive customization expansion. Well, I actually also plan to feature a custom rendition of the Wither Storm and my very own interpretation of the Hovering Inferno, as well as a custom Demon Lord boss. (Well, sort of. I'm using existing textures because I'm garbage at shading. But the abilities are meant to be fully custom.)
  • I also have a bunch of random custom additions on my list:
    • A piston that can push any block in the game (except for extended Pistons), but requires a Dragon Egg for crafting by default.
    • 2 new Slime Block variations, one of which is hard and slippery, and one is swampy and somewhat similar to Soul Sand.
    • A cake that requires rare ingreidents, but in exchange grants a few buffs as you eat a slice.
    • Glass that replicates the different dimensional portals (purely aesthetical).
    • Wool that replicates a few special property blocks (for instance I heard some players like using Snow when building, but Snow can cause melting issues, so...).
    • 5 fairly hard custom achievements, although I'll tweak a few aspects so they will all be possible on Easy difficulty and without heavily relying on RNG.
    • Fully custom recipes for all Potion Core potions. (I'm literally not looking at any mods for inspiration on that regard. I have some of them in my JSON file for crafting recipes already, so feel free to have a look.)
  • Also, MineCraft gets an actual backstory, that is being referenced at, as well as being written in a custom Book of Lore that can occasionally be found in Starter Chests.

 

Long story short, it's pretty much a combination of my favourite mods with removals of limitations I noticed on them, as well as stuff I always wished existed, but I never found a mod that properly provided it. For a better overview what I'm planning, I included my main config files, as well as the en-US.lang and a few example templates. (Some of those files are heavily WIP. For instance, creation.json will include most recipes from Vanilla MineCraft and the imported mods in the final product, and ChestGenHooks from some structures I plan to add are still missing too, in particular the ones from Aether dungeons.)

 

Now as I mentioned, I'm currently working on the template system. It's a modular template system where each room in a structure has its own template, and there's additional templates for the structures themselves that put it all together. The room linkage system has two parts: The structure template determines which module templates are loaded into the structure as rooms. The module templates themselves are fairly similar to Ruins templates (except I tried to improve readability by using JSON). One major addition, however, are the connectors that define areas within the module where it can overlap with other modules (and thereby become part of the structure). Connectors have a named ID (connectors with the same ID are treated as "basically the same") and a list of IDs they can connect to. This list is optional, by default it's a list with only the connector's own ID. If you provide a list, however, the connector's own ID will not be included implicitly. Module and structure templates are distinguished by their location: Module templates are being put in .minecraft/generation/structure-modules, while structure templates use the .minecraft/generation/structures folder. From the appended templates, cobble-boulder.json, navy-very-lucky-acropolis.json and village-path.json are modules and village.json and dungeon.json are structures.

 

Currently, chances are I'm working on the template system as my bachelor thesis, so I can't take that much help on it. What I know for sure will be allowed, though, is asking a few questions that arose:

  1. Where are the chest gen hooks for starter chests and mineshaft chests located in the code? Those are the only two I can't seem to find anywhere.
  2. Since I'm using non-seed RNG for the structure layout (by design), I can't populate chunks before doing part of the generation on them. And if I only populate chunks that are currently being loaded, structures will always be either very small, or stretched out in one direction. So I need to perform the abstract generation steps in advance, on a notably larger scale. Currently I'm struggling at how to approach that. Does anyone have any ideas?
  3. I'm having testing issues. My code relies on data that would normally be located at the root of the .minecraft directory. However, I have no idea what location in MCP corresponds to .minecraft, so I don't know where to put my test data. Can someone help me out on that?

 

Thanks in advance, guys!

village.json

dungeon.json

cobble-boulder.json

village-path.json

ChestGenHooks.json

creation.json

en_US.lang

navy-very-lucky-acropolis.json

Edited by EHX
Inserted link to MCForum post
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.



  • Recently Browsing

    • No registered users viewing this page.
  • Posts

    • Hello all! I'm currently trying to make the Biomes o' Plenty mod (1.12.2 version) compatible with my shaderpack (BSL v8.5). Even after I've already inserted a "shaders" folder with a correctly-formatted blocks.PROPERTIES file within the assets folder of the .jar, it still does not wave the textures from the mod. I definitely thought this was going to work since I noticed the 1.19.2 version of the mod laid it out exactly like that and it worked perfectly when my PC was able to run 1.19.2 Forge... ^^;;; Could there be some missing link I'm not getting at here?
    • After much experimentation I finally realised why this doesn't work and how to fix it. The critical component to understand here, is that ItemCraftedEvent is called before the crafting ingredients are purged from the crafting slots; this all happens in ResultSlot.java's onTake method: We can see here the first line fires checkTakeAchievements, this is what fires the ItemCraftedEvent (after a few method calls). Then we can see the purge behaviour. I worked around this by creating a CarverItem class, which uses hasCraftingRemainingItem and getCraftingRemainingItem to hook into ResultSlot.onTake: Now, I reconstruct my ItemCraftedEvent handler, and using some smart tags (which I omit for brevity), I handle two cases: 1. When crafting a carved item, I damage the tool used in the recipe 2. When crafting a carving tool from a repair recipe, I manually purge the input tools as with the new CarverItem class, as otherwise items would be duplicated   This has now greatly improved implementation, beyond my expectations, for the standard crafting table and the user's inventory crafting grid. A user can now click or shift-click 'carve' items, with no duplication or issues that I have spotted so far.  
    • Hi, I'm having issues launching my Forge 1.20.1 installation (47.2.0). I keep getting error code 1, and all the logs abruptly pause with the game attempting to open GL 4.6. Latest Crash: https://pastebin.com/zsP5Wipk Debug (No idea what the real name is) Log: https://pastebin.com/CzvqhNq0   Thanks for the help!
    • In the most up to date version of Allthemods 6 (v1.9.2) the stoned bee is not able to be interacted with apart from putting it into an empty bee jar. I can't breed the bee or put it into my aviary breeder. When I try to put it into the breeder it says import unsuccessful. The stoned bee is one of the most important bees for advancing in the mod so it is rather unfortunate that it is not working as intended.
    • Everytime I try to run the Forge 1.20.1 - 47.1.0 Installer, only appears an a black window and then closes. I don't appear the installing menu anymore.
  • Topics

  • Who's Online (See full list)

    • There are no registered users currently online
×
×
  • Create New...

Important Information

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