• If you have a mod, tool or prefab, please use the Resources section. Click Mods at the top of the forums.

XPath Modding Explanation Thread

This is a large amount of information in these posts. I'll be working on a full, properly formed tutorial as we get access to A17 and we can really make the xpath system shine. I've listed some examples here, and we'll be posting a ton more xpath samples over the coming weeks, as we port the SDX modlets over to use the native hooks.

By all means, begin posting your comments, questions, or requests for clarity.

Since we now know that xpath support will be built-into the vanilla base game, and discussions earlier were getting a bit confusing, I've decided to make a new thread to try to demystify xpath and what it'll mean for mods and modders going forward in A17. The information in this thread has been pieced together from forum and discord discussions. They may not be 100% accurate, but I will update this thread when we know the full implementation.

XPath is a way of adding, changing, or removing XML lines and nodes, without directly editing the XML files. It allows you to apply patches to the XML files without manually editing the vanilla XML files.

SDX has had partial support for this since its initial release, and a lot of the SDX Modlets are already written this way. We will be using some of the SDX's xpath as examples in this thread, but SDX is not required to do this in A17 and onwards.

I believe in using examples to explain concept, so in the next few posts, you'll see a mixture of explanation, along with sample xpath code.

The following Mod structure is expected for A17 and beyond:

Code:
Mods/
   <ModName>/
       Config/
       UIAtlases/ItemIconAtlas/
       ModInfo.xml

   <ModName2>/
       Config/
       ModInfo.xml
You will be able to have multiple mods loaded, and loading will occur as long as the ModInfo.xml exists. This is unchanged from what we've been doing doing with other alphas, with the exception of the Config folder.

This Config folder will support loading XML files, written using xpath, in the following folder structure:

Code:
Config/entityclasses.xml
Config/gamestages.xml
Config/items.xml
The files in the Config folder will not be a full copy of the vanilla file with your changes. Rather, it'll contain the changes you want done to the vanilla files. The files under the Config must match the vanilla file name. You cannot create an entityclasses2.xml file, and expect it to work. Any changes in the entityclasses.xml will have to be done in the same file. However, each mod can have its own entityclasses.xml.

During the game's initialization, it will perform the xpath merge in-memory only; no files will be actually be modified. This would allow us to remove mods we no longer want, without re-validating against steam, or previous copies of the xml. That's a big one. No more half merging of a mod, and not having it work, then trying to pull it back out.

What this means for us is that we'll be able to make a variety of smaller mods, which I've been calling modlets, which can add, remove and change smaller pieces of the game. They can be used together, or they could be added to an overhaul mod, in order to style your game play easier.

These modlets would also exists outside of the Data/Config folder, so if you have made direct XML changes in your Alpha 17.1 Data/Config files, and Steam updated the game to 17.2, you would have lost your changes, or would have to re-merge them in. We've all been there before. But if they existed as modlets, under the Mods folder, they would be safe. And as long as your xpath is still valid to the new XML, it should load up with no additional work on your part.

If we could use xyth's JunkItems modlet, which adds random, scrappable junk items to loot containers, and add them to Valmod Overhaul. Likewise, if Valmod Overhaul did not have the No Ammo modlet (which gives you the ability to unload a gun and get its bullets back without disassembling it), you could drop the NoAmmo modlet into your Mods folder. Headshots only? Want to increase stack sizes? Same deal.

With a properly constructed modlet, we'll be able to piece together new play styles for people to enjoy and share. A modder working on a large overhaul won't have to duplicate work. If they wanted to include the No Ammo mod, they wouldn't have to code it themselves, letting them focus on the bits that make their mod really unique.

Let's get started on your journey...

 
Last edited by a moderator:
The passive it selfs works fine, and don't need to be add to luck, cuz its already a part of the attribute Luck....
but again :)

