BVengo / anti-entity-grief

A minecraft mod for fabric, allowing you to control the griefing capabilities of entities.
GNU Lesser General Public License v3.0
2 stars 0 forks source link

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 [ [true|false]] /entityGriefingAll /entityGriefingReset ``` where `` is the entity type you want to control, `` 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](https://github.com/BVengo/anti-entity-grief/) or visit my [Discord](https://discord.com/invite/kUhf3WSSfv) 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 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.
  • All applicable entities (this is a calculated field)
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.
  • 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