CoreProtect-additions is an addon for CoreProtect that adds logging for extra features that are currently unsupported by CoreProtect.
WARNING: THIS IS A BETA, HAS ONLY BEEN TESTED IN 1.21.11 PLEASE REPORT ANY ISSUES YOU FIND ON DISCORD OR GITHUB, I WILL TRY TO FIX THEM AS SOON AS POSSIBLE
Logging has been added for
- Renaming mobs with a name tag
- Starting raids
- Dyeing entities
- Placing and breaking boats and Minecarts
- Mounting and dismounting entities
- Igniting TNT
- Cusing Creeper or Ghast fireballs to explode
- Leashing and unleashing mobs
- Setting spawn on a Bed or Respawn Anchor
- Exploding a Bed or Respawn Anchor
- Opening entity container GUIs.
- Wind charge throwing
- Wind charge triggering blocks
- Sponges absorbing water
- Zombies breaking doors
- Inserting books into lecterns
- Adding and removing items to flower pots
- Weaving potion effect placing cobwebs
- Silverfish infesting blocks
- Frost walker
- Picking up and placing bucketable mobs (fish, axolotl etc.)
- Villagers and pigs getting converted by lightning
- EXPERIMENTAL ENTITY CONTAINER LOGGING (for Chest Minecarts, Hopper Minecarts )
The formats used to specify the action are the ones used in the /co lookup command. For the a:block action, if no + or - is specified, both versions are used as expected.
Due to limitations of the CoreProtect API, these events are logged in sometimes unintuitive ways as a:block actions, using items to differentiate them.
a:+block i:<dye>: dyeing a mob (sheep, dog collar etc), with the, coordinates of the entity dye will refer to the applied dye item.a:+block i:name_tag: renaming a mob (neither new or old mob name are stored), coordinates of the animal.a:-block i:ominous_bottle: triggering a raid, coordinates of the raid origin.a:-block i:creeper_spawn_egg: causing a creeper to explode, coordinates of the creeper.a:-block i:fire_charge: causing a Ghast fireball to explode, coordinates of the fireball.
a:block i:<vehicle>: placing or breaking a Minecart or Boat of any kind (vehicle will refer to the particular vehicle e.g.oak_chest_boat)a:block i:<spawn_egg>: entering or exiting a Minecart of Boat (if enabled in config)a:block i:<spawn_egg>: mounting or dismounting a Mob, spawn egg reprsents the mob ridden.a:block i:lead: placing or breaking a Leash. This includes riding away with a leashed mob. At the coordinates of the entity that was leashed. Also called when placing or removing a leash from a fence post, at the coordinates of the fence post.a:block i:<mob_bucket>: placing or picking up a bucketed mob
The a:click action is used for everything else:
a:click i:tnt: igniting TNTa:click i:creeper_spawn_egg: igniying a creeper with a flint and steel, coordinates of the creeper at time of explosion (NOT logged when the creeper was ignited).a:click i:<bed>: setting spawn on a Bed or exploding it (with a specified bed colour e.g.magenta_bed)a:click i:respawn_anchor: setting spawn on a Respawn Anchor or exploding it.a:click i:<spawn_egg>: clicking on a chested mob (Llama, donkey, etc..).a:click i:<vehicle>: clicking on an inventory vehicle (Hopper cart, chest boat, etc..), or mounting/dismounting it (boat, minecart).
Wind Charges are logged as a:item which actually shows up in lookups as "user thew wind_charge" as for other projectiles.
Buttons, doors, levers and more triggered by the wind charge are logged as if they were clicked by the player or breeze that fired them.
Sponges are simply logged as user "#sponge" breaking the blocks that were sucked up (water, kelp or seagress).
Zombies breaking doors are logged as user "#zombie" (husk, zomvie_villager or whatever) breaking the door block.
Weaving is logged as user "#weaving" placing cobwebs.
Potted plants are logged as the player breaking the pot and placing a new potted_plant, making it rollbackable.
Lightning conversion is logged as user #lightning killing the mob, making it rollbackable.
Config is available, entries should be fairly self-explanatory, and comments are present in the config.
Note: user comments in the config will be deleted next plugin reload.
This plugin also has an experimental option to finally allow CoreProtect to log transactions with entity inventories (such as donkeys, mules, chest boats, hopper minecarts, chest minecarts etc...). This is a bit of a hack, as there is no official API for this, and is disabled by default in the config. It worked in my limited testing but might have other issues i didn't account for. Use with caution, the feature should disable itself until the next restart in case an error occurs.
Due to an issue in CoreProtect, rollback previews (#preview) can fail unexpectedly.
To avoid this, you will have to exclude all items that may be causing the issue. You can find a complete list of items that may be causing the issue on GitHub.
NOTE: Regular rollbacks without the #preview option will work just fine.
Breaking a fence to which a mob is leashed will be logged as a:-block i:lead by #physics at the location of the fence post. A manual lookup is needed to verify who broke the fence.
TNT triggered by a Bed or Respawn Anchor explosion currently gets logged as a:click i:tnt by #block ideally it should be traced back to the player who clicked it.
