Перейти к содержимому
Mineforgian

Anti Entity Grief

Control the capabilities mobs have for destroying your world! Adds server commands to modify the behaviours of individual mobs.

Загрузки
9K
Подписчики
24
Обновлён
13 марта 2025 г.
Лицензия
LGPL-3.0-only

Опубликован 9 июня 2024 г.

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

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!

ko-fi

Ченджлог

1.0.8Релиз1.21.5-pre1, 1.21.5-pre2 · 13 марта 2025 г.

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
1.0.7Релиз1.21.3, 1.21.4 · 7 марта 2025 г.

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.

1.0.7Релиз1.20.1, 1.20.2, 1.20.3 · 6 марта 2025 г.
1.0.6-1.20Релиз1.20.1, 1.20.2, 1.20.3 · 9 декабря 2024 г.

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.

1.0.6Релиз1.21.3, 1.21.4 · 4 декабря 2024 г.

Updated for 1.21.4! Now includes better error messages when attempting to set incompatible configs.

Replace this with a description

1.0.5-1.20.1Релиз1.20.1 · 2 декабря 2024 г.

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.

1.0.5Релиз1.21.3 · 2 декабря 2024 г.

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.
1.0.4Релиз1.21, 1.21.1 · 30 августа 2024 г.

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.

Комментарии

Загружаем…