Jump to content

Actual Fireplace Fire


Recommended Posts

2015-07-18_00001.thumb.jpg.8a1c75413f8909fa6e3b7c078665c720.jpg

 

So, I finally managed to make my fireplace. Figured I would share. It's actually pretty simple once it came down to it.

 

Add this to blocks.xml

  <block id="1490" name="emberFire">    <property name="Material" value="wood" />
   <property name="Class" value="Campfire" />
   <property name="Shape" value="Ext3dModel" />
   <property name="Mesh" value="models" />
   <property name="Model" value="OutdoorDecor/ember_pile_2" param1="main_mesh" />
   <property name="IsTerrainDecoration" value="true" />
   <property name="ParticleName" value="campfire" />
   <property name="ParticleOffset" value="0.5,0.25,0.5" />
   <property name="BuffsWhenWalkedOn" value="burningSmall"/>
   <drop event="Destroy" name="coal" count="1,3" prob="1" />
 </block>

 

Almost forgot a recipe.

<recipe name="emberFire" count="1" scrapable="False" craft_time="5" learn_exp_gain="40" craft_exp_gain="20" >            <ingredient name="rockSmall" count="1" grid="-1, -1"/>
           <ingredient name="stick" count="1" grid="0, -1"/>
           <ingredient name="stick" count="1" grid="1, -1"/>
           <ingredient name="stick" count="1" grid="-1, 0"/>
           <ingredient name="stick" count="1" grid="1, 0"/>
           <ingredient name="stick" count="1" grid="-1, 1"/>
           <ingredient name="stick" count="1" grid="0, 1"/>
           <ingredient name="stick" count="1" grid="1, 1"/>
   </recipe>

Link to comment
Share on other sites

  • 2 weeks later...

@Yonder

Why would it not be usable, exactly? Does your game already modify that block?

 

@TehAgent

 

He has it classed as a campfire so I believe that means it actually does function like a real campfire.

 

@Darque

 

A neat idea and should be possible with clever use of the corpse block's code for decaying. You could have it set up in such a way that the fire dies out in a day (or three, for convenience) and needs to be "refueled" with logs.

Link to comment
Share on other sites

Should a parameter be added so that the fire decays after a while and stops burning?

 

Upgrade rated to non fire block, upgrade with wood to make fireplace again. Sounds good to me. However, I wouldn't want to do it on a campfire class. It will probably cause loss of food items when it changes if not null ref errors. I'd do that to an aesthetic fireplace only.

Link to comment
Share on other sites

Upgrade rated to non fire block, upgrade with wood to make fireplace again. Sounds good to me. However, I wouldn't want to do it on a campfire class. It will probably cause loss of food items when it changes if not null ref errors. I'd do that to an aesthetic fireplace only.

I agree. If it was a cooking fire, then it should only burn while fuel is added and it is cooking, just like the normal campfire.

If it is only an aesthetic fire for a fireplace, then we can have it die out after awhile.

Link to comment
Share on other sites

@Yonder

 

You should be grand. The only time changing the number might makes thing wonky is if you had that item placed in the world already. As this is a completely original block that shouldn't be a problem. No worries.

Link to comment
Share on other sites

  • 1 month later...
  • 4 years later...
Guppycur,

 

I am definitely interested in learning how to do this.

 

Ok. So the good news here is that the old mod is mostly going to work, it just needs a few changes.

 

So there are two things to do from what I can see.

 

First is blocks.xml... make it look like the other block entries... you'll see the big difference is removing the item id, those are no longer used... It'll just go by the name. But go through the other lines and make sure those properties still exist in other blocks.

 

The second thing to do is go through BOTH entries and replace the names of things that no longer exist (sticks as an example, coal...) with things that do (resourceWood as an example, probably resourceCoal), since tfp changed item names.

 

...that's probably pretty much it. I'm on my mobile pooping so I don't have a great look at the original mod.

Link to comment
Share on other sites

Guppycur,

 

Below is what I have pieced together. This may be overkill on my behalf, as I pulled in values from the campfire block.

 

<block name="emberFireST">

<property name="Class" value="Campfire" />

<property name="Material" value="MstoneNoGlue" />

<property name="MaxDamage" value="100"/>

<property name="Shape" value="Ext3dModel" />

