Home›Java›Mods›[1.16-1.21] PixelBattle >>> EXPORT .PNG .MP4 | TimeLapse SYSTEM | MySQL, SQLite, YAML
ModsJava
[1.16-1.21] PixelBattle >>> EXPORT .PNG .MP4 | TimeLapse SYSTEM | MySQL, SQLite, YAML
Description: A game where everyone has to defend their place on the canvas
Commands:
Discord: If you need any help with this plugin, you can write to me in Discord: @_gamedoctor_
Note: If you want additional functionality to be added to the plugin, just write about it in the discussion
Installation:
Download, drop it in plugins folder and restart your server
Commands:
- /pixelbattle - Main command
- NO DEPENDENCIES !
- HEX Support !
- TIMELAPSE SYSTEM (Export history of YOUR PixelBattle in .mp4 OR play timelapse animation in-game)
- THE LEVEL SYSTEM
- Canvas export System (Export actual Canvas in .png)
- All messages can be configured to be displayed in chat, title, actionbar (+ Sound)
- MySQL, SQLite, YAML Database support
- Advanced and easy-to-understand configuration
- Own leaderboard system
- WIPE via command
- 100% FREE (Including web tool)
Spoiler: Instructions and demonstration (EN)
Spoiler: Configuring the plugin
The plugin has only one configuration file:
Here you must specify the region of your canvas -
posOne and
posTwo, as well as the spawn location where players will appear after entering PixelBattle -
spawn, and
exitSpawn - the place where players will appear when exiting PixelBattle. Please note: If you want to use the functions of the WEB tool (Creating a time lapse in .mp4 format, exporting a .png canvas), then the canvas must be horizontal (WITHOUT changing the height of Y). Also, the canvas must necessarily have equal sides. For example: 11x11, 100x100, 123x123 and so on.
This completes the necessary setup.
Video with the necessary settings:
Configuring OPTIONAL parameters:
Spoiler: config.yml
The most necessary thing you need to configure for the plugin to work is section
canvas:
Code (YAML):
#############################
# PixelBattle #
# Made by GameDoctor #
# 2024 #
#############################
# All instructions for using and configuring the plugin are provided on SpigotMC:
# https://www.spigotmc.org/members/gamedoctor.792259
settings : # General settings
# The prefix of all messages in the chat. You can leave it empty
messagesPrefix : "&fPixelBattle &e> "
# The number of seconds until the next painting
paintCooldown : 10
# The beginning of the right, in which you can specify the delay for the next painting. For example, pixelbattle.cooldown.5 - Sets the delay to the player for 5 seconds. Integers only
cooldownPermission : "pixelbattle.cooldown."
# Clears inventory, restores hunger, health, and resets the player's level
resetPlayer : false
# Protect the player from damage, disable PvP, prohibit interaction with inventory
guardPlayer : true
# Allows players to hit each other without causing damage
allowKnock : false
# If true, the inventory will close when the player is hit by another player
closeInventoryOnKnock : true
# Prevents players from falling out of the world
noFall : false
# Enables flight mode for everyone who is on PixelBattle
enableFly : true
# If true, the player's inventory and other data will be restored as soon as he exits PixeBattle
restoreDataOnExit : true
# If false, the blocks cannot be broken or placed everywhere. If true, the blocks can be broken or placed everywhere except on the canvas
blockModify : false
# Prohibit players from interacting with chests, stoves, workbenches and other blocks
preventBlockInteract : false
# The standard game mode when entering PixelBattle (NO = DO NOT CHANGE)
defaultGamemode : "NO"
# Time display in format MM:SS (Minutes:Seconds). When false, just seconds are displayed
timeFormat : false
# Whether to log the installation of each pixel (It is necessary to create a TimeLapse)
logPixelPaint : true
# Whether to save the current state of the canvas in the database. (Required to be able to export .png and timelapse images to .mp4)
# To use this function, the canvas must be horizontal, without changing the height and with equal sides. For example: 11x11, 100x100, 123x123 and so on
saveCanvasState : true
# If true, the players will not be able to paint over the block with the same color
preventPaintSame : false
# The standard color of the canvas
defaultColor : "WHITE_WOOL"
# If true, when painting over, this block will be taken away from the previous one who painted over
removePixelsWhenPainted:
enable : false
# If true, experience will also be taken away for the block, the level can also be lowered
removeExp : true
# If true, the option will only apply to other players (If the player paints over his pixel, he will not lose experience)
onlyOther : true
# If true, all numbers will be presented in a shorter format. For example: 1000 = 1K, 1000000 = 1M and so on
numberFormatting:
enable : false
# The number of digits after the decimal point
fractionDigits : 1
# Time format per line
timeStringFormat :
# If true, only the largest is displayed. For example, not 1 d. 12 h. 5 m. 13 s., but just 1 d.
displayOnlyHighest : true
seconds : "s."
minutes : "m."
hours : "h."
days : "d."
canvas : # Canvas settings
world : "world"
# The place where players will appear after logging into PixelBattle
spawn:
x : 1
y : 1
z : 1
yaw : 1
pitch : 1
# The place where players will appear when exiting PixelBattle
exitSpawn :
# If true, the player will be teleported to these coordinates after exiting PixelBattle
teleportOnExit : true
# Specify only if the exit from PixelBattle is in another world
world : "world"
x : 1
y : 1
z : 1
yaw : 1
pitch : 1
# The first point of the canvas
posOne:
x : 1
y : 1
z : 1
# The second point of the canvas
posTwo:
x : 1
y : 1
z : 1
database : # Database settings
# Available types: FILE, MYSQL, SQLITE
type : SQLITE
# It is specified without a format. Used for FILE (.yml) and SQLITE (.db)
fileName : "database"
# The name of the table with the players. Used for FILE, MYSQL, and SQLITE types
playersTableName : "pb_players"
# The name of the table with the logs of the shaded pixels. Used for FILE, MYSQL, and SQLITE types
pixelLogsTableName : "pb_pixelLogs"
# The name of the table with the current state of the canvas. Used for FILE, MYSQL, and SQLITE types
canvasStateTableName : "pb_canvasState"
# The name of the database. Only for MYSQL
databaseName : "pixelbattle"
# The host. Only for MYSQL
host : "localhost"
# User. Only for MYSQL
user : "root"
# Password. Only for MYSQL
password : "-"
# Additional connection parameters. Change it if you know what it's for. Only for MYSQL
arguments : "?useUnicode=true&characterEncoding=utf8&autoReconnect=true&useSSL=false"
command : # Main command settings /pixelbattle
join : # The name of the subcommand. Do not change
# The right to enter PixelBattle through the /pixelbattle join command. Set to '-' if the right is not required
usePermission : "pixelbattle.join.use"
# The right to move other players to PixelBattle with the /pixelbattle join <nickname> command. Set to '-' if the right is not required
useOnOtherPermission : "pixelbattle.join.use.other"
leave : # The name of the subcommand. Do not change
# The right to exit PixelBattle via the /pixelbattle leave command. Set to '-' if the right is not required
usePermission : "pixelbattle.leave.use"
# The right to throw other players out of PixelBattle with the /pixelbattle leave <nickname> command. Set to '-' if the right is not required
useOnOtherPermission : "pixelbattle.leave.use.other"
timelapse : # The name of the subcommand. Do not change
# The right to play a TimeLapse via the /pixelbattle timelapse command. Set to '-' if the right is not required
usePermission : "pixelbattle.timelapse.use"
wipe : # The name of the subcommand. Do not change
# The right to reset canvas history and data via the /pixelbattle wipe command. Set to '-' if the right is not required
usePermission : "pixelbattle.wipe.use"
web : # The name of the subcommand. Do not change
# The right to work with the WEB Tool through the /pixelbattle web command. Set to '-' if the right is not required
usePermission : "pixelbattle.web.use"
users : # The name of the subcommand. Do not change
# The right to manage player data through the pixelbattle users team. Set to '-' if the right is not required
usePermission : "pixelbattle.users.use"
mod : # The name of the subcommand. Do not change
# The right to moderate the canvas through the /pixelbattle mod command. Set to '-' if the right is not required
usePermission : "pixelbattle.mod.use"
standaloneServer : # Use this if PixelBattle is on a separate server. Auto-join will work
enable : false
# Setting up redirection to another server after exiting PixelBattle mode (BungeeCord)
redirectOnExit:
enable : false
server : "lobby"
exitItem : # An item in the inventory for quick exit from PixelBattle
enable : true
# Slot in the hotbar
slot : 0
material : "COMPASS"
glowing : false # Makes the object shimmer when true
name : "&aExit"
lore :
- "&7Click if you want to leave"
gui : # Setting up the color selection menu
# Color selection menu title
colorSelectionTitle : "&6&lColor selection"
# The title of the menu of the history of colorings
paintLogsTitle : "&b&lThe history of colorings &8(&b%x% %y% %z%&8)"
items : # You can't add your own. You can specify lore for any
back : # Do not change this line
enable : true
# The right to display this item. Set to '-' if not required
permission : "-"
name : "&cBack"
material : "OAK_SIGN"
next : # Do not change this line
enable : true
# The right to display this item. Set to '-' if not required
permission : "-"
name : "&cNext"
material : "OAK_SIGN"
footer : # Do not change this line
enable : true
# The right to display this item. Set to '-' if not required
permission : "-"
name : " "
material : "GRAY_STAINED_GLASS_PANE"
info : # Do not change this line
enable : true
# The right to display this item. Set to '-' if not required
permission : "-"
name : "&cInformation"
material : "BOOK"
lore : # Lore setting (Can be removed)
- "&7Color : %color%"
- "&7By player : &c%player%"
- "&7Repainted &e%paintedCount%&7 times"
- "&7Date : &e%date% ( %time%)"
- " "
- "&aClick to open logs"
paintedPixelInfo : # Do not change this line
# If true, players will be able to view the history of coloring each pixel, if false, this function will be unavailable
enable : true
# The right to display this item. Set to '-' if not required
permission : "-"
name : "%colorName%"
lore : # Lore setting (Can be removed)
- "&7By player : &c%player%"
- "&7Date : &e%date% ( %time%)"
color : # Do not change this line
# Lore for all color items
defaultLore:
- "&7Level : &e%level%"
- "&7EXP : &9%exp%"
- "%itemLore%" # %itemLore% - Individual lore of color items
leveling : # The level system
# If you don't need a level system, set it to false
enable : true
# If true, the experience will be added even when the level is already at its maximum
stillAddExpWhenMax : false
# The level that will be given to all new players
defaultLevel : 1
# The format for the LevelUp message (%newFeatures%)
format:
colors : "&7- New colors: %colors%"
cooldown : "&7- Reduced cooldown: &6%cooldown% sec."
empty : "&cEmpty"
levels : # Setting up levels
2 : # Level number. The level numbers should go in order
# The delay for painting, which begins to take effect from the moment this level is reached. You can remove it
paintCooldown : 9
# The amount of experience required to reach this level
needExp : 10
3:
needExp : 20
4:
paintCooldown : 8
needExp : 30
5:
paintCooldown : 7
needExp : 40
6:
needExp : 50
7:
paintCooldown : 6
needExp : 60
8:
needExp : 70
9:
paintCooldown : 5
needExp : 80
10:
paintCooldown : 4
needExp : 100
scoreboard : # Scoreboard settings
enable : true
# Header
name : "&a&lPixelBattle"
# Indicated In TICKS. (20 ticks = 1 second, 10 ticks = half a second). 0 - If you do not need to update
refreshTime : 15
lines :
- "&ePlayer:"
- "&c%player%"
- " "
- "&eLevel:"
- "&a%level% &7(&c%exp%&8/&a%expToNextLevel%&7)"
- " "
- "&ePainted:"
- "&a%painted%"
- " "
- "&eIn game:"
- "&a%playedTime%"
- " "
- "&eLeft : &6&l%time%"
leaderboards : # Leaderboards in the form of a hologram
# The name of the column with numeric data (Do not touch it if you do not know how to work with it)
painted:
enable : false
# The data type to which the value will be converted. Either INT is a number, or TIME is the time in the string
valueType : INT
# Header
title :
- "&eLeaderboard"
- "&e-= &bPainted pixels &e=-"
# String format
format : "&7%num%) &a%player% &8- &c%value%"
# Empty string format
emptyFormat : "&7%num%) &cEmpty"
# Number of lines (Header lines are not counted)
rows : 5
# The time of the update. Specified in seconds. 0 - If no update is required
updateDelay : 10
# Location
location:
world : "world"
x : 1
y : 1
z : 1
playedTime:
enable : false
# The data type to which the value will be converted. Either INT is a number, or TIME is the time in the string
valueType : TIME
# Header
title :
- "&eLeaderboard"
- "&e-= &bTime in game &e=-"
# String format
format : "&7%num%) &a%player% &8- &c%value%"
# Empty string format
emptyFormat : "&7%num%) &cEmpty"
# Number of lines (Header lines are not counted)
rows : 5
# The time of the update. Specified in seconds. 0 - If no update is required
updateDelay : 10
# Location
location:
world : "world"
x : 1
y : 1
z : 1
level:
enable : false
# The data type to which the value will be converted. Either INT is a number, or TIME is the time in the string
valueType : INT
# Header
title :
- "&eLeaderboard"
- "&e-= &bGame level &e=-"
# String format
format : "&7%num%) &a%player% &8- &c%value%"
# Empty string format
emptyFormat : "&7%num%) &cEmpty"
# Number of lines (Header lines are not counted)
rows : 5
# The time of the update. Specified in seconds. 0 - If no update is required
updateDelay : 10
# Location
location:
world : "world"
x : 1
y : 1
z : 1
messages : # Message settings. You can use chat, title, ActionBar, sound and broadcast in any message
welcome:
chat:
enable : true
lines :
- "&7Welcome to &ePixelBattle"
title:
enable : true
line1 : "&7Welcome,"
line2 : "&c%player%"
fadeIn : 20 # 1 sec
stay : 60 # 3 sec
fadeOut : 20 # 1 sec
actionBar:
enable : true
message : "&7Welcome to &ePixelBattle&7, &c%player%"
sound : # Take the names of the sounds from the site https://www.spigotmc.org/wiki/cc-sounds-list
enable : true
name : "ENTITY_PLAYER_LEVELUP"
broadcast:
enable : false
lines :
- "&7Player &e%player% &7has joined us!"
levelUp : # Used with leveling.enable = true
chat:
enable : true
lines :
- "&7Your level has been upgraded to &e%level%"
- "&7Now available:"
- "%newFeatures%"
title:
enable : true
line1 : "&a&lLevel UP!"
# %pLevel% is the previous level. %level% - new level
line2 : "&c%pLevel%&7->&a%level%"
fadeIn : 20 # 1 sec
stay : 60 # 3 sec
fadeOut : 20 # 1 sec
actionBar:
enable : false
message : "&7&lNew level: &e%level%"
sound : # Take the names of the sounds from the site https://www.spigotmc.org/wiki/cc-sounds-list
enable : true
name : "ENTITY_PLAYER_LEVELUP"
broadcast:
enable : true
lines :
- "&7Player &c%player% &7has raised his level from &c&l%pLevel% &7to &e&l%level%"
levelDown : # Used with leveling.enable = true
chat:
enable : true
lines :
- "&7Your level has been lowered to &c%level%"
title:
enable : true
line1 : "&c&lLevel is lowered..."
# %pLevel% is the previous level. %level% - new level
line2 : "&a%pLevel%&7->&c%level%"
fadeIn : 20 # 1 sec
stay : 60 # 3 sec
fadeOut : 20 # 1 sec
actionBar:
enable : false
message : "&7&lNew level: &c%level%"
sound : # Take the names of the sounds from the site https://www.spigotmc.org/wiki/cc-sounds-list
enable : true
name : "BLOCK_ANVIL_BREAK"
broadcast:
enable : true
lines :
- "&7Player level &c%player% &7is lowered from &a&l%pLevel% &7to &c&l%level%"
expReceived : # Used with leveling.enable = true
actionBar:
enable : true
message : "&9+%exp% EXP"
sound : # Take the names of the sounds from the site https://www.spigotmc.org/wiki/cc-sounds-list
enable : true
name : "ENTITY_PLAYER_LEVELUP"
expLost : # Used with leveling.enable = true
actionBar:
enable : true
message : "&c-%exp% EXP"
sound : # Take the names of the sounds from the site https://www.spigotmc.org/wiki/cc-sounds-list
enable : true
name : "BLOCK_ANVIL_BREAK"
pixelPainted:
chat:
enable : true
lines:
- "&7You have successfully painted over the block. New color : %color%"
title:
enable : true
line1 : "&a&lSuccess"
line2 : "&e&lYou have painted over the block"
fadeIn : 20 # 1 sec
stay : 60 # 3 sec
fadeOut : 20 # 1 sec
actionBar:
enable : false
message : "&7You have painted over the block with a color %color%"
sound:
enable : true
name : "ENTITY_EXPERIENCE_ORB_PICKUP"
pixelDelay:
chat:
enable : false
lines :
- "You will be able to paint over the block in %time%"
title:
enable : true
line1 : " " # The first line is empty to display only the second one
line2 : "&cLeft: &e%time%"
fadeIn : 0
stay : 60 # 3 sec
fadeOut : 0
sound:
enable : true
name : "ENTITY_ITEM_BREAK"
movingToServer : # Used with standaloneServer.enable = true and exitItem.enable = true
chat:
enable : true
lines :
- "&aYou will now be moved to the server &e%server%"
exitItemExit : # Used when logging out of the system.enable = true and standaloneServer.enable = false
chat:
enable : true
lines :
- "&aYou have successfully logged out of PixelBattle"
cmdNoPerm:
chat:
enable : true
lines :
- "&cYou don't have enough rights"
sound:
enable : true
name : "ENTITY_ITEM_BREAK"
cmdHelp:
chat:
enable : true
lines :
- "&e------------ &dPixelBattle &e------------"
- "&d/%cmd% &7join&f: Log in to PixelBattle"
- "&d/%cmd% &7leave&f: Exit from PixelBattle"
- "&d/%cmd% &7timelapse <speed>&f: Play a timelapse on the canvas"
- "&d/%cmd% &7wipe&f: To perform a wipe of data and history of canvas"
- "&d/%cmd% &7web&f: Working with a WEB Tool"
- "&d/%cmd% &7users&f: Player management"
- "&d/%cmd% &7mod&f: Canvas moderation"
cmdWebHelp:
chat:
enable : true
lines :
- "&e------------ &dWEB Tool &e------------"
- "&d/%cmd% &7web canvas&f: Create a picture of the canvas (.png)"
- "&d/%cmd% &7web timelapse&f: Create a PixelBattle TimeLapse (.mp4)"
cmdUsersHelp:
chat:
enable : true
lines :
- "&e------------ &dPlayer Management &e------------"
- "&d/%cmd% &7users wipe <name>&f: Reset player data"
- "&d/%cmd% &7users setLevel <name> <number>&f: Set the level for the player"
- "&d/%cmd% &7users setExp <name> <number>&f: Set the experience for the player"
- "&d/%cmd% &7users setPainted <name> <number>&f: Set the number of painted pixels for the player"
cmdModHelp:
chat:
enable : true
lines :
- "&e------------ &9Moderation &e------------"
- "&9/%cmd% &7mod rollback <name> <radius> <time>&f: Rollback painted pixels"
cmdModRollbackStart:
chat:
enable : true
lines :
- "&eRollback of player's &c%target%&e actions in radius &a%radius%&e for &b%time%&e has begun..."
cmdModRollbackRunning:
actionBar:
enable : true
message : "&eProcessed: &c%now%&7/&a%total% &7(&b%success%&7)"
cmdModRollbackEnd:
chat:
enable : true
lines :
- "&aRollback of player's &c%target%&a actions completed. Rollbacked paintings: &e%count%"
cmdNoPlayer:
chat:
enable : true
lines :
- "&cPlayer &e%target% &cnot found"
sound:
enable : true
name : "ENTITY_ITEM_BREAK"
cmdAlreadyIn:
chat:
enable : true
lines :
- "&cPlayer &e%target% &calready in PixelBattle"
sound:
enable : true
name : "ENTITY_ITEM_BREAK"
cmdNotIn:
chat:
enable : true
lines :
- "&cPlayer &e%target% &cnot in PixelBattle"
sound:
enable : true
name : "ENTITY_ITEM_BREAK"
cmdSuccess:
chat:
enable : true
lines :
- "&aSuccessfully"
cmdIncorrect:
chat:
enable : true
lines :
- "&cThe data is incorrectly specified"
timelapseStarting:
chat:
enable : true
lines:
- "&aThe preparation of the TimeLapse has begun. Speed : &e%speed%"
timelapseStarted:
chat:
enable : true
lines:
- "&aThe TimeLapse playback has started. Frames : &e%frames%&a, approximate duration : &b%time%"
broadcast:
enable : true
lines :
- "&aPlayer &e%player% &ahas started playing the TimeLapse! Approximate Duration: &b%time%"
timelapseEnded:
broadcast:
enable : true
lines :
- "&aThe TimeLapse playback is completed, the canvas is up to date"
canvasLocked:
chat:
enable : true
lines :
- "&cYou can't interact with the canvas right now"
timelapseFrameCounter:
actionBar:
enable : true
message : "&7Frame: &c%current%&7/&a%all%"
preventedSameColor : # Used when preventPaintSame = true
chat:
enable : true
lines :
- "&cYou cannot fill the block with the same color (%color%&c)"
sound:
enable : true
name : "ENTITY_ITEM_BREAK"
wipeStarted:
chat:
enable : true
lines :
- "&cThe wipe process has begun... Do not touch the canvas"
noData:
chat:
enable : true
lines:
- "&cThe necessary data is missing to perform this operation : &e%data%"
webRequest:
chat:
enable : true
lines :
- "&eThe request has been sent. Please wait"
webAnswer:
chat:
enable : true
lines:
- "&aServer response : &e%answer%"
items : # Colors. You can add as many as you want. There are no limits
WHITE_WOOL : # Block name
name : "&fWhite" # The displayed name
# The minimum level required to use this color. You can remove it
needLevel : 1
# The amount of experience that painting with this color gives. You can remove it
givesExp : 1
permission : "-" # The right to use. If '-' - then the rights are not needed
glowing : false # Makes the object shimmer (Can be removed)
lore : # Lore setting (Can be removed)
- "&bYou can set the lore for each color"
- "&c&nOr just remove it =)"
ORANGE_WOOL:
name : "&6Orange"
needLevel : 2
givesExp : 1
permission : "-"
MAGENTA_WOOL:
name : "&5Magenta"
needLevel : 2
givesExp : 1
permission : "-"
LIGHT_BLUE_WOOL:
name : "&bLight Blue"
needLevel : 2
givesExp : 1
permission : "-"
YELLOW_WOOL:
name : "&eYellow"
needLevel : 3
givesExp : 2
permission : "-"
LIME_WOOL:
name : "&aLime"
needLevel : 3
givesExp : 2
permission : "-"
PINK_WOOL:
name : "&dPink"
needLevel : 3
givesExp : 2
permission : "-"
GRAY_WOOL:
name : "&8Gray"
needLevel : 3
givesExp : 2
permission : "-"
LIGHT_GRAY_WOOL:
name : "&7Light Gray"
needLevel : 3
givesExp : 2
permission : "-"
CYAN_WOOL:
name : "&3Cyan"
needLevel : 4
givesExp : 2
permission : "-"
PURPLE_WOOL:
name : "&5Purple"
needLevel : 4
givesExp : 2
permission : "-"
BLUE_WOOL:
name : "&1Blue"
needLevel : 4
givesExp : 2
permission : "-"
BROWN_WOOL:
name : "&6Brown"
needLevel : 5
givesExp : 3
permission : "-"
GREEN_WOOL:
name : "&2Green"
needLevel : 5
givesExp : 3
permission : "-"
RED_WOOL:
name : "&4Red"
needLevel : 6
givesExp : 3
permission : "-"
BLACK_WOOL:
name : "&0Black"
needLevel : 6
givesExp : 3
permission : "-"
GOLD_BLOCK:
name : "&6&lGold"
givesExp : 10
glowing : true # Makes the object shimmer (Can be removed)
permission : "pixelbattle.colors.gold_block"
DIAMOND_BLOCK:
name : "&b&lLight Blue"
givesExp : 10
glowing : true # Makes the object shimmer (Can be removed)
permission : "pixelbattle.colors.diamond_block"
# Concrete
WHITE_CONCRETE:
name : "&fWhite"
needLevel : 7
givesExp : 4
permission : "-"
ORANGE_CONCRETE:
name : "&6Orange"
needLevel : 7
givesExp : 4
permission : "-"
MAGENTA_CONCRETE:
name : "&dMagenta"
needLevel : 7
givesExp : 4
permission : "-"
LIGHT_BLUE_CONCRETE:
name : "&bLight Blue"
needLevel : 7
givesExp : 4
permission : "-"
YELLOW_CONCRETE:
name : "&eYellow"
needLevel : 7
givesExp : 4
permission : "-"
LIME_CONCRETE:
name : "&aLime"
needLevel : 8
givesExp : 4
permission : "-"
PINK_CONCRETE:
name : "&dPink"
needLevel : 8
givesExp : 4
permission : "-"
GRAY_CONCRETE:
name : "&8Gray"
needLevel : 8
givesExp : 4
permission : "-"
LIGHT_GRAY_CONCRETE:
name : "&7Light Gray"
needLevel : 8
givesExp : 4
permission : "-"
CYAN_CONCRETE:
name : "&3Cyan"
needLevel : 9
givesExp : 5
permission : "-"
PURPLE_CONCRETE:
name : "&5Purple"
needLevel : 9
givesExp : 5
permission : "-"
BLUE_CONCRETE:
name : "&1Blue"
needLevel : 9
givesExp : 5
permission : "-"
BROWN_CONCRETE:
name : "&6Brown"
needLevel : 9
givesExp : 5
permission : "-"
GREEN_CONCRETE:
name : "&2Green"
needLevel : 10
givesExp : 6
permission : "-"
RED_CONCRETE:
name : "&4Red"
needLevel : 10
givesExp : 6
permission : "-"
BLACK_CONCRETE:
name : "&0Black"
needLevel : 10
givesExp : 6
permission : "-"
# PixelBattle #
# Made by GameDoctor #
# 2024 #
#############################
# All instructions for using and configuring the plugin are provided on SpigotMC:
# https://www.spigotmc.org/members/gamedoctor.792259
settings : # General settings
# The prefix of all messages in the chat. You can leave it empty
messagesPrefix : "&fPixelBattle &e> "
# The number of seconds until the next painting
paintCooldown : 10
# The beginning of the right, in which you can specify the delay for the next painting. For example, pixelbattle.cooldown.5 - Sets the delay to the player for 5 seconds. Integers only
cooldownPermission : "pixelbattle.cooldown."
# Clears inventory, restores hunger, health, and resets the player's level
resetPlayer : false
# Protect the player from damage, disable PvP, prohibit interaction with inventory
guardPlayer : true
# Allows players to hit each other without causing damage
allowKnock : false
# If true, the inventory will close when the player is hit by another player
closeInventoryOnKnock : true
# Prevents players from falling out of the world
noFall : false
# Enables flight mode for everyone who is on PixelBattle
enableFly : true
# If true, the player's inventory and other data will be restored as soon as he exits PixeBattle
restoreDataOnExit : true
# If false, the blocks cannot be broken or placed everywhere. If true, the blocks can be broken or placed everywhere except on the canvas
blockModify : false
# Prohibit players from interacting with chests, stoves, workbenches and other blocks
preventBlockInteract : false
# The standard game mode when entering PixelBattle (NO = DO NOT CHANGE)
defaultGamemode : "NO"
# Time display in format MM:SS (Minutes:Seconds). When false, just seconds are displayed
timeFormat : false
# Whether to log the installation of each pixel (It is necessary to create a TimeLapse)
logPixelPaint : true
# Whether to save the current state of the canvas in the database. (Required to be able to export .png and timelapse images to .mp4)
# To use this function, the canvas must be horizontal, without changing the height and with equal sides. For example: 11x11, 100x100, 123x123 and so on
saveCanvasState : true
# If true, the players will not be able to paint over the block with the same color
preventPaintSame : false
# The standard color of the canvas
defaultColor : "WHITE_WOOL"
# If true, when painting over, this block will be taken away from the previous one who painted over
removePixelsWhenPainted:
enable : false
# If true, experience will also be taken away for the block, the level can also be lowered
removeExp : true
# If true, the option will only apply to other players (If the player paints over his pixel, he will not lose experience)
onlyOther : true
# If true, all numbers will be presented in a shorter format. For example: 1000 = 1K, 1000000 = 1M and so on
numberFormatting:
enable : false
# The number of digits after the decimal point
fractionDigits : 1
# Time format per line
timeStringFormat :
# If true, only the largest is displayed. For example, not 1 d. 12 h. 5 m. 13 s., but just 1 d.
displayOnlyHighest : true
seconds : "s."
minutes : "m."
hours : "h."
days : "d."
canvas : # Canvas settings
world : "world"
# The place where players will appear after logging into PixelBattle
spawn:
x : 1
y : 1
z : 1
yaw : 1
pitch : 1
# The place where players will appear when exiting PixelBattle
exitSpawn :
# If true, the player will be teleported to these coordinates after exiting PixelBattle
teleportOnExit : true
# Specify only if the exit from PixelBattle is in another world
world : "world"
x : 1
y : 1
z : 1
yaw : 1
pitch : 1
# The first point of the canvas
posOne:
x : 1
y : 1
z : 1
# The second point of the canvas
posTwo:
x : 1
y : 1
z : 1
database : # Database settings
# Available types: FILE, MYSQL, SQLITE
type : SQLITE
# It is specified without a format. Used for FILE (.yml) and SQLITE (.db)
fileName : "database"
# The name of the table with the players. Used for FILE, MYSQL, and SQLITE types
playersTableName : "pb_players"
# The name of the table with the logs of the shaded pixels. Used for FILE, MYSQL, and SQLITE types
pixelLogsTableName : "pb_pixelLogs"
# The name of the table with the current state of the canvas. Used for FILE, MYSQL, and SQLITE types
canvasStateTableName : "pb_canvasState"
# The name of the database. Only for MYSQL
databaseName : "pixelbattle"
# The host. Only for MYSQL
host : "localhost"
# User. Only for MYSQL
user : "root"
# Password. Only for MYSQL
password : "-"
# Additional connection parameters. Change it if you know what it's for. Only for MYSQL
arguments : "?useUnicode=true&characterEncoding=utf8&autoReconnect=true&useSSL=false"
command : # Main command settings /pixelbattle
join : # The name of the subcommand. Do not change
# The right to enter PixelBattle through the /pixelbattle join command. Set to '-' if the right is not required
usePermission : "pixelbattle.join.use"
# The right to move other players to PixelBattle with the /pixelbattle join <nickname> command. Set to '-' if the right is not required
useOnOtherPermission : "pixelbattle.join.use.other"
leave : # The name of the subcommand. Do not change
# The right to exit PixelBattle via the /pixelbattle leave command. Set to '-' if the right is not required
usePermission : "pixelbattle.leave.use"
# The right to throw other players out of PixelBattle with the /pixelbattle leave <nickname> command. Set to '-' if the right is not required
useOnOtherPermission : "pixelbattle.leave.use.other"
timelapse : # The name of the subcommand. Do not change
# The right to play a TimeLapse via the /pixelbattle timelapse command. Set to '-' if the right is not required
usePermission : "pixelbattle.timelapse.use"
wipe : # The name of the subcommand. Do not change
# The right to reset canvas history and data via the /pixelbattle wipe command. Set to '-' if the right is not required
usePermission : "pixelbattle.wipe.use"
web : # The name of the subcommand. Do not change
# The right to work with the WEB Tool through the /pixelbattle web command. Set to '-' if the right is not required
usePermission : "pixelbattle.web.use"
users : # The name of the subcommand. Do not change
# The right to manage player data through the pixelbattle users team. Set to '-' if the right is not required
usePermission : "pixelbattle.users.use"
mod : # The name of the subcommand. Do not change
# The right to moderate the canvas through the /pixelbattle mod command. Set to '-' if the right is not required
usePermission : "pixelbattle.mod.use"
standaloneServer : # Use this if PixelBattle is on a separate server. Auto-join will work
enable : false
# Setting up redirection to another server after exiting PixelBattle mode (BungeeCord)
redirectOnExit:
enable : false
server : "lobby"
exitItem : # An item in the inventory for quick exit from PixelBattle
enable : true
# Slot in the hotbar
slot : 0
material : "COMPASS"
glowing : false # Makes the object shimmer when true
name : "&aExit"
lore :
- "&7Click if you want to leave"
gui : # Setting up the color selection menu
# Color selection menu title
colorSelectionTitle : "&6&lColor selection"
# The title of the menu of the history of colorings
paintLogsTitle : "&b&lThe history of colorings &8(&b%x% %y% %z%&8)"
items : # You can't add your own. You can specify lore for any
back : # Do not change this line
enable : true
# The right to display this item. Set to '-' if not required
permission : "-"
name : "&cBack"
material : "OAK_SIGN"
next : # Do not change this line
enable : true
# The right to display this item. Set to '-' if not required
permission : "-"
name : "&cNext"
material : "OAK_SIGN"
footer : # Do not change this line
enable : true
# The right to display this item. Set to '-' if not required
permission : "-"
name : " "
material : "GRAY_STAINED_GLASS_PANE"
info : # Do not change this line
enable : true
# The right to display this item. Set to '-' if not required
permission : "-"
name : "&cInformation"
material : "BOOK"
lore : # Lore setting (Can be removed)
- "&7Color : %color%"
- "&7By player : &c%player%"
- "&7Repainted &e%paintedCount%&7 times"
- "&7Date : &e%date% ( %time%)"
- " "
- "&aClick to open logs"
paintedPixelInfo : # Do not change this line
# If true, players will be able to view the history of coloring each pixel, if false, this function will be unavailable
enable : true
# The right to display this item. Set to '-' if not required
permission : "-"
name : "%colorName%"
lore : # Lore setting (Can be removed)
- "&7By player : &c%player%"
- "&7Date : &e%date% ( %time%)"
color : # Do not change this line
# Lore for all color items
defaultLore:
- "&7Level : &e%level%"
- "&7EXP : &9%exp%"
- "%itemLore%" # %itemLore% - Individual lore of color items
leveling : # The level system
# If you don't need a level system, set it to false
enable : true
# If true, the experience will be added even when the level is already at its maximum
stillAddExpWhenMax : false
# The level that will be given to all new players
defaultLevel : 1
# The format for the LevelUp message (%newFeatures%)
format:
colors : "&7- New colors: %colors%"
cooldown : "&7- Reduced cooldown: &6%cooldown% sec."
empty : "&cEmpty"
levels : # Setting up levels
2 : # Level number. The level numbers should go in order
# The delay for painting, which begins to take effect from the moment this level is reached. You can remove it
paintCooldown : 9
# The amount of experience required to reach this level
needExp : 10
3:
needExp : 20
4:
paintCooldown : 8
needExp : 30
5:
paintCooldown : 7
needExp : 40
6:
needExp : 50
7:
paintCooldown : 6
needExp : 60
8:
needExp : 70
9:
paintCooldown : 5
needExp : 80
10:
paintCooldown : 4
needExp : 100
scoreboard : # Scoreboard settings
enable : true
# Header
name : "&a&lPixelBattle"
# Indicated In TICKS. (20 ticks = 1 second, 10 ticks = half a second). 0 - If you do not need to update
refreshTime : 15
lines :
- "&ePlayer:"
- "&c%player%"
- " "
- "&eLevel:"
- "&a%level% &7(&c%exp%&8/&a%expToNextLevel%&7)"
- " "
- "&ePainted:"
- "&a%painted%"
- " "
- "&eIn game:"
- "&a%playedTime%"
- " "
- "&eLeft : &6&l%time%"
leaderboards : # Leaderboards in the form of a hologram
# The name of the column with numeric data (Do not touch it if you do not know how to work with it)
painted:
enable : false
# The data type to which the value will be converted. Either INT is a number, or TIME is the time in the string
valueType : INT
# Header
title :
- "&eLeaderboard"
- "&e-= &bPainted pixels &e=-"
# String format
format : "&7%num%) &a%player% &8- &c%value%"
# Empty string format
emptyFormat : "&7%num%) &cEmpty"
# Number of lines (Header lines are not counted)
rows : 5
# The time of the update. Specified in seconds. 0 - If no update is required
updateDelay : 10
# Location
location:
world : "world"
x : 1
y : 1
z : 1
playedTime:
enable : false
# The data type to which the value will be converted. Either INT is a number, or TIME is the time in the string
valueType : TIME
# Header
title :
- "&eLeaderboard"
- "&e-= &bTime in game &e=-"
# String format
format : "&7%num%) &a%player% &8- &c%value%"
# Empty string format
emptyFormat : "&7%num%) &cEmpty"
# Number of lines (Header lines are not counted)
rows : 5
# The time of the update. Specified in seconds. 0 - If no update is required
updateDelay : 10
# Location
location:
world : "world"
x : 1
y : 1
z : 1
level:
enable : false
# The data type to which the value will be converted. Either INT is a number, or TIME is the time in the string
valueType : INT
# Header
title :
- "&eLeaderboard"
- "&e-= &bGame level &e=-"
# String format
format : "&7%num%) &a%player% &8- &c%value%"
# Empty string format
emptyFormat : "&7%num%) &cEmpty"
# Number of lines (Header lines are not counted)
rows : 5
# The time of the update. Specified in seconds. 0 - If no update is required
updateDelay : 10
# Location
location:
world : "world"
x : 1
y : 1
z : 1
messages : # Message settings. You can use chat, title, ActionBar, sound and broadcast in any message
welcome:
chat:
enable : true
lines :
- "&7Welcome to &ePixelBattle"
title:
enable : true
line1 : "&7Welcome,"
line2 : "&c%player%"
fadeIn : 20 # 1 sec
stay : 60 # 3 sec
fadeOut : 20 # 1 sec
actionBar:
enable : true
message : "&7Welcome to &ePixelBattle&7, &c%player%"
sound : # Take the names of the sounds from the site https://www.spigotmc.org/wiki/cc-sounds-list
enable : true
name : "ENTITY_PLAYER_LEVELUP"
broadcast:
enable : false
lines :
- "&7Player &e%player% &7has joined us!"
levelUp : # Used with leveling.enable = true
chat:
enable : true
lines :
- "&7Your level has been upgraded to &e%level%"
- "&7Now available:"
- "%newFeatures%"
title:
enable : true
line1 : "&a&lLevel UP!"
# %pLevel% is the previous level. %level% - new level
line2 : "&c%pLevel%&7->&a%level%"
fadeIn : 20 # 1 sec
stay : 60 # 3 sec
fadeOut : 20 # 1 sec
actionBar:
enable : false
message : "&7&lNew level: &e%level%"
sound : # Take the names of the sounds from the site https://www.spigotmc.org/wiki/cc-sounds-list
enable : true
name : "ENTITY_PLAYER_LEVELUP"
broadcast:
enable : true
lines :
- "&7Player &c%player% &7has raised his level from &c&l%pLevel% &7to &e&l%level%"
levelDown : # Used with leveling.enable = true
chat:
enable : true
lines :
- "&7Your level has been lowered to &c%level%"
title:
enable : true
line1 : "&c&lLevel is lowered..."
# %pLevel% is the previous level. %level% - new level
line2 : "&a%pLevel%&7->&c%level%"
fadeIn : 20 # 1 sec
stay : 60 # 3 sec
fadeOut : 20 # 1 sec
actionBar:
enable : false
message : "&7&lNew level: &c%level%"
sound : # Take the names of the sounds from the site https://www.spigotmc.org/wiki/cc-sounds-list
enable : true
name : "BLOCK_ANVIL_BREAK"
broadcast:
enable : true
lines :
- "&7Player level &c%player% &7is lowered from &a&l%pLevel% &7to &c&l%level%"
expReceived : # Used with leveling.enable = true
actionBar:
enable : true
message : "&9+%exp% EXP"
sound : # Take the names of the sounds from the site https://www.spigotmc.org/wiki/cc-sounds-list
enable : true
name : "ENTITY_PLAYER_LEVELUP"
expLost : # Used with leveling.enable = true
actionBar:
enable : true
message : "&c-%exp% EXP"
sound : # Take the names of the sounds from the site https://www.spigotmc.org/wiki/cc-sounds-list
enable : true
name : "BLOCK_ANVIL_BREAK"
pixelPainted:
chat:
enable : true
lines:
- "&7You have successfully painted over the block. New color : %color%"
title:
enable : true
line1 : "&a&lSuccess"
line2 : "&e&lYou have painted over the block"
fadeIn : 20 # 1 sec
stay : 60 # 3 sec
fadeOut : 20 # 1 sec
actionBar:
enable : false
message : "&7You have painted over the block with a color %color%"
sound:
enable : true
name : "ENTITY_EXPERIENCE_ORB_PICKUP"
pixelDelay:
chat:
enable : false
lines :
- "You will be able to paint over the block in %time%"
title:
enable : true
line1 : " " # The first line is empty to display only the second one
line2 : "&cLeft: &e%time%"
fadeIn : 0
stay : 60 # 3 sec
fadeOut : 0
sound:
enable : true
name : "ENTITY_ITEM_BREAK"
movingToServer : # Used with standaloneServer.enable = true and exitItem.enable = true
chat:
enable : true
lines :
- "&aYou will now be moved to the server &e%server%"
exitItemExit : # Used when logging out of the system.enable = true and standaloneServer.enable = false
chat:
enable : true
lines :
- "&aYou have successfully logged out of PixelBattle"
cmdNoPerm:
chat:
enable : true
lines :
- "&cYou don't have enough rights"
sound:
enable : true
name : "ENTITY_ITEM_BREAK"
cmdHelp:
chat:
enable : true
lines :
- "&e------------ &dPixelBattle &e------------"
- "&d/%cmd% &7join&f: Log in to PixelBattle"
- "&d/%cmd% &7leave&f: Exit from PixelBattle"
- "&d/%cmd% &7timelapse <speed>&f: Play a timelapse on the canvas"
- "&d/%cmd% &7wipe&f: To perform a wipe of data and history of canvas"
- "&d/%cmd% &7web&f: Working with a WEB Tool"
- "&d/%cmd% &7users&f: Player management"
- "&d/%cmd% &7mod&f: Canvas moderation"
cmdWebHelp:
chat:
enable : true
lines :
- "&e------------ &dWEB Tool &e------------"
- "&d/%cmd% &7web canvas&f: Create a picture of the canvas (.png)"
- "&d/%cmd% &7web timelapse&f: Create a PixelBattle TimeLapse (.mp4)"
cmdUsersHelp:
chat:
enable : true
lines :
- "&e------------ &dPlayer Management &e------------"
- "&d/%cmd% &7users wipe <name>&f: Reset player data"
- "&d/%cmd% &7users setLevel <name> <number>&f: Set the level for the player"
- "&d/%cmd% &7users setExp <name> <number>&f: Set the experience for the player"
- "&d/%cmd% &7users setPainted <name> <number>&f: Set the number of painted pixels for the player"
cmdModHelp:
chat:
enable : true
lines :
- "&e------------ &9Moderation &e------------"
- "&9/%cmd% &7mod rollback <name> <radius> <time>&f: Rollback painted pixels"
cmdModRollbackStart:
chat:
enable : true
lines :
- "&eRollback of player's &c%target%&e actions in radius &a%radius%&e for &b%time%&e has begun..."
cmdModRollbackRunning:
actionBar:
enable : true
message : "&eProcessed: &c%now%&7/&a%total% &7(&b%success%&7)"
cmdModRollbackEnd:
chat:
enable : true
lines :
- "&aRollback of player's &c%target%&a actions completed. Rollbacked paintings: &e%count%"
cmdNoPlayer:
chat:
enable : true
lines :
- "&cPlayer &e%target% &cnot found"
sound:
enable : true
name : "ENTITY_ITEM_BREAK"
cmdAlreadyIn:
chat:
enable : true
lines :
- "&cPlayer &e%target% &calready in PixelBattle"
sound:
enable : true
name : "ENTITY_ITEM_BREAK"
cmdNotIn:
chat:
enable : true
lines :
- "&cPlayer &e%target% &cnot in PixelBattle"
sound:
enable : true
name : "ENTITY_ITEM_BREAK"
cmdSuccess:
chat:
enable : true
lines :
- "&aSuccessfully"
cmdIncorrect:
chat:
enable : true
lines :
- "&cThe data is incorrectly specified"
timelapseStarting:
chat:
enable : true
lines:
- "&aThe preparation of the TimeLapse has begun. Speed : &e%speed%"
timelapseStarted:
chat:
enable : true
lines:
- "&aThe TimeLapse playback has started. Frames : &e%frames%&a, approximate duration : &b%time%"
broadcast:
enable : true
lines :
- "&aPlayer &e%player% &ahas started playing the TimeLapse! Approximate Duration: &b%time%"
timelapseEnded:
broadcast:
enable : true
lines :
- "&aThe TimeLapse playback is completed, the canvas is up to date"
canvasLocked:
chat:
enable : true
lines :
- "&cYou can't interact with the canvas right now"
timelapseFrameCounter:
actionBar:
enable : true
message : "&7Frame: &c%current%&7/&a%all%"
preventedSameColor : # Used when preventPaintSame = true
chat:
enable : true
lines :
- "&cYou cannot fill the block with the same color (%color%&c)"
sound:
enable : true
name : "ENTITY_ITEM_BREAK"
wipeStarted:
chat:
enable : true
lines :
- "&cThe wipe process has begun... Do not touch the canvas"
noData:
chat:
enable : true
lines:
- "&cThe necessary data is missing to perform this operation : &e%data%"
webRequest:
chat:
enable : true
lines :
- "&eThe request has been sent. Please wait"
webAnswer:
chat:
enable : true
lines:
- "&aServer response : &e%answer%"
items : # Colors. You can add as many as you want. There are no limits
WHITE_WOOL : # Block name
name : "&fWhite" # The displayed name
# The minimum level required to use this color. You can remove it
needLevel : 1
# The amount of experience that painting with this color gives. You can remove it
givesExp : 1
permission : "-" # The right to use. If '-' - then the rights are not needed
glowing : false # Makes the object shimmer (Can be removed)
lore : # Lore setting (Can be removed)
- "&bYou can set the lore for each color"
- "&c&nOr just remove it =)"
ORANGE_WOOL:
name : "&6Orange"
needLevel : 2
givesExp : 1
permission : "-"
MAGENTA_WOOL:
name : "&5Magenta"
needLevel : 2
givesExp : 1
permission : "-"
LIGHT_BLUE_WOOL:
name : "&bLight Blue"
needLevel : 2
givesExp : 1
permission : "-"
YELLOW_WOOL:
name : "&eYellow"
needLevel : 3
givesExp : 2
permission : "-"
LIME_WOOL:
name : "&aLime"
needLevel : 3
givesExp : 2
permission : "-"
PINK_WOOL:
name : "&dPink"
needLevel : 3
givesExp : 2
permission : "-"
GRAY_WOOL:
name : "&8Gray"
needLevel : 3
givesExp : 2
permission : "-"
LIGHT_GRAY_WOOL:
name : "&7Light Gray"
needLevel : 3
givesExp : 2
permission : "-"
CYAN_WOOL:
name : "&3Cyan"
needLevel : 4
givesExp : 2
permission : "-"
PURPLE_WOOL:
name : "&5Purple"
needLevel : 4
givesExp : 2
permission : "-"
BLUE_WOOL:
name : "&1Blue"
needLevel : 4
givesExp : 2
permission : "-"
BROWN_WOOL:
name : "&6Brown"
needLevel : 5
givesExp : 3
permission : "-"
GREEN_WOOL:
name : "&2Green"
needLevel : 5
givesExp : 3
permission : "-"
RED_WOOL:
name : "&4Red"
needLevel : 6
givesExp : 3
permission : "-"
BLACK_WOOL:
name : "&0Black"
needLevel : 6
givesExp : 3
permission : "-"
GOLD_BLOCK:
name : "&6&lGold"
givesExp : 10
glowing : true # Makes the object shimmer (Can be removed)
permission : "pixelbattle.colors.gold_block"
DIAMOND_BLOCK:
name : "&b&lLight Blue"
givesExp : 10
glowing : true # Makes the object shimmer (Can be removed)
permission : "pixelbattle.colors.diamond_block"
# Concrete
WHITE_CONCRETE:
name : "&fWhite"
needLevel : 7
givesExp : 4
permission : "-"
ORANGE_CONCRETE:
name : "&6Orange"
needLevel : 7
givesExp : 4
permission : "-"
MAGENTA_CONCRETE:
name : "&dMagenta"
needLevel : 7
givesExp : 4
permission : "-"
LIGHT_BLUE_CONCRETE:
name : "&bLight Blue"
needLevel : 7
givesExp : 4
permission : "-"
YELLOW_CONCRETE:
name : "&eYellow"
needLevel : 7
givesExp : 4
permission : "-"
LIME_CONCRETE:
name : "&aLime"
needLevel : 8
givesExp : 4
permission : "-"
PINK_CONCRETE:
name : "&dPink"
needLevel : 8
givesExp : 4
permission : "-"
GRAY_CONCRETE:
name : "&8Gray"
needLevel : 8
givesExp : 4
permission : "-"
LIGHT_GRAY_CONCRETE:
name : "&7Light Gray"
needLevel : 8
givesExp : 4
permission : "-"
CYAN_CONCRETE:
name : "&3Cyan"
needLevel : 9
givesExp : 5
permission : "-"
PURPLE_CONCRETE:
name : "&5Purple"
needLevel : 9
givesExp : 5
permission : "-"
BLUE_CONCRETE:
name : "&1Blue"
needLevel : 9
givesExp : 5
permission : "-"
BROWN_CONCRETE:
name : "&6Brown"
needLevel : 9
givesExp : 5
permission : "-"
GREEN_CONCRETE:
name : "&2Green"
needLevel : 10
givesExp : 6
permission : "-"
RED_CONCRETE:
name : "&4Red"
needLevel : 10
givesExp : 6
permission : "-"
BLACK_CONCRETE:
name : "&0Black"
needLevel : 10
givesExp : 6
permission : "-"
Code (YAML):
canvas
:
# Canvas settings
world : "world"
# The place where players will appear after logging into PixelBattle
spawn:
x : 1
y : 1
z : 1
yaw : 1
pitch : 1
# The place where players will appear when exiting PixelBattle
exitSpawn :
# If true, the player will be teleported to these coordinates after exiting PixelBattle
teleportOnExit : true
# Specify only if the exit from PixelBattle is in another world
world : "world"
x : 1
y : 1
z : 1
yaw : 1
pitch : 1
# The first point of the canvas
posOne:
x : 1
y : 1
z : 1
# The second point of the canvas
posTwo:
x : 1
y : 1
z : 1
world : "world"
# The place where players will appear after logging into PixelBattle
spawn:
x : 1
y : 1
z : 1
yaw : 1
pitch : 1
# The place where players will appear when exiting PixelBattle
exitSpawn :
# If true, the player will be teleported to these coordinates after exiting PixelBattle
teleportOnExit : true
# Specify only if the exit from PixelBattle is in another world
world : "world"
x : 1
y : 1
z : 1
yaw : 1
pitch : 1
# The first point of the canvas
posOne:
x : 1
y : 1
z : 1
# The second point of the canvas
posTwo:
x : 1
y : 1
z : 1
This completes the necessary setup.
Video with the necessary settings:
Spoiler: Video
Configuring OPTIONAL parameters:
Spoiler: For a separate PixelBattle server
To use the PixelBattle plugin on a separate server as correctly as possible, you can set parameter
standaloneServer.enable to
true - Then, when logging on to the server, the player will IMMEDIATELY be redirected to the spawn site at the PixelBattle canvas. If you want the player to be redirected to another server after exiting, set the parameter
redirectOnExit.enable to
true. To do this through an item in the inventory, set the value
exitItem.enable also to
true. It is recommended to set the parameters
resetPlayer,
guardPlayer,
enableFly to
true, the parameter
blockModify to
false, and the parameter
defaultGamemode on
ADVENTURE to prohibit any unnecessary actions on the server. If you don't want players to drop out of the world, you can set the
noFall parameter to
true. After making this configuration, you will get rid of the need to install additional plugins, such as WorldGuard and the like.
To remove the messages about the entry/exit of players, you can use my most simple plugin SimpleJoinQuitMessages
To remove the messages about the entry/exit of players, you can use my most simple plugin SimpleJoinQuitMessages
Spoiler: General
The PixelBattle plugin contains a lot of optional, but very interesting functionality. For example, you can make a leaderboard for any of the available PixelBattle player parameters: To do this, set the value of the
leaderboards.painted.enable parameter to
true, do not forget to specify the location
location.
Also, additional functionality can include a Scoreboard (Information table on the right side of the screen). To enable the scoreboard display, set the value of the scoreboard.enable parameter to true.
You can also customize the colors (blocks) that players can use on the PixelBattle canvas. Each block can be assigned a unique display name, lore (description) and the right to use.
Please note - If you do not want any colors (blocks) and/or commands to have the right to use - set the value of the corresponding right to "-".
Also, additional functionality can include a Scoreboard (Information table on the right side of the screen). To enable the scoreboard display, set the value of the scoreboard.enable parameter to true.
You can also customize the colors (blocks) that players can use on the PixelBattle canvas. Each block can be assigned a unique display name, lore (description) and the right to use.
Please note - If you do not want any colors (blocks) and/or commands to have the right to use - set the value of the corresponding right to "-".
Spoiler: Commands
The plugin currently has only one command -
/pixelbattle and several sub-commands:
- /pixelbattle join - Redirects you to PixelBattle when activated. It can be used on other players. For example, you can send a Tester player to PixelBattle - /pixelbattle join Tester
- /pixelbattle leave - When activated, forces the player to exit PixelBattle. It can be used on other players. For example, you can kick out a Tester player from PixelBattle - /pixelbattle leave Tester
- /pixelbattle timelapse <speed> - Allows you to play a timelapse INSIDE THE GAME. The animation will be shown directly on the PixelBattle canvas, and during playback, the initiator's animation progress will be displayed in the actionbar - the ratio of played frames to their total number. During the animation, players will not be able to interact with the canvas. You cannot interrupt the animation, calculate the playback speed correctly. The speed of one frame is specified in MILLISECONDS - by default 8. 1000 Milliseconds = 1 second
- /pixelbattle wipe - Starts the process of deleting the data and history of the PixelBattle canvas. Deleted data cannot be restored, use with caution
- /pixelbattle web canvas - Returns a link to the image (.png) in response of your canvas
- /pixelbattle web timelapse - Starts the TimeLapse creation process and returns a link in response to tracking the creation status
- /pixelbattle users - Allows you to manage player data. For example, you can set the game level, the number of pixels filled in, or simply reset the player data
- /pixelbattle mod - Allows you to control the canvas, namely to roll back certain actions on it
Spoiler: Demonstration of the commands's work /pixelbattle timelapse
Spoiler: PlaceholderAPI
The plugin can work with
PlaceholderAPI. Below is a list of available placeholders:
- %pixelbattle_inPixelBattle% - Returns the number of players logged into PixelBattle
- %pixelbattle_nextPixel% - Returns the time until the next painting to a specific player. If the player is not in PixelBattle, then returns "-"
- %pixelbattle_painted% - Returns the number of colored blocks to a specific player. If the player is not in PixelBattle, then returns "-"
- %pixelbattle_playedTime% - Returns the amount of time played to a specific player. If the player is not in PixelBattle, then returns "-"
- %pixelbattle_exp% - Returns the amount of game experience to a specific player. If the player is not in PixelBattle or the level system is disabled, then "-" is returned
- %pixelbattle_level% - Returns the game level to a specific player. If the player is not in PixelBattle or the level system is disabled, then "-" is returned
- %pixelbattle_expToNextLevel% - Returns the remaining amount of experience to the next level to a specific player. If the player is not in PixelBattle or the level system is disabled, then "-" is returned
Spoiler: Working with a WEB Tool
You can create canvas images and TimeLapse videos directly in the game without providing any data using the
/pixelbattle web canvas and
/pixelbattle web timelapse commands.
Below are examples of the result: (It's not a screenshot from game)
Below are examples of the result: (It's not a screenshot from game)
Spoiler: The result of creating a canvas image
Spoiler: The result of creating a TimeLapse
Spoiler: API for third-party developers
The plugin contains a simple API for third-party developers. To access a class with an API, use:
Through the PixelBattle API, you can:
Code (Java):
PixelBattleAPI pixelBattleAPI
= PixelBattle.
getPixelBattleAPI
(
)
;
- (void) pixelBattleAPI.joinPlayer(Player player); - Redirect the player to PixelBattle
- (void) pixelBattleAPI.quitPlayer(Player player); - Kick a player out of PixelBattle
- (boolean) pixelBattleAPI.isInPixelBattle(Player player); - Check if the player is in PixelBattle
- (PixelPlayer) pixelBattleAPI.getPixelPlayer(Player player); - Get the PixelPlayer class with player data
- (void) pixelBattleAPI.updateLeaderboard(String type); - Update a certain type of leaderboard
- (boolean) pixelBattleAPI.isTimeLapseActive(); - Check if in-game TimeLapse playback is active
- (List<Location>) pixelBattleAPI.getCanvasLocations(); - Get the locations of each block on the canvas
- (boolean) pixelBattleAPI.paintPixel(Player player, Location blockLocation, Material color, boolean sendMessages, boolean addExp, boolean addPainted, boolean setCooldown); - Paint block with the specified color
- (Cancellable) PixelBattlePreJoinEvent - Called when someone tries to log into PixelBattle, can be canceled
- PixelBattleJoinEvent - Called when someone successfully logs into PixelBattle
- PixelBattleQuitEvent - Called when someone exits PixelBattle
- PixelPaintedEvent - Called when someone fills in a block. From here, data on the new pixel (PaintedPixel - getNewPixel()), data on the previous pixel (PaintedPixel - getPreviousPixel()) and the location of the shaded block (Location - getPaintedBlock()) can be obtained
- PixelPlayerLevelUpEvent - Called when a player raises or lowers his level. From here, the previous level (Integer - getPreviousLevel()), the new level (Integer - getNewLevel() and the type of action (LevelChangeType - getLevelChangeType()) can be obtained
Spoiler: Using HEX colors
The HEX color format in the plugin is similar to the one used in the infamous Essentials plugin. For the convenience of generating HEX text gradients, there is a website
https://spigot.kosfarix.ru/hex
You can place text with HEX color anywhere in the plugin - Be it a hologram, a scoreboard, an item in gui or a chat message.
But keep in mind that variables (%player%, %color%, and so on) cannot be converted to this format.
You can place text with HEX color anywhere in the plugin - Be it a hologram, a scoreboard, an item in gui or a chat message.
But keep in mind that variables (%player%, %color%, and so on) cannot be converted to this format.
Spoiler: Инструкции и демонстрация (RU)
Вы можете найти инструкции и демонстрацию на Русском
ЗДЕСЬ
Discord: If you need any help with this plugin, you can write to me in Discord: @_gamedoctor_
Note: If you want additional functionality to be added to the plugin, just write about it in the discussion
Installation:
Download, drop it in plugins folder and restart your server
Quick facts
- Edition: Minecraft Java
- File type: .jar
- Minecraft versions listed: 1.16, 1.17, 1.18
- How to install: Install the matching mod loader (Forge, Fabric or NeoForge) for your Minecraft version. → Download the .jar. → Put it in the .minecraft/mods folder and launch that loader profile.
- Where to get it: Opens on Spigot — not every file is mirrored on our own servers.
Install steps are the general flow for this file type — How to install Minecraft Java mods & modpacks walks through it step by step.
[1.16-1.21] PixelBattle >>> EXPORT .PNG .MP4 | TimeLapse SYSTEM | MySQL, SQLite, YAML is a free Minecraft Java mod. Compatible with Minecraft 1.16, 1.17, 1.18, 1.19 and newer. Downloaded 2,848 times (via Spigot). Download it and open it directly in the game.