-
Notifications
You must be signed in to change notification settings - Fork 20
Home
This wiki is made for modpack makers and server admins and so on to get a greater understanding of how to customize the mod to their liking
Config file located in config/yigd.toml
# Here you can customize everything about the graves
[graveSettings]
generateGraves = true # Should graves generate or not?
retrievalType = "ON_USE" # How should you retrieve your items? Options available are ON_USE, ON_SNEAK, ON_STAND, and ON_BREAK
dropType = "IN_INVENTORY" # Where items from grave will end up. Options available are IN_INVENTORY and ON_GROUND
dropPlayerHead = false # If true, players will drop their heads when killed, and they will end up in graves if they are not disabled
dropGraveBlock = false # If true, the grave will drop as a block when you retrieve your items
requireGraveItem = false # If true, graves won't generate on their own, but will be placed from the player inventory if there is one in the players inventory. Unless items will be dropped normally
generateEmptyGraves = false # If true graves will generate even if player have no items equipped or any xp when they die. An empty grave will generate
ignoreSpawnProtection = true # Should spawn protection be ignored when claiming/retrieving graves?
deathInSpawnProtection = "CREATE_GRAVE" # What should happen when you die in spawn protected areas? Should a grave generate, should your items drop on the ground or should they stay in your inventory on death? Options are DROP_ITEMS, CREATE_GRAVE and KEEP_ITEMS.
priority = "GRAVE" # What inventory should keep it's layout. Options available are GRAVE and INVENTORY. If set to INVENTORY, items will simply be added on top of existing inventory from grave. Will sync to server
unlockableGraves = true # If enabled, players can unlock their graves for anyone to rob through the grave GUI.
deleteEnchantments = ["minecraft:vanishing_curse"] # Here you can specify which enchantments should be destroyed on death. Works without graves as well. Here you can add soulbound enchantments if they generate in both your inventory and grave.
soulboundEnchantments = ["yigd:soulbound"] # Here you can specify which enchantments should be kept after death. All enchantments will work
voidSlots = [] # Here you specify which slots should never end up in your grave. These are integers and is set by their slot ID
soulboundSlots = [] # Here you specify which slots will always carry the soulbound trait. These are integers and is set by their slot ID
applyBindingCurse = true # If graves should detect and place curse of binding in your inventory in a balanced way
trySoft = false # If true, grave will first try to generate based on a block whitelist (defaulted to air, water and lava). This way you will easier be able to retrieve your grave as it's not inclosed in a lot of blocks in case you suffocated in a wall to death
tryStrict = true # If true, this will run if trySoft whitelist failed, or if it's disabled. Will place the grave on first best block that does not match any block in the blacklist (defaulted to only bedrock)
replaceWhenClaimed = true # If enabled, when graves are looted the block the grave replaced will return in it's place.
blacklistDimensions = [] # Here you add dimension IDs that graves are not allowed to spawn inside. You can find the dimension ID next to the dimension name in the top left of your F3 screen
graveInVoid = true # If true, you will not lose all your items when you fall into the void. If false, your grave will simply not generate when you fall out of the world (grave will still generate with kill command)
ignoreDeathTypes = [] # Here you can add death sources that should provide no grave being generated if a player is killed by this source.
graveSpawnHeight = 2 # When you fall into the void and if graveInVoid is set to true, this will decide which y level your grave will attempt to spawn at
lastResort = "DROP_ITEMS" # If both trySoft and tryStrict will fail, or are disabled, this will decide what will happen to your items. Options available are DROP_ITEMS and SET_GRAVE (where the grave will replace whatever block you died at with a grave, no matter where you died)
putXpInGrave = true # If false, XP will drop outside the grave, and the grave itself will contain no XP
defaultXpDrop = false # If true, the XP dropped will follow the same rules as vanilla XP drops
xpDropPercent = 50 # If defaultXpDrop is false, this will decide how many percent of your old XP you'll get back. Works with graves disabled as well.
tellDeathPos = true # If the mod should tell players where their grave was generated
maxGraveBackups = 50 # How many graves can be backed up per player. This is not the max amount of graves in the world of a player, just as many as the grave GUI will allow you to see, and you can restore/rob with commands
# Configs that will handle grave robbing mechanic
[graveSettings.graveRobbing]
enableRobbing = true # If set to true, graves can not only be retrieved by grave owner, but also other players
onlyMurderer = false # If set to true, will let the killer of the player be able to rob the grave. enableRobbing must be set to true for this to work
afterTime = 1 # If enableRobbing is set to true, this will decide after how long the grave can be robbed. This way the grave owner will sort of be on a timer to get back to their grave
timeType = "HOURS" # A time unit for the grave robbing timer (afterTime).
robPriority = "INVENTORY" # Same effect as the normal priority config, except this is applied when robbing graves. This way your inventory can prioritize the grave inventory when the grave is yours, and otherwise just add the dead player's items to your inventory. Will sync with server
# Configs that can determine if graves are on a timer and can despawn
[graveSettings.graveDeletion]
canDelete = false # If true, graves will despawn after [afterTime] [timeType] (Defaulted to 1 hour)
afterTime = 1 # Time until grave will despawn. Measured in [tymeType]
timeType = "HOURS" # Time unit used by afterTime to decide how long until graves despawn
dropInventory = false # If true, grave will drop it's inventory/contents when expiring
# Will handle possible items from being deleted from the grave on death.
[graveSettings.itemLoss]
enableLoss = false # If true, items can be destroyed from the grave
ignoreSoulboundItems = true # If true, soulbound items will not be tested for deletion. If false they will
affectStacks = false # If true, entire stacks will be cleared. If false, only one item will disappear
usePercentRange = false # If true, range of items tested for deletion will be based on a percentage of slots in your inventory with items in them. Not total amount of items
lossRangeFrom = 0 # Lower limit of how many items/stacks can be tested for deletion
lossRangeTo = 5 # Upper limit of how many items/stacks can be tested for deletion. If less than the lower limit, the lower limit will always be tested. If not a random amount between lower and upper range will.
percentChanceOfLoss = 100 # When a item/stack is tested for deletion, this will decide the probability of the item being deleted. Default to 100% (always delete)
# Will handle if a block should be placed under the grave in some occations and what block
[graveSettings.blockUnderGrave]
generateBlockUnder = true # If true, a block will generate as a support block under the grave if the block under the grave would match a block whitelist (defaulted to air, water, and lava)
inOverWorld = "minecraft:cobblestone" # What block should generate under the grave in the overworld. Depends on generateUnderBlock
inNether = "minecraft:soul_soil" # What block should generate under the grave in the nether. Depends on generateUnderBlock
inTheEnd = "minecraft:end_stone" # What block should generate under the grave in the end. Depends on generateUnderBlock
inCustom = "minecraft:dirt" # What block should generate under the grave in custom dimensions (dimensions that are neither the overworld, nether nor the end). Depends on generateUnderBlock
# This config tab will let you configure how some mods will integrate with this mod
[graveSettings.graveCompatConfig]
levelzXpInGraves = true # If levelz xp should be stored in graves. Levels are not stored
levelzXpDropPercent = 100 # How much of levelz xp should be kept of what you have
claimRuleOverride = "CREATE_GRAVE" # What should happen when you die in a claimed area? Should you keep all your items? Should a grave spawn? Should all your items drop on the ground? Different options are CREATE_GRAVE, DROP_ITEMS, and KEEP_ITEMS.
# This can also be refered to as client config since most of this is only used on the client. It will handle how graves render
[graveSettings.graveRenderSettings]
useRenderFeatures = true # If false, graves will use a static model. May be used if there are a lot of graves causing lag
renderGraveSkull = true # If grave owners skull will be rendered on the grave or not
renderGraveOwner = true # If grave owners name will be rendered on the grave or not
textShadow = true # If true, grave text will render with a "shadow"
adaptRenderer = false # If bottom grave layer should be cloaked by the texture of the block under the grave. If the block is transparent, it'll act as an overlay texture. Else it'll look like the texture's replaced
glowingGrave = true # If true on both client and server, graves will render completely white and through blocks when not close to the player. Distance can be configured
glowMinDistance = 0 # Sets the radius of in which graves will now "glow", if it can "glow"
glowMaxDistance = 10 # Render distance for glowing effect. You have to be this many blocks or closer for it to take effect
# Config for the soulbound enchantment
[utilitySettings.soulboundEnchant]
enabled = true # If true the enchantment will be registered
isTreasure = false # If true enchantment will behave like mending
villagerTrade = true # If enchantment will be offered randomly by librarians
tableAndLoot = false # If enchantment should be used randomly enchanting loot items, or end up in the enchantment table
#Config for the deathsight enchantment
[utilitySettings.deathSightEnchant]
enabled = false # If true, the mod will load with a helmet enchantment which will make all graves always render with the glowing effect.
isTreasure = true # If true enchantment will behave like mending
villagerTrade = true # If enchantment will be offered randomly by librarians
tableAndLoot = true # If enchantment should be used randomly enchanting loot items, or end up in the enchantment table
# Configs for the scroll item. By default it will not be loaded
[utilitySettings.scrollItem]
scrollType = "DISABLED" # What scroll type should be used. DISABLED: the item will not be registred. INFO_SCROLL: The scroll will give info about your grave. SCROLL_OF_RETURN: The scroll will teleport you back to your grave
retrieveOnRespawn = true # Weather or not the scroll should be given to you when you respawn (after you died)
# These configs will let you configure an optional grave key feature. By default this item won't be loaded into the game
[utilitySettings.graveKeySettings]
enableKeys = false # If grave keys should be loaded when game loads.
alwaysRequire = false # If this is enabled graves will not care who you are, only that you have a correct key
retrieveOnRespawn = true # If true you'll receive a grave key when you respawn that can unlock your latest grave
getFromGui = false # If true, you can get a grave key from the grave GUI
rebindable = false # If true, graves keys are rebindable by sneaking and right clicking with the key in your main hand. When doing this they key will bind to your latest grave.
graveKeySpecification = "PLAYER" # What scope the grave key will search in. Graves are either specific to one grave, a player, or all keys unlock all graves. Keys don't have to be changed when changing this config. Options available for this config are GRAVE, PLAYER, and ALL.
# Config for enabling or disabling commands for everyone
[commandToggles]
coreCommandName = "yigd" # This will let you configure the root name of the command. For example you can change the command from /yigd restore to /graves restore
retrieveGrave = true # Enable the /yigd restore command
robGrave = true # Enable the /yigd rob command
selfView = true # Enable the /yigd grave command for non OPs (same behaviour as /yigd)
adminView = true # Enable the /yigd grave [user] command for OPs
moderateGraves = true # Enable the /yigd moderate command
clearGraveBackups = true # Enable the /yigd clear command, which remove all backup graves from that player
whitelist = true # Enable the root command /yigd whitelist
whitelistAdd = true # Enable the /yigd whitelist add [user] command. Will let you add players as whitelist or blacklist for who will cause graves to spawn when they die.
whitelistRemove = true # Enable the /yigd whitelist remove [user] command. Will let you remove players as whitelist or blacklist for who will cause graves to spawn when they die.
whitelistToggle = true # Enable the /yigd whitelist toggle command, which will toggle the list between a whitelist and a blacklist.Damage sources
Following are valid to write ingraveSettings.ignoreDeathTypes
inFire
lightningBolt
onFire
lava
hotFloor
inWall
cramming
drown
starve
cactus
fall
flyIntoWall
outOfWorld
generic
magic
wither
anvil
fallingBlock
dragonBreath
dryout
sweetBerryBush
freeze
fallingStalactite
stalagmiteInventory slot IDs
Datapack files can be added with datapacks. If you want files to be loaded at all worlds I would suggest using kubejs, openloader or paxi, or any other mod that will add a global data/datapack folder
This will define the whitelist of blocks used in graveSettings.trySoft. Located at data/yigd/tags/blocks/soft_whitelist.json. Used like a normal minecraft tag file
This will define the blacklist of blocks used in graveSettings.tryStrict. Located at data/yigd/tags/blocks/replace_blacklist.json. Used like a normal minecraft tag file
This will define the whitelist of blocks used in graveSettings.blockUnderGrave. Located at data/yigd/tags/blocks/support_replace_whitelist.json. Used like a normal minecraft tag file
This will define which items should try and lock to a specific armor slot. On death this will cause said item to be prioritized to the inventory slot it was last seen in.
This will only work for armor slots and can be used with Cammie's Wearable Backpacks mod. (Any other items will work as well but this is the recommended use).
Tag file can be found/edited at data/yigd/tags/items/force_item_slot.json
If there are any items that should be using the soulbound trait at all times no matter enchantment, they can be added here. Tag can be found/edited at data/yigd/tags/items/soulbound_item.json
If the config graveSettings.itemLoss is enabled, items in this tag will be unaffected by the random delete. Empty by default. To not lose too much valuables you can add these items here (shulker boxes, backpacks, and similar items). Tag can be found/edited at data/yigd/tags/items/random_delete_blacklist.json
Items in this tag can not get enchanted with the soulbound enchantment. Tag can be found/edited at data/yigd/tags/items/soulbound_blacklist.json
These files are added to datapacks. The information about datapack tags applies to this in a similar manner
With this feature you can specify a number of coordinates that your grave will spawn at if possible, no matter where you die. When you die these coordinates are checked, and if any of them are empty, your grave will generate there. If all coordinates are occupied by a block, normal grave spawning rules will be applied (where you died). With this you can build a public graveyard where all dead player graves will end up at. File for customizing this feature should be created in data/yigd/custom/graveyard.json.
These coordinates are specific to the overworld. Graveyard will and can not attempt to spawn in any other dimension
The structure of the json should look something like this:
{
"point2point": false,
"dimension": "minecraft:overworld",
"use_closest": false,
"coordinates": [
{
"for_player": "Notch"
"direction": "NORTH",
"x": 235,
"y": 71,
"z": 14
},
{
"direction": "EAST",
"x": 237,
"y": 71,
"z": 14
},
{
"direction": "WEST",
"x": 239,
"y": 71,
"z": 14
},
...
]
}Setting point2point to true will cause graves to generate on every empty block between the two first given coordinates.
Otherwise you can add as many coordinates as you want to generate as many graves in a graveyard as possible.
The dimension is optional. By default it's set to overworld, but you could specify any other dimension, as long as they exist, for the graveyard to operate in.
The use_closest is optional. By default it's set to false. When true, all coordinates will be searched for the closest one to the player. When using point2point this can take a moment, depending on the amount of blocks between those points.
For each coordinate you can pass a for_player "parameter", which will whitelist this position for that player only. That player DOES NOT become blacklisted everywhere else
The direction field is optional. If not included graves will generate the same direction as you were facing on death. The corresponding value can be any of NORTH, WEST, SOUTH, or EAST, and has to be in full capitals.
Since resource packs does not work on servers, you can instead place your grave.json file in your data/yigd/custom folder, to use its hitbox. This will only sync the hitbox for people who are using the same hitbox as the server. This will not force users to use this hitbox on their clients. By default this hitbox is empty, which should result in all client hitboxes working without any lag or issues.
If you want specific coordinates to override grave generation, you can add these areas in this file.
{
"values": [
{
"from": [100, 0, 100],
"to": [300, 100, 300],
"place_graves": false,
"y_dependant": false,
"world_id": "minecraft:overworld"
}
...
]
}Do note that "from" coordinates must be less than the "to" coordinates.
values is the list/array of all the area overrides.
from is the lesser coordinate
to is the grater coordinate (x, y, and z must be grater than from x, y, and z)
place_graves is a boolean to weather graves should be placed or not (if graves are disabled you can still generate graves by being in one of these areas where it's activated)
y_dependant is a boolean to tell weather the Y coordinates should be taken into account. If there's a defined height to the override area.
world_id is the minecraft ID that refers to whatever world you want the override to be active in
If you have any further questions, you can join my discord server, or find any alternative way of asking me