The passive works with the effect of giving Percentage Bonus XP. My Main Issue there is, thats these Percentage Bonus XP apllied on each kind of EXP i gained. I would reduced this to the Source of Killing Enemys(Zombies,Animals). I dont want gain Percentage more XP by Working, Upgrading or Trading. I need to reduce the PlayerGainExp effect only on Killing Zombies, Animals....
Still no solution for it^^ ?.... can't fix it by my self

 
Still no solution for it^^ ?.... can't fix it by my self
This thread is about helping people resolve their xpath issues. Perhaps a new thread is more appropriate to get the help you are looking for, which seems to be what needs to be changed to get your desired effect, rather than how to make that change.

 
Trying to change Action0 to Action1 and append new Action0 (drinkJar

Trying to make the default drink be Right Click, and append the basic punch (unarmed left click) to drinks (currently proof of concept, tweaks to come later)

I've tried 2 ways so far (about to head to dinner so I figured I'd bounce it off a few of you)

Code:
<set xpath="/items/item[starts-with(@name, 'drinkJar') and not(contains(@name, 'Empty'))]/property[@Class='Action0']">Action1</set>
Code:
<set xpath="/items/item[starts-with(@name, 'drinkJar') and not(contains(@name, 'Empty'))]/property[@Class='Action0']/@value">Action1</set>
I get a WRN in console but the rest of the mod loads fine.

Can I rename the Action0 to Action1 this way and something is wrong in my Syntax or do I have to remove Action0 and then append it with the Action0 from the player hand and Action1 as the normal drink code?

 
Trying to make the default drink be Right Click, and append the basic punch (unarmed left click) to drinks (currently proof of concept, tweaks to come later)
I've tried 2 ways so far (about to head to dinner so I figured I'd bounce it off a few of you)

Code:
<set xpath="/items/item[starts-with(@name, 'drinkJar') and not(contains(@name, 'Empty'))]/property[@Class='Action0']">Action1</set>
Code:
<set xpath="/items/item[starts-with(@name, 'drinkJar') and not(contains(@name, 'Empty'))]/property[@Class='Action0']/@value">Action1</set>
I get a WRN in console but the rest of the mod loads fine.

Can I rename the Action0 to Action1 this way and something is wrong in my Syntax or do I have to remove Action0 and then append it with the Action0 from the player hand and Action1 as the normal drink code?
You are using @Class, when it should be @class.

Also, @value isn't special; it's just the attribute you want to change. In this case, it's probably: /property[@class=Action0]/@class">Action1</set>

 
You are using @Class, when it should be @class.
Also, @value isn't special; it's just the attribute you want to change. In this case, it's probably: /property[@class=Action0]/@class">Action1</set>
Thanks, I've got it ALMOST working for the drink part using this:

Code:
<set xpath="/items/item[@name='drinkJarBeer']/property[@class]/@class">Action1</set>
<set xpath="/items/item[@name='drinkJarBeer']/effect_group[@tiered='false']/triggered_effect[@trigger='onSelfPrimaryActionEnd']/@trigger">onSelfSecondaryActionEnd</set>
Right Click now drinks, but for some reason, the screen does not give the drunken blur even though I get the Buzzed buff. I can't find anything in the item or buff code tying it specifically to the Primary Action.

Thanks again sphereii, and Merry Christmas to you and yours :)

EDIT: Apparently Grandpa's Moonshine blurs, but beer buzzed does not. Possibly something that was tweaked in B240?

 
Last edited by a moderator:
So, I'm taking a shot in the dark, with a small flashlight having read all this business.

If I want to make all my traps invincible to damage from activation...

I create a blocks.xml in my mod folder and the following xpath looks right ?

It should check blocks/block/property and modify every one of them with a DamageRecieved value to 0 ?

Code:
<configs>
<set xpath="/blocks/block/property/@DamageReceived">0</set>
</configs>
If that's the gist of it, its deceptively simple and I have this...

