I have questions...a lot of questions

I’m not a modder. Most likely not gonna mod anything. That being said I was wondering about something. I’ve been playing a local universe on the testing side. Came out pretty cool! Except well, one of the planets is exactly 1 blinksec out of reach with max skill. But thats not why I’m here.

Is there a way to mod the centraforge? Say to add a “mod gum” or some such thing? I want bomb mining in my private universe, eventually lol. I don’t know enough about it to even begin to assume how or even if things like that are possible though.

Modding is mostly UI focused as far as I know…But lets see what the subject matter experts have to say. I’ve attempted to edit the json files BUT they never really took

1 Like

Iirc right now the only modding is on the live servers, so they aren’t gonna let us do things like add or change the 'forge. :sweat_smile: However, I think, with the private or local universes there will be or should be more freedom to edit/modify.

2 Likes

Probably you can change setting so that bombed blocks will give drops.
There are many settings that can be manipulated just by modifying json files when using playing on local sandbox. For example spraying gleam (this was much before current testing update came)

1 Like

Any idea how/ where I could find?
As I recall there is something else I’d have to change, whatever scales the damage between blocks and seams.

It would probably be simpler to just let the bombed blocks have drops.

It’s true that right now rock has more bomb armor than seams.

1 Like

From the blocktypes.json Nothing here seems pointed at prevention of drops. I’m no expert, but It all looks like graphical info. Same with the weapons/tools .json
Considering the fact that we most likely don’t have access to the files that allow/disallow ‘action’. And I did some reading the Lua script doesn’t allow the creation of ‘new’ items. I’d have to learn a lot of code to allow for bomb mining it seems. :man_shrugging:
“ROCK_METAMORPHIC_BASE”: {
“attributeModifierBundles”: [“Block Hard Initial”],
“basePalette”: “ROCK”,
“effects”: {
“BLOCK_BROKE”: “block_stonenatural_break”,
“BLOCK_HIT”: “block_stonenatural_hit”,
“BLOCK_PLACE”: “block_stonenatural_place”
},
“flags”: [
“SELECTABLE”,
“VISIBLE”,
“RANDOM_HEIGHT”,
“COLLISION”,
“STACKABLE”,
“BARRIER”,
“ROTATED_BLOCK”,
“CAN_CONTAIN_ORES”
],
“allowPrefab”: true,
“generateable”: true,
“generateSlopes”: “FULL”,
“generationTop”: 32,
“stackSideTextures”: “tile”,
“textureAtlas”: “blocks”,
“shape”: “SLOPE”,
“textureSide”: {
“textures”: [
“rock_metamorphic_base_01_cm”,
“rock_metamorphic_base_02_cm”,
“rock_metamorphic_base_03_cm”,
“rock_metamorphic_base_04_cm”,
“rock_metamorphic_base_05_cm”,
“rock_metamorphic_base_06_cm”,
“rock_metamorphic_base_07_cm”,
“rock_metamorphic_base_08_cm”,
“rock_metamorphic_base_09_cm”
]
},
“textures”: [
“rock_metamorphic_base_01_top_cm”,
“rock_metamorphic_base_02_top_cm”,
“rock_metamorphic_base_03_top_cm”,
“rock_metamorphic_base_04_top_cm”,
“rock_metamorphic_base_05_top_cm”,
“rock_metamorphic_base_06_top_cm”,
“rock_metamorphic_base_07_top_cm”,
“rock_metamorphic_base_08_top_cm”,
“rock_metamorphic_base_09_top_cm”
],
“tileTopTextures”: true,
“tileBottomTextures”: true,
“transparency”: 0

It is probably hardcoded in some files. In theory if we can create our own server so we have access and “can modify” those files. I did not check myself but you probably gonna need to unpack some file and repack them. Maybe @willcrutchley have some insight about this.

Edit: just to make it clear, the file you want to modify will be the one on the server side and not the client.

2 Likes

Gotcha. I wouldn’t even know where to begin :sweat_smile:
Client side is easy it’s on my toaster. Server stuff…:man_shrugging: my guess would be in steam somewhere?

In your Boundless folder you should have a directory structure a bit like [steam_library]\Boundless\server\assets\archetypes.
There’s a file called compiledblocks.msgpack which contains the config for whether or not a block should drop things when destroyed by a weapon.
If you were to convert this to JSON, edit all the applicable blocks ( they have a property noDropWithWeaponDamage which you can set to False for seams for example ) then you could have drops. You’d have to then reconvert this back to msgpack.

I think my scripts here work still but no guarantees: https://github.com/willcrutchley/boundless-msgpack

Your client will end up mis-predicting that there are no drops so maybe they’ll be a bit slow to appear but it should work. If you don’t intend to play on the live server you could make the same changes to your client-side file at [steam_library]\Boundless\assets\archetypes\compiledblocks.msgpack but doing this would cause the opposite mis-prediction when playing on public servers.

Whatever scales damage between blocks and seams would be contained in attributes.msgpack but I haven’t experimented with that.
I can’t recall whether bomb damage would count as impulse but there are some entries there for Block Seam Initial to have higher Impulse Armour and Impulse Reduction. It could be a matter of just editing those values

5 Likes

These files are probably around the folder your local universe planets are saved at. I didnt play with it so i am nit sure where they are but they are definately somewhere on your pc.

after fiddling for awhile with copies this is the closest I’ve gotten…I’ve edited some of the file names for privacy…
compiledblocks.msgpack …
Traceback (most recent call last):
File “C:/Programs/Python/Python310/Scripts/msgpack2json1.py”, line 32, in
convert(file)
File “C:/Programs/Python/Python310/Scripts/msgpack2json1.py”, line 17, in convert
data = msgpack.unpack(in_file, strict_map_key=False)
AttributeError: module ‘msgpack’ has no attribute ‘unpack’

That’s strange, it works fine for me… Did you install the latest version of the msgpack module?

What do you mean, were you fiddling with the code? If so you shouldn’t need to

not code, a copy of the original msgpack. so, as not to ruin the game with experiments. I’m a bit out of my knowledge depth here. Last coding I did was for Myspace 15 years ago :sweat:

Not sure how to install, msgpack-1.0.2-cp37-cp37m-win_amd64 (.whl)

In theory if you’ve got python you should have pip too, so you should just be able to run pip install msgpack in a terminal :crossed_fingers:

figured that out…eventually
in cmd It was literally py -m install msgpack
What now? Do I make my own folders?

If you download the repo I linked as a zip file it has a ReadMe file explaining everything, and has the folders already

:roll_eyes: found it

Within this infinitesimal amount of code is a single line per seam that would allow bomb mining. Provided I only utilize it on a private/local server…

So, I do this to only the seams and replace the server and client files. And it should allow for bomb mining? (in it’s most exploited form to date). I shouldn’t have to balance skills anymore, right?
Edit: Is there a space for local universe files that I could potentially do this in instead?

In theory it would be enough to get things to drop from bomb mining - whether the damage would scale properly to make it effective I’m not sure.

The server one I mentioned is for the local universe, and you shouldn’t have to edit the client one for it to work as far as I’m aware

1 Like