This plugin allow to add more interaction with block using WorldGuard.
Where you are using WorldGuard, if you often use block-break to deny you will not be able to do some things:
- Extinguish or inflame camp fire.
- Get / put water / snow from cauldron.
- Put book on lectern.
- Plant / get food from / to fields.
- etc...
If you let block-break to allow, you will able to do some action on these blocks but also break the blocks into the area. This is why this plugin was created, to add more interaction rules by disable temporary the WorldGuard rules for some interaction only.
- 1.0 : 2025/08/08
This first version allow to manage camp fire :
- inflame and extinguish CAMPFIRE and SOUL_CAMPFIRE into an area.
It allow to extinguish camp fire with hand (usually not possible) and when using WATER_BUCKET without keep the water spread everywhere.
- inflame and extinguish CAMPFIRE and SOUL_CAMPFIRE into an area.
- 2.0 : 2025/08/10
This version allow to manage lectern :
- Choose book that can be put and removed.
- Possibility to forbid book removal but let it read. Command has been changed (wgi reload / wgi materials) and managed to display output messages to player or server console. Extended informations has been added for items book and shovel allowing to check items meta. Camp fire allow to add extended informations for shovel as name / lore to better specify wich tools can extinguish fire.
- 3.0 : 2025/08/12
This version allow to manage cauldron :
- Choose cauldron type to manage.
- Choose items that can fill or empty cauldron.
- Allow to forbidden interaction with cauldron or let WorldGuard do the job with its with own flags.
- Allow to display messages to player when interaction is forbidden (fill / empty). Bugs fixes: fix logger for command. Allow to use place holder to display material / block to the user into message (explanation into config.yaml).
- 4.0 : 2025/08/16
This version allow to manage breaking blocks :
- Choose the type of blocks allowed to be broken .
- Choose tools allowed to break the blocks.
This allow to break block even the region is protected from breaking blocks with WorldGuard.
Bug fix: compute regions from block location instead of player's one.
# WorldGuardInteractExt configuration file
#
# WARNING: This file is based on WorldGuard region configuration.
# A single mistyped character can corrupt the file.
# If WorldGuardInteractExt is unable to parse the file, your configuration
# will fail to load and the contents of this file will ignored.
# Please use a YAML validator such as http://yaml-online-parser.appspot.com
#
# REMEMBER TO KEEP PERIODICAL BACKUPS.
#
# AIR is used when user has no item into his hand
# If action is not possible by Minecraft, even you put material, it should be
# not work (if not specially coded)!
# Will display log while block interaction, make easier to debug and configure
# By default verbose log is false
enable_verbose_logs: false
items:
[
{
# Specify type of extended interection: here it is campfire
type: "__CAMPFIRE__",
# name : must be only CAMPFIRE or SOUL_CAMPFIRE or both
names: ["CAMPFIRE", "SOUL_CAMPFIRE"],
# Region : you MUST add world name before region name to make it work
# Put [] to accept all regions
# regions: ["myworld.region_1", "myworld.region_2"],
regions: [], # All regions
# May be inflame can work with other materials.
# If empty, search all material. If no material remove this entry.
inflame: ["FLINT_AND_STEEL", "FIRE_CHARGE"],
# Here, use a regex to specify shovel (for example) you want (here all SHOVEL) or specify only some tools.
# - You can use AIR to be able to extinguish firecamp with hand (not possible in Minecraft)
# - You can use WATER_BUCKET: in this case when a firecamp is extinguished with WATER_BUCKET, it's work and
# the water is removed just after (in normal way, the water is keep and spread everywhere).
# - For SHOVEL, you can specify name / lore (only first item is checked) to accept only a special shovel like:
# { material : "DIAMOND_SHOVEL", name : "My shovel", lore : "Create by me" }
# Note : You can use regex for name into the previous line to accept several shovel materials for same
# extra information.
# Note : You must add color into text if the name / lore has color.
# See colors codes: https://minecraft.wiki/w/Formatting_codes
# If empty, search all material. If no material remove this entry.
extinguish: [".+_SHOVEL"],
},
{
# Specify type of extended interection: here it is lectern
type: "__LECTERN__",
# name : must be only LECTERN
names: ["LECTERN"],
# Region : you MUST add world name before region name to make it work
# Put [] to accept all regions
# regions: ["myworld.region_1", "myworld.region_2"],
regions: [], # All regions
# For WRITTEN_BOOK, you can specify author and / or title to accept only a special book.
# For WRITABLE_BOOK, only WRITABLE_BOOK can be specified.
# If empty, search all material. If no material remove this entry.
put: [ "WRITABLE_BOOK", { "material" : "WRITTEN_BOOK", "author" : "This is the author", "title" : "The title of the book" } ],
# This lines are also accepted too!
# put: [ "WRITABLE_BOOK", "WRITTEN_BOOK" ],
# put: [ ".+_BOOK" ],
# If empty, search all material. If no material remove this entry.
remove: ["WRITABLE_BOOK", "WRITTEN_BOOK"],
# Message to the user if he try to remove a book from Lectern and this action is forbidden (WorldGuard don't display message)
# See colors codes: https://minecraft.wiki/w/Formatting_codes
# Allow to use <lectern> for the lectern name (automatically translated).
# Allow to use <removed_book> for the name of the book in the lectern that the player want to remove (automatically translated).
remove_forbidden_message: "&eYou cannot remove <removed_book> from the <lectern>!"
},
{
# Specify type of extended interection: here it is cauldron
type: "__CAULDRON__",
# name : must be only CAUDRON / LAVA_CAULDRON / WATER_CAULDRON / POWDER_SNOW_CAULDRON
names: ["CAULDRON", "LAVA_CAULDRON", "WATER_CAULDRON", "POWDER_SNOW_CAULDRON"],
# Region : you MUST add world name before region name to make it work
# Put [] to accept all regions
# regions: ["myworld.region_1", "myworld.region_2"],
regions: [], # All regions
# To fill cauldron, use only LAVA_BUCKET, WATER_BUCKET, POWDER_SNOW_BUCKET, POTION)
# For POTION only potion with water could be used (and so not empty) to fill cauldron,
# the rule is : if cauldron is empty, allow to fill cauldron, else the cauldron must contains water.
# If empty, search all material. If no material remove this entry (not allowed to fill cauldron).
fill: [ "LAVA_BUCKET", "WATER_BUCKET", "POWDER_SNOW_BUCKET", "POTION" ],
# To empty cauldron, use only BUCKET / GLASS_BOTTLE.
# On cauldron, the GLASS_BOTTLE can only take water, the BUCKET can take lava, water, powder snow
# Taking water from a cauldron that is not completely filled is also not possible.
# If empty, search all material. If no material remove this entry (not allowed to empty cauldron).
empty: ["BUCKET", "GLASS_BOTTLE"],
# force_forbidden = false: If action is not allowed, the plugin do nothing and let WorldGuard do the job
# with its with own flags,
# force_forbidden = true: If action is not allowed, the action is cancelled and a forbidden message is displayed.
force_forbidden: true,
# Allow to use <cauldron> for the cauldron name (automatically translated).
# Allow to use <hand_material> for the name of the item in the player's hand (automatically translated).
fill_forbidden_message: "&eYou cannot fill this <cauldron> with <hand_material>!",
empty_forbidden_message: "&eYou cannot empty this <cauldron> with <hand_material>!",
},
{
# Specify type of extended interection: here it is breakable blocs
type: "__BLOCKBREAK__",
# name : All block you want. Plugin is not able to validate material type here. It will work only for
# breakable blocks. Stone for example (names: ["STONE"]).
# Empty list is not allowed.
names: [],
# Region : you MUST add world name before region name to make it work
# Put [] to accept all regions
# regions: ["myworld.region_1", "myworld.region_2"],
regions: [], # All regions
# Use tool(s), allowed by Minecraft to be able to break blocks.
# You can specify name / lore (only first item is checked) to accept only a special tool like:
# tool: [ "STONE_PICKAXE", { material : "DIAMOND_PICKAXE", name : "My pickaxe", lore : "Create by me" } ],
# Note : You can use regex for name into the previous line to accept several tools materials for same
# extra information.
# Note : You must add color into text if the name / lore has color.
# See colors codes: https://minecraft.wiki/w/Formatting_codes
# Empty list is not allowed.
tool: [ ],
}
]