Asking for help: changing animatedlights/particles/cubemitter

For some days now i try to change the behavior or just the color of light sources.
The difficulty is that every change in the cubemitter json or the ambientlight json comes to an end in always the same error

rpc | received reply with unknown call id '2657’
2015-Jul-10 17:57:13.926399 | client | 0 | renderer.renderer | failed to load render resource /particles/lamp/firefly_lamp.cubemitter.json
2015-Jul-10 17:57:13.926399 | client | 2 | horde.general | Resource ‘/particles/lamp/firefly_lamp.cubemitter.json’ of type 1007: No data loaded (file not found?)
2015-Jul-10 17:57:13.926399 | client | 0 | app | Assertion Failed: false(…\source\client\renderer\renderer.cpp:1980)
2015-Jul-10 17:57:14.401426 | server | 1 | simulation.remote_client | started buffering client updates. (seq:7821 ack:7811)
2015-Jul-10 17:57:26.570122 | client | 0 | sysinfo | Memory Stats: Fatal Exception

Thats just an example of the try in which i tried to rename the cubemitter file without changing anything else

It`s not the file paths i use so where is the renderer reference pointing towards these files ?
Is there a guide to solve this ? or is it just impossible (now) ?

You can currently add your own particle effects to the game. But they must have valid values. Like this…
/uploads/stonehearth/original/2X/8/8d420199f92f6b892f7060ba7480e8c57fb8e775.gif

What exactly were you trying to achieve?
Which file and where did you rename it?

2 Likes


(original from lamp_effect_wall)(working)
i tried to change this into
“cubemitter”: “particles/lamp/firefly_lamp.cubemitter.json”,
and rename the file and changed the path to pinpoint towards my file
so just renaming and no changes to the values

Your cubemitter path there, should be something like this:

"cubemitter": "/sample_mod/data/horde/particles/water/puddle.cubemitter.json",

So the path should be the full path to your cubemitter file:

/your_mod_name/data/horde/particles/any_folder_if_you_have/cubemmiter.json

Did you specify it like this? I’m not sure if you have to have specifically the data/horde/particles structure into your mod, but just in case, it’s better to follow the stonehearth folder structure when modding.

ok, got it working but again i`m totally confused by writing paths.
Sometimes i must write them in full length sometimes short is enough (same folder i know) sometimes half the lenght is enough
plz plz someone explain the rules of writing paths to me (i did it at least a thousand times wrong)

differences between
"file()"
"my_mod:path1:path2"
“my_mod/folder1/folder2/folder”
“my_mod/folder1/folder2/folder3/file.json(.qb, .png and so on)”

Big thanks to you Relyss, maybe i come back later with new problems…
critters ? :slight_smile:

and i always follow the original folder structure not confusing myself

1 Like

Let’s see…

“file(entities/whatever/my_entity)” equals to "my_mod/entities/whatever/my_entity/my_entity.json"
but if you want to use file() to shorten any other extension than json, you’ll have to write the full path including the name and extension of the file:
“file(entities/whatever/my_entity/my_entity.png)”

my_mod:path1:path2 is an uri. It’s used to reference some part of your mod inside other files, and mostly used in the manifest (although in your mod manifest you don’t need to put “my_mod” before “path1:path2”). “path1:path2” doesn’t need to be folder names, they could be whatever, especially in the aliases section of the manifest, but it’s more convenient to use your folder structure anyway :smile:

Inside some json files, when referencing something from your mod (especially icons) you’ll have to write the full path too, beginning with forward slash ( “/my_mod/entities/my_entity/my_icon.png”) or else the game will fail to load it.

Here it is with help from you Relyss

some bottles with greenish fireflies trapped in them for a warm light

a little introduction in “animal_crafting” from my druid_mod

4 Likes

Beautiful! :smiley: thanks for sharing!

2 Likes

Psst, @Relyss: a little while ago, I added acceleration to the cubemitter, and told no-one :slight_smile: It looks just like velocity, e.g.:

   {
    "name": "waterfall",
    "duration": 20,
    "particle": {
        "speed": {
            "start": {
                "kind": "CONSTANT",
                "values": [0]
            },
            "over_lifetime": {
                "kind": "CONSTANT",
                "values": [
                    [0]
                ]
            }
        },
        "lifetime": {
            "start": {
                "kind": "RANDOM_BETWEEN",
                "values": [1.1, 1.2]
            }
        },
        "acceleration": {
            "over_lifetime_y": {
                "kind": "CONSTANT",
                "values": [ -0.3 ]
            }
        },
        "velocity": {
            "over_lifetime_z": {
                "kind": "CONSTANT",
                "values": [5.0]
            }
        }
    },
    "emission": {
        "rate": {
            "kind": "CONSTANT",
            "values": [20]
        },
        "origin": {
            "surface": "RECTANGLE",
            "values": [3.0, 3.0 ]
        },
        "angle": {
            "kind": "CONSTANT",
            "values": [0]
        }
    }
}
5 Likes

Yay! :smile: That looks easier to plan, I was always confused between the “speed” and “velocity” attributes :sweat_smile:


@Chabonit, it looks really pretty! :smiley:

1 Like

What must i do to have a cubemitter which is always on ?

I changed all the values and got a cubemitter to do what i wanted him to do but …only at night which is worthless until it`s a bone spitting cubemitter …

Inside the components section of your entity json file, add this section:

"effect_list" : {
     "effects" : [
        "/your_mod/data/effects/your_effect/your_effect.json"
     ]  
  }

“your_effect” being the effect that points to your cubemitter. (Adjust the path if needed and make sure that the json doesn’t have typos or syntax errors).

1 Like

working. Thanks Relyss

2 Likes