I wouldn't mind a little clarification on the use of /*/ and /string[#] things though, I think I get it after looking at the vanilla files relating to the example but correct me if I'm wrong. /*/ will jump up a node without specifying a name and /string[#] will count repeated instances and hit on the one numbered ?

I took a boo at the Xpath wiki and they're not listed.

 
Last edited by a moderator:
I wouldn't mind a little clarification on the use of /*/ and /string[#] things though, I think I get it after looking at the vanilla files relating to the example but correct me if I'm wrong. /*/ will jump up a node without specifying a name and /string[#] will count repeated instances and hit on the one numbered ?

I took a boo at the Xpath wiki and they're not listed.
/*/ are just a wildcard match. It can traverse all the nodes.

xpath="/*" will affect all blocks.xml.

The string[#] you see is the index reference.

Code:
<effect_group>
<triggered_effect trigger="onSelfPrimaryActionStart" action="LogMessage" message="fired: onSelfPrimaryActionStart"/>
<triggered_effect trigger="onSelfSecondaryActionStart" action="LogMessage" message="fired: onSelfSecondaryActionStart"/>
<triggered_effect trigger="onSelfPrimaryActionEnd" action="LogMessage" message="fired: onSelfPrimaryActionEnd"/>
<triggered_effect trigger="onSelfSecondaryActionEnd" action="LogMessage" message="fired: onSelfSecondaryActionEnd"/>
<passive_effect name="StaminaChangeOT" operation="perc_add" value="20"/>
</effect_group>
xpath="/*/effect_group/triggered_effect[2]", for example, would affect the second triggered_effect.

Code:
<effect_group>
<triggered_effect trigger="onSelfPrimaryActionStart" action="LogMessage" message="fired: onSelfPrimaryActionStart"/>
[color="#FFFF00"]        <triggered_effect trigger="onSelfSecondaryActionStart" action="LogMessage" message="fired: onSelfSecondaryActionStart"/>
[/color]	<triggered_effect trigger="onSelfPrimaryActionEnd" action="LogMessage" message="fired: onSelfPrimaryActionEnd"/>
<triggered_effect trigger="onSelfSecondaryActionEnd" action="LogMessage" message="fired: onSelfSecondaryActionEnd"/>
<passive_effect name="StaminaChangeOT" operation="perc_add" value="20"/>
</effect_group>
 
/*/ are just a wildcard match. It can traverse all the nodes.
xpath="/*" will affect all blocks.xml.

The string[#] you see is the index reference.

Code:
<effect_group>
<triggered_effect trigger="onSelfPrimaryActionStart" action="LogMessage" message="fired: onSelfPrimaryActionStart"/>
<triggered_effect trigger="onSelfSecondaryActionStart" action="LogMessage" message="fired: onSelfSecondaryActionStart"/>
<triggered_effect trigger="onSelfPrimaryActionEnd" action="LogMessage" message="fired: onSelfPrimaryActionEnd"/>
<triggered_effect trigger="onSelfSecondaryActionEnd" action="LogMessage" message="fired: onSelfSecondaryActionEnd"/>
<passive_effect name="StaminaChangeOT" operation="perc_add" value="20"/>
</effect_group>
xpath="/*/effect_group/triggered_effect[2]", for example, would affect the second triggered_effect.

Code:
<effect_group>
<triggered_effect trigger="onSelfPrimaryActionStart" action="LogMessage" message="fired: onSelfPrimaryActionStart"/>
[color="#FFFF00"]        <triggered_effect trigger="onSelfSecondaryActionStart" action="LogMessage" message="fired: onSelfSecondaryActionStart"/>
[/color]	<triggered_effect trigger="onSelfPrimaryActionEnd" action="LogMessage" message="fired: onSelfPrimaryActionEnd"/>
<triggered_effect trigger="onSelfSecondaryActionEnd" action="LogMessage" message="fired: onSelfSecondaryActionEnd"/>
<passive_effect name="StaminaChangeOT" operation="perc_add" value="20"/>
</effect_group>
Beautiful, pretty much exactly what I was thinking. I have spent the last few hours coding all my old tweaks into a mod file, hopefully I won't be back for troubleshooting :D

 
Hi everyone! I want to change the stone shovel, so that it can till soil like the hoe. I tested it by changing the items.xml manually and it works, but if i try it via mod it generates an error message, so obviously my mistake is in the modlet / syntax. Hope you can help me.

I simply want to replace the secondary action of the shovel (power attack by default) with the secondary action of the hoe. Here is my mod-code.

Code:
<!-- Deleting the secondary action and the power attack -->
<remove xpath="items/item[@item name='meleeToolShovelStone']/property[@class='Action1']">
<remove xpath="items/item[@item name='meleeToolShovelStone']/effect_group[@name='Power Attack']">

<!-- Adding the new secondary action -->
<append xpath="items/item[@item name='meleeToolShovelStone']/property[@class='Action1']">
	<property name="class" value="Repair"/>
	<property name="Repair_amount" value="30"/>
	<property name="Upgrade_hit_offset" value="-4"/>
	<property name="Delay" value="1.3"/>
	<property name="Upgrade_action_sound" value="ImpactSurface/metalhitearth"/>
	<property name="Allowed_upgrade_items" value="meleeToolHoeIron,resourceClayLump"/>
</append>
 
Is it possible to remove an entire perktree from progression.xml somehow?

<remove xpath="/progression/progression[@name=perkGreaseMonkey]"/>

does not work and gives error when starting up :/

 
Hi everyone! I want to change the stone shovel, so that it can till soil like the hoe. I tested it by changing the items.xml manually and it works, but if i try it via mod it generates an error message, so obviously my mistake is in the modlet / syntax. Hope you can help me.
I simply want to replace the secondary action of the shovel (power attack by default) with the secondary action of the hoe. Here is my mod-code.

Code:
<!-- Deleting the secondary action and the power attack -->
<remove xpath="items/item[@item name='meleeToolShovelStone']/property[@class='Action1']">
<remove xpath="items/item[@item name='meleeToolShovelStone']/effect_group[@name='Power Attack']">

<!-- Adding the new secondary action -->
<append xpath="items/item[@item name='meleeToolShovelStone']/property[@class='Action1']">
	<property name="class" value="Repair"/>
	<property name="Repair_amount" value="30"/>
	<property name="Upgrade_hit_offset" value="-4"/>
	<property name="Delay" value="1.3"/>
	<property name="Upgrade_action_sound" value="ImpactSurface/metalhitearth"/>
	<property name="Allowed_upgrade_items" value="meleeToolHoeIron,resourceClayLump"/>
</append>
In your first remove, you are removing the Action1. However, your append is looking for that action1 to add to it.

Consider removing the class as you are doing, and then appending the entire Action1

- - - Updated - - -

Is it possible to remove an entire perktree from progression.xml somehow?
<remove xpath="/progression/progression[@name=perkGreaseMonkey]"/>

does not work and gives error when starting up :/
perkGreaseMonkey is a perk, not a progression...

/progression/perks/perk[@name=perkGreaseMonkey] might work better for you.

 
In your first remove, you are removing the Action1. However, your append is looking for that action1 to add to it.
Consider removing the class as you are doing, and then appending the entire Action1
I changed the second part to the following

Code:
<append xpath="items/item[@item name='meleeToolShovelStone']">
<property class="Action1">
	<property name="class" value="Repair"/>
	<property name="Repair_amount" value="30"/>
	<property name="Upgrade_hit_offset" value="-4"/>
	<property name="Delay" value="1.3"/>
	<property name="Upgrade_action_sound" value="ImpactSurface/metalhitearth"/>
	<property name="Allowed_upgrade_items" value="meleeToolHoeIron,resourceClayLump"/>
</property>
</append>
Now it shows me a NullReferenceError. Did i missunderstand the append command?

 
I changed the second part to the following
Code:
<append xpath="items/item[@item name='meleeToolShovelStone']">
<property class="Action1">
	<property name="class" value="Repair"/>
	<property name="Repair_amount" value="30"/>
	<property name="Upgrade_hit_offset" value="-4"/>
	<property name="Delay" value="1.3"/>
	<property name="Upgrade_action_sound" value="ImpactSurface/metalhitearth"/>
	<property name="Allowed_upgrade_items" value="meleeToolHoeIron,resourceClayLump"/>
</property>
</append>
Now it shows me a NullReferenceError. Did i missunderstand the append command?
Your name="class" is lowercase. It should be: name="Class"

 
In your first remove, you are removing the Action1. However, your append is looking for that action1 to add to it.
Consider removing the class as you are doing, and then appending the entire Action1

- - - Updated - - -

perkGreaseMonkey is a perk, not a progression...

/progression/perks/perk[@name=perkGreaseMonkey] might work better for you.
Oh!

Ah! I see! geez. gonna take a while for me to get used to the xpath system I feel, but now I think I can start to do some rework!

Many many thanks for the tip!

 
Your name="class" is lowercase. It should be: name="Class"
Although that's right, it did not fix anything. I also tried

Code:
<append xpath="items/item[@name='meleeToolShovelStone']"
Just to be sure, i have a folder in my mods folder called "Erkus easy gardening", containing a ModInfo.xml which contains this

Code:
<?xml version="1.0" encoding="UTF-8" ?>
<xml>
<ModInfo>
	<Name value="Easy Gardening" />
	<Description value="Lets yout till soil with the stone shovel" />
	<Author value="Erkusandor" />
	<Version value="1.0" />
	<Website value="" />
</ModInfo>
</xml>
and a folder called config with a items.xml which contains this

Code:
<!-- Die Sekundنraktion der Steinschaufel lِschen -->
<remove xpath="items/item[@name='meleeToolShovelStone']/property[@class='Action1']">
<remove xpath="items/item[@name='meleeToolShovelStone']/effect_group[@name='Power Attack']">

<!-- Die Sekundنraktion der Harke zur Steinschaufel hinzufügen -->
<append xpath="items/item[@name='meleeToolShovelStone']">
<property class="Action1">
	<property name="Class" value="Repair"/>
	<property name="Repair_amount" value="30"/>
	<property name="Upgrade_hit_offset" value="-4"/>
	<property name="Delay" value="1.3"/>
	<property name="Upgrade_action_sound" value="ImpactSurface/metalhitearth"/>
	<property name="Allowed_upgrade_items" value="meleeToolHoeIron,resourceClayLump"/>
</property>
</append>
It creates an error called "Unexpected end of file. Current depth is 2, line 15 position 10." and a second NullReferenceException error "Object reference not set to an instant of an object".

I am sry if that's an annoying request, but i'm not deep enough into coding to get whats wrong.

 
Although that's right, it did not fix anything. I also tried
Code:
<append xpath="items/item[@name='meleeToolShovelStone']"
Just to be sure, i have a folder in my mods folder called "Erkus easy gardening", containing a ModInfo.xml which contains this

Code:
<?xml version="1.0" encoding="UTF-8" ?>
<xml>
<ModInfo>
	<Name value="Easy Gardening" />
	<Description value="Lets yout till soil with the stone shovel" />
	<Author value="Erkusandor" />
	<Version value="1.0" />
	<Website value="" />
</ModInfo>
</xml>
and a folder called config with a items.xml which contains this

Code:
<!-- Die Sekundنraktion der Steinschaufel lِschen -->
<remove xpath="items/item[@name='meleeToolShovelStone']/property[@class='Action1']">
<remove xpath="items/item[@name='meleeToolShovelStone']/effect_group[@name='Power Attack']">

<!-- Die Sekundنraktion der Harke zur Steinschaufel hinzufügen -->
<append xpath="items/item[@name='meleeToolShovelStone']">
<property class="Action1">
	<property name="Class" value="Repair"/>
	<property name="Repair_amount" value="30"/>
	<property name="Upgrade_hit_offset" value="-4"/>
	<property name="Delay" value="1.3"/>
	<property name="Upgrade_action_sound" value="ImpactSurface/metalhitearth"/>
	<property name="Allowed_upgrade_items" value="meleeToolHoeIron,resourceClayLump"/>
</property>
</append>
It creates an error called "Unexpected end of file. Current depth is 2, line 15 position 10." and a second NullReferenceException error "Object reference not set to an instant of an object".

I am sry if that's an annoying request, but i'm not deep enough into coding to get whats wrong.
Your remove's are missing />

Code:
<remove xpath="items/item[@name='meleeToolShovelStone']/property[@class='Action1']" />
<remove xpath="items/item[@name='meleeToolShovelStone']/effect_group[@name='Power Attack']" />
And probably a good idea to add the / to the start of the xpath="/items/item...

 
Your remove's are missing />

Code:
<remove xpath="items/item[@name='meleeToolShovelStone']/property[@class='Action1']" />
<remove xpath="items/item[@name='meleeToolShovelStone']/effect_group[@name='Power Attack']" />
And probably a good idea to add the / to the start of the xpath="/items/item...
Well that did help... a little. Also: facepalm -.-

Now it creates a new error: "Xml exception: Multiple document element was detectet. Line 3 position 2."

It seems there is a problem with a second time altering meleeToolShovelStone. I am sure of that, because i tested the following alternatives:

1.) Switching line 2 and 3. No difference.

