ZonePractice Pro icon

ZonePractice Pro -----

1.8.8 and 1.20.4 support | 1vs1 | Party Games | GUI Based Settings | Custom Kit like PVP LEGACY



2.2.0 Change-log
Enhancements
  • New arena portal command.
  • New arena portal protection command.
  • Completely rewritten match system, which is much more optimal and faster for many matches.
  • Rewritten ladder class hierarchy which is now a lot easier to extend and improve.
  • Added new Bridge ladder type.
  • Added new BattleRush ladder type.
  • other stuff
Bugfix
  • I've made a lot of small bug fixes, it would be pointless to write them all here.
Changes
guis.yml
Code (YAML):
GUIS:
  SETUP
:
    ARENA
:
      ARENA-MAIN
:
        ICONS
:
          LOCATION
:
            BUILD
:
              NAME
: "&5Locations"
              MATERIAL
: COMPASS
              LORE
:
               - ""
                - "&d&lClick here &7to get a corner marker item."
                - ""
                - "&dAfter &7you marked the corners, you can set"
                - "&7the &dplayers positions &7by using the"
                - "&7&l/arena setposition %arenaName% <1/2> &7command."
                - ""
                - "&5&lCurrently Marked:"
                - " &5» &dCorner 1
: &7%corner1%"
                - " &5» &dCorner 2
: &7%corner2%"
                - ""
                - " &5» &dPlayer 1 Position
: &7%position1%"
                - " &5» &dPlayer 2 Position
: &7%position2%"
                - ""
                - " &5» &dBed 1
: &7%bed1%"
                - " &5» &dBed 2
: &7%bed2%"
                - ""
                - " &5» &dPortal 1
: &7%portal1%"
                - " &5» &dPortal 2
: &7%portal2%"
            NOT-BUILD
:
              NAME
: "&5Locations"
              MATERIAL
: COMPASS
              LORE
:
               - ""
                - "&d&lClick here &7to get a corner marker item."
                - ""
                - "&dAfter &7you marked the corners, you can set"
                - "&7the &dplayers positions &7by using the"
                - "&7&l/arena setposition %arenaName% <1/2> &7command."
                - ""
                - "&5&lCurrently Marked:"
                - " &5» &dCorner 1
: &7%corner1%"
                - " &5» &dCorner 2
: &7%corner2%"
                - ""
                - " &5» &dPlayer 1 Position
: &7%position1%"
                - " &5» &dPlayer 2 Position
: &7%position2%"

GUIS
:
  SETUP
:
    LADDER
:
      SETTINGS
:
        ICONS
:
          RESPAWN
:
            NAME
: "&7Respawn Time: &6%respawnTime%"
            MATERIAL
: STONE # Change this to bed according to version.
            LORE
:
             - ""
              - "&7That's how long it takes"
              - "&7for a player to come back to life"
              - "&7when he dies without his bed being broken"
              - "&7or when the ladder type is battle rush."
              - ""
              - "&a&lLEFT-CLICK &ato reduce the time."
              - "&b&lRIGHT-CLICK &bto increase the time."
config.yml
Code (YAML):
MATCH-SETTINGS:
  PARTY
:
    PARTY-VS-PARTY-TEAM-DAMAGE
: false
language.yml
Code (YAML):
COMMAND:
  ARENA
:
    ARGUMENTS
:
      BED
:
        NOT-BUILD
: "<red>Arena must be build to set this property."
      PORTAL
:
        COMMAND-HELP
: "<red>/%label% set portal <arena> <1/2>"
        ARENA-NOT-EXISTS
: "<red>%arena% arena doesn't exists."
        ARENA-ENABLED
: "<red>You can't edit an enabled arena."
        NOT-BUILD
: "<red>Arena must be build to set this property."
        NO-REGION
: "<red>You must set the two corners of the arena first."
        NO-BLOCK
: "<red>You must be look at a block right now."
        NOT-IN-REGION
: "<red>The portal must be in the arena world inside the arenas cube."
        INVALID-NUMBER
: "<red>Invalid team number!"
        PORTAL-OVERLAP
: "<red>Portals cannot overlap with X and Z coordinates."
        SET-PORTAL1
: "<green>You set the first portal location for the arena %arena%"
        SET-PORTAL2
: "<green>You set the second portal location for the arena %arena%"
      PORTAL-PROTECTION
:
        COMMAND-HELP
: "<red>/%label% set portalprot <arena> <number>"
        ARENA-NOT-EXISTS
: "<red>%arena% arena doesn't exists."
        ARENA-ENABLED
: "<red>You can't edit a enabled arena."
        NOT-BUILD
