33-Plots - Advanced Plots Plugin v1.0

A fresh, intuitive plugin that lets players easily create and manage their own plots.
plots.png
main.png

showcase.png


PLACEHOLDERS.png


PlaceholderDescription Default
%plots_count%Shows how many plots the player is currently a member of.0
%plots_max%Shows the player's plot limit based on their permissions.1
%plots_name%Displays the name of the player's primary plot.None
%plots_owner%Displays the username of the plot owner.None
%plots_rating%Shows the average opinion rating of the plot (1 decimal place).0.0
%plots_size%Displays the size/dimensions of the player's plot.0
%plots_members%Shows the current amount of members in the plot.0
%plots_slots%Shows the maximum member capacity (slots) of the plot.0

perms.png


PermissionDescriptionDefault
plots.userGrants access to basic player commands (creating, managing, and deleting own plots).All Players (true)
plots.adminGrants full admin access (bypassing limits, modifying any plot, reloading config).OPs Only (op)
plots.flyAllows the player to use /plot fly on their own or friendly plots.OPs Only (op)
plots.limit.<group>Sets the maximum number of plots a player can own (defined under limits.plotsLimit in config). Replace <group> with rank name (e.g., plots.limit.vip).None
plots.size.<group>Sets the starting plot border dimensions for the player (defined under limits.plotSize in config). Example: plots.size.vip.None
plots.slots.<group>Sets the starting maximum member capacity for the plot (defined under limits.plotSlots in config). Example: plots.slots.vip.None

* Tip: Make sure to assign plots.user to your default group so regular players can start using plots right away!

configuration.png


YAML:
# Permissions: plots.user, plots.admin, plots.limit.x, plots.size.x, plots.slots.x, plots.fly

# License
licenseKey: ''

# Blocked names
blockedNames:
- admin
- owner
- '777'

# Minimum distance from spawn (blocks)
spawnDistance: 300

# Minimum distance between plots (blocks)
minDistanceBetweenPlots: 150

# Disabled worlds
disabledWorlds:
- world_nether
- world_the_end

# Invite timeout (seconds)
inviteTimeoutSeconds: 60

# Teleport time (seconds)
teleportTime: 5

# Plot settings
defaults:
  # Default plot size (in each direction from the plot block)
  size: 25
  # Default number of members
  slots: 5
  # Maximum plot size
  maxSize: 100
  # Maximum number of members
  maxSlots: 50

# Limits
limits:
  # permission: plots.limit.name
  plotsLimit:
    svip: 2
    mvip: 3
    owner: 5
    vip: 2
    default: 1
  # permission: plots.size.name
  plotSize:
    mvip: 40
    svip: 35
    owner: 50
    vip: 30
  # permission: plots.slots.name
  plotSlots:
    mvip: 25
    svip: 20
    owner: 30
    vip: 15

# Economy
economy:
  enable: true
  # VAULT or ITEMS
  type: VAULT
  item:
    material: DIAMOND
    displayName: <aqua>diamond

# Upgrades
upgrades:
  # Cost multiplier for successive upgrades (for size and member limits)
  multiplier: 2.0
  size:
    increment: 5
    cost: 500.0
  members:
    increment: 2
    cost: 5.0
  time:
    days: 7
    cost: 400.0

# Plot expiration
expiration:
  enable: true
  defaultHours: 168
  broadcastOnExpiry: true
  # Send plot expiration reminders (hourly when player is online)
  reminderEnabled: true
  # Send reminder on join
  remindOnJoin: true

# Hologram settings
hologram:
  enable: true
  yOffset: 1.2
  # CENTER, FIXED, HORIZONTAL, VERTICAL
  billboard: CENTER
  background: transparent
  shadowRadius: 0.0
  shadowStrength: 1.0
  # LEFT, CENTER, RIGHT
  textAlignment: CENTER
  textShadow: false
  seenThrough: false
  lines:
  - <#00FF00>Plot <dark_gray>(<white><name><dark_gray>)
  - ''
  - '<dark_gray>⋆ <white>ᴏᴡɴᴇʀ: <#00FF00><owner>'
  - '<dark_gray>⋆ <white>ɴᴀᴍᴇ: <#00E0FF><name>'
  - '<dark_gray>⋆ <white>ʀᴀᴛɪɴɢ: <#FFFF78><rating><dark_gray>/<#FFFF00>5.0★'
  - ''
  - <#00FF00><underlined>ᴄʟɪᴄᴋ ᴛᴏ ᴏᴘᴇɴ ᴘᴀɴᴇʟ

# Border visualization settings
visualize:
  material: RED_GLAZED_TERRACOTTA
  time: 60

# Bossbar
bossBar:
  enable: true
  ownPlot:
    name: <dark_gray>● <white>You are on your plot! <dark_gray>(<#00FF00><distance>
      blocks<dark_gray>) <dark_gray>●
    color: GREEN
    overlay: SEGMENTED_10
  friendlyPlot:
    name: <dark_gray>● <white>You are on a friendly plot! <dark_gray>(<#FFFF00><distance>
      blocks<dark_gray>) <dark_gray>●
    color: YELLOW
    overlay: SEGMENTED_10
  enemyPlot:
    name: <dark_gray>● <white>You are on an enemy plot! <dark_gray>(<#FF0000><distance>
      blocks<dark_gray>) <dark_gray>●
    color: RED
    overlay: SEGMENTED_10

# Fly settings
fly:
  enable: true
  onlyOwnOrMember: true
  disableOnExit: true