2.) Making line 3 a comment. New errror: "Xml exception: Multiple document element was detectet. Line 6 position 2." Which is the append command where i add the new code to meleeToolShovelStone.

3.) Deleting everything except line 2. No errors occur, but it does not change anything ingame; the second Action is still the power attack. Same goes with everything deletet except line 3.

Here is the currently used code:

Code:
<!-- Die Sekundنraktion der Steinschaufel lِschen -->
<remove xpath="/items/item[@name='meleeToolShovelStone']/property[@class='Action1']"/>
<remove xpath="/items/item[@name='meleeToolShovelStone']/effect_group[@name='Power Attack']"/>

<!-- Die Sekundنraktion der Harke zur Steinschaufel hinzufügen -->
<append xpath="/items/item[@name='meleeToolShovelStone']">
<property class="Action1">
	<property name="Class" value="Repair"/>
	<property name="Repair_amount" value="30"/>
	<property name="Upgrade_hit_offset" value="-4"/>
	<property name="Delay" value="1.3"/>
	<property name="Upgrade_action_sound" value="ImpactSurface/metalhitearth"/>
	<property name="Allowed_upgrade_items" value="meleeToolHoeIron,resourceClayLump"/>
</property>
</append>

I am not NEW to coding, but again, i can't make head or tail of it. Following the guide on the first page this SHOULD work, shouldn't it?

 
Well that did help... a little. Also: facepalm -.-
Now it creates a new error: "Xml exception: Multiple document element was detectet. Line 3 position 2."

