ProPackages gives server owners the opportunity to create new ways to engage their users with packages which can be used in a number of situations. One of the better examples would be grouping together multiple items in their store to offer a truly unique purchase while also allowing for the element of randomization to the rewards they will receive! There are an endless amount of ways this plugin can be truly utilized to enhance your server!
************* REQUIRES JAVA 8 ************* Compiled and tested for Spigot 1.7.10 and above, support for earlier versions will not be provided.
You may be asking yourself what specific features does this plugin have that makes it worth it, and the answer is plenty!
Completely customizable package system
Create an unlimited amount of packages/rewards
(8) Unique package opening animations
Package animations sound effects
Animation specific settings
In-Game package items
Reward randomization
Guaranteed rewards
In-Game package block locations
Action based rewards
JavaScript action integration
Message customization
Additional placeholders
Developer event API
And much more!
With all of these features the sky is the limit for what you can achieve and the number of different uses for this resource!
In the plugin there are few commands as of now which are mainly used for administration purposes such as giving players packages and reloading the plugin.
Main command: /propackages
Aliases: [ppackages, packages]
/packages help - Displays the help message
/packages reload - Reloads the plugin and configuration files
/packages location add <package id> - Add a location for a package
/packages location remove <package id> - Remove a location for a package
/packages give <player> <package id> - Gives the player a package
/packages give <player> <package id> <amount> - Gives the player X packages
In the plugin there are very few permissions due to the design and functionality itself. The plugin has the following permissions:
propackages.open.<package id> - Allows the player to open the specific package
propackages.admin - Allows access to the plugin commands
In the plugin there are different animations you can choose from which will make package openings more appealing to the users. Each animation also has unique settings which you can modify to make each more unique.
Animation Identifier - ADMIN
Code (Text):
settings:
#The speed of the first animation part in ticks (20 ticks = 1 second)
animation_speed_1: 2
#The speed of the second animation part in ticks (20 ticks = 1 second)
animation_speed_2: 1
#The item to be used for the center prize
prize_center:
material: <material>;<data>
amount: 1
name: '&8Item name'
lore:
- '&8lore'
glow: <true | false>
#The item to be used for the border prizes
prize_border:
material: <material>;<data>
amount: 1
name: '&8Item name'
lore:
- '&8lore'
glow: <true | false>
#Specific chances to only be used for the center reward
center_chances:
- <reward id>;<chance>
#The name to be used for the glass panes
inventory_glass_name: '&8Randomizing...'
#The pane colors which will be used during animation
inventory_colors: [1, 2, 3, 4, 5]
Animation Identifier - BARTENDER
Code (Text):
settings:
#The chance of receiving a reward (1 = 100%, 0.2 = 20%, 0.05 = 5% etc.)
win_chance: 0.5
#The number of item slots to use for the win range during the animation
win_range: 3
#The number of item slots to use for the lose range during the animation
lose_range: 3
#Whether or not to always give the prize regardless of the outcome
always_give_prize: false
#Whether or not to display the items in the range if the players wins
show_prizes_on_win: true
#The actions to execute if the player loses
lose_actions:
- '[Title] &cBetter luck next time!'
#The item to be used for the divider
inventory_divider:
material: <material>;<data>
amount: 1
name: '&8Item name'
lore:
- '&8lore'
glow: <true | false>
#The item to be used for the border
inventory_border:
material: <material>;<data>
amount: 1
name: '&8Item name'
lore:
- '&8lore'
glow: <true | false>
#The item to be used for the win range
inventory_win_item:
material: <material>;<data>
amount: 1
name: '&8Item name'
lore:
- '&8lore'
glow: <true | false>
#The item to be used for the lose range
inventory_lose_item:
material: <material>;<data>
amount: 1
name: '&8Item name'
lore:
- '&8lore'
glow: <true | false>
Animation Identifier - CSGO
Code (Text):
settings:
#The item to be used for the center divider
inventory_divider:
material: <material>;<data>
amount: 1
name: '&8Item name'
lore:
- '&8lore'
glow: <true | false>
#The name to be used for the glass panes
inventory_glass_name: '&8Randomizing...'
#The pane colors which will be used during animation
inventory_colors: [1, 2, 3, 4, 5]
Animation Identifier - PORTAL
Code (Text):
settings:
#The speed of the first animation part in ticks (20 ticks = 1 second)
animation_speed_1: 2
#The speed of the second animation part in ticks (20 ticks = 1 second)
animation_speed_2: 1
#Whether or not to have both ends of the spiral with the same color
spiral_same_color: true
#The item to be used for the center item
inventory_center:
material: <material>;<data>
amount: 1
name: '&8Item name'
lore:
- '&8lore'
glow: <true | false>
#The name to be used for the glass panes
inventory_glass_name: '&8Randomizing...'
#The pane colors which will be used during animation
inventory_colors: [1, 2, 3, 4, 5]
Animation Identifier - RANDOMIZE
Code (Text):
settings:
#The speed of the animation in ticks (20 ticks = 1 second)
animation_speed: 10
#The size of the inventory used during animation
inventory_size: 27
Animation Identifier - SHUFFLE
Code (Text):
settings:
#The speed of the first animation part in ticks (20 ticks = 1 second)
animation_speed_1: 2
#The speed of the second animation part in ticks (20 ticks = 1 second)
animation_speed_2: 1
#The size of the inventory used during animation
inventory_size: 27
#The name to be used for the glass panes
inventory_glass_name: '&8Randomizing...'
#The pane colors which will be used during animation
inventory_colors: [1, 2, 3, 4, 5]
Animation Identifier - SLOTS
Code (Text):
settings:
#The item to be used for the center divider
inventory_divider:
material: <material>;<data>
amount: 1
name: '&8Item name'
lore:
- '&8lore'
glow: <true | false>
#The name to be used for the glass panes
inventory_glass_name: '&8Randomizing...'
#The pane colors which will be used during animation
inventory_colors: [1, 2, 3, 4, 5]
Animation Identifier - SPIN
Code (Text):
settings:
#The item to be used for the wheel divider
inventory_divider:
material: <material>;<data>
amount: 1
name: '&8Item name'
lore:
- '&8lore'
glow: <true | false>
#The item to be clicked to start the spin
inventory_spin_item:
material: <material>;<data>
amount: 1
name: '&8Item name'
lore:
- '&8lore'
glow: <true | false>
#The name to be used for the glass panes
inventory_glass_name: '&8Spin...'
#The pane colors which will be used during animation
inventory_glass_color: 7
Event API In the plugin there are 2 different events that can be listened through another plugin. Each event has methods to get the packages which are being used during the event.
PackageOpenEvent - Called once a player opens a package
PackageReceiveEvent - Called once a player receives a package
Code (Text):
# ======================================================
#
# ProPackages Version: 1.0.3 build: 0
# Created by: JC_Plays_MC
#
# ======================================================
#
# This is the ProPackages configuration file where all settings
# and other features will be found. If you have any questions feel free
# to ask me by PM on spigot. Also if you have any feature suggestions
# or anything like that i'm always open to new ideas.
#
# Thank you for supporting this project!
#
# ======================================================
#
# Rewards Configuration
#
# The rewards define the actions in which will be exectued if the specific
# reward is chosen while opening a package.
#
# rewards:
# <identifier>:
# actions:
# - '<action>'
#
# #The item to be displayed for this reward during
# #the package animation
# item:
# material: <material>;<data>
# name: '&8Item name'
# lore:
# - '&8lore'
# glow: <true | false>
#
# Each reward must have a unique identifier used to determine which is to
# be used with each package.
#
# ======================================================
#
# Packages Configuration
#
# The packages are what users will receieve and the associated rewards that
# go with each package. There are a number of different options you can modify
# with each unique package.
#
# packages:
# <identifier>:
#
# #The number of rewards to be chosen
# total: 10
#
# #The animation to be used for the package opening
# type: RANDOMIZE
#
# #The menu name for the animation
# name: '&8Box Of Gems'
#
# #The sounds to play throughout the animations
# animate_sound: BLOCK_NOTE_PLING
# finish_sound: ENTITY_PLAYER_LEVELUP
#
# #Specific settings to modify for each animation for
# #more information regarding which values can be modified
# #visit the plugin page: http://bit.ly/ppackages
# settings:
# animation_speed: 10
# inventory_size: 27
#
# #The item given to the player which they can click
# #to open the package. If the item is invalid the player
# #will receieve the package rewards immediately.
# item:
# material: <material>;<data>
# name: '&8Item name'
# lore:
# - '&8lore'
# glow: <true | false>
#
# #The chances of each reward to be chosen. The chance is the amount
# #out of the combined total of all the chances.
# chances:
# - '<reward id>;<chance>'
#
# #The guaranteed rewards for this package and the amount that is
# #guaranteed to be within
# guaranteed:
# - '<reward id>;<amount>'
#
# #The actions to be executed once the packaged is opened
# actions:
# - '<action>'
#
# ======================================================
#
# Commands:
#
# Command: propackages
# Aliases: [ppackages, packages]
#
# /packages help - Displays this help message
# /packages reload - Reloads the plugin
# /packages give <player> <id> - Gives the player a package
# /packages give <player> <id> <amount> - Gives the player X packages
#
# ======================================================
#
# Permissions:
#
# propackages.admin - Required to use the commands
# propackages.open.<identifier> - Required to open specific packages
#
# ======================================================
#
# Placeholders:
#
# %player% - the players name
# %amount_<reward id>% - the amount of the specific rewards received
#
# ======================================================
#
# Actions:
# Actions are the method used to reward players for completing quests. Whether it be executing a
# command or giving a player an item there are extensive ways to reward players. Below are the valid
# actions that can be used in the plugin. Also you can use placeholders in the actions to have even
# more customization options.
#
# ** Please note that all actions are case-sensitive **
#
# [Chance=<percent>] [<action>] - Chance out of 100% that this action will be performed
# [Delay=<time>] [<action>] - Delays the action to be performed after the delay period in seconds
# [PlayerCommand] <command> - Executes the command as a player
# [ConsoleCommand] <command> - Executes the command as the console
# [OperatorCommand] <command> - Executes the command as the console
# [Broadcast] <message> - Broadcasts the following message to the server
# [Message] <message> - Sends the following message to the player
# [JSONBroadcast] <message> - Sends the following json message to the server
# [JSONMessage] <message> - Sends the following json to the player
# [Sound] <sound value> - Plays the sound for the player
# [VaultGive] <amount> - Adds the amount to the players Vault economy balance
# [VaultTake] <amount> - Take the amount from the players Vault economy balance
# [GiveItem] <material;amount> - Gives the specified item to the player
# [GiveItem] <material;amount;data> - Gives the specified item to the player
# [GiveItem] <material;amount;data;name> - Gives the specified item to the player
# [Teleport] <world name;x;y;z> - Teleports the player to the specified coordinates
# [Teleport] <world name;x;y;z;yaw;pitch> - Teleports the player to the specified coordinates
# [TitleBroadcast] <title> - Displays the title for the server
# [TitleBroadcast] <title>;<subtitle> - Displays the title & subtitle for the server
# [Title] <title> - Displays the title for the player
# [Title] <title>;<subtitle> - Displays the title & subtitle for the player
# [ActionBarBroadcast] <message> - Displays the message in the actionbar for the server
# [ActionBar] <message> - Displays the message in the actionbar for the player
# [Bungee] <server> - Sends the player to the specified bungee server
#
# ======================================================
# ======================================================
#
# ProPackages Version: 1.0.3 build: 0
# Created by: JC_Plays_MC
#
# ======================================================
#
# Messages File
#
# This is the messages file where all messages found throughout the plugin will be stored.
# You can change these while the server is running however you must use the reload command
# for any and all changes to take effect. Leave a message empty to not have it send anything.
#
# ======================================================
messages:
no_permission: '&cYou do not have permission to use this command'
no_permission_package: '&cYou do not have permission to open this package'
not_online: '&cThe player entered is not online'
inventory_full: '&cYour inventory is full, items were dropped on the ground'
invalid_command: '&cInvalid command, use /packages help'
invalid_package: '&cThe package identifier you have specified does not exist'
invalid_number: '&cYou have specified an invalid number'
sent_package: '&aYou have given %player% %package_amount% %package_type% package(s)'
help:
- '&8&m------------------------------'
- '&6ProPackages Help'
- '&f/packages help - &7Displays this help message'
- '&f/packages reload - &7Reloads the plugin'
- '&f/packages give <player> <id> - &7Gives the player a package'
- '&f/packages give <player> <id> <amount> - &7Gives the player X packages'
- '&8&m------------------------------'
By purchasing this plugin you are in acceptance and agree to adhere to the following terms and conditions stated.
If you have any issues with the plugin you will contact me via PM and I will help you with your issue before you post a negative review stating something like "The plugin doesn't work".
I am under no obligation to provide support and do so at my own discretion.
You may not decompile and/or edit the source code without written permission from JC_Plays_MC.
You acknowledge that by running this software we reserve the right to collect device information including but not limited to the IP address.
You also acknowledge that there will be NO REFUNDS issued and you will not file a chargeback, dispute, or claim through PayPal.
Finally you will not redistribute the ProPackages plugin or any of its source code publicly or privately.
By purchasing this plugin you are entitled to run it on up to (3) of your own servers, however this does not mean share it with your friends! A server is considered a machine running under a single IP address. If you require additional servers then you can contact JC_Plays_MC for additional licensing purchase options.