# Plot crafting settings
crafting:
  enable: true
  shape:
  - SPS
  - SDS
  - OOO
  components:
    P: OAK_PLANKS
    S: STONE
    D: DIAMOND
    O: OAK_LOG

  # Plot block
  plotBlock:
    material: LOOM
    displayName: <#00FF00>Plot Block
    lore:
    - <dark_gray>⋆ <white>Place to create a plot.

# Setting or changing the plot name
rename:
  prompt:
  - <white>
  - <dark_gray>⋆ <#00FF00>Type the plot name in chat <dark_gray>⋆
  - <dark_gray>(or type <#FF0000>"cancel"<dark_gray> to cancel)
  - <white>
  timeoutSeconds: 30
  minLength: 3
  maxLength: 16
YAML:
# Message types: CHAT, ACTIONBAR, TITLE, SUBTITLE, TITLE_SUBTITLE, BOSSBAR

noPermission:
  type: CHAT
  message: <#FF0000>☹ <red>You don't have permission to use this command.
playerOnly:
  type: CHAT
  message: <#FF0000>☹ <red>This command is only available for players!
playerNotFound:
  type: CHAT
  message: <#FF0000>☹ <red>Player <#FF0000>{player}<red> not found.
usage:
  type: CHAT
  message: '<#FF0000>☹ <red>Correct usage: <#FF0000>{usage}'
reloaded:
  type: SUBTITLE
  message: <#00FF00>☺ <white>Plugin has been successfully reloaded!
teleportCountdown:
  type: SUBTITLE
  message: <white>Teleporting in <#00FF00>{time} seconds...
teleportSuccess:
  type: SUBTITLE
  message: <#00FF00>Teleported!
teleportCancelled:
  type: SUBTITLE
  message: <#FF0000>☹ <red>Teleportation cancelled, you moved!
notFound:
  type: CHAT
  message: <#FF0000>☹ <red>Plot named <#FF0000>{name}<red> not found!
help:
  type: CHAT
  message:
  - '<#00FF00>☺ <white>Plot commands list:'
  - <dark_gray>- <#00FF00>/plot help <dark_gray>- <white>Show commands list
  - <dark_gray>- <#00FF00>/plot accept <id> <dark_gray>- <white>Accept invitation
  - <dark_gray>- <#00FF00>/plot info <dark_gray>- <white>Plot information
  - <dark_gray>- <#00FF00>/plot crafting <dark_gray>- <white>Plot block crafting recipe
  - <dark_gray>- <#00FF00>/plot rate <plot> <dark_gray>- <white>Rate a plot
  - <dark_gray>- <#00FF00>/plot warp <plot> <dark_gray>- <white>Teleport to plot warp
  - <dark_gray>- <#00FF00>/plot setwarp <dark_gray>- <white>Set plot warp
  - <dark_gray>- <#00FF00>/plot invite <player> <dark_gray>- <white>Invite a player
  - <dark_gray>- <#00FF00>/plot kick <player> <dark_gray>- <white>Kick a member
  - <dark_gray>- <#00FF00>/plot leave <dark_gray>- <white>Leave the plot
  - <dark_gray>- <#00FF00>/plot ban <player> <dark_gray>- <white>Ban a player from the plot
  - <dark_gray>- <#00FF00>/plot unban <player> <dark_gray>- <white>Unban a player
  - <dark_gray>- <#00FF00>/plot limits <dark_gray>- <white>Show your limits
  - <dark_gray>- <#00FF00>/plot panel <dark_gray>- <white>Open plot panel
  - <dark_gray>- <#00FF00>/plot home <dark_gray>- <white>Teleport to plot home
  - <dark_gray>- <#00FF00>/plot visualize <dark_gray>- <white>Visualize borders
  - <dark_gray>- <#00FF00>/plot sethome <dark_gray>- <white>Set plot home
  - <dark_gray>- <#00FF00>/plot fly <dark_gray>- <white>Toggle flight
plotCreated:
  type: CHAT
  message: <#00FF00>☺ <white>Plot successfully created!
creationCancelled:
  type: CHAT
  message: <#FF0000>☹ <red>Plot creation cancelled.
plotDeleted:
  type: CHAT
  message: <#00FF00>☺ <white>Plot has been deleted!
tooCloseToSpawn:
  type: CHAT
  message: <#FF0000>☹ <red>You cannot create a plot closer than <#FF0000>{distance} <red>blocks from spawn!
disabledWorld:
  type: CHAT
  message: <#FF0000>☹ <red>You cannot create plots in this world!
overlappingPlot:
  type: CHAT
  message: <#FF0000>☹ <red>You cannot create a plot overlapping another plot!
tooCloseToPlot:
  type: CHAT
  message: <#FF0000>☹ <red>You cannot create a plot closer than <#FF0000>{distance} <red>blocks to another plot!
invalidLocation:
  type: CHAT
  message: <#FF0000>☹ <red>You cannot create a plot here!
cannotBreak:
  type: CHAT
  message: <#FF0000>☹ <red>You cannot break blocks on this plot!
cannotPlace:
  type: CHAT
  message: <#FF0000>☹ <red>You cannot place blocks on this plot!
cannotInteract:
  type: CHAT
  message: <#FF0000>☹ <red>You cannot interact on this plot!
enterMessage:
  type: CHAT
  message: <#00FF00>☺ <white>You entered <#00FF00>{owner}'s <white>plot <#00FF00>{name}<white>.
leaveMessage:
  type: CHAT
  message: <#FF0000>☹ <red>You left <#FF0000>{owner}'s <red>plot <#FF0000>{name}<red>.
plotExpired:
  type: CHAT
  message: <#FF0000>☹ <red>Your plot <#FF0000><name> <red>has expired!
plotExpiredBroadcast:
  type: CHAT
  message: '<#FF0000>☹ <red>Plot <#FF0000><name> <red>owned by <#FF0000><owner> <red>has expired! (<#FF0000>X: <x>, Z: <z><red>)'
expirationReminder:
  type: CHAT
  message: <#FF0000>☹ <red>Your plot <#FF0000><name> <red>expires in <#FF0000><time><red>! Renew it to avoid losing items.
cannotRateOwn:
  type: CHAT
  message: <#FF0000>☹ <red>You cannot rate your own plot!
alreadyRated:
  type: SUBTITLE
  message: <#FF0000>☹ <red>You have already rated this plot!
ratingSuccess:
  type: CHAT
  message: '<#00FF00>☺ <white>Voted successfully! Your rating: <#00FF00>{rating}⭐<white>.'
invalidPlot:
  type: SUBTITLE
  message: <#FF0000>☹ <red>Plot with the given name was not found!
invalidNameFormat:
  type: CHAT
  message: <#FF0000>☹ <red>The name must be at least 3 characters long and contain only letters and numbers!
plotRenamed:
  type: CHAT
  message: <#00FF00>☺ <white>Plot renamed to <#00FF00>{name}<white>!
nameTaken:
  type: SUBTITLE
  message: <#FF0000>☹ <red>This name is already taken!
blockedName:
  type: SUBTITLE
  message: <#FF0000>☹ <red>This plot name is blocked on the server!
sizeUpgraded:
  type: CHAT
  message: '<#00FF00>☺ <white>Size upgraded from <#00FF00>{old}x{old} <white>to <#00FF00>{new}x{new}<white>! Cost: <#00FF00>${cost}<white>.'
membersUpgraded:
  type: CHAT
  message: '<#00FF00>☺ <white>Member limit upgraded from <#00FF00>{old} <white>to <#00FF00>{new}<white>! Cost: <#00FF00>${cost}<white>.'
timeUpgraded:
  type: CHAT
  message: '<#00FF00>☺ <white>Expiration time extended to <#00FF00>{new}<white>! Cost: <#00FF00>${cost}<white>.'
notEnoughMoney:
  type: CHAT
  message: <#FF0000>☹ <red>You don't have enough money! You need <#FF0000>${amount}<red>.
maxSizeReached:
  type: CHAT
  message: <#FF0000>☹ <red>Maximum plot size reached!
homeSet:
  type: SUBTITLE
  message: <#00FF00>☺ <white>Plot home set!
noHome:
  type: CHAT
  message: <#FF0000>☹ <red>This plot doesn't have a home set!
warpDisabled:
  type: CHAT
  message: <#FF0000>☹ <red>This plot's warp is disabled!
warpNotSet:
  type: CHAT
  message: <#FF0000>☹ <red>This plot doesn't have a warp set!
warpSet:
  type: CHAT
  message: <#00FF00>☺ <white>Plot warp set!
warpToggled:
  type: CHAT
  message: <#00FF00>☺ <white>Warp status toggled to <#00FF00>{status}<white>.
notOwner:
  type: SUBTITLE
  message: <#FF0000>☹ <red>You are not the owner of this plot!
notInPlot:
  type: SUBTITLE
  message: <#FF0000>☹ <red>You are not inside any plot!
noPlots:
  type: SUBTITLE
  message: <#FF0000>☹ <red>You don't own any plots!
notOwnerOrMember:
  type: CHAT
  message: <#FF0000>☹ <red>You are not the owner or a member of this plot!
notMemberOfAny:
  type: CHAT
  message: <#FF0000>☹ <red>You are not a member of any plot!
alreadyMember:
  type: CHAT
  message: <#FF0000>☹ <red>Player <#FF0000>{player} <red>is already a member of this plot!
notMember:
  type: CHAT
  message: <#FF0000>☹ <red>Player <#FF0000>{player} <red>is not a member of this plot!
cannotKickSelf:
  type: CHAT
  message: <#FF0000>☹ <red>You cannot kick yourself!
memberRemoved:
  type: CHAT
  message: <#00FF00>☺ <white>Removed player <#00FF00>{player} <white>from the plot!
memberLeft:
  type: SUBTITLE
  message: <#00FF00>☺ <white>You left the plot!
kickedFromPlot:
  type: CHAT
  message: <#FF0000>☹ <red>You have been kicked from plot <#FF0000>{plot}<red>!
inviteSent:
  type: CHAT
  message: <#00FF00>☺ <white>Plot invitation sent to player <#00FF00>{player}<white>!
inviteLimitReached:
  type: CHAT
  message: <#FF0000>☹ <red>Player <#FF0000>{player} <red>has too many pending invitations!
inviteReceived:
  type: CHAT
  message: |-
    <#00FF00>☺ <white>You received an invitation to plot <#00FF00>{plot} <white>from <#00FF00>{player}<white>!
    <white>Use <#00FF00>/plot accept {plot}<white>.
inviteExpired:
  type: CHAT
  message: <#FF0000>☹ <red>Plot invitation expired!
inviteAccepted:
  type: CHAT
  message: <#00FF00>☺ <white>You accepted the plot invitation!
inviteAcceptedOwner:
  type: CHAT
  message: <#00FF00>☺ <white>Player <#00FF00>{player} <white>accepted the invitation!
cannotInviteSelf:
  type: CHAT
  message: <#FF0000>☹ <red>You cannot invite yourself!
specifyPlotId:
  type: CHAT
  message: <#FF0000>☹ <red>Provide a plot name.
visualizeStarted:
  type: CHAT
  message: <#00FF00>☺ <white>Plot border visualization! It will last <#00FF00>{time} <white>seconds.
visualizeEnded:
  type: CHAT
  message: <#00FF00>☺ <white>Plot border visualization ended!
cannotBreakVisualization:
  type: CHAT
  message: <#FF0000>☹ <red>You cannot break visualization blocks!
blockedFromPlot:
  type: SUBTITLE
  message: <#FF0000>☹ <red>You are banned from plot <#FF0000>{name}<red>!
blockedTeleportCancelled:
  type: CHAT
  message: <#FF0000>☹ <red>You cannot teleport to plot <#FF0000>{name}<red> because you are banned!
playerBlockedSuccess:
  type: CHAT
  message: <#00FF00>☺ <white>Player <#00FF00>{player} <white>has been banned from the plot!
playerUnblockedSuccess:
  type: CHAT
  message: <#00FF00>☺ <white>Player <#00FF00>{player} <white>has been unbanned!
playerAlreadyBlocked:
  type: CHAT
  message: <#FF0000>☹ <red>Player <#FF0000>{player} <red>is already banned from this plot!
playerNotBlocked:
  type: CHAT
  message: <#FF0000>☹ <red>Player <#FF0000>{player} <red>is not banned from this plot!
cannotBlockOwner:
  type: CHAT
  message: <#FF0000>☹ <red>You cannot ban the plot owner!
cannotBlockAdmin:
  type: CHAT
  message: <#FF0000>☹ <red>You cannot ban an administrator!
ownerTransferred:
  type: CHAT
  message: <#00FF00>☺ <white>Plot ownership transferred to player <#00FF00>{player}<white>!
becameOwner:
  type: CHAT
  message: <#00FF00>☺ <white>You became the owner of plot <#00FF00>{plot}<white>!
limitsInfo:
  type: CHAT
  message:
  - '<#00FF00>☺ <white>Your plot limits:'
  - '<dark_gray>- <white>Number of plots: <#00FF00><current><dark_gray>/<#00FF00><max>'
  - '<dark_gray>- <white>Maximum size: <#00FF00><max-size>'
  - '<dark_gray>- <white>Maximum members: <#00FF00><max-members>'
limitReached:
  type: CHAT
  message: <#FF0000>☹ <red>You reached your plot limit! You can have a maximum of <#FF0000>{max} <red>plots.
membersLimitReached:
  type: CHAT
  message: <#FF0000>☹ <red>You reached the member limit for this plot!
plotInfo:
  type: CHAT
  message:
  - '<#00FF00>☺ <white>Plot information:'
  - '<dark_gray>- <white>Name: <#00FF00><name>'
  - '<dark_gray>- <white>Owner: <#00FF00><owner>'
  - '<dark_gray>- <white>Size: <#00FF00><size>x<size>'
  - '<dark_gray>- <white>Rating: <#00FF00><rating><dark_gray>/<#00FF00>5.0⭐'
  - '<dark_gray>- <white>Created: <#00FF00><date>'
  - '<dark_gray>- <white>Expires: <#00FF00><expires>'
  - '<dark_gray>- <white>Members <dark_gray>(<#00FF00><count><dark_gray>)<white>: <#00FF00><members>'
flyingEnabled:
  type: SUBTITLE
  message: <#00FF00>☺ <white>Flight enabled!
flyingDisabled:
  type: SUBTITLE
  message: <#FF0000>☹ <red>Flight disabled!
flyingAlreadyGamemode:
  type: CHAT
  message: <#FF0000>☹ <red>Flight is already enabled in your game mode!
flyingOnlyOwnOrMember:
  type: CHAT
  message: <#FF0000>☹ <red>You can only fly on your own plots or as a member!
hologramHidden:
  type: CHAT
  message: <#00FF00>☺ <white>Plot hologram has been hidden!
hologramShown:
  type: CHAT
  message: <#00FF00>☺ <white>Plot hologram is now visible!
blockHidden:
  type: CHAT
  message: <#00FF00>☺ <white>Plot block has been hidden!
blockShown:
  type: CHAT
  message: <#00FF00>☺ <white>Plot block is now visible!
statusEnabled: <#00FF00>Enabled
statusDisabled: <#FF0000>Disabled
pvpDisabled:
  type: CHAT
  message: <#FF0000>☹ <red>PVP is disabled on this plot!
cannotDoThis:
  type: CHAT
  message: <#FF0000>☹ <red>You cannot do this on this plot!
cannotThrowItems:
  type: CHAT
  message: <#FF0000>☹ <red>You cannot drop items on this plot!
animalDamageDisabled:
  type: CHAT
  message: <#FF0000>☹ <red>You cannot attack animals on this plot!
monsterDamageDisabled:
  type: CHAT
  message: <#FF0000>☹ <red>You cannot attack mobs on this plot!
cannotOpenChests:
  type: CHAT
  message: <#FF0000>☹ <red>You cannot open chests on this plot!
setHomeDisabled:
  type: CHAT
  message: <#FF0000>☹ <red>You cannot set home on this plot!
flagEnabled:
  type: CHAT
  message: <#00FF00>☺ <white>Flag <#00FF00>{flag} <white>enabled.
flagDisabled:
  type: CHAT
  message: <#FF0000>☹ <red>Flag <#FF0000>{flag} <red>disabled.
adminCommands:
  type: CHAT
  message:
  - '<#FF0000>☹ <red>Correct command usage: <dark_gray>(Admin)'
  - <dark_gray>- <#FF0000>/adminplot help <dark_gray>- <red>Show commands list
  - <dark_gray>- <#FF0000>/adminplot reload <dark_gray>- <red>Reload configuration
  - <dark_gray>- <#FF0000>/adminplot give <player> <amount> <dark_gray>- <red>Give plot block
  - <dark_gray>- <#FF0000>/adminplot add <player> <dark_gray>- <red>Add player to plot
  - <dark_gray>- <#FF0000>/adminplot kick <player> <name> <dark_gray>- <red>Kick player
  - <dark_gray>- <#FF0000>/adminplot plots <player> <dark_gray>- <red>Show plot list
  - <dark_gray>- <#FF0000>/adminplot tp <plot> <dark_gray>- <red>Teleport to plot
plotBlockGiven:
  type: CHAT
  message: <#00FF00>☺ <white>Given <#00FF00>{amount}x <white>plot blocks to player <#00FF00>{player}<white>!
plotBlockReceived:
  type: CHAT
  message: <#00FF00>☺ <white>You received <#00FF00>{amount}x <white>plot blocks!
invalidAmount:
  type: CHAT
  message: <#FF0000>☹ <red>Amount must be greater than 0.
plotList:
- '<#00FF00>☺ <white>Player <#00FF00>{player}''s <white>plots:'
- '{plots}'
plotListItem:
  type: CHAT
  message: '<dark_gray>- <white>Name: <#00FF00>{name} <dark_gray>| <white>Size: <#00FF00>{size}x{size}'
plotListEmpty:
  type: CHAT
  message: <#FF0000>☹ <red>Player <#FF0000>{player} <red>does not own any plots.
adminAddedMember:
  type: CHAT
  message: <#00FF00>☺ <white>Administrator added player <#00FF00>{player} <white>to the plot.
addedToPlot:
  type: CHAT
  message: <#00FF00>☺ <white>You were added to plot <#00FF00>{plot}<white> by an administrator.
YAML:
setHomeCommands:
- sethome
- home set
- cmi:sethome
- essentials:sethome
flags:
- flagType: PVP
  configurable: true
  ownerOnly: false
  defaultValue: false
  item:
    material: DIAMOND_SWORD
    displayName: <#FF4444>ᴘᴠᴘ
    lore:
    - ' '
    - ' <dark_gray>⋆ <white>ꜱᴛᴀᴛᴜꜱ<dark_gray>: <status>'
    - ' '
    - ' <dark_gray>⋆ <white>Player combat'
    - ' <dark_gray>⋆ <white>inside the plot.'
    - ' '
    - ' <#00FF00><underlined>ᴄʟɪᴄᴋ ᴛᴏ ᴛᴏɢɢʟᴇ'
- flagType: RECEIVE_DAMAGE_FROM_MOBS
  configurable: true
  ownerOnly: false
  defaultValue: false
  item:
    material: GOLDEN_APPLE
    displayName: <#FF8B2D>ᴍᴏʙ ᴅᴀᴍᴀɢᴇ
    lore:
    - ' '
    - ' <dark_gray>⋆ <white>ꜱᴛᴀᴛᴜꜱ<dark_gray>: <status>'
    - ' '
    - ' <dark_gray>⋆ <white>Players can receive'
    - ' <dark_gray>⋆ <white>damage from mobs.'
    - ' '
    - ' <#00FF00><underlined>ᴄʟɪᴄᴋ ᴛᴏ ᴛᴏɢɢʟᴇ'
- flagType: ENDER_PEARL
  configurable: true
  ownerOnly: true
  defaultValue: true
  item:
    material: ENDER_PEARL
    displayName: <#CC88FF>ᴇɴᴅᴇʀ ᴘᴇᴀʀʟꜱ
    lore:
    - ' '
    - ' <dark_gray>⋆ <white>ꜱᴛᴀᴛᴜꜱ<dark_gray>: <status>'
    - ' '
    - ' <dark_gray>⋆ <white>Using ender pearls'
    - ' <dark_gray>⋆ <white>inside the plot.'
    - ' '
    - ' <#00FF00><underlined>ᴄʟɪᴄᴋ ᴛᴏ ᴛᴏɢɢʟᴇ'
- flagType: POTION
  configurable: true
  ownerOnly: true
  defaultValue: false
  item:
    material: SPLASH_POTION
    displayName: <#AA44FF>ᴘᴏᴛɪᴏɴꜱ
    lore:
    - ' '
    - ' <dark_gray>⋆ <white>ꜱᴛᴀᴛᴜꜱ<dark_gray>: <status>'
    - ' '
    - ' <dark_gray>⋆ <white>Throwing potions'
    - ' <dark_gray>⋆ <white>inside the plot.'
    - ' '
    - ' <#00FF00><underlined>ᴄʟɪᴄᴋ ᴛᴏ ᴛᴏɢɢʟᴇ'
- flagType: BUILD
  configurable: true
  ownerOnly: true
  defaultValue: false
  item:
    material: BRICKS
    displayName: <#6DFF45>ʙᴜɪʟᴅɪɴɢ
    lore:
    - ' '
    - ' <dark_gray>⋆ <white>ꜱᴛᴀᴛᴜꜱ<dark_gray>: <status>'
    - ' '
    - ' <dark_gray>⋆ <white>Placing blocks'
    - ' <dark_gray>⋆ <white>by plot guests.'
    - ' '
    - ' <#00FF00><underlined>ᴄʟɪᴄᴋ ᴛᴏ ᴛᴏɢɢʟᴇ'
- flagType: DESTROY
  configurable: true
  ownerOnly: true
  defaultValue: false
  item:
    material: DIAMOND_PICKAXE
    displayName: <#6DFF45>ʙʀᴇᴀᴋɪɴɢ
    lore:
    - ' '
    - ' <dark_gray>⋆ <white>ꜱᴛᴀᴛᴜꜱ<dark_gray>: <status>'
    - ' '
    - ' <dark_gray>⋆ <white>Breaking blocks'
    - ' <dark_gray>⋆ <white>by plot guests.'
    - ' '
    - ' <#00FF00><underlined>ᴄʟɪᴄᴋ ᴛᴏ ᴛᴏɢɢʟᴇ'
- flagType: INTERACT
  configurable: true
  ownerOnly: true
  defaultValue: false
  item:
    material: CRAFTING_TABLE
    displayName: <#3BFFC7>ɪɴᴛᴇʀᴀᴄᴛɪᴏɴ
    lore:
    - ' '
    - ' <dark_gray>⋆ <white>ꜱᴛᴀᴛᴜꜱ<dark_gray>: <status>'
    - ' '
    - ' <dark_gray>⋆ <white>Interacting with blocks,'
    - ' <dark_gray>⋆ <white>armor stands, frames.'
    - ' '
    - ' <#00FF00><underlined>ᴄʟɪᴄᴋ ᴛᴏ ᴛᴏɢɢʟᴇ'
- flagType: OPEN_CONTAINERS
  configurable: true
  ownerOnly: true
  defaultValue: false
  item:
    material: CHEST
    displayName: <#FFD031>ᴏᴘᴇɴ ᴄᴏɴᴛᴀɪɴᴇʀꜱ
    lore:
    - ' '
    - ' <dark_gray>⋆ <white>ꜱᴛᴀᴛᴜꜱ<dark_gray>: <status>'
    - ' '
    - ' <dark_gray>⋆ <white>Opening chests, barrels,'
    - ' <dark_gray>⋆ <white>hoppers, furnaces, etc.'
    - ' '
    - ' <#00FF00><underlined>ᴄʟɪᴄᴋ ᴛᴏ ᴛᴏɢɢʟᴇ'
- flagType: SET_HOME
  configurable: true
  ownerOnly: true
  defaultValue: true
  item:
    material: RED_BED
    displayName: <#FF8B2D>ꜱᴇᴛ ʜᴏᴍᴇ
    lore:
    - ' '
    - ' <dark_gray>⋆ <white>ꜱᴛᴀᴛᴜꜱ<dark_gray>: <status>'
    - ' '
    - ' <dark_gray>⋆ <white>Players can set'
    - ' <dark_gray>⋆ <white>home point on the plot.'
    - ' '
    - ' <#00FF00><underlined>ᴄʟɪᴄᴋ ᴛᴏ ᴛᴏɢɢʟᴇ'
- flagType: VILLAGER_TRADE
  configurable: true
  ownerOnly: false
  defaultValue: false
  item:
    material: EMERALD
    displayName: <#55FF55>ᴠɪʟʟᴀɢᴇʀ ᴛʀᴀᴅᴇ
    lore:
    - ' '
    - ' <dark_gray>⋆ <white>ꜱᴛᴀᴛᴜꜱ<dark_gray>: <status>'
    - ' '
    - ' <dark_gray>⋆ <white>Trading with villagers'
    - ' <dark_gray>⋆ <white>inside the plot.'
    - ' '
    - ' <#00FF00><underlined>ᴄʟɪᴄᴋ ᴛᴏ ᴛᴏɢɢʟᴇ'
- flagType: MOB_SPAWNING
  configurable: true
  ownerOnly: true
  defaultValue: true
  item:
    material: SPAWNER
    displayName: <#FF8B2D>ᴍᴏʙ ꜱᴘᴀᴡɴ
    lore:
    - ' '
    - ' <dark_gray>⋆ <white>ꜱᴛᴀᴛᴜꜱ<dark_gray>: <status>'
    - ' '
    - ' <dark_gray>⋆ <white>Spawning of'
    - ' <dark_gray>⋆ <white>mobs.'
    - ' '
    - ' <#00FF00><underlined>ᴄʟɪᴄᴋ ᴛᴏ ᴛᴏɢɢʟᴇ'
- flagType: DAMAGE_PASSIVE_MOBS
  configurable: true
  ownerOnly: false
  defaultValue: false
  item:
    material: PORKCHOP
    displayName: <#AAFFAA>ᴀᴛᴛᴀᴄᴋ ᴘᴀꜱꜱɪᴠᴇ ᴍᴏʙꜱ
    lore:
    - ' '
    - ' <dark_gray>⋆ <white>ꜱᴛᴀᴛᴜꜱ<dark_gray>: <status>'
    - ' '
    - ' <dark_gray>⋆ <white>Guests can attack'
    - ' <dark_gray>⋆ <white>passive mobs.'
    - ' '
    - ' <#00FF00><underlined>ᴄʟɪᴄᴋ ᴛᴏ ᴛᴏɢɢʟᴇ'
- flagType: DAMAGE_AGGRESSIVE_MOBS
  configurable: true
  ownerOnly: false
  defaultValue: true
  item:
    material: ROTTEN_FLESH
    displayName: <#FF6666>ᴀᴛᴛᴀᴄᴋ ʜᴏꜱᴛɪʟᴇ ᴍᴏʙꜱ
    lore:
    - ' '
    - ' <dark_gray>⋆ <white>ꜱᴛᴀᴛᴜꜱ<dark_gray>: <status>'
    - ' '
    - ' <dark_gray>⋆ <white>Guests can attack'
    - ' <dark_gray>⋆ <white>hostile mobs.'
    - ' '
    - ' <#00FF00><underlined>ᴄʟɪᴄᴋ ᴛᴏ ᴛᴏɢɢʟᴇ'
- flagType: EXPLOSION
  configurable: true
  ownerOnly: true
  defaultValue: false
  item:
    material: TNT
    displayName: <#FF4444>ᴇxᴘʟᴏꜱɪᴏɴꜱ
    lore:
    - ' '
    - ' <dark_gray>⋆ <white>ꜱᴛᴀᴛᴜꜱ<dark_gray>: <status>'
    - ' '
    - ' <dark_gray>⋆ <white>TNT, creeper and'
    - ' <dark_gray>⋆ <white>other explosions.'
    - ' '
    - ' <#00FF00><underlined>ᴄʟɪᴄᴋ ᴛᴏ ᴛᴏɢɢʟᴇ'
- flagType: FIRE_SPREAD
  configurable: true
  ownerOnly: true
  defaultValue: false
  item:
    material: FLINT_AND_STEEL
    displayName: <#FF8844>ꜰɪʀᴇ ꜱᴘʀᴇᴀᴅ
    lore:
    - ' '
    - ' <dark_gray>⋆ <white>ꜱᴛᴀᴛᴜꜱ<dark_gray>: <status>'
    - ' '
    - ' <dark_gray>⋆ <white>Fire can spread'
    - ' <dark_gray>⋆ <white>across the plot.'
    - ' '
    - ' <#00FF00><underlined>ᴄʟɪᴄᴋ ᴛᴏ ᴛᴏɢɢʟᴇ'
- flagType: IGNITE
  configurable: true
  ownerOnly: true
  defaultValue: false
  item:
    material: CAMPFIRE
    displayName: <#FFAA22>ɪɢɴɪᴛɪᴏɴ
    lore:
    - ' '
    - ' <dark_gray>⋆ <white>ꜱᴛᴀᴛᴜꜱ<dark_gray>: <status>'
    - ' '
    - ' <dark_gray>⋆ <white>Igniting blocks'
    - ' <dark_gray>⋆ <white>inside the plot.'
    - ' '
    - ' <#00FF00><underlined>ᴄʟɪᴄᴋ ᴛᴏ ᴛᴏɢɢʟᴇ'
- flagType: PICKUP_ITEMS
  configurable: true
  ownerOnly: false
  defaultValue: true
  item:
    material: HOPPER
    displayName: <#3BFFC7>ᴘɪᴄᴋᴜᴘ ɪᴛᴇᴍꜱ
    lore:
    - ' '
    - ' <dark_gray>⋆ <white>ꜱᴛᴀᴛᴜꜱ<dark_gray>: <status>'
    - ' '
    - ' <dark_gray>⋆ <white>Guests can pick up'
    - ' <dark_gray>⋆ <white>dropped items.'
    - ' '
    - ' <#00FF00><underlined>ᴄʟɪᴄᴋ ᴛᴏ ᴛᴏɢɢʟᴇ'
- flagType: DROP_ITEMS
  configurable: true
  ownerOnly: false
  defaultValue: true
  item:
    material: DROPPER
    displayName: <#3BFFC7>ᴅʀᴏᴘ ɪᴛᴇᴍꜱ
    lore:
    - ' '
    - ' <dark_gray>⋆ <white>ꜱᴛᴀᴛᴜꜱ<dark_gray>: <status>'
    - ' '
    - ' <dark_gray>⋆ <white>Guests can drop'
    - ' <dark_gray>⋆ <white>items on the plot.'
    - ' '
    - ' <#00FF00><underlined>ᴄʟɪᴄᴋ ᴛᴏ ᴛᴏɢɢʟᴇ'
YAML:
panelGui:
  title: <dark_gray>ᴘʟᴏᴛ ᴘᴀɴᴇʟ
  rows: 5
  items:
    info:
      material: WRITABLE_BOOK
      slot: 39
      name: <#FFFF00><bold>ᴘʟᴏᴛ ɪɴꜰᴏʀᴍᴀᴛɪᴏɴ
      lore:
      - ' '
      - ' <dark_gray>⋆ <white>ɴᴀᴍᴇ: <#FFD031><name>'
      - ' <dark_gray>⋆ <white>ᴏᴡɴᴇʀ: <#DCFF39><owner>'
      - ' <dark_gray>⋆ <white>ꜱɪᴢᴇ: <#6DFF45><size><dark_gray>×<#6DFF45><size>'
      - ' <dark_gray>⋆ <white>ᴍᴇᴍʙᴇʀꜱ: <#3BFFC7><members_count><dark_gray>/<#58D0FF><members_limit>'
      - ' <dark_gray>⋆ <white>ᴇxᴘɪʀᴇꜱ: <#5489FF><expires>'
      - ' <dark_gray>⋆ <white>ʀᴀᴛɪɴɢ: <yellow><rating><dark_gray>/<#FFFF00>5.0⭐'
      - <white>
      action: NONE
    members:
      material: PLAYER_HEAD
      slot: 20
      name: <gray>Manage members
      lore:
      - ' <dark_gray>⋆ <white>ᴄʟɪᴄᴋ ᴛᴏ ᴍᴀɴᴀɢᴇ ᴍᴇᴍʙᴇʀꜱ'
      action: MEMBERS
    flags:
      material: TOTEM_OF_UNDYING
      slot: 22
      name: <#F1FF00>Manage flags
      lore:
      - ' <dark_gray>⋆ <white>ᴄʟɪᴄᴋ ᴛᴏ ᴍᴀɴᴀɢᴇ ꜰʟᴀɢꜱ'
      action: FLAGS
    upgrades:
      material: EXPERIENCE_BOTTLE
      slot: 23
      name: <#0EFF00>Plot upgrades
      lore:
      - ' <dark_gray>⋆ <white>ᴄʟɪᴄᴋ ᴛᴏ ᴠɪᴇᴡ ᴜᴘɢʀᴀᴅᴇꜱ'
      action: UPGRADES
    settings:
      material: OAK_HANGING_SIGN
      slot: 21
      name: <#FF8B2D>Plot settings
      lore:
      - ' <dark_gray>⋆ <white>ᴄʟɪᴄᴋ ᴛᴏ ᴄʜᴀɴɢᴇ ꜱᴇᴛᴛɪɴɢꜱ'
      action: SETTINGS
    home:
      material: LOOM
      slot: 13
      name: <#F8AC6F>Your plots
      lore:
      - ' <dark_gray>⋆ <white>ᴄʟɪᴄᴋ ᴛᴏ ᴠɪᴇᴡ ᴘʟᴏᴛ ʟɪꜱᴛ'
      action: HOMES
    visualize:
      material: BELL
      slot: 24
      name: <#FFF800>Plot visualization
      lore:
      - ' <dark_gray>⋆ <white>ᴄʟɪᴄᴋ ᴛᴏ ᴠɪꜱᴜᴀʟɪᴢᴇ ʙᴏʀᴅᴇʀꜱ'
      action: VISUALIZE
    delete:
      material: RED_BANNER
      slot: 41
      name: <#FF0000>Delete plot
      lore:
      - ' <dark_gray>⋆ <white>ᴄʟɪᴄᴋ ᴛᴏ ᴅᴇʟᴇᴛᴇ ᴘʟᴏᴛ'
      action: DELETE

dependencies.png

Before installing the plugin, ensure your server meets the minimum system requirements and has the necessary dependencies installed for full functionality:
TypeRequirement / PluginSupported Versions & Notes
Server EnginePaper or Folia (and forks)Version 1.21.4 - 1.26.2(Fully optimized for modern performance)
Java VersionJava 21 or newerRequired to run modern server software and this plugin.
RequiredVault (or any modern fork)Required for hooking into your server's economy system.
RequiredEconomy ProviderAny Vault-compatible economy plugin (e.g., EssentialsX, CMI, etc.).
OptionalFancyHologramsHighly recommended! Used to display modern, lag-free floating holograms above plot centers.
OptionalPlaceholderAPIAllows you to use plot-related placeholders in chat, scoreboards, tablists, and custom GUIs.

* Note: If you choose not to install optional dependencies (FancyHolograms or PlaceholderAPI), the plugin will still work perfectly, but those specific features will be disabled automatically.


api.png
Integrate our advanced plot system directly into your own custom pluginsusing our lightweight, developer-friendly Java API.


discord.png
* Need documentation or integration examples? Join our Discord server to get access to the API documentation and developer support!
Buy a license now
$9.99
EULA
Standard EULA
Use on any projects you own with attribution
Support
Standard
Includes:
Download the resource
Access new updates
Support from the creator
Support duration
1 year
Share and earn
Refer this resource and earn a 10% commission.
135 Views
0 Purchases
3 Downloads
Jul 25, 2026 Published
N/A Updated
Not yet rated
1.9 MB File size
Open source
  1. No
DRM-free
  1. No
Unobfuscated
  1. No
AI use in marketing
No
AI use in product
No
Type
  1. Protection
  1. World
  1. Optimization
Game mode
  1. Survival
Supported software
  1. Paper
  1. Folia
  1. Purpur
Supported versions
  1. 26.1
  1. 1.21.11
  1. 1.21.8
  1. 1.21.5
  1. 1.21.4
Supported languages
  1. English
Creator
Struggling to cover the costs of your server? Set up your own webstore with Tebex in under 30 seconds.
Host a lag-free Minecraft or Hytale server in minutes.
Get 25% off your first order with our link.
Recommended for you
#1 BuiltByBit Plugin ~ Protects your server from crash packet exploits ~ Folia Support
5.00 star(s) 142 ratings
4,261 purchases
Create items, blocks, mobs, emojis, and more with automatic resourcepack generation!
5.00 star(s) 54 ratings
3,291 purchases
Protect your server from crash/dupe/packet exploits with the ultimate security fix plugin.
5.00 star(s) 45 ratings
3,148 purchases
High Performance | Customizable | Cross-Version | GeyserMC | Folia Support
4.50 star(s) 72 ratings
2,831 purchases
All-in-one dungeon creator. Create unlimited, timed dungeon experiences with your own builds
4.50 star(s) 73 ratings
2,592 purchases
Share and earn
Refer this resource and earn a 10% commission.
135 Views
0 Purchases
3 Downloads
Jul 25, 2026 Published
N/A Updated
Not yet rated
1.9 MB File size
Open source
  1. No
DRM-free
  1. No
Unobfuscated
  1. No
AI use in marketing
No
AI use in product
No
Type
  1. Protection
  1. World
  1. Optimization
Game mode
  1. Survival
Supported software
  1. Paper
  1. Folia
  1. Purpur
Supported versions
  1. 26.1
  1. 1.21.11
  1. 1.21.8
  1. 1.21.5
  1. 1.21.4
Supported languages
  1. English
Creator
Struggling to cover the costs of your server? Set up your own webstore with Tebex in under 30 seconds.
Host a lag-free Minecraft or Hytale server in minutes.
Get 25% off your first order with our link.
Recommended for you
#1 BuiltByBit Plugin ~ Protects your server from crash packet exploits ~ Folia Support
5.00 star(s) 142 ratings
4,261 purchases
Create items, blocks, mobs, emojis, and more with automatic resourcepack generation!
5.00 star(s) 54 ratings
3,291 purchases
Protect your server from crash/dupe/packet exploits with the ultimate security fix plugin.
5.00 star(s) 45 ratings
3,148 purchases
High Performance | Customizable | Cross-Version | GeyserMC | Folia Support
4.50 star(s) 72 ratings
2,831 purchases
All-in-one dungeon creator. Create unlimited, timed dungeon experiences with your own builds
4.50 star(s) 73 ratings
2,592 purchases
Top