Vanilla Permissions

# Vanilla Permissions

This mod adds permission checks into vanilla, to allow for full permission customization.

* You need to have a permissions mod installed. (e.g. [LuckPerms](https://luckperms.net))
(Any permission provider mod that supports [fabric-permissions-api](https://github.com/lucko/fabric-permissions-api)
is also supported.)

## Permissions

| Permission | Description |
|——————————————————————————————-|———————————————————————————|
| `minecraft.adminbroadcast.receive` | Receive command feedback |
| `minecraft.bypass.spawn-protection` | Build inside spawn protection |
| `minecraft.bypass.force-gamemode` | Bypass forced gamemode |
| `minecraft.bypass.move-speed.player` | Bypass “Player moved too fast” |
| `minecraft.bypass.move-speed.vehicle.` | Bypass “Player moved too fast”, while riding an `entity` (e.g `minecraft.boat`) |
| `minecraft.bypass.chat-speed` | Bypass chat kick, when sending messages / commands to quick |
| `minecraft.bypass.whitelist` | Bypass server whitelist |
| `minecraft.bypass.player-limit` | Bypass server player limit |
| [`minecraft.command.`](#commands) | Command permissions, see [commands](#commands) for more information |
| `minecraft.debug_stick.use.` | Use debug stick on `block` (e.g. `minecraft.oak_trapdoor`) |
| `minecraft.debug_chart` | View debug chart |
| `minecraft..` | Place blocks with nbt data and use debug commands |
| `minecraft.operator_block..` | Place, view, edit and break operator blocks. |
| `minecraft.selector` | Use entity selectors in commands |
| [`minecraft.selector.entity.`](#selectors) | Allow selecting [non-player entities](#scope-control) using the `selector` |
| [`minecraft.selector.player.`](#selectors) | Allow selecting [nonself players](#scope-control) using the `selector` |
| [`minecraft.selector.self.`](#selectors) | Allow selecting [self](#scope-control) using the `selector` |

## Meta

Also sometimes referred to as “options” or “variables”.

Incorrect types are considered undefined values.

| Meta | Type | Description |
|——————————————————|———–|————————————————————————————————-|
| [`minecraft.selector.limit.`](#selectors) | `Integer` | [Limit the maximum number](#entity-limit) of entities that can be selected using the `selector` |
| [`minecraft.selector.weight.`](#selectors) | `Integer` | Selector weight, see [selection weight](#selection-weight) for more infomation |

## Commands

This mod uses [Brigadier’s](https://github.com/Mojang/brigadier) node-based permission system. Each command is made up
of multiple nodes, and each node has its own permission.

For example, the `/gamemode` command:
– The root command node (`/gamemode`) requires minecraft.command.gamemode.
– Sub-nodes like `survival`, `creative`, etc., use `minecraft.command.gamemode.survival`,
`minecraft.command.gamemode.creative`, and so on.

In vanilla Minecraft, only the **root node** has a permission check (e.g. OP level 2). Once a player has access to that
root node, **all sub-nodes are considered unlocked by default**.

If you want finer control, you can manually restrict sub-nodes by denying their specific permissions.

#### Example

“`yml
Allow:
minecraft.command.gamemode
Deny:
minecraft.command.gamemode.creative
minecraft.command.gamemode.spectator
“`

This allows players to use `/gamemode` but restricts them to only the allowed sub-options
(e.g., survival and adventure).

For other commands, see *Syntax* section of each command’s Minecraft Wiki page.

## Selectors

Command blocks and datapacks bypass all selector permission checks.

By default, granting `minecraft.selector` allows players to use any selector in commands they have access to.

Fine-grained permission control operates as follows. Note that this mod restricts based on **selection results**, not
raw selector syntax. Using player names, UUIDs, or selectors like `@e` are equivalent if they produce identical
results.

### Value of ``

The `` string follows the format: `..` where:
* `` is the root command name
* `` matches the argument name in the command’s *Arguments* section on Minecraft Wiki
* `` traces the command’s argument hierarchy after the selector

For example, in the [`/teleport`](https://minecraft.wiki/w/Commands/teleport#Arguments) command:
– `` and `` are valid selector names
(they are [`entity`](https://minecraft.wiki/w/Argument_types#minecraft:entity) selectors)
– Subsequent arguments form the remainder of the path

Most selectors are [`entity`](https://minecraft.wiki/w/Argument_types#minecraft:entity) selectors, which is supported.
For a complete support list, see [below](#status).

#### Example

| Command | Syntax (See Minecraft Wiki) | Selector to Control | `` Construction |
|———————-| ———————————–|———————|——————————————–|
| `/teleport @e @s` | `teleport ` | `@e` | `teleport.targets.targets.destination` |
| `/teleport @e @s` | `teleport ` | `@s` | `teleport.destination.targets.destination` |
| `/teleport @e ~ ~ ~` | `teleport ` | `@e` | `teleport.targets.targets.location` |

#### Wildcard Support

Selector permissions can be lengthy. Luckily you can use wildcards, like `teleport.*` to cover all teleport command
selectors.

However, Luckperms doesn’t support wildcard for metadata. You could install
[this mod](https://modrinth.com/mod/metadatawildcard4fabric-permissions-api
‘Metadata Wildcard for fabric-permissions-api’) to enable it.

### Scope Control

Use these permissions to define selector scope:

* `minecraft.selector.entity.`
* `minecraft.selector.player.`
* `minecraft.selector.self.`

Commands fail if a player attempts to select unauthorized entities. All three scopes (that is, `minecraft.selector.*`)
are allowed by default.

#### Simple Example

“`yml
Allow:
minecraft.command.waypoint
minecraft.selector
Deny:
minecraft.selector.player.waypoint.*
minecraft.selector.entity.waypoint.*
“`

Players modify only their own waypoints.

#### Complex Example

“`yml
Allow:
minecraft.command.teleport # /teleport
minecraft.selector # All selectors
minecraft.selector.player.teleport.destination.destination #1
minecraft.selector.entity.teleport.destination.destination #2
minecraft.selector.entity.teleport.targets.targets.destination #3
minecraft.selector.player.teleport.facingEntity.* #4
Deny:
minecraft.selector.player.teleport.* #6
minecraft.selector.entity.* #5
minecraft.selector.self.teleport.facingEntity.* #7
“`

Command Behavior:

| Command | Self | Nonself Players | Non-player Entities | Resulting Behavior |
|—————————————————————|———————————————————————-|————————————————————|———————————————————–|———————————————————|
| `/teleport ` | `` allowed by default | `` allowed by #𝟏 | `` allowed by #𝟐 | Teleport to any entity |
| `/teleport ` | `` allowed by default
`` allowed by default | `` denied by #𝟓
`` denied by #𝟓 | `` allowed by #𝟑
`` denied by #𝟔 | Only teleport non-player entities to self |
| `/teleport ` | (No selectors) | – | – | Unrestricted position teleport |
| `/teleport ` | `` allowed by default | `` denied by #𝟓 | `` denied by #𝟔 | Only teleport self to positions |
| `/teleport facing entity ` | `` allowed by default
`` denied by #𝟕 | `` denied by #𝟓
`` allowed by #𝟒 | `` denied by #𝟔
`` denied by #𝟔 | Teleport self to positions while facing nonself players |

### Entity Limit

Set meta `minecraft.selector.limit.` to restrict the maximum number of entities selectable via a
given selector.

No limit is applied if this meta is unset.

### Selection Weight

Controlled by meta `minecraft.selector.weight.`.

Entities without weight settings can always select any target and be selected by any selector. When both entities have
weight values, a selector can only select targets whose weight is `less than or equal` to its own.

#### Example

You need to install [this mod](https://modrinth.com/mod/metadatawildcard4fabric-permissions-api
‘Metadata Wildcard for fabric-permissions-api’) first.

“`yml
# Global permissions
Allow:
minecraft.command.gamemode
minecraft.selector
# Player-specific metadata
Player1: minecraft.selector.weight.gamemode.* = 7
Player2: minecraft.selector.weight.gamemode.* = -1
Player3: minecraft.selector.weight.gamemode.* = 7
Player4: (no weight set)
“`

| Player | Can modify gamemode of | Reason |
|———|————————–|—————————————————————————-|
| Player1 | All players | Weight ($7$) ≥ all others’ weights |
| Player2 | Only Player2 and Player4 | Weight ($-1$) < Player1/Player3 ($7$)
No weight restriction for Player4 |
| Player3 | All players | Weight ($7$) ≥ all others’ weights |
| Player4 | All players | No weight restriction → unrestricted access |

### Status

The following list shows which selectors can use fine-grained permissions:

* [`/ban-ip`](https://minecraft.wiki/w/Commands/ban#ban-ip): Not supported

* [`entity`](https://minecraft.wiki/w/Argument_types#minecraft:entity ‘Most cases’): Fully supported

* [`game_profile`](https://minecraft.wiki/w/Argument_types#minecraft:game_profile ‘e.g. /ban’):
[Selection Weight](#selection-weight) for offline players not supported in Minecraft < 1.21.6. Others fully supported * [`message`](https://minecraft.wiki/w/Argument_types#minecraft:message 'e.g. /say'): Not supported * [`score_holder`](https://minecraft.wiki/w/Argument_types#minecraft:score_holder '/scoreboard and /team'): Only [Entity Limit](#entity-limit) supported ## Quality of Life ### Server Side If the mod is installed server-side, it will make clients think they're OP. This allows players with [appropriate permissions](#permissions) to place operator blocks and access the gamemode switcher menu. ### Execute Command * Includes another condition: `/execute if permission ` to allow datapacks to
check permissions (e.g. `/execute if permission @s group.admin run say I am an admin`)
* #### Modifiers
* The `feedback` modifier `/execute feedback [silent | console]` or `/execute feedback entity ` is used to
silence, or redirect command feedback (e.g. `/execute feedback silent run gamemode creative`)
* The `oplevel` modifier `/execute oplevel ` or `/execute oplevel ` can be used to *reduce* the op
permission level of the command source context, this can be useful if you want to run a command as a user (from
functions or console), but want bypass permissions to work (e.g. `/execute as DrexHD oplevel entity @s run rtp`,
this will use the op level of the player `DrexHD` instead of the actual command executor for checking permissions
like `rtp.bypass`)

### Client Side

If the mod is installed on the client, the gamemode switcher can also be accessed, if the player has access to the
command, but isn’t OP (useful for spigot-based servers)!

Vanilla Food Hunger Bar HUD Hotbar

Reverts the HUD Food/Hunger Icons to the default, vanilla ones when put above other Resourcepacks. Useful for overriding the textures when using other resource packs that might make them look worse.

Now with [Appleskin](https://modrinth.com/mod/appleskin/versions) and [Farmer’s Delight](https://modrinth.com/mod/farmers-delight) COMPATS!

![Vanilla Food Hunger Bar HUD Hotbar](https://cdn.modrinth.com/data/cached_images/1336a6f717600e59b291fbbe5d48c67715e6a61f.png)

I mainly made this to revert these food/hunger textures from [Unique Dark](https://modrinth.com/resourcepack/unique-dark):

![Unique Dark Food/Hunger Bar](https://cdn.modrinth.com/data/cached_images/99c899fd7f33a8245cf2f49a8ac60c7749faf933.png)


Vanilla Hearts HUD
Click here or on the image above for the Health/Hearts version

**You might also want to use:**

|[![Old Water](https://cdn.modrinth.com/data/cached_images/1b1994e448bfaa2fdd6151914c7399c544542656.png)](https://modrinth.com/resourcepack/old-water)|[![Old Bedrock](https://cdn.modrinth.com/data/cached_images/a55b4e5f09807330765f97171d2f6221e8a356b5_0.webp)](https://modrinth.com/resourcepack/old-bedrock)|[![New Bedrock](https://cdn.modrinth.com/data/cached_images/03cbeab1a95d2a9d4710b68d522031bba5fb3d69_0.webp)](https://modrinth.com/resourcepack/new-bedrock)|[![Mute Pistons](https://cdn.modrinth.com/data/cached_images/3aeec93b0bdb43d8d4633fd32d1367a906006c67.png)](https://modrinth.com/resourcepack/mute-pistons)|[![Quieter Pistons](https://cdn.modrinth.com/data/cached_images/1164bd3922a7fca0f83fc50bae850740e7b226c9.png)](https://modrinth.com/resourcepack/quieter-pistons)|[![Mute Dispensers and Droppers](https://cdn.modrinth.com/data/cached_images/ccfef63948d14ccf83da7ece681a70d2ff838343.png)](https://modrinth.com/resourcepack/mute-dispensers-and-droppers)|[![Quieter Dispensers and Droppers](https://cdn.modrinth.com/data/cached_images/9ceac66ed47273378ac263a432d4254938080b2b.png)](https://modrinth.com/resourcepack/quieter-dispensers-and-droppers)
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|[Old Water](https://modrinth.com/resourcepack/old-water)|[Old Bedrock](https://modrinth.com/resourcepack/old-bedrock)|[New Bedrock](https://modrinth.com/resourcepack/new-bedrock)|[Mute Pistons](https://modrinth.com/resourcepack/mute-pistons)|[Quieter Pistons](https://modrinth.com/resourcepack/quieter-pistons)|[Mute Dispensers and Droppers](https://modrinth.com/resourcepack/mute-dispensers-and-droppers)|[Quieter Dispensers and Droppers](https://modrinth.com/resourcepack/quieter-dispensers-and-droppers)

Vanilla Hearts Health Bar HUD Hotbar

Reverts the HUD Hearts/Health Icons to the default, vanilla ones when put above other Resourcepacks. Useful for overriding the textures when using other resource packs that might make them look worse.

![Vanilla Heart Health Bar HUD Hotbar FULL](https://cdn.modrinth.com/data/cached_images/6d49b54554fafa7472c909e1249f2cfefa6de2c0.png)
![Vanilla Heart Health Bar HUD Hotbar HALF](https://cdn.modrinth.com/data/cached_images/cd35604603fa7ad3bd382bab9cde7ea439710625.png)
![Vanilla Heart Health Bar HUD Hotbar FULL HARDCORE](https://cdn.modrinth.com/data/cached_images/80d7b910ecda4d500bfb10c398ed34664ef4275a.png)
![Vanilla Heart Health Bar HUD Hotbar HALF HARDCORE](https://cdn.modrinth.com/data/cached_images/1c98d5ec319051e0911f9230c07cad1a7b7446f1.png)


Vanilla Hunger
Click here or on the image above for the Food/Hunger version

**You might also want to use:**

|[![Old Water](https://cdn.modrinth.com/data/cached_images/1b1994e448bfaa2fdd6151914c7399c544542656.png)](https://modrinth.com/resourcepack/old-water)|[![Old Bedrock](https://cdn.modrinth.com/data/cached_images/a55b4e5f09807330765f97171d2f6221e8a356b5_0.webp)](https://modrinth.com/resourcepack/old-bedrock)|[![New Bedrock](https://cdn.modrinth.com/data/cached_images/03cbeab1a95d2a9d4710b68d522031bba5fb3d69_0.webp)](https://modrinth.com/resourcepack/new-bedrock)|[![Mute Pistons](https://cdn.modrinth.com/data/cached_images/3aeec93b0bdb43d8d4633fd32d1367a906006c67.png)](https://modrinth.com/resourcepack/mute-pistons)|[![Quieter Pistons](https://cdn.modrinth.com/data/cached_images/1164bd3922a7fca0f83fc50bae850740e7b226c9.png)](https://modrinth.com/resourcepack/quieter-pistons)|[![Mute Dispensers and Droppers](https://cdn.modrinth.com/data/cached_images/ccfef63948d14ccf83da7ece681a70d2ff838343.png)](https://modrinth.com/resourcepack/mute-dispensers-and-droppers)|[![Quieter Dispensers and Droppers](https://cdn.modrinth.com/data/cached_images/9ceac66ed47273378ac263a432d4254938080b2b.png)](https://modrinth.com/resourcepack/quieter-dispensers-and-droppers)
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|[Old Water](https://modrinth.com/resourcepack/old-water)|[Old Bedrock](https://modrinth.com/resourcepack/old-bedrock)|[New Bedrock](https://modrinth.com/resourcepack/new-bedrock)|[Mute Pistons](https://modrinth.com/resourcepack/mute-pistons)|[Quieter Pistons](https://modrinth.com/resourcepack/quieter-pistons)|[Mute Dispensers and Droppers](https://modrinth.com/resourcepack/mute-dispensers-and-droppers)|[Quieter Dispensers and Droppers](https://modrinth.com/resourcepack/quieter-dispensers-and-droppers)

Vanilla but Harder

This Datapack:
– sets your hearts to 5
– sets difficulty to hard
– sets random tick speed to 40 (eg. crops grow faster, saplings grow faster)
– sets world/server to midnight (always night)
– sets reduced debug info to **true**

removes:
– ability to heal naturally (gamerule)
– ability to wear armour (except for turtle helmet and elytra)
– ability to sleep (gamerule)

adds:
– limited crafting (gamerule)
– universal anger (gamerule)
– OP mace (breach, density and wind burst are compatible together)
– harder eye of ender recipe

making the vanilla game harder

Vader’s Catty Programmer Art ‘Cat’ Music Disc Pack

**[https://ko-fi.com/vaderman24](https://ko-fi.com/vaderman24)**

**[https://linktr.ee/vaderman24](https://linktr.ee/vaderman24)**

**[https://www.patreon.com/vaderman24](https://www.patreon.com/vaderman24)**

**———————————————————————————————————————————**

**[Vader’s Catty Programmer Art ‘Cat’ Music Disc Pack](https://docs.google.com/document/d/1ZLewFOrBj-oTINMLt04sjeSTJSzJ-cmKmK47Vvhoo-0/edit?usp=sharing)**

**V1.1.0 For Minecraft Java Edition Alpha 1.2.2 — 1.21.11+**

**([🔥CURSEFORGE⚒️](https://www.curseforge.com/minecraft/texture-packs/vaders-catty-programmer-cat-music-disc-pack))**

**[🐱‍👤GITHUB🏠]**

**([💡GOOGLE DOCS📝](https://docs.google.com/document/d/1ZLewFOrBj-oTINMLt04sjeSTJSzJ-cmKmK47Vvhoo-0/edit?usp=sharing))**

**([☕KO-FI💸](https://ko-fi.com/s/e217463125))**

**([🔧MODRINTH🗄️](https://modrinth.com/resourcepack/vaders-catty-programmer-cat-music-disc-pack))**

**([🌀NEXUS MODS🔧](https://www.nexusmods.com/minecraft/mods/987))**

**([🌎PLANET MINECRAFT⛏️](https://www.planetminecraft.com/texture-pack/alpha-1-2-2-1-21-vader-s-catty-cat-music-disc-pack-cat-music-disc-replacement/))**

**———————————————————————————————————————————**

**Also check out these other related Resource Packs**

(1.0+) [Vader’s Blocky Programmer Art ‘Blocks’ Music Disc Pack](https://docs.google.com/document/d/14YdLOtvgidwazQv6ecEIw4cB0AqNdZMlw6O8PJUM4Fs/edit?usp=sharing) [​16x] [​JE]

(Alpha 1.2.2+) [Vader’s Catty Programmer Art ‘Cat’ Music Disc Pack](https://docs.google.com/document/d/1ZLewFOrBj-oTINMLt04sjeSTJSzJ-cmKmK47Vvhoo-0/edit?usp=sharing) [​16x] [​JE]

**———————————————————————————————————————————**

**For all information related to this pack [go to this Google Docs page](https://docs.google.com/document/d/1ZLewFOrBj-oTINMLt04sjeSTJSzJ-cmKmK47Vvhoo-0/edit?usp=sharing).**

**———————————————————————————————————————————**

![🗣️Aboutℹ️](https://lh7-us.googleusercontent.com/docsz/AD_4nXeWpYTR8aeRHbUXOXjVqlXPnXe77xEn-Mf1E159NndL5k7RuLjlFsWOIUf52gS_1jiWM9g7g2cXyE-ikzNZF8CSCI7yeJePIIPMyhFVGKiJBI7J5XNK_FCtagNAwS3fmXjHUcLG_4fu4gQApKy3CidpB6sn?key=TbQixWWh_bnxOhj6JlQVUA)

This pack replaces the texture for the Cat Music Disc with one that is more cat-like in Vanilla for Programmer Art.

I hope to maintain this pack at my own pace and vision. So please be patient with any and all updates.

This project supports Minecraft versions Alpha 1.2.2 — 1.21.11+ all in one file. If it does not work or something seems broken on any particular version, please let me know via the comments section, DM, or email me at [email protected] and I’ll try to fix it as soon as possible.

**———————————————————————————————————————————**

![📋Credits🧑‍🤝‍🧑](https://lh7-us.googleusercontent.com/docsz/AD_4nXfLolnggrEdLUxMC1vMQS1vdW3a3bjtvRP-gwWJvQbX5WpcLZLQUeILEc7uahR7bxmb9BTTMjTJzaWrqoFt6FpmeYXcr-z34v3ZWmSPJYh5tOCpb8ZQO9ZBlKoeIYTS3iHpVx4FfOCQDHQJOmOJCWafqPI?key=TbQixWWh_bnxOhj6JlQVUA)

**[Vader’s Catty Programmer Art ‘Cat’ Music Disc Pack](https://docs.google.com/document/d/1ZLewFOrBj-oTINMLt04sjeSTJSzJ-cmKmK47Vvhoo-0/edit?usp=sharing)**

**Contributions By…**

**[@Vaderman24](https://linktr.ee/vaderman24)**

**Created By…**

**[@Vaderman24](https://linktr.ee/vaderman24)**

![Contributors](https://lh7-us.googleusercontent.com/docsz/AD_4nXeGU0uhrmFekZqbNeZwIIv6yhKi7Iqjy0UNs_ragpCFFAcivC6ADdsB62L6M4XRns–3TN_SIZGiWvwqy3UB-uXZk5hGCQY8KFdovChtT12DpOwDRzgJ_smwBY4vqLDLj0xBooRLkz-VsVG77Z4tH53BrZw?key=TbQixWWh_bnxOhj6JlQVUA)

**~18 Contributions [@Vaderman24](https://linktr.ee/vaderman24)**

**[Go to the Google Docs page](https://docs.google.com/document/d/1ZLewFOrBj-oTINMLt04sjeSTJSzJ-cmKmK47Vvhoo-0/edit?tab=t.6n6fjjy2bfz8) to view the full credits list.**

**———————————————————————————————————————————**

![⬇️Download💾](https://lh7-rt.googleusercontent.com/docsz/AD_4nXeDZ6FyYLy9KbYbZ6Q9Rt2pSwu09ubmJ7hzUNQuvfkoSO92kU4oLcmITGSdfevWmN9R3fGDnfHnm3cNJAMePjTphLzGc-MuKgerljuTX86Z3-dCxVE9bmiSb-J_Bk9Pe9PIm69A7lN5u4RB_LLhKBXemUE?key=TbQixWWh_bnxOhj6JlQVUA)

The Download section has been compiled onto one singular page to make thread updates easier for the future.

**[Go to the Google Docs page](https://docs.google.com/document/d/1ZLewFOrBj-oTINMLt04sjeSTJSzJ-cmKmK47Vvhoo-0/edit?tab=t.b6e5q96l1h1z) to view all the places this project is available for download.**

**———————————————————————————————————————————**

![🙋F.A.Q❓](https://lh7-rt.googleusercontent.com/docsz/AD_4nXeELGjVm_4B_3GVOM7oX6n_oMkPmWgoDpJhmjMP1_bhlbfhPlujuYZFRNTsBxxCGtnSjlJZHxamQxKAT39uJYBPfhi0EZpNAet9lWiApZABina-yjokGQOJJWvUb1kvhd2G5RfG6w?key=Ts9sQSSfeNWwwKd7mSkTE4H1)

The F.A.Q. section has been compiled onto one singular page to make thread updates easier for the future.

**[Go to the Google Docs page](https://docs.google.com/document/d/1ZLewFOrBj-oTINMLt04sjeSTJSzJ-cmKmK47Vvhoo-0/edit?tab=t.49bedflcyc4i) to view all the Frequently Asked Questions.**

**———————————————————————————————————————————**

![⚖️Legal Stuff📚](https://lh7-us.googleusercontent.com/docsz/AD_4nXcgX1f_iRRTRmxZw1Am9pxU4AbyMKRVwsjvbhL6-Lre3YNgWq52zKJSZVI-F7bJKEYzvRs1UhuGoLt_Ehb3b5KskT76bPsbUMR00Cm7YjKF81ONNeyaEw5u3x1boiG4jZX7jBIOzcf4Sl58ncjQHr6SWXcJ?key=TbQixWWh_bnxOhj6JlQVUA)

**📚Vader’s Simplified License📚**

◄▪◼▪◼▪◼▪◼▪◼▪◼▪◼▪◼▪◼▪||▪◼▪◼▪◼▪◼▪◼▪◼▪◼▪◼▪◼▪►

You may freely use any file or idea found in this project for your own projects & purposes without asking me.

All I ask is that you give credit with a link to this projects page, and follow the [GPL-3.0](https://www.gnu.org/licenses/gpl-3.0.html) license guidelines. ([Credit Examples](https://docs.google.com/document/d/1_RfKrEDsVP7VN7rLciO-UP77zRxyA4iro7hYoYQb_2s/edit?usp=sharing))

If any asset you use is not created by me, please give proper credits to the original creator and include a copy of their project license.

Please do not reupload this project elsewhere without your own changes and project name.

![GPL-3.0](https://lh7-rt.googleusercontent.com/docsz/AD_4nXeuKdNppbEz9Bgd0_NbTLQb4rpqlLK9064KRMn3qaPLsS1Ao5zRPWOrwc6YCIc351006jYAZBGLHNu9zwNXCmKcPIrQLEZ8b2quvagdsqxBkpbMgh1VF7gGDhZIIRnBC0hWJDUVdQ?key=Ts9sQSSfeNWwwKd7mSkTE4H1)

**([VIEW FULL LICENSE](https://docs.google.com/document/d/1qiaaU06FcAYHETwYw1PMA9C0lw_8CUItcshLSUYads8/edit?usp=sharing))**

**©2024 [@Vaderman24](https://linktr.ee/vaderman24).**

**Full applicable license information is available on the project’s [Google Docs credits page](https://docs.google.com/document/d/1ZLewFOrBj-oTINMLt04sjeSTJSzJ-cmKmK47Vvhoo-0/edit?usp=sharing).**

**Not an official [Minecraft](https://www.minecraft.net/en-us) product.**

**Not approved by or associated with [@Microsoft](https://x.com/Microsoft) or [@Mojang](https://x.com/mojang?lang=en).**

**This project is openly licensed via [GPL-3.0](https://www.gnu.org/licenses/gpl-3.0.html).**

**———————————————————————————————————————————**

![➕Other Packs📦](https://lh7-us.googleusercontent.com/docsz/AD_4nXf1IIm_HaXzmE6aipAHAt-UYObCLekQF5LNe2gdYBwKinEsILUJVMBH4zXad3QsuKCcywiNviNHNtFZfHClwYsW8dhE-MIDQGn0fCW165mEPIh6-IiLh492KH7YUeLRJzMfJbpmkAoU4M_sh0DqDrgKjkwY?key=TbQixWWh_bnxOhj6JlQVUA)

Interested in seeing other projects I’ve made? [Go to my Project’s License List page](https://docs.google.com/document/d/1qiaaU06FcAYHETwYw1PMA9C0lw_8CUItcshLSUYads8/edit?usp=sharing) to see a complete list of everything I’ve made available!

![GPL-3.0](https://lh7-rt.googleusercontent.com/docsz/AD_4nXeuKdNppbEz9Bgd0_NbTLQb4rpqlLK9064KRMn3qaPLsS1Ao5zRPWOrwc6YCIc351006jYAZBGLHNu9zwNXCmKcPIrQLEZ8b2quvagdsqxBkpbMgh1VF7gGDhZIIRnBC0hWJDUVdQ?key=Ts9sQSSfeNWwwKd7mSkTE4H1)

**([VIEW FULL LICENSE](https://docs.google.com/document/d/1qiaaU06FcAYHETwYw1PMA9C0lw_8CUItcshLSUYads8/edit?usp=sharing))**

**©2011 — ©2026 [@Vaderman24](https://linktr.ee/vaderman24).**

**Not an official [Minecraft](https://www.minecraft.net/en-us) product.**

**Not approved by or associated with [@Microsoft](https://x.com/Microsoft) or [@Mojang](https://x.com/mojang?lang=en).**

**Some projects may contain multiple licenses.**

**These projects are openly licensed via [GPL-3.0](https://www.gnu.org/licenses/gpl-3.0.html).**

**———————————————————————————————————————————**

![🏗️Project Features⛲](https://lh7-us.googleusercontent.com/docsz/AD_4nXeAPkqX-U4VH6-Zxw8-aKJH3XVvbiN3dpJjr9cxcWJOgJXlksMo7nLlo8LzEbnd6a9LdB1OMb4F7CWTOSo7PG-f-rdO-65XYmo0J44C9OwazBdkJ093bOC6fSz3oOmAYji9xqfSa-pXnSjHalu_aPBE5Fhr?key=TbQixWWh_bnxOhj6JlQVUA)

**💱Replaces…**

💎Item textures.

**[Go to the Google Docs page](https://docs.google.com/document/d/1ZLewFOrBj-oTINMLt04sjeSTJSzJ-cmKmK47Vvhoo-0/edit?tab=t.dkp5yjbvllh2) to view the full features list.**

**———————————————————————————————————————————**

![💖Supporters💸](https://lh7-us.googleusercontent.com/docsz/AD_4nXfgTQwG5mTAavbNZjMsJEPIlDAxOI_39y_dY_XqQYX5jdkAAgYRHKrNj_ZgwlVnvtad7qXkW-BVw92fUJvEsOgYCP_O5p33K6I4MlsbNhV2MjaLXf3levuTBt85gDq-6Vp0TrCEAEDwwouemuGQhzguPjMz?key=TbQixWWh_bnxOhj6JlQVUA)

If you enjoy using my projects, maybe consider showing your support with a small donation so I can continue making things for a long time to come? Any and all support is greatly appreciated. Even just downloading one of my projects or giving me feedback motivates me to continue moving forward with updates.

If you’re interested in supporting me, you can do so via [Ko-fi](https://ko-fi.com/vaderman24) or [Patreon](https://www.patreon.com/c/Vaderman24).

**([VIEW FULL SUPPORTERS LIST](https://docs.google.com/document/d/1q65j-2hwiW04vT-cxkH_PS32hAPWVphptUThxc-IDwc/edit?usp=sharing))**

**———————————————————————————————————————————**

**📺Videos📺**

None at this time.

**———————————————————————————————————————————**

![GPL-3.0](https://lh7-rt.googleusercontent.com/docsz/AD_4nXeuKdNppbEz9Bgd0_NbTLQb4rpqlLK9064KRMn3qaPLsS1Ao5zRPWOrwc6YCIc351006jYAZBGLHNu9zwNXCmKcPIrQLEZ8b2quvagdsqxBkpbMgh1VF7gGDhZIIRnBC0hWJDUVdQ?key=Ts9sQSSfeNWwwKd7mSkTE4H1)

**([VIEW FULL LICENSE](https://docs.google.com/document/d/1qiaaU06FcAYHETwYw1PMA9C0lw_8CUItcshLSUYads8/edit?usp=sharing))**

**©2024 [@Vaderman24](https://linktr.ee/vaderman24).**

**Full applicable license information is available on the project’s [Google Docs credits page](https://docs.google.com/document/d/1ZLewFOrBj-oTINMLt04sjeSTJSzJ-cmKmK47Vvhoo-0/edit?usp=sharing).**

**Not an official [Minecraft](https://www.minecraft.net/en-us) product.**

**Not approved by or associated with [@Microsoft](https://x.com/Microsoft) or [@Mojang](https://x.com/mojang?lang=en).**

**This project is openly licensed via [GPL-3.0](https://lh7-rt.googleusercontent.com/docsz/AD_4nXeuKdNppbEz9Bgd0_NbTLQb4rpqlLK9064KRMn3qaPLsS1Ao5zRPWOrwc6YCIc351006jYAZBGLHNu9zwNXCmKcPIrQLEZ8b2quvagdsqxBkpbMgh1VF7gGDhZIIRnBC0hWJDUVdQ?key=Ts9sQSSfeNWwwKd7mSkTE4H1).**

Universal Shops

# Universal Shops

Universal Shops is a Fabric (and Quilt compatible) trade shop mod designed to be flexible
and usable in many types of servers. It works purely server side (still works on singleplayer),
so it can work on your vanilla client compatible or modpack based servers. It includes craftable,
Trade Shop block for players and Admin Trade Shop for admins/map makers. Setup of both is the same.

It also checks against Common Protection API, to make sure player has access to source chests/containers.
Using some Common Protection API compatible protection mod is suggested
(for example [GOML](https://modrinth.com/mod/goml-reserved) or [HTM](https://modrinth.com/mod/htm)).

![](https://imgur.com/VH7voGh.png)

## Using Trade Shops
First thing you need to do (as a player) is to craft Trade Shop block.
You can do it with any 4 planks, 1 wool and 1 iron ingot.

![](https://imgur.com/rdzfgtu.png)

Then you need to place it against some container (either on top of one or on the side).

![](https://imgur.com/EuPNKcj.png)

After that, Shop Settings will open. You need to set up things like what type of stock is sold
and the price. Optionally you can enable support for hoppers or disable hologram.

To change settings, just click item corresponding to them. In case of item based one you can set them
by clicking (empty/set) slot. If your cursor holds item, it will be copied as a settings.
Otherwise, it will open menu to set it manually.

![](https://imgur.com/2Nn7ynR.png)

And done, shop is fully operational. You only need to put required stock in your container
and others can just buy it.

To buy things you just click to open the shop and then take sold item. You can hold shift
to move it directly to your inventory!

## Download
– [Modrinth](https://modrinth.com/mod/universal-shops)
– [Curseforge](https://www.curseforge.com/minecraft/mc-mods/universal-shops)
– [Github Releases](https://github.com/Patbox/UniversalShops/releases)

Universal Outlined Ores

This is a Minecraft resource pack that adds outlines to ores in mods, making them more visible.
It is trying to be compatible with all mods that add ores (work also with vanilla ores) and for all versions of Minecraft.
It will probably be compatible with OptiFine’s connected textures.

Links : [Github](https://github.com/Seltade-MC/UniversalOutlinedOres)/[Modrinth](https://modrinth.com/resourcepack/universal-outlined-ores)

# Compatible mods :

Available=✅ Not Tested=❓ Work in progress=⏳ Impossible=❌
|Mods|Links|Status|
|—|—|—|
|AdAstra|[Github](https://github.com/terrarium-earth/Ad-Astra)/[Modrinth](https://modrinth.com/mod/ad-astra)/[CurseForge](https://www.curseforge.com/minecraft/mc-mods/ad-astra)|⏳|
|Aether Addon: Overworld Ores|[Github](https://github.com/The-Aether-Team/Overworld-Ores)/[Modrinth](https://modrinth.com/mod/aether-overworld-ores)/[CurseForge](https://www.curseforge.com/minecraft/mc-mods/aether-overworld-ores)|⏳|
|Alex’s Caves|[Github](https://github.com/AlexModGuy/AlexsCaves)/[Modrinth](https://modrinth.com/mod/alexs-caves)/[CurseForge](https://www.curseforge.com/minecraft/mc-mods/alexs-caves)|⏳|
|Ancient Aether|[Github](https://github.com/Builderdog841/Ancient-Aether)/[Modrinth](https://modrinth.com/mod/ancient-aether)/[CurseForge](https://www.curseforge.com/minecraft/mc-mods/ancient-aether)|⏳|
|Better End|[Github](https://github.com/quiqueck/BetterEnd)/[Modrinth](https://modrinth.com/mod/betterend)/[CurseForge](https://www.curseforge.com/minecraft/mc-mods/betterend)|⏳|
|Better Nether|[Github](https://github.com/quiqueck/BetterNether)/[Modrinth](https://modrinth.com/mod/betternether)/[CurseForge](https://www.curseforge.com/minecraft/mc-mods/betternether)|⏳|
|Bewitchment|[Github](https://github.com/MoriyaShiine/bewitchment)/[Modrinth](https://modrinth.com/mod/bewitchment)/[CurseForge](https://www.curseforge.com/minecraft/mc-mods/bewitchment)|⏳|
|Cobblemon|[Gitlab](https://gitlab.com/cable-mc/cobblemon)/[Modrinth](https://modrinth.com/mod/cobblemon)/[CurseForge](https://www.curseforge.com/minecraft/mc-mods/cobblemon)|⏳|
|Create|[Github](https://github.com/Creators-of-Create/Create)/[Modrinth](https://modrinth.com/mod/create)/[CurseForge](https://www.curseforge.com/minecraft/mc-mods/create)|⏳|
|Create Fabric|[Github](https://github.com/Fabricators-of-Create/Create)/[Modrinth](https://modrinth.com/mod/create-fabric)/[CurseForge](https://www.curseforge.com/minecraft/mc-mods/create-fabric)|⏳|
|Create: Metallurgy|[Github](https://github.com/Lucreeper74/Create-Metallurgy)/[Modrinth](https://modrinth.com/mod/create-metallurgy)/[CurseForge](https://www.curseforge.com/minecraft/mc-mods/create-metallurgy)|⏳|
|Create: New Age|[Gitlab](https://gitlab.com/antarcticgardens/create-new-age)/[Modrinth](https://modrinth.com/mod/create-new-age)/[CurseForge](https://www.curseforge.com/minecraft/mc-mods/create-new-age)|⏳|
|Deep Aether|[Github](https://github.com/RazorDevs/Deep-Aether)/[Modrinth](https://modrinth.com/mod/deep-aether)/[CurseForge](https://www.curseforge.com/minecraft/mc-mods/deep-aether)|⏳|
|Deeper and Darker|[Github](https://github.com/KyaniteMods/DeeperAndDarker)/[Modrinth](https://modrinth.com/mod/deeperdarker)/[CurseForge](https://www.curseforge.com/minecraft/mc-mods/deeperdarker)|⏳|
|ExtraGems|[Github](https://github.com/XxRexRaptorxX/ExtraGems)/[Modrinth](https://modrinth.com/mod/extragems)/[CurseForge](https://www.curseforge.com/minecraft/mc-mods/extra-gems)|⏳|
|Galosphere|[Github](https://github.com/0rc1nus/Galosphere-Main)/[Modrinth](https://modrinth.com/mod/galosphere)/[CurseForge](https://www.curseforge.com/minecraft/mc-mods/galosphere)|⏳|
|Ice and Fire: Dragons|[Github](https://github.com/AlexModGuy/Ice_and_Fire)/[Modrinth](https://modrinth.com/mod/ice-and-fire-dragons)/[CurseForge](https://www.curseforge.com/minecraft/mc-mods/ice-and-fire-dragons)|⏳|
|Immersive Engineering|[Github](https://github.com/BluSunrize/ImmersiveEngineering)/[Modrinth](https://modrinth.com/mod/immersiveengineering)/[CurseForge](https://www.curseforge.com/minecraft/mc-mods/immersive-engineering)|⏳|
|Industrial Craft|[Modrinth](https://modrinth.com/mod/industrial-craft)/[CurseForge](https://www.curseforge.com/minecraft/mc-mods/industrial-craft)|⏳|
|Industrial Revolution|[Github](https://github.com/GabrielOlvH/Industrial-Revolution)/[Modrinth](https://modrinth.com/mod/industrial-revolution)/[CurseForge](https://www.curseforge.com/minecraft/mc-mods/industrial-revolution)|⏳|
|Infernal Expansion|[Github](https://github.com/infernalstudios/Infernal-Expansion)/[Modrinth](https://modrinth.com/mod/infernal-expansion)/[CurseForge](https://www.curseforge.com/minecraft/mc-mods/infernal-expansion)|⏳|
|Infinite Abyss|[Modrinth](https://modrinth.com/mod/infinite-abyss)/[CurseForge](https://www.curseforge.com/minecraft/mc-mods/infinite-abyss)|⏳|
|Magneticraft|[Github](https://github.com/Magneticraft-Team/Magneticraft)/[CurseForge](https://www.curseforge.com/minecraft/mc-mods/magneticraft)|⏳|
|Marium’s Soulslike Weaponry|[Github](https://github.com/mariumbacchus/Soulslike-Weaponry)/[Modrinth](https://modrinth.com/mod/mariums-soulslike-weaponry)/[CurseForge](https://www.curseforge.com/minecraft/mc-mods/mariums-soulslike-weaponry)|⏳|
|Mekanism|[Github](https://github.com/mekanism/Mekanism)/[Modrinth](https://modrinth.com/mod/mekanism)/[CurseForge](https://www.curseforge.com/minecraft/mc-mods/mekanism)|⏳|
|Mekanism: AdAstraOres|[Gitlab](https://gitlab.com/libertymods/mekanism-ad-astra-ores)/[Modrinth](https://modrinth.com/mod/mekanism-ad-astra-ores)/[CurseForge](https://www.curseforge.com/minecraft/mc-mods/mekanism-ad-astra-ores)|⏳|
|Modern Industrialization|[Github](https://github.com/AztechMC/Modern-Industrialization)/[Modrinth](https://modrinth.com/mod/modern-industrialization)/[CurseForge](https://www.curseforge.com/minecraft/mc-mods/modern-industrialization)|⏳|
|Mythic Metals|[Github](https://github.com/Noaaan/MythicMetals)/[Modrinth](https://modrinth.com/mod/mythicmetals)/[CurseForge](https://www.curseforge.com/minecraft/mc-mods/mythicmetals)|⏳|
|NetherEx|[Github](https://github.com/LogicTechCorp/NetherEx)/[Modrinth](https://modrinth.com/mod/netherex)/[CurseForge](https://www.curseforge.com/minecraft/mc-mods/netherex)|⏳|
|Oh The Biomes You’ll Go|[Github](https://github.com/Potion-Studios/BYG)/[Modrinth](https://modrinth.com/mod/biomesyougo)/[CurseForge](https://www.curseforge.com/minecraft/mc-mods/oh-the-biomes-youll-go)|⏳|
|Oritech|[Github](https://github.com/Rearth/Oritech)/[Modrinth](https://modrinth.com/mod/oritech)/[CurseForge](https://www.curseforge.com/minecraft/mc-mods/oritech)|⏳|
|Palladium|[Github](https://github.com/ThreeTAG/Palladium)/[Modrinth](https://modrinth.com/mod/threetag-palladium)/[CurseForge](https://www.curseforge.com/minecraft/mc-mods/threetag-palladium)|⏳|
|Pixelmon|[Modrinth](https://modrinth.com/mod/pixelmon)/[CurseForge](https://www.curseforge.com/minecraft/mc-mods/pixelmon)|⏳|
|Powah!|[Github](https://github.com/Technici4n/Powah)/[Modrinth](https://modrinth.com/mod/powah)/[CurseForge](https://www.curseforge.com/minecraft/mc-mods/powah-rearchitected)|⏳|
|Railcraft|[Github](https://github.com/Railcraft/Railcraft)/[CurseForge](https://www.curseforge.com/minecraft/mc-mods/railcraft)|⏳|
|Samurai Dynasty|[Github](https://github.com/VeroxUniverse/SamuraiDynasty-neoforge)/[Modrinth](https://modrinth.com/mod/epic-samurais)/[CurseForge](https://www.curseforge.com/minecraft/mc-mods/samurai-dynasty)|⏳|
|Tech Reborn|[Github](https://github.com/TechReborn/TechReborn)/[Modrinth](https://modrinth.com/mod/techreborn)/[CurseForge](https://www.curseforge.com/minecraft/mc-mods/techreborn)|⏳|
|Thaumcraft|[CurseForge](https://www.curseforge.com/minecraft/mc-mods/thaumcraft)|⏳|
|Thermal Foundation|[Modrinth](https://modrinth.com/mod/thermal-foundation)/[CurseForge](https://www.curseforge.com/minecraft/mc-mods/thermal-foundation)|⏳|
|Things|[Github](https://github.com/wisp-forest/things)/[Modrinth](https://modrinth.com/mod/things)/[CurseForge](https://www.curseforge.com/minecraft/mc-mods/things-fabric)|⏳|
|Tinkers Construct|[Github](https://github.com/SlimeKnights/TinkersConstruct)/[CurseForge](https://www.curseforge.com/minecraft/mc-mods/tinkers-construct)|⏳|
|Traincraft|[Github](https://github.com/EternalBlueFlame/Traincraft-5)/[CurseForge](https://www.curseforge.com/minecraft/mc-mods/traincraft)|⏳|
|Universal Ores|[Github](https://github.com/DawnTeamMC/UniversalOres)/[Modrinth](https://modrinth.com/mod/universal_ores)/[CurseForge](https://www.curseforge.com/minecraft/mc-mods/universal-ores-fabric)|✅|
|Werewolves|[Github](https://github.com/TeamLapen/Werewolves)/[Modrinth](https://modrinth.com/mod/werewolves)/[CurseForge](https://www.curseforge.com/minecraft/mc-mods/werewolves-become-a-beast)|⏳|

### If the ore mod you want is not listed above, please report it [here](https://github.com/Seltade-MC/UniversalOutlinedOres/issues).

Universal Graves

# Universal Graves
It’s a simple, but really customisable grave/death chest mod!
You can customise as you like, by modifying message, blocks and hologram texts, how long it will be protected,
if should drop items after expiring and alike.

This mod can work purely on servers, through for model support mod is required on clients!

*This mod works only on Fabric and Quilt!*

If you have any questions, you can ask them on my [Discord](https://pb4.eu/discord)

[Also check out my other mods and project, as you might find them useful!](https://pb4.eu)

### Using 2.x/1.19.x or older?
[Click here to view correct readme!](https://github.com/Patbox/UniversalGraves/blob/1.19.4/README.md)

## Images
![Default Grave look](https://i.imgur.com/rJoRmFT.png)

## Commands (and permissions):
– `/graves` – Main command, shows list of player’s graves (`universal_graves.list`, available by default)
– `/graves player ` – Opens gui with list of selected player’s graves (`universal_graves.list_others`)
– `/graves modify ` – Opens gui with list of executor’s graves with ability to modify them (`universal_graves.modify`)
– `/graves reload` – Reloads configuration and styles (requires `universal_graves.reload`)

Additionally, by having `universal_graves.teleport` permission, you can teleport to any grave.

## Configuration:
You can find main config file in `./config/universal-graves/config.json`.
[Formatting uses Simplified Text for which docs you can find here](https://placeholders.pb4.eu/user/text-format/).
Additionally, every message type has few own local variables, which you type as `${variable}`.
Most grave specific messages support these variables: `player`, `protection_time`, `break_time`, `xp`,
`item_count`, `position`, `world`, `death_cause`, `minecraft_day`, `creation_date`, `since_creation`,
`id`.

There are few other data types:
* `{/* PREDICATE */}` – Uses predicate format, [see here for all supported ones.](https://github.com/Patbox/PredicateAPI/blob/1.20/BUILTIN.md)
* `{/* COST */}` – Format for specifying cost.
“`json5
{
// Type of cost. Supports, “free”, “creative”, “item” and “level”
“type”: “”,
// Only used for “item”, describes Item Stack
“input”: {/* ITEMSTACK */},
// Amount of cost.
“count”: 0
}
“`
* `{/* ITEMSTACK */}` – represents an item.
Simple format: `”minecraft:skeleton_skull”`
Full format
“`json5
{
“id”: “minecraft:skeleton_skull”,
“Count”: 1,
// Optional nbt,
“tag”: {}
}
“`

“`json5
{
// Config version. Never modify it unless you want to risk data corruption!
“config_version”: 3,
“protection”: {
// Time grave is protected against other players. Set to -1 to make it infinite. In seconds
“non_owner_protection_time”: 900,
// Time after which grave destroys itself. Set to -1 to disable it. In seconds
“self_destruction_time”: 1800,
// Makes grave drop items after it expires/self destructs
“drop_items_on_expiration”: true,
// Allows attackers to access graves, useful in case of pvp oriented servers.
“attackers_bypass_protection”: false,
// Makes grave use real time instead of only progressing when world/server is running.
“use_real_time”: false
},
“interactions”: {
// Cost for accessing grave after death,
“unlocking_cost”: { /* COST */ },
// Enables giving death compass, which points to player’s grave.
“give_death_compass”: true,
// Makes clicking grave open an ui.
“enable_click_to_open_gui”: true,
// Enables quick pickup by shifting and clicking grave with empty hand.
“shift_and_use_quick_pickup”: true,
// Allows players to remotely remove protection form grave.
“allow_remote_protection_removal”: true,
// Allows players to remotely break grave.
“allow_remote_breaking”: true,
// Allows players to remotely pay cost of unlocking the grave.
“allow_remote_unlocking”: false
},
“storage”: {
// Selects how much of experience is stored.
// Available types: “none”, “vanilla”, “drop”, “percent_point”, “percent_level”
“experience_type”: “percent_points”,
// Amount of percent stored for “percent_X” types
“experience_percent:setting_value”: 100.0,
// Allows to create graves with only XP
“can_store_only_xp”: false,
// Enables usage of alternative experience orb entity, to prevent XP duplication with some mods.
“alternative_experience_entity”: false,
// Blocks items with enchantments from being added to grave.
“blocked_enchantments”: [
“somemod:soulbound”
]
},
“placement”: {
// Limits grave count per player. -1 is unlimited
“player_grave_limit”: -1,
// Allows grave to replace any block
“replace_any_block”: false,
// Max distance around starting position used for search of free spot.
“max_distance_from_source_location”: 8,
// Allows shifting starting position on failure
“shift_location_on_failure”: true,
// Max amount of shifts allowed.
“max_shift_tries”: 5,
// Distance used for shifting.
“max_shift_distance”: 40,
// Makes grave generate on top of fluids instead of within them.
“generate_on_top_of_fluids”: false,
// Makes broken graves restore replaced block.
“restore_replaced_block”: false,
// Makes broken graves restore replaced block after player breaks them.
“restore_replaced_block_after_player_breaking”: true,
// Damage types that don’t generate graves.
“cancel_creation_for_damage_types”: {
“minecraft:fire”: “… custom message or empty”
},
// Attacker’s entity types preventing grave creation.
“cancel_creation_for_ignored_attacker_types”: {
“minecraft:player”: “… custom message or empty”
},
// Predicates blocking creation of graves
“blocking_predicates”: [{/* PREDICATE */}],
// Blocks creation of graves in modded claim areas.
“block_in_protected_area”: {
“goml:claim_protection”: true
},
// Blocks creation of graves in entire worlds.
“blacklisted_worlds”: [
“dungeons:world”
],
// Blocks creation of graves in areas.
“blacklisted_areas”: {
“minecraft:overworld”: [
{
“x1”: -100,
“y1”: -200,
“z1”: -100,
“x2”: 100,
“y2”: 500,
“z2”: 100,
}
]
},
// Default grave creation failure message.
“creation_default_failure_text”: “…”,
// Grave creation failure in claim message.
“creation_claim_failure_text”: “…”
},
“teleportation”: {
// Teleportation cost
“cost”: {/* COST */},
// Time before finalizing teleportation.
“required_time”: 5,
// Y offset from grave location.
“y_offset”: 1.0,
// Time for which player is invincible.
“invincibility_time”: 2,
// Allows player to move while waiting.
“allow_movement_while_waiting”: false,
// Messages send to player
“text”: {
“timer”: “…”,
“timer_allow_moving”: “…”,
“location”: “…”,
“canceled”: “…”
}
},
“model”: {
// Default model file name
“default”: “default”,
// Alternatives for getting grave model.
“alternative”: [
{
“require”: {/* PREDICATE */},
“model”: “model_name”
}
],
// Enables workaround for geyser players, making graves look like skulls for them.
“enable_geyser_workaround”: true,
// Base item fro visual/container grave.
“gravestone_item_base”: “minecraft:skeleton_skull”,
// NBT added to the item.
“gravestone_item_nbt”: {}
},
“ui”: {/* UI DEFINITIONS, modify text, */},
“text”: {
// Date format used in placeholders. Uses https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html
“date_format”: “dd.MM.yyyy, HH:mm”,
// Overrides for world names.
“world_names”: {
“custom:world”: “Custom World!”
}
}
}
“`

## Grave models
> Todo: Finish this section.

Grave models are stored in `config/universal-graves/models/`. By default, there should be `example.json` file, which is a copy of default style.
To override default grave style, copy that file and rename it to `default.json` or other name specified in config and define its style.
You can also use different name and alternatives, to make random/unique models.

UniLink

## 🔗 UniLink

A mod that allows you to use resources from other directories

![preview](https://i.postimg.cc/7hLfZ2TY/0301.gif)

## 💼 Usage

This mod works using symbolic links, which can be used like a folder but don’t require reusing (copying) resources. Some launchers also use symbolic links, but the mod works independently of them. It’s a configuration file. The first field specifies the path to the directory to use, and the second field specifies the path to the folder where the symbolic link should be placed. The final path can be absolute (e.g., “`C:….minecraftsaves“`) or abbreviated (“`saves“`).

![preview](https://cdn.modrinth.com/data/cached_images/7fde11976eb370b7ad0e335c823529e7eeedc172_0.webp)

If you change the directory used for worlds and then revert the change, the game may freeze while searching for and failing to find the required folder. For this purpose, the configuration file has an option to recreate the folders used by the game.

## 🛠️ How it works
By default, the mod does nothing. However, you can add data to the configuration to create a link: the path from which resources will be used and the path where the symbolic link will be created.

### What follows from this:
* After changing the configuration, new links will be added. Therefore, old, unused links will be deleted.

* Since Minecraft creates some folders, the mod will have to delete the existing folder before creating the link. However, since the mod deletes folders without asking, it has a limitation on deleting directories with files inside. This means that if a folder contains any files, it won’t be deleted and the link won’t be created.

Creating symbolic links requires certain permissions. Therefore, some launchers that don’t have them won’t be able to create links. Solution: Run the launcher as administrator.

## 🤝 Support
Buy Me a Coffee at ko-fi.com

Underwater Swim Fix (MC-220390)

Fixes [MC-220390](https://bugs.mojang.com/browse/MC/issues/MC-220390) a bug where if you hit an entity while swimming and holding the sprint hotkey, the hitboxes server and clientside will be different. Resulting in weird behaviour where the client thinks that theyre swimming while the server doesnt think that. So when you for example try to go into a 1×1 block space while experiencing this bug, you will glitch out until you stop swimming and swim again.

The bug really annoyed me in monuments so I fixed it.

Join the [Discord!](https://discord.gg/p6ShJPq98d) You can ask for help, a mod, just suggest something, hangout or request the source code of any mod I have made (if I still have the source code)

Or donate to my [Kofi](https://ko-fi.com/bikerboys) incase you are feeling generous!