
AnvilWatch
AnvilWatch is a lightweight Minecraft moderation plugin that monitors and logs all item renaming done through anvils. It blocks the use of banned words, alerts admins in-game, and records rename activity to a log file for server safety and accountability.
Tags
Creators
Details
1.4
Compatibility
Changes
[1.4]
Added
- Added a configurable
config.ymlfor player warning messages, admin notification messages, notification display modes, log locations, and blocked-attempt logging. - Added MiniMessage support for configurable messages, including
<player>,<item>,<old>, and<new>placeholders. - Added separate logging for blocked rename attempts in
blocked_renames.log. - Added the
/anvilwatch check <text>command for testing text against the current banned word list. - Added the
/anvilwatch recent [page]command for viewing recent successful and blocked rename entries with clickable pagination controls. - Added persistent admin notification preferences so
/anvilwatch log on|offsurvives server restarts.
Changed
- Upgraded the Paper API to
26.2and updated the plugin API version to Paper 26.2. - Updated the Maven Compiler Plugin to
3.15.0and configured the project to compile for Java 25. - Updated
/anvilwatch reloadto reload bothconfig.ymlandBannedWords.txt. - Updated admin notifications to have optional chat, action-bar, or combined display modes.
Fixed
- Fixed Paper 26.2 compatibility by replacing deprecated
ItemMeta.hasDisplayName()andItemMeta.displayName()usage withhasCustomName()andcustomName(). - Fixed anvil result handling by validating the active
AnvilView, the top inventory, and the result slot before processing a rename. - Fixed detection of removed custom names while preventing the name from being treated as player-entered text.
- Fixed fragile admin notification formatting that relied on splitting message text by delimiters.
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:fACp64wt:pmCsjrw9"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:fACp64wt:pmCsjrw9"
}
