Anti Entity Grief
A minecraft mod for fabric, allowing you to control the griefing capabilities of entities!
Summary
Entities can grief the world in all sorts of ways, leading from minor nuisances to major issues. The team at Mojang recognised this and so added the gamerule mobGriefing
which allows you to disable all mobs from griefing. Unfortunately this is too broad a command to be useful, since in your attempt to disable endermen from stealing blocks you have now stopped your villagers from farming crops!
VanillaTweaks has some fantastic datapacks to handle this, namely 'Anti Creeper Grief', 'Anti Enerman Grief', and 'Anti Ghast Grief'. However these require downloading multiple datapacks to the server, and have limited control over entities due to the capabilities of datapacks.
This mod introduces a new method of applying settings per-entity type. It includes settings unique to each type (e.g. separate pick up / place block options for endermen) as well as generic settings (e.g. trampling crops).
Usage
This section contains examples of how to use the commands provided by this mod to control the behaviours of entities.
The commands take on the following form:
/entityGriefing <entity> [<capability> [true|false]]
/entityGriefingAll <capability> <true|false>
/entityGriefingReset
where <entity>
is the entity type you want to control, <capability>
is the type of griefing you want to control, and [true|false]
is whether you want to enable or disable the capability.
Not all entities will appear in tab-completion, either because I haven't identified any griefing capabilities or because they haven't been implemented yet. Please open an issue on GitHub or visit my Discord to let me know if there is a missing feature that you feel should be included.
For example, to stop endermen from picking up blocks, you would run:
/entityGriefing minecraft:enderman DESTROY_BLOCKS false
To set the BREAK_DOORS permission for all applicable entities, you would run:
/entityGriefingAll BREAK_DOORS false
To see if villagers can farm crops, you would run:
/entityGriefing minecraft:villager FARM_CROPS
And finally to see all the things that a pig can do, you would run:
/entityGriefing minecraft:pig ALL
Configs
This section contains a list of all capabilities available for modification, and which entities they apply to.
Capability | Description | Applicable Entities |
---|---|---|
BREAK_DOORS |
The ability to break down doors |
|
DESTROY_BLOCKS |
The ability to destroy blocks through movement or other actions. See EXPLODE_BLOCKS for destruction through explosions.
This cannot currently be applied to players. |
|
EAT_BLOCKS |
The ability to modify blocks through some form of eating. |
|
EXPLODE_BLOCKS |
Breaking blocks through means of explosions. |
|
FARM_CROPS |
The ability to farm crops. |
|
MELT_SNOW |
Living entities on fire will melt powdered snow blocks when standing inside them. |
|
PICKUP_ITEMS |
The ability to pick up items. Not a primary focus of this mod, so has not been fully implemented yet. |
|
PLACE_BLOCKS |
The ability to place blocks. |
|
PLACE_EGGS |
The ability to place eggs in the world. Does not disrupt the pregnancy cycle. |
|
SET_FIRE |
The ability to set fire to blocks. |
|
TRAMPLE_CROPS |
Living entities over a certain size will trample crops and farmland when walking on them. This option handles the destruction of crops only (see TRAMPLE_FARMLAND for turning farmland into dirt). The size is calculated as:
width * width * height > 0.512 If this is disabled, farmland trampling is only possible if no crops are above them. |
|
TRAMPLE_FARMLAND |
Living entities over a certain size will trample crops and farmland when walking on them. This option only handles turning farmland to dirt (see TRAMPLE_CROPS for destruction of crops). The size is calculated as:
width * width * height > 0.512 If this is disabled, crops on farmland can still be trampled without turning the farmland to dirt. |
|
TRAMPLE_EGGS |
All living entities except for turtles and bats will trample eggs when walking on them. |
|
Contributing
To further discuss or get notified about new updates, check out my Discord. If you like what I do, consider supporting me on Ko-Fi!