

Description
This a modding library/tool for adding custom piles in the style of coal and charcoal from Vanilla entirely through external content mods.
<span style="text-decoration: line-through;">By default piles for Rot, Salt, and All types of vanilla Grain and included.
</span><span style="color: #d35400;">These piles have now been extracted out to their own mod.
Check out: <span style="color: #3598db;">Granary</span></span><span style="text-decoration: line-through;">
</span>
This library adds the following relevant classes: <span style="color: #e67e23;">BlockPile</span>, <span style="color: #e67e23;">BlockEntityPile</span>, & <span style="color: #e67e23;">BehaviorPileItem</span>
To add your own pile with this mod installed it is as follows:
- Create a new content mod with a blocktype file for each of the piles you wish to create (if they are variant piles such as grain, you only need 1 with variant groups)
- Each of these blocktypes assign them the class <span style="color: #e74c3c;">BlockPile</span> and entityclass <span style="color: #e74c3c;">BlockEntityPile</span>
- (<span style="color: #2fcc71;">Optional</span>) add an attributes section to the block type to specify parameters of that pile. Any not-specified attribute will be given a default value. If the attributes array is not presnt at all, all values will be default.
The attributes are as follows:
<span style="color: #34495e;">"attributes":</span>
{
"addItemLabel" : "String" or "LangKey",
"removeItemLabel": "String" or "LangKey",
"defaultAddQuantity": Integer (default: 2),
"defaultTakeQuantity": Integer (default: 2),
"bulkTakeQuantity": Integer (default: 4),
"maxStackSize": Integer (default: 16),
"interactSoundPath" : "domain:pathToSound",
"allowUnstablePlacement": true/false (default: false)
} - Assign a texture to the blockPile you created just as you would a vanilla block.
- The piles support assignment by face if desired (such as defining a different texture for "up"/the top face and a seperate texture for the sides. If wanting the same texture for all sides use the vanilla <span style="color: #e67e23;">"all"</span> key for the textures field
- Create a patch adding/appending<span style="color: #e74c3c;"> BehaviorPileItem</span> to the item you wish to pileable, with a properties array pointing to the corresponding code of the newly created blocktype.
- If using variants such as for example "grain" they may be defined as "grain-flax" or generically "grain-{type}", in which case you can specify the code of the pile blocktype created as "grainPile-{type}" and make sure that the blocktype for "grainPile" as the corresponding variantgroups array to have different piles per type of grain with only one blocktype file.
- For specifying those variant textures simply point the texture-path to the location and use the variant group {type} as you would with normal variant texturing
The source code and example implementation from the default piles can be found at: https://github.com/Pursec/PilesPilesPiles
Example of a patch file for grain supporting variantgroups:
[
{
"file": "game:itemtypes/food/grain",
"op": "add",
"path": "/behaviors",
"value": [
{
"name": "BehaviorPileItem",
"properties": { "pileBlockCode": "gespiles:grainPile-{type}"}
}
]
}
]
<pre class="language-csharp">Example of grainPile.json
{
"code": "grainPile",
"class": "BlockPile",
"entityClass": "BlockEntityPile",
"variantgroups": [
{
"code": "type",
"states": [ "spelt", "rice", "flax", "rye", "amaranth", "sunflower" ]
}
],
"creativeinventory": {
"general": [ "" ],
"decorative": [ "" ]
},
"behaviors": [
{ "name": "UnstableFalling" }
],
"attributes": {
"addItemLabel": "Add Grain",
"removeItemLabel": "Remove Grain",
"allowUnstablePlacement": true
},
"blockmaterial": "Soil",
"lightAbsorption": 0,
"sidesolid": { "all": false },
"sideopaque": { "all": false },
"textures": {
"all": { "base": "game:block/food/grain/{type}" }
},
"replaceable": 100,
"resistance": 2,
"collisionbox": {
"x1": 0,
"y1": 0,
"x2": 1,
"y2": 0,
"z2": 1
},
"selectionbox": {
"x1": 0,
"y1": 0,
"x2": 1,
"y2": 0,
"z2": 1
},
"drops": [],
"materialDensity": 600
}
If you wish to support me do so at:
Ko-fi
<a title="Patreon" href="https://patreon.com/user?u=54887552&utm_medium=clipboard_copy&utm_source=copyLink&utm_campaign=creatorshare_creator&utm_content=join_link" target="_blank" rel="noopener">Patreon
Ratings & reviews
No ratings yet
Sign in to leave a rating or comment.


