All Mods Resource Packs Data Packs Shaders Modpacks Plugins
Anti Entity Grief

Anti Entity Grief

by BVengo • Downloads: 0 • Followers: 0
Description
Gallery
Changelog
Versions

Anti Entity Grief

GitHub license GitHub release GitHub issues

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
  • Zombies (and all variants)
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.

  • Endermen (picking up blocks)
  • Ender dragons (through movement)
  • Ravagers (through movement)
  • Silverfish (merging with stone, breaking out of infested stone)
  • Withers (through movement)
EAT_BLOCKS The ability to modify blocks through some form of eating.
  • Foxes (eating sweet berries)
  • Rabbits (eating carrots)
  • Sheep (eating grass)
EXPLODE_BLOCKS Breaking blocks through means of explosions.
  • Creepers (including charged)
  • End Crystal
  • Ghasts (via large fireball)
  • TNT (and TNT minecart)
  • Withers (via skulls)
FARM_CROPS The ability to farm crops.
  • Villagers (Farmer variant)
MELT_SNOW Living entities on fire will melt powdered snow blocks when standing inside them.
  • All living entities
PICKUP_ITEMS The ability to pick up items. Not a primary focus of this mod, so has not been fully implemented yet.
  • Allay
  • (Future) Piglins, zombies, skeletons, etc
PLACE_BLOCKS The ability to place blocks.
  • Endermen (placing blocks they are holding)
  • Snow golem (placing snow below them)
  • Wither (placing wither roses where entities die)
PLACE_EGGS The ability to place eggs in the world. Does not disrupt the pregnancy cycle.
  • Turtles
  • (Future) Frogs
SET_FIRE The ability to set fire to blocks.
  • Blaze (via small fireball)
  • Ghast (via large fireball)
  • Lightning (natural or channelled)
TRAMPLE_CROPS

Living entities over a certain size (width2 * height > 0.512) 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).

If this is disabled, farmland trampling is only possible if no crops are above them.

  • All applicable entities (this is a calculated field)
TRAMPLE_FARMLAND

Living entities over a certain size (width2 * height > 0.512) will trample crops and farmland when walking on them. This option only handles turning farmland to dirt (see TRAMPLE_CROPS for destruction of crops).

If this is disabled, crops on farmland can still be trampled without turning the farmland to dirt

  • All applicable entities (this is a calculated field)
TRAMPLE_EGGS All living entities except for turtles and bats will trample eggs when walking on them.
  • All applicable entities (this is a calculated field)
  • Zombie (and all variants) (intentional egg trampling)

Contributing

How to Install Anti Entity Grief (Mod)

Anti Entity Grief by BVengo is verified for Fabric across Minecraft versions 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.6, 1.21, 1.21-pre4, 1.21.1 (latest release: 1.0.8, file size: 115 KB). Follow the steps below to install it safely from ModCraft.tv:

  1. Click the Download button above and select your Minecraft version (1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.6, 1.21, 1.21-pre4, 1.21.1) and platform (Fabric).
  2. Make sure you have the compatible loader or environment installed for Fabric.
  3. Move the downloaded Anti Entity Grief file into your Minecraft .minecraft/mods folder and launch the game.

All Versions

+ Add Version
Name Game version Platforms Published Downloads Actions
1.21.x
Fabric
last yr. 1
1.21.x
Fabric
last yr. 1
1.20.x
Fabric
last yr. 1
1.20.x
Fabric
last yr. 1
1.21.x
Fabric
last yr. 1
1.20.1
Fabric
last yr. 1
1.21.3
Fabric
last yr. 1
1.21.x
Fabric
last yr. 1
1.21.x
Fabric
last yr. 1
1.21
Fabric
last yr. 1
1.21-pre4
Fabric
last yr. 1
1.20.6
Fabric
last yr. 1
Updated for the 1.21.5 pre-release. No behavioural changes.

  • Technical Updates**
  • Mixins now use WrapOperation instead of Redirect for better compatibility
  • Mixins now have id for Injects for better compatibility
  • A couple of tweaks to align with 1.21.5 code changes
  • Changes**
  • Move config loading to occur after capability inference

  • Explanation**

In this mod, entities have two types of capabilities: **pre-set** and **inferred**. Pre-set capabilities are explicitly defined in configuration files (e.g., a Blaze being able to set things on fire). Inferred capabilities, on the other hand, are determined dynamically at runtime based on Minecraft’s internal calculations (e.g., a mob’s size determining whether it can trample crops).

Previously, the mod loaded configuration files immediately on startup, before inferred capabilities were assigned to entity types. This caused issues when attempting to apply inferred configurations—since they technically didn’t exist yet, the system would reject them.

To fix this, configuration loading is now delayed until after the world has fully loaded. By that point, all inferred capabilities are already assigned, ensuring that the stored configurations can be correctly applied without rejection.
Updated the 1.20 version with the latest error checks, by request.

Edit 2024-12-10: Fixed a bug from the previous upload that failed to properly save and load the configs.
Updated for 1.21.4! Now includes better error messages when attempting to set incompatible configs.

![Replace this with a description](https://cdn.modrinth.com/data/cached_images/750f1aa53ca943b5b0caaa40d70a31a56a5b715c.png)
# 1.20.1 Backport
A new backport for 1.20.1, based off the latest release. Includes all the latest features, minus the support for any entities added _after_ this update.
## Updated to 1.21.3!
Apologies for the delay on this one. Life has kept me busy, and it also ended up being a fairly large update to handle.

  • Changes**
  • Added colours to commands for easier reading
  • Updated the /entityGriefing command so you can print all options for a single entity by typing /entityGriefing <entity>. Previously you had to select the 'ALL' option.
  • Added support for the creaking mob.
A new feature, and a bugfix!

The original TRAMPLE_CROPS capability has now been split into TRAMPLE_CROPS and TRAMPLE_FARMLAND by request.
For more details, check the newly updated mod description.

Additionally, previous versions were incorrectly overwriting calculated configurations (e.g. BREAK_DOORS) whenever the server was restarted, setting them back to their defaults. This issue has now been resolved.
## Bugfix 1.0.3!

This version fixes a bug with egg trampling. In the previous versions, zombie variants always had egg trampling disabled (even if the rule was set to TRUE). This has now been amended.

Additionally, the trampling setting has been modified so that zombies+ will still target eggs even if they cannot destroy them. This is to maintain their vanilla behaviour whilst still adhering to the mob griefing rule.
Updated to 1.21!

Added ALL to the list of capabilities available in commands, to make some things easier.

Unfortunately due to internal MC limitations, the same could not be done for entities and so the entityGriefingAll command still exists for that purpose.
Updated for 1.21 pre-release 4!

  • Visible changes**
  • Added assets and icons

  • Technical changes**
  • Updated a mixins to the latest version (FoxEatBerriesGoal, PrimedTNT), among other small update changes
# Version 1.0!
Anti Entity Grief has now been made public and released! Change log is.. the whole mod!

This is for Minecraft 1.20.6, and I'll be working on a 1.21 release alongside the snapshots as they come out.

Hope you all enjoy :) Feel free to suggest new features!
Anti Entity Grief Icon
Download Anti Entity Grief
Select game version
Select platform