<property name="Mesh" value="models" />

<property name="Model" value="OutdoorDecor/ember_pile_2" param1="main_mesh" />

<property name="IsTerrainDecoration" value="true" />

<property name="ParticleName" value="campfire" />

<property name="ParticleOffset" value="0.5,0.25,0.5" />

<property name="BuffsWhenWalkedOn" value="buffBurningEnvironment"/>

<property name="Stacknumber" value="1"/>

<property name="HeatMapStrength" value="5"/>

<property name="HeatMapTime" value="5000"/>

<property name="HeatMapFrequency" value="1000"/>

<property name="ActiveRadiusEffects" value="buffCampfireAOE(3)"/>

<drop event="Destroy" name="coal" count="1,3" prob="1" />

</block>

 

<recipe name="emberFireST" count="1" scrapable="False" craft_time="5" learn_exp_gain="40" craft_exp_gain="20" >

<ingredient name="rockSmall" count="1" grid="-1, -1"/>

<ingredient name="wood" count="1" grid="0, -1"/>

<ingredient name="wood" count="1" grid="1, -1"/>

<ingredient name="wood" count="1" grid="-1, 0"/>

<ingredient name="wood" count="1" grid="1, 0"/>

<ingredient name="wood" count="1" grid="-1, 1"/>

<ingredient name="wood" count="1" grid="0, 1"/>

<ingredient name="wood" count="1" grid="1, 1"/>

</recipe>

 

Will saving this in my blocks.xml break my game file if the xml coding is not correct?

 

Sincerely,

 

Damonmeister

Link to comment
Share on other sites

Guppycur,

 

Below is what I have pieced together. This may be overkill on my behalf, as I pulled in values from the campfire block.

 

<block name="emberFireST">

<property name="Class" value="Campfire" />

<property name="Material" value="MstoneNoGlue" />

<property name="MaxDamage" value="100"/>

<property name="Shape" value="Ext3dModel" />

<property name="Mesh" value="models" />

<property name="Model" value="OutdoorDecor/ember_pile_2" param1="main_mesh" />

<property name="IsTerrainDecoration" value="true" />

<property name="ParticleName" value="campfire" />

<property name="ParticleOffset" value="0.5,0.25,0.5" />

<property name="BuffsWhenWalkedOn" value="buffBurningEnvironment"/>

<property name="Stacknumber" value="1"/>

<property name="HeatMapStrength" value="5"/>

<property name="HeatMapTime" value="5000"/>

<property name="HeatMapFrequency" value="1000"/>

<property name="ActiveRadiusEffects" value="buffCampfireAOE(3)"/>

<drop event="Destroy" name="coal" count="1,3" prob="1" />

</block>

 

<recipe name="emberFireST" count="1" scrapable="False" craft_time="5" learn_exp_gain="40" craft_exp_gain="20" >

<ingredient name="rockSmall" count="1" grid="-1, -1"/>

<ingredient name="wood" count="1" grid="0, -1"/>

<ingredient name="wood" count="1" grid="1, -1"/>

<ingredient name="wood" count="1" grid="-1, 0"/>

<ingredient name="wood" count="1" grid="1, 0"/>

<ingredient name="wood" count="1" grid="-1, 1"/>

<ingredient name="wood" count="1" grid="0, 1"/>

<ingredient name="wood" count="1" grid="1, 1"/>

</recipe>

 

Will saving this in my blocks.xml break my game file if the xml coding is not correct?

 

Sincerely,

 

Damonmeister

 

Hi Damonmeister

It does not break it, but when loading game you will get error.

Because you don't do it modlet and so you avoid adding it to your original file.

I have seen your recipe file and at least I would not put scrapable, learn_exp_gain, craft_exp_gain, nor grid, but if it does not mark any errors in the game, leave it as it is and in Material you can put Mwood_weak.

I'm new to modding too, but I'm moving forward little by little.

Good luck

 

Gouki

Link to comment
Share on other sites

So, if my understanding is right... I needed to use xpath to append a block to take on the appearance and functions of the OP coding for the emberFire. After applying the changes suggested by Guppycur and Gouki (thanks to both of you, as well as the OP) the coding work I now have looks like this:

 

<append xpath="/blocks">

<block name="campfire">

<property name="Class" value="Campfire" />