It seems there is a problem with a second time altering meleeToolShovelStone. I am sure of that, because i tested the following alternatives:

1.) Switching line 2 and 3. No difference.

2.) Making line 3 a comment. New errror: "Xml exception: Multiple document element was detectet. Line 6 position 2." Which is the append command where i add the new code to meleeToolShovelStone.

3.) Deleting everything except line 2. No errors occur, but it does not change anything ingame; the second Action is still the power attack. Same goes with everything deletet except line 3.

Here is the currently used code:

Code:
<!-- Die Sekundنraktion der Steinschaufel lِschen -->
<remove xpath="/items/item[@name='meleeToolShovelStone']/property[@class='Action1']"/>
<remove xpath="/items/item[@name='meleeToolShovelStone']/effect_group[@name='Power Attack']"/>

<!-- Die Sekundنraktion der Harke zur Steinschaufel hinzufügen -->
<append xpath="/items/item[@name='meleeToolShovelStone']">
<property class="Action1">
	<property name="Class" value="Repair"/>
	<property name="Repair_amount" value="30"/>
	<property name="Upgrade_hit_offset" value="-4"/>
	<property name="Delay" value="1.3"/>
	<property name="Upgrade_action_sound" value="ImpactSurface/metalhitearth"/>
	<property name="Allowed_upgrade_items" value="meleeToolHoeIron,resourceClayLump"/>