: "<red>Arena must be build to set this property."
        NOT-INTEGER
: "<red>Please give me a correctly formatted number between 0 and 20"
        SET-PORTALPROT
: "<green>You set the portal protection for the arena <yellow>%arena%<green>. Portal Protection: <red>%portalProt%"

ARENA
:
  STATUS-CHANGE
:
    NO-BED
: "<red>You must set the two bed locations before enabling the arena."
    NO-PORTAL
: "<red>You must set the two portal locations before enabling the arena."

LADDER
:
  LADDER-TYPES
:
    BRIDGES
:
      NAME
: "Bridges"
      DESCRIPTION
:
       - "<dark_gray><st>----------------------------------"
        - "<gray>In order to win the rounds players have to"
        - "<gray>jump in the other team's portal which is in"
        - "<gray>the other side of the bridge. Build is enabled."
        - "<dark_gray><st>----------------------------------"
    BATTLE-RUSH
:
      NAME
: "Battle Rush"
      DESCRIPTION
:
       - "<dark_gray><st>----------------------------------"
        - "<gray>In this gamemode there are no damage. The"
        - "<gray>goal is to jump in the other player's portal."
        - "<gray>Players can build and there is a respawn"
        - "<gray>cooldown."
        - "<dark_gray><st>----------------------------------"
    PEARL-FIGHT
:
      NAME
: "Pearl Fight"
      DESCRIPTION
:
       - "<dark_gray><st>----------------------------------"
        - "<gray>With this ladder, players will get their "
        - "<gray>placed blocks back after a certain time. "
        - "<gray>If another player breaks a player block, "
        - "<gray>the player who originally placed it will "
        - "<gray>still get it back. Other than that, everything "
        - "<gray>works according to the normal pvp rules."
        - "<dark_gray><st>----------------------------------"

MATCH
: # Its easier to paste the whole section because there are so many changes.
  COOLDOWN
:
    ENDER-PEARL
: "<red>You cannot use this for another <yellow>%seconds% <red>%secondName%."
    GOLDEN-APPLE
: "<red>You cannot eat another <gold>golden apple</gold> for another <yellow>%seconds% <red>%secondName%."
    FIREBALL
: "<red>You cannot throw another fireball for another <yellow>%seconds% <red>%secondName%."
  CANT-BUILD-OUTSIDE-ARENA
: "<red>You can't build outside the arena."
  CANT-BUILD-OVER-LIMIT
: "<red>You can't build there."
  CANT-CRAFT
: "<red>You can't craft with this ladder."
  REMATCH-REQUEST
:
    TARGET-OFFLINE
: "<red>%target% has left the server."
    ALREADY-SENT
: "<red>The rematch request has already been sent out."
    TARGET-DONT-ACCEPT
: "<red>%target% doesn't accept rematch requests."
    CANT-SEND-ANYMORE
: "<red>You can't send rematch request for %target% anymore."
  DUEL
:
    PLAYER-LEFT
: "<red>%player% <yellow>left the match."
    RANKED-REQUIREMENT-REACHED
: "<green>Congratulations! <yellow>You have reached the required conditions for ranked matches."
    START
:
      MATCH-STARTING
: "<yellow>Match is starting in <gold>%seconds% <yellow>%secondName%."
      MATCH-STARTED
: "<green>Match has been started."
      ROUND-STARTING
: "<yellow>Round is starting in <gold>%seconds% <yellow>%secondName%."
      ROUND-STARTED
: "<green>Round has been started."
    LADDER-SPECIFIC
:
      BED-WARS
:
        PLAYER-DIED
: "%teamColor%%player% <yellow>has <red>died<yellow>."
        RESPAWN
: "<yellow>You will respawn in <red>%seconds% <yellow>%secondName%."
        PLAYER-RESPAWNED
: "%teamColor%%player% <yellow>has <green>respawned<yellow>."
        BED-DESTROYED
: "%team% team's &ebed has been destroyed!"
      FIREBALL-FIGHT
:
        PLAYER-DIED
: "%teamColor%%player% <yellow>has <red>died<yellow>."
        RESPAWN
: "<yellow>You will respawn in <red>%seconds% <yellow>%secondName%."
        PLAYER-RESPAWNED
: "%teamColor%%player% <yellow>has <green>respawned<yellow>."
        BED-DESTROYED
: "%team% team's &ebed has been destroyed!"
      BATTLE-RUSH
:
        PLAYER-DIED
: "%teamColor%%player% <yellow>has <red>died<yellow>."
        RESPAWN
: "<yellow>You will respawn in <red>%seconds% <yellow>%secondName%."
        PLAYER-RESPAWNED