<property name="Material" value="Mwood_weak" />

<property name="MaxDamage" value="100"/>

<property name="Shape" value="Ext3dModel" />

<property name="Mesh" value="models" />

<property name="Model" value="OutdoorDecor/ember_pile_2" param1="main_mesh" />

<property name="IsTerrainDecoration" value="true" />

<property name="ParticleName" value="campfire" />

<property name="ParticleOffset" value="0.5,0.25,0.5" />

<property name="BuffsWhenWalkedOn" value="buffBurningEnvironment"/>

<property name="Stacknumber" value="1"/>

<property name="HeatMapStrength" value="5"/>

<property name="HeatMapTime" value="5000"/>

<property name="HeatMapFrequency" value="1000"/>

<property name="ActiveRadiusEffects" value="buffCampfireAOE(3)"/>

<drop event="Destroy" name="coal" count="1,3" prob="1" />

</block>

</append>

 

<recipe name="emberFireST" count="1" craft_time="5" >

<ingredient name="rockSmall" count="1"/>

<ingredient name="wood" count="1"/>

<ingredient name="wood" count="1"/>

<ingredient name="wood" count="1"/>

<ingredient name="wood" count="1"/>

<ingredient name="wood" count="1"/>

<ingredient name="wood" count="1"/>

<ingredient name="wood" count="1"/>

</recipe>

 

But this leaves me with at least one question off the top of my head. How do I make the appended block take on the name emberFireST? It is in the recipe, but I am unsure if the block itself needs that actual name.

 

Addendum: I have not put together the additional files for the modlet on this as of yet, as I want to make sure my base code work is correct before moving to the next step.

 

Sincerely,

 

Damonmeister

Link to comment
Share on other sites

So, if my understanding is right... I needed to use xpath to append a block to take on the appearance and functions of the OP coding for the emberFire. After applying the changes suggested by Guppycur and Gouki (thanks to both of you, as well as the OP) the coding work I now have looks like this:

 

<append xpath="/blocks">

<block name="campfire">

<property name="Class" value="Campfire" />

<property name="Material" value="Mwood_weak" />

<property name="MaxDamage" value="100"/>

<property name="Shape" value="Ext3dModel" />

<property name="Mesh" value="models" />

<property name="Model" value="OutdoorDecor/ember_pile_2" param1="main_mesh" />

<property name="IsTerrainDecoration" value="true" />

<property name="ParticleName" value="campfire" />

<property name="ParticleOffset" value="0.5,0.25,0.5" />

<property name="BuffsWhenWalkedOn" value="buffBurningEnvironment"/>

<property name="Stacknumber" value="1"/>

<property name="HeatMapStrength" value="5"/>

<property name="HeatMapTime" value="5000"/>

<property name="HeatMapFrequency" value="1000"/>

<property name="ActiveRadiusEffects" value="buffCampfireAOE(3)"/>

<drop event="Destroy" name="coal" count="1,3" prob="1" />

</block>

</append>

 

<recipe name="emberFireST" count="1" craft_time="5" >

<ingredient name="rockSmall" count="1"/>

<ingredient name="wood" count="1"/>

<ingredient name="wood" count="1"/>

<ingredient name="wood" count="1"/>

<ingredient name="wood" count="1"/>

<ingredient name="wood" count="1"/>

<ingredient name="wood" count="1"/>

<ingredient name="wood" count="1"/>

</recipe>

 

But this leaves me with at least one question off the top of my head. How do I make the appended block take on the name emberFireST? It is in the recipe, but I am unsure if the block itself needs that actual name.

 

Addendum: I have not put together the additional files for the modlet on this as of yet, as I want to make sure my base code work is correct before moving to the next step.

 

Sincerely,

 

Damonmeister

 

Hi Damonmeister

 

The name is emberPileDeco1 or emberPileDeco2, but you can change it to the name you want, in your blocks.xml file you give it the name of campfire but in your recipes.xml you give it emberFireST, it's wrong, the two names must match.

In recipes.xml do not put much <ingredient name = "wood" count = "1" />, reduce it like this <ingredient name = "wood" count = "7" /> and you will only have one line with the same amount of wood.

You also need xpath for recipes.xml, don't forget it.

 

I hope that helps you.

 

Gouki

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...