PVPUP
PREMIUM RESOURCE SPIGOT

VIEW ON SPIGOT ASK FOR SUPPORT

ARTICLE CONTENT

INTRODUCTION

PvPUP is a Funny PvP Modality-Game for your server in which you can ascend by killing anothers players to be the best Player of the Server! It's comes with 55 pre-configured levels, 2 pre-configured maps (you must download and import it manually. The reason is to avoid an insane file size around 4-5 mb. Check this page for instructions), support for common databases like MySQL and SQLite, integration with most popular plugins like LeaderHeads, FeatherBoard, DeluxeChat, and much more!

PvPUP is not a PvP Game with Arenas like SkyWars, Eggwars, etc... PvPUP is a modality without time restrictions, so you can play PvPUP with your friends for hours! Note that PvPUP comes with the concept of Arenas, the reason of it is that Arenas are easily to configure and manage, so you can divide a World in multiples Arenas without a high memory consumption.

PvPUP has a basic and funy gameplay: Kill anothers Players to increase your level and get a better kit, but, this have a cost: Highest levels has less amount of health (for example, by default at level # 55 you can only have 3 hearts of health). Also if you kill another player you can be rewarded by 1,2,3,4 or 5 levels, depending on the difference of levels between you and the killed player. (Note that you can adjust the GamePlay using the configurations files provided by the plugin, for more info check the Configuration section described in this presentation).

FEATURES

  • Multi-world support.
  • Configurable to work with multiples Arenas.
  • Friendly configuration in-game with friendly Menu interfaces.
  • Easy to configure.
  • Support for MySQL, SQLite and "Files" as Storage (default: SQLite).
  • Perfect to be used in Networks, also PvPUP can be used in a single multi-world server.
  • 2 pre-configured arenas to start using PvPUP (please read this page to know how you can download these maps and how to import).
  • 55 pre-configured levels.
  • A pre-configured scoreboard, also you can disable it and use your own scoreboard plugin like Featherboard.
  • Integration with LeaderHeads, Featherboard, PlaceHoldersAPI, DeluxeChat or another plugin compatible with the MVdWPlaceholderAPI

CONFIGURATION

Default configuration. PvPUP v1.0.0

Show/Hide Spoiler
general:
  # Plugin Prefix for chat messages.
  prefix: "&8[&bPvPUP&8]&r"
  # Default language.
  # Note: Players can change the default language by setting the language through the Minecraft Client.
  language: "EnUs"
  # Storage system that PvPUP should use to store stats (kills, deaths, current level, max level, etc).
  # Available storage systems:
  #     SQLite    = Local Database (File)
  #     MySQL     = Remote Database (Internet or Local Server)
  #     File      = Data should be stored in files (not recommended).
  storage-system: "SQLite"
  # Only for debug purposes.
  enable-debug-logs: false
# Configuration for MySQL
# Configure this section if you have set the "storage-system" as MySQL
mysql:
  host: localhost
  port: 3306
  user: root
  password: password
  database: databasename
# Configuration for SQLite
# Configure this section if you have set the "storage-system" as SQLite
sqlite:
  database-file: "pvpup.db"
scoreboard:
  # Disable this feature if you have another plugin for the ScoreBoard.
  # If this feature is enabled, you must edit the InternalScoreboard.yml file for the ScoreBoard format.
  enable-internal-scoreboard: true
behaviour:
  # Enable this to display the WorldBorder at the spawn location when a player goes out of the spawn.
  enable-spawn-world-border: true
  # Enable this setting if you want that players lose their current level when leaves the server.
  reset-level-on-disconnect: false
  # Enable this setting if you want that players lose their current level when die.
  reset-level-on-die: false
  # Reset player level if player switch between arenas
  reset-level-on-arena-change: false
  # Enable this setting to keep level per Arena.
  keep-level-per-arena: true
  # Enable this setting to detect the language configured in the Minecraft Client.
  # Note: PvPUP will inject a Packet Listener to the Player Connection for this feature.
  enable-language-detection: true
  # If disabled, players will not bounce when they try to enter to the Spawn Area.
  enable-spawn-bounce: true
  # Te max amount of levels to keep if player leave the Arena. It is useful to prevent players with insane levels such Level 200
  # Set this as -1 to disable
  max-level-to-keep-on-leave: 30


COMMANDS

Command Should be used by Permission Description
/pup join Users pvpup.command.join Join to an Arena of PvPUP.
This command open an Inventory Menu in which players can choose the arena to join.
/pup leave Users pvpup.command.leave Leave the Arena.
/pup help Users pvpup.command.help Help Page.
/pup lobby Users pvpup.command.lobby If you have configured a Lobby Region and have set a Lobby Spawn Point then, Players can goes to the Lobby executing this command.
/pup admin help Admin pvpup.command.admin.help Display the Help page for admin commands
/pup admin setstat Admin pvpup.command.admin.setstat Alter the game stats of a Player.
/pup admin generatereport Admin pvpup.command.admin.generatereport Useful for diagnostic reports.
/pup admin iteminfo Admin pvpup.command.admin.iteminfo Shows the item information of the item that you have in your hand. You can use this command to get the Material & Enchantment for the Level Rewards
/pup admin forceleave Admin pvpup.command.admin.forceleave Force a player to leave the current Arena.
/pup admin editmode Admin pvpup.command.admin.editmode Edit Mode, use the Edit Mode to bypass Arena restrictions and if you need to edit the world.
/pup complete Admin None Complete a pending configuration action, if the player do not have a pending action then this command not has effect.
/pup cancel Admin None Cancel the last pending configuration action, if the player do not have a pending action then this command not has effect.
/pup enable Admin pvpup.command.enable Enable an Arena that are previously configured.
/pup disable Admin pvpup.command.disable Disable an operating Arena.
/pup setlobby Admin pvpup.command.setlobby Command to set the Lobby Region and the Lobby Spawn Point useful if you want to put PvPUP in an own server.
/pup arena Admin pvpup.command.arena Main command.
/pup arena configure Admin pvpup.command.arena Configure the specified arena, you can configure the arena region, spawn point, spawn area, etc.
/pup arena create Admin pvpup.command.arena Create a new Arena.
/pup arena remove Admin pvpup.command.arena Remove an existing Arena.
/pup reload Admin pvpup.command.reload Reload configuration, levels rewards and translations note that some systems like the storage method may need a fully reload of the plugin.
/pup importworld Admin pvpup.command.importworld Command to import PvPUPWorld, see the Downloadable Maps page
/pup exportworld Admin pvpup.command.exportworld Command to export a World as PvPUPWorld, useful if you need to perform a hosting migration or if you want to share your PvPUPMap to others


CONFIGURING REWARDS

At the first execution of PvPUP a File with name LevelRewards.yml will be generated inside the plugin data folder (i.e. inside the /plugins/PvPUP/ folder). The functionality and properly configuration of that item is described in this page. Note that you may need to configure this file if you need to configure the rewards of each level of PvPUP.

Default Configuration: Click Here


EXPLANATION

Behaviour Section

    behaviour:
        level-reward-algorithm: "if(levelDiff <= 5) { levelsToGain = 1; } else if(levelDiff <= 10) { levelsToGain = 2; } else if(levelDiff <= 20) { levelsToGain = 3; } else { levelsToGain = 4; }"

The Algorithm used in this section of the configuration is the Algorithm used to determine the amount of levels to give to a Player that has killed another Player.
The default Algorithm determinates:

  • 4 levels to give if the level difference between the killer and the victim is greater than 20.
  • 3 levels to give if the level difference between the killer and the victim is in the range of 11 - 20 levels of difference.
  • 2 levels to give if the level difference between the killer and the victim is in the range of 6 - 10 levels of difference.
  • 1 level to give if the level difference between the killer and the victim is less or equals than 5.

Considerations to take

  1. You must write the Algorithm using the Javascript syntax in a simple level.
  2. Take in consideration that two fields are deffined by default with the Javascript Engine of the Plugin: levelDiff assigned with the amount of difference between the killer an the victim. levelsToGain assigned with 1 by default, you can assign the amount of levels that the player may receive, for example levelsToGain = 10; will give 10 levels to the killer.
  3. You can set a negative amount of levels to the levelsToGain field. Negative level = Levels to subtract to the Killer.

Configuring Levels

levels:
    0:
        inventory:
        - "1 WOOD AXE"
        behaviour:
            max-health: 24
            on-kill:
                regenerate-health: 6
                add-potioneffect:
                - "REGENERATION:2 160"
    1:
        inventory:
        - "1 WOOD SWORD"
        behaviour:
            max-health: 24
            on-kill:
                regenerate-health: 6
                add-potioneffect:
                - "REGENERATION:2 160"
    ....
    ....
    <Integer>: ## Level Key, must be an integer and indicated in which level the below configuration will be applied.
        <Options>
        ....
        ....
    ....

Each level are configured in the levels: section. The Level Key of each level must be an integer to indicate the level that the configuracion will be applied.

Configuring levels rewards (Items):

    inventory:
    - "1 WOOD_SWORD"
    - "ITEM 2"
    - "ITEM 3"
    - ....

Syntax:

  1. To give a simple item:
  2.     inventory:
        - "<Amount> <Material>:<Durability>"
    
  3. To give a simple item placed in the specified slot position:
  4.     inventory:
        - "<Amount> <Material>:<Durability> SLOT:<Inventory Slot #>"
    
  5. To give a simple item placed in the specified slot position and with the given enchantments:
  6.     inventory:
        - "<Amount> <Material>:<Durability> SLOT:<Inventory Slot #>|E:<Enchantment Type>:<Level> E:<Enchantment Type>:<Level> E:<Enchantment Type>:<Level> ...."
    

PVPUP MAPS

External maps can be integrated with PvPUP. At this moment only one map with two arenas is available for PvPUP.

PvPUP World

  • Made by: Wirlie
  • Map Version: 1.0
  • Compatible with: PvPUP 1.0 or higher
  • Arenas included in this map:
    • Lagoon Arena
    • Mountain Arena

Please read the License Agreement before downloading. (If you download the resource we consider that you are in accordance with the License Agreement described below).

License Agreement: You can download this map without buying the PvPUP resource, but, you are not allowed to modify, distribute, alter, or copy the Map partially or totally without the authorization of the resource-owner. You are not allowed to use this map for other purposes that are not intended por PvPUP.

Download Map

HOW IMPORT

Please follow next steps:

  1. Download the .zip file that contains the PvPUP Map (for example the .zip of PvPUPWorld).
  2. Extract the .zip file at the root folder of your server
    1. Following the example of the PvPUPWorld Map, the folder structure may looks something to:
    2. |--+ /YourRootFolderOfYourServer/
         |-+ /PvPUPWorld/ <<< Content of the extracted .zip file
         | |-- /data/
         | |-- /playerdata/
         | |-- /region/
         | |-- /stats/
         | |-- level.dat
         | |-- PvPUPWorld.yml <<< Important: This file is required for the next step.
         | |-- session.lock
         |-- /world/
         |-- /world_the_end/
         |-- /world_the_nether/
         |-- Spigot.jar
         |-- etc.
      
  3. Execute /pup importworld [WorldName]. Following the example of the PvPUPWorld, you should execute /pup importworld PvPUPWorld
  4. You will see a message indicating the result of the import operation.
  5. Done! Now you must enable the imported arena(s) with the command /pup enable
  6. After enabling the imported arenas, you can use /pup join to join to the new imported arenas.