: "%teamColor%%player% <yellow>has <green>respawned<yellow>."
      BRIDGES
:
        PLAYER-DIED
: "%teamColor%%player% <yellow>has <red>died<yellow>."
    MATCH-START-UNRANKED
:
     - "<gray><st>----------------------------------------"
      - "%matchTypeName% <gray>- %weightClassName%"
      - ""
      - " <yellow>» Kit
: <white> %ladder%"
      - " <yellow>» Map
: <white> %arena%"
      - " <yellow>» Rounds
: <white> %rounds%" # This means how many rounds a team needs to win the match.
      - "<gray><st>----------------------------------------"
    MATCH-START-RANKED
: # You can also use %player1win% & %player2win% - Shows how many ranked the players won.
      - "<gray><st>----------------------------------------"
      - "%matchTypeName% - %weightClassName%"
      - ""
      - " <yellow>» Kit
: <white> %ladder%"
      - " <yellow>» Map
: <white> %arena%"
      - " <yellow>» Rounds
: <white> %rounds%" # This means how many rounds a team needs to win the match.
      - ""
      - "<gold>%player1%'s elo: <white>%player1elo%"
      - "<gold>%player2%'s elo: <white>%player2elo%"
      - "<gray><st>----------------------------------------"
    MATCH-END-ROUND-DRAW
:
     - "<gray><st>----------------------------------------"
      - "<red>The round has ended with a tie."
      - "<gray><st>----------------------------------------"
    MATCH-END-ROUND
:
     - "<gray><st>----------------------------------------"
      - "%player% <yellow>has <green>won <yellow>the round. <light_purple>%round% <yellow>more to win the match."
      - "<gray><st>----------------------------------------"
    MATCH-END-DRAW
:
     - "<gray><st>----------------------------------------"
      - "<red>The match is ended with a draw."
      - "<gray><st>----------------------------------------"
    MATCH-END
:
      SPECTATOR-EXTENSION
:
       - "<aqua>Spectators (%size%): <gray>%spectators%"
      RANKED-EXTENSION
: # Also usable: %winnerOldElo% and %loserOldElo%
        - "<yellow>Elo Changes
: <green> %winner% +%eloChange% (%winnerNewElo%) <red>%loser% -%eloChange% (%loserNewElo%)"
        - "<gray><st>----------------------------------------"
      MESSAGE
:
       - "<gray><st>----------------------------------------"
        - "<gold>Post-Match Inventories <gray>(click name to view)"
        - "<green>Winner
: <hover:show_text:'<green>Click to view inventory of <gold> %winner%<green>.'><click:run_command:'/matchinv %matchId% %winner_uuid% 1'><yellow>%winner%</click></hover> <gray>- <red>Loser: <hover:show_text:'<green>Click to view inventory of <gold>%loser%<green>.'><click:run_command:'/matchinv %matchId% %loser_uuid% 1'><yellow>%loser%</click></hover>"
        - "%spectatorExtension%"
        - "<gray><st>----------------------------------------"
        - "%rankedExtension%"
  PARTY-FFA
:
    PLAYER-LEFT
: "<red>%player% <yellow>left the match."
    PLAYER-DIE
: "<red>%player% died."
    START
:
      MATCH-STARTING
: "<yellow>Match is starting in <gold>%seconds% <yellow>%secondName%."
      MATCH-STARTED
: "<green>Match has been started."
      ROUND-STARTING
: "<yellow>Round is starting in <gold>%seconds% <yellow>%secondName%."
      ROUND-STARTED
: "<green>Round has been started."
    MATCH-START
:
     - "<gray><st>----------------------------------------"
      - "%matchTypeName%"
      - ""
      - " <yellow>» Kit
: <white> %ladder%"
      - " <yellow>» Map
: <white> %arena%"
      - " <yellow>» Rounds
: <white> %rounds%" # This means how many rounds a team needs to win the match.
      - ""
      - "<gold>Players
: <gray> %players%"
      - "<gray><st>----------------------------------------"
    MATCH-END-ROUND-DRAW
:
     - "<gray><st>----------------------------------------"
      - "<red>No one has won this round."
      - "<gray><st>----------------------------------------"
    MATCH-END-ROUND
:
     - "<gray><st>----------------------------------------"
      - "%player% <yellow>has <green>won <yellow>the round. <light_purple>%round% <yellow>more to win the match."
      - "<gray><st>----------------------------------------"
    MATCH-END-DRAW
:
     - "<gray><st>----------------------------------------"
      - "<red>The match is ended with no winner."
      - "<gray><st>----------------------------------------"
    MATCH-END
:
      LOSER-PLAYER-FORMAT
