Jump to content

Bee-Related Modding Question/Dire Call For Aid


Recommended Posts

-HELP! I'm in un-bee-lievable trouble-

i've recently got into this game and there are some things that I would like to mod but have very little techinical skill/know-how. Over the last 8 hours I've been trying to add a new block into the game which is identical in function to the base Skep block but looks diffrent and is built with a diffrent crafting grid recipe.

I have have achived the creation of said block and implemented it into the game as a 'static' block, not to mention I have manged to stumble through working out how to allow myself to craft the block.

-I don’t hive a clue!-

The real issue I have is the functionality of the block, long story short I just have no clue how to make it give honey or even change the block look after it's 'full'.


I have played around with the .cs files for quite a number of hours now but I really have no clue what i'm actualy doing.

-if you can help me work this out I would bee happy-

Here is a working version of the 'static' block I have made:

OatsOddities0.1.zip

Link to comment
Share on other sites

1.  Remove the space from your code.  code: "woodenbeehive",

2. Put the class back in, this is where some of the "magic" happens:   class: "BlockSkep",

3.  You need the type variant group

    variantgroups: [ { code: "type", states: ["empty", "populated"] }    ],

This works in conjunction with the code to create your unique blocks...in this case

woodenbeehive-empty
woodenbeehive-populated

You *probably* don't need the "side" variant group, that just handles rotation

4.  Now that you've cleaned up your unique blocks, you can put the entity class back in.  This is where the rest of the "magic" happens

entityClassByType: { "*-populated": "Beehive"  },

Note that the "*-populated" is basically a wildcard search of your unique blocks, and will apply the Beehive entity class to  "woodenbeehive-populated"

5. This sound wasn't working before, and needs to be changed so it works now...to this:

ambientByType: { "*-populated": "game:creature/beehive" }

See #4 for the reason why I removed the -* from the end of populated.

6.  If you want an empty behive to look different than a full beehive, then the "shape" should be "shapebytype" to handle the transition of the model from an empty woodenbeehive to a populated beehive, so SOMETHING like

shapebytype: {

        "*-empty": { base: "block/wooden beehive" },

        "*-populated": { base: "block/wooden behivepopulated"}

    },

Where  "wooden beehive.json" and "wooden beehivepopulated.json" are two models sitting in your shapes\block folder.  There's more elegant ways to write that, but what I wrote above would work.

After all of that, it may work to some degree, but I doubt it.  It totally depends on how accepting the BlockSkep class and Beehive entityclass are of your two new blocks.  My guess would be that they won't work without rebranding them as your own, which would mean rewriting them in c#.  

Edited by Spear and Fang
  • Like 1
Link to comment
Share on other sites

Thanks for the the help Spear and Fang. I think I've gotten a little closer to making this mod a reality but sadly this method didn't work and I belive i will have to edit the files in C# to make it work.

I have tikered around in C# but have yet to get it to work maybe someone (who is smarter than I) can work it out.

I have left the two files that I currantly have, one i have messed around changeing things in c#, the other is a clean version of what i started with.

Thanks again for the help.

Oats Oddities 0.1 (modified).zip Oats Oddities 0.1 (un-modified).zip

Link to comment
Share on other sites

Well I took a quick look, but it would take a LOT of work for me to make this functional.  

My recommendation is that work through the Programming and Game Objects sections of this page:  
https://wiki.vintagestory.at/index.php?title=Main_Page

...and most everything before that if you haven't already. I'd also recommend that you look at some existing mods, lots of the source code can be found on github.

In a nutshell, if you need to rewrite those classes, they'll all need new unique names, and will need to be properly registered.  If you plan on using those vanilla classes as templates, you'll either need to make them compatible with an older version of c# like 6.0 (that is, if you want them to just sit in the mods folder and therefore let the game to compile them), or you'll need to set up a true development environment that will precompile them with a newer version of c#.  

Sorry, but I simply don't have the interest or will to build this mod!

 

Link to comment
Share on other sites

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.