</property>
</append>

I am not NEW to coding, but again, i can't make head or tail of it. Following the guide on the first page this SHOULD work, shouldn't it?
Is what you are posting the full file of your changes? If so, you are missing a root node. This can be anything.

Example:

Mods/MyMod/Config/items.xml:

Code:
<configs>
     <!-- Die Sekundنraktion der Steinschaufel lِschen -->
     <remove xpath="/items/item[@name='meleeToolShovelStone']/property[@class='Action1']"/>
     <remove xpath="/items/item[@name='meleeToolShovelStone']/effect_group[@name='Power Attack']"/>

     <!-- Die Sekundنraktion der Harke zur Steinschaufel hinzufügen -->
     <append xpath="/items/item[@name='meleeToolShovelStone']">
    <property class="Action1">
	  <property name="Class" value="Repair"/>
	<property name="Repair_amount" value="30"/>
	<property name="Upgrade_hit_offset" value="-4"/>
	<property name="Delay" value="1.3"/>
	<property name="Upgrade_action_sound" value="ImpactSurface/metalhitearth"/>
	<property name="Allowed_upgrade_items" value="meleeToolHoeIron,resourceClayLump"/>
</property>
   </append>
</configs>
 
That did it <3 Thank you very much!

Edit: PS, is the root node always the same? Or is it dependend what i want to change? I couldn't find a hint in the tutorial on the first page.

 
Last edited by a moderator:
Hello, i'm new with modlet and xpath, i am trying to do soem changes for my own use and i keep getting erros when load the mod, i am getting "yyExeption irrecoverable syntax error" when i load my world editor with those changes

Code:
<rwgmixer>
         <!-- Biome Range -->
        <set xpath="/rwgmixer/biome_generators/biome_generator/module[@name='biomeOutput']/property[@name='biomemap0.Range']/@value">,0,5</set>
        <set xpath="/rwgmixer/biome_generators/biome_generator/module[@name='biomeOutput']/property[@name='biomemap1.Range']/@value">,5,7</set>
        <set xpath="/rwgmixer/biome_generators/biome_generator/module[@name='biomeOutput']/property[@name='biomemap2.Range']/@value">,7,7.3</set>
	 <set xpath="/rwgmixer/biome_generators/biome_generator/module[@name='biomeOutput']/property[@name='biomemap3.Range']/@value">,7.3,8</set>
	 <set xpath="/rwgmixer/biome_generators/biome_generator/module[@name='biomeOutput']/property[@name='biomemap4.Range']/@value">,8,9</set>

        <!-- Prefab Spawn Chance -->
        <set xpath="/rwgmixer/prefab_rules/prefab_rule/[@name='industrial_JunkyardsLots']/prefab[@name='junkyard_med_01']/@value">0.5</set>
	 <set xpath="/rwgmixer/prefab_rules/prefab_rule/[@name='industrial_JunkyardsLots']/prefab[@name='utility_celltower_02']/@value">0.3</set>
        <set xpath="/rwgmixer/prefab_rules/prefab_rule/[@name='industrial_JunkyardsLots']/prefab[@name='junkyard_lg_01]/@value=">0.10</set>

</rwgmixer>
What im doing wrong?

 
Back
Top