: "<hover:show_text:'<green>Click to view inventory of <gold>%player%<green>.'><click:run_command:'/matchinv %matchId% %player_uuid% 1'><yellow>%player%</click></hover><gray>"
      SPECTATOR-EXTENSION
:
       - "<aqua>Spectators (%size%): <gray>%spectators%"
      MESSAGE
:
       - "<gray><st>----------------------------------------"
        - "<green>Winner
: <hover:show_text:'<green>Click to view inventory of <gold> %winner%<green>.'><click:run_command:'/matchinv %matchId% %winner_uuid% 1'><yellow>%winner%</click></hover>"
        - "<red>Losers
: <yellow> %losers%"
        - "%spectatorExtension%"
        - "<gray><st>----------------------------------------"
  PARTY-SPLIT
:
    PLAYER-LEFT
: "<red>%player% <yellow>left the match."
    PLAYER-DIE
: "<red>%player% died. <gray>(%team%<gray>) - <yellow>%playerTeamLeft% <gray>players left in their team."
    START
:
      MATCH-STARTING
: "<yellow>Match is starting in <gold>%seconds% <yellow>%secondName%."
      MATCH-STARTED
: "<green>Match has been started."
      ROUND-STARTING
: "<yellow>Round is starting in <gold>%seconds% <yellow>%secondName%."
      ROUND-STARTED
: "<green>Round has been started."
    LADDER-SPECIFIC
:
      BED-WARS
:
        PLAYER-DIED
: "%teamColor%%player% <yellow>has <red>died<yellow>."
        RESPAWN
: "<yellow>You will respawn in <red>%seconds% <yellow>%secondName%."
        PLAYER-RESPAWNED
: "%teamColor%%player% <yellow>has <green>respawned<yellow>."
        BED-DESTROYED
: "%team% team's &ebed has been destroyed!"
      FIREBALL-FIGHT
:
        PLAYER-DIED
: "%teamColor%%player% <yellow>has <red>died<yellow>."
        RESPAWN
: "<yellow>You will respawn in <red>%seconds% <yellow>%secondName%."
        PLAYER-RESPAWNED
: "%teamColor%%player% <yellow>has <green>respawned<yellow>."
        BED-DESTROYED
: "%team% team's &ebed has been destroyed!"
      BATTLE-RUSH
:
        PLAYER-DIED
: "%teamColor%%player% <yellow>has <red>died<yellow>."
        RESPAWN
: "<yellow>You will respawn in <red>%seconds% <yellow>%secondName%."
        PLAYER-RESPAWNED
: "%teamColor%%player% <yellow>has <green>respawned<yellow>."
      BRIDGES
:
        PLAYER-DIED
: "%teamColor%%player% <yellow>has <red>died<yellow>."
    MATCH-START
:
     - "<gray><st>----------------------------------------"
      - "%matchTypeName%"
      - ""
      - " <yellow>» Kit
: <white> %ladder%"
      - " <yellow>» Map
: <white> %map%"
      - " <yellow>» Rounds
: <white> %rounds%" # This means how many rounds a team needs for the win.
      - ""
      - "%team1name%: <gray>%team1players%"
      - "%team2name%: <gray>%team2players%"
      - "<gray><st>----------------------------------------"
    MATCH-END-ROUND-DRAW
:
     - "<gray><st>----------------------------------------"
      - "<red>The round has ended with a tie."
      - "<gray><st>----------------------------------------"
    MATCH-END-ROUND
:
     - "<gray><st>----------------------------------------"
      - "%team% <yellow>has <green>won <yellow>the round. <light_purple>%round% <yellow>more to win the match."
      - "<gray><st>----------------------------------------"
    MATCH-END-DRAW
:
     - "<gray><st>----------------------------------------"
      - "<red>The match is ended with a draw."
      - "<gray><st>----------------------------------------"
    MATCH-END
:
      WINNER-PLAYER-FORMAT
: "<hover:show_text:'<green>Click to view inventory of <gold>%player%<green>.'><click:run_command:'/matchinv %matchId% %player_uuid% 1'><yellow>%player%</click></hover><gray>"
      LOSER-PLAYER-FORMAT
: "<hover:show_text:'<green>Click to view inventory of <gold>%player%<green>.'><click:run_command:'/matchinv %matchId% %player_uuid% 1'><yellow>%player%</click></hover><gray>"
      SPECTATOR-EXTENSION
:
       - "<aqua>Spectators (%size%): <gray>%spectators%"
      MESSAGE
:
       - "<gray><st>----------------------------------------"
        - "<green>Winners
: <gray> ( %winnerTeam%<gray>) <gray>- <yellow>%winners%"
        - "<red>Losers
: <gray> ( %loserTeam%<gray>) <gray>- <yellow>%losers%"
        - "%spectatorExtension%"
        - "<gray><st>----------------------------------------"
  PARTY-VS-PARTY
:
    PLAYER-LEFT
: "<red>%player% <yellow>left the match."
    PLAYER-DIE
: "<red>%player% died. <gray>(%team%<gray>) - <yellow>%playerTeamLeft% <gray>players left in their team."
    START
:
      MATCH-STARTING
: "<yellow>Match is starting in <gold>%seconds% <yellow>%secondName%."
      MATCH-STARTED
: "<green>Match has been started."
      ROUND-STARTING
: "<yellow>Round is starting in <gold>%seconds% <yellow>%secondName%."
      ROUND-STARTED
: "<green>Round has been started."
    LADDER-SPECIFIC
:
      BED-WARS
:
        PLAYER-DIED
: "%teamColor%%player% <yellow>has <red>died<yellow>."
        RESPAWN
: "<yellow>You will respawn in <red>%seconds% <yellow>%secondName%."
        PLAYER-RESPAWNED
: "%teamColor%%player% <yellow>has <green>respawned<yellow>."
        BED-DESTROYED
: "%team% team's &ebed has been destroyed!"
      FIREBALL-FIGHT
:
        PLAYER-DIED
: "%teamColor%%player% <yellow>has <red>died<yellow>."
        RESPAWN
: "<yellow>You will respawn in <red>%seconds% <yellow>%secondName%."
        PLAYER-RESPAWNED
: "%teamColor%%player% <yellow>has <green>respawned<yellow>."
        BED-DESTROYED
: "%team% team's &ebed has been destroyed!"
      BATTLE-RUSH
:
        PLAYER-DIED
: "%teamColor%%player% <yellow>has <red>died<yellow>."
        RESPAWN
: "<yellow>You will respawn in <red>%seconds% <yellow>%secondName%."
        PLAYER-RESPAWNED
: "%teamColor%%player% <yellow>has <green>respawned<yellow>."
      BRIDGES
:
        PLAYER-DIED
: "%teamColor%%player% <yellow>has <red>died<yellow>."
    MATCH-START
:
     - "<gray><st>----------------------------------------"
      - "%matchTypeName%"
      - ""
      - " <yellow>» Kit
: <white> %ladder%"
      - " <yellow>» Map
: <white> %arena%"
      - " <yellow>» Rounds
: <white> %rounds%" # This means how many rounds a team needs for the win.
      - ""
      - "<gold>%party1leader%<gray>'s party - %team1name%: <white>%team1players%"
      - "<gold>%party2leader%<gray>'s party - %team2name%: <white>%team2players%"
      - "<gray><st>----------------------------------------"
    MATCH-END-ROUND-DRAW
:
     - "<gray><st>----------------------------------------"
      - "<red>The round has ended with a tie."
      - "<gray><st>----------------------------------------"
    MATCH-END-ROUND
:
     - "<gray><st>----------------------------------------"
      - "%team% <yellow>has <green>won <yellow>the round. <light_purple>%round% <yellow>more to win the match."
      - "<gray><st>----------------------------------------"
    MATCH-END-DRAW
:
     - "<gray><st>----------------------------------------"
      - "<red>The match is ended with a draw."
      - "<gray><st>----------------------------------------"
    MATCH-END
:
      WINNER-PLAYER-FORMAT
: "<hover:show_text:'<green>Click to view inventory of <gold>%player%<green>.'><click:run_command:'/matchinv %matchId% %player_uuid% 1'><yellow>%player%</click></hover><gray>"
      LOSER-PLAYER-FORMAT
: "<hover:show_text:'<green>Click to view inventory of <gold>%player%<green>.'><click:run_command:'/matchinv %matchId% %player_uuid% 1'><yellow>%player%</click></hover><gray>"
      SPECTATOR-EXTENSION
:
       - "<aqua>Spectators (%size%): <gray>%spectators%"
      MESSAGE
:
       - "<gray><st>----------------------------------------"
        - "<green>Winners
: <gray> ( %winnerTeam%<gray>) <gray>- <yellow>%winners%"
        - "<red>Losers
: <gray> ( %loserTeam%<gray>) <gray>- <yellow>%losers%"
        - "%spectatorExtension%"
        - "<gray><st>----------------------------------------"
----------, Nov 18, 2023
Resource Information
Author:
----------
Total Downloads: 30
First Release: Oct 16, 2023
Last Update: Dec 21, 2024
Category: ---------------
All-Time Rating:
5 ratings
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings