BlockParty
BlockParty
Description
BlockParty is a Minecraft minigame plugin. You can easily set up multiple arenas in multiple worlds. After the arena is set up the players have to dance on the floor. A random block is given to each player on every level. After that, the players have to run to a block on the floor with the matching color. If they are not standing on the right one, they are out of the game. You can use your own floor patterns and let the floor create randomly.
Requirements
This plugin requires no other plugins to run. Add these plugins to enable extra features.
- NoteBlockAPI - Needed to play the note block music
Installation
Download the jar file and place it into your plugins folder. A new folder is created (named BlockParty) after the server is started. A few file and sub-folders should be located there.
Configuration
config.yml
# BlockParty configuration
# Locale file located in plugins/BlockParty/Locale/*.yml
LocaleFileName: locale_en.yml
# Saves all data on plugin shutdown. Not necessary
SaveOnDisable: false
# Disables listed sub commands, example:
# DisabledSubCommands: ["help", "reload", "join"]
DisabledSubCommands: []
Chat:
# Chat format when in arena
# Placeholders:
# %ARENA%: Arena player is in
# %NAME%: Player name without formatting (e.g. rank, colors)
# %DISPLAY%: Name with formatting
# %MESSAGE%: Message sent
ArenaChatFormat: "&8[&7%ARENA%&8] &7%DISPLAY% &8> &r%MESSAGE%"
# Separates normal from arena chat
# Useful for non-bungee servers
ArenaPrivateChat: True
# How to use join signs:
# Line 1: [BlockParty]
# Line 2: Arena name (case sensitive)
JoinSigns:
# Enable join signs
Enabled: True
# Update signs every x milliseconds
UpdateMillis: 1000
Lines:
Disabled:
1: "&4[Off-%ARENA%]"
2: "Not available"
3: "&8&l%PLAYERS%/%MAX_PLAYERS%"
4: "&4• Stopped •"
Lobby:
1: "&5[Join-%ARENA%]"
2: "Voting..."
3: "&8&l%PLAYERS%/%MAX_PLAYERS%"
4: "&5• Lobby •"
LobbyFull:
1: "&4[Full-%ARENA%]"
2: "Voting..."
3: "&8&l%PLAYERS%/%MAX_PLAYERS%"
4: "&5• Lobby •"
Ingame:
1: "&8[Ingame-%ARENA%]"
2: "%ALIVE% players alive"
3: "&8&l%PLAYERS%/%MAX_PLAYERS%"
4: "&8• Ingame •"
Ending:
2: "&8&lLobby"
3: "&8&lrestarting..."
BungeeCord:
# When set to "True", players will automatically connect to DefaultArena (see below)
# and will be kicked from the server when leaving the arena.
# This is mostly useful for BungeeCord servers
Enabled: False
# Arena players will connect to when BungeeCord is enabled. Please note the spelling and case sensitivity
DefaultArena: Arena
MusicServer:
# When "True", music playback in browser will be activated. You will need a web server for this
Enabled: False
# Available libraries: "websocket", "jetty", "tcp/ip", "mcjukebox"
WebSocketLibrary: jetty
# Web server port (Not Minecraft server port!)
Port: 8080
Database:
# Use "MySQL" to enable MySQL, "SQL" to store data locally
Method: SQL
# Tables will have this prefix in front of the name
TablePrefix: "bp_"
SQLOptions:
# File to save database to when using SQL
FileName: "database.db"
# MySQL credentials
MySQLOptions:
Host: localhost
Port: 3306
Database: database
Username: username
Password: password
# End of configuration
Arena setup
- Create an arena
- Use the /bp create [arenaName]
- Replace [arenaName] with the name of your arena
- Set the lobby spawn
- Place yourself where you want to have your lobby spawn. Use /bp setspawn [arenaName] lobby
- Players get teleported to this position when they enter the lobby
- Set the boundaries of the arena floor
- Use /bp pos <1|2> to set the positions to your current positions. OR:
- Use /bp wand to get a stick to set the positions via left and right click
- Finally use /bp setfloor [arenaName] to set the floor boundaries for you arena
- Set the game spawn
- Place yourself where you want to have your game spawn. Use /bp setspawn [arenaName] game
- Players get teleported to this position when the game starts
- Enable your arena
- To be able to play in an arena you need to enable it first. Use /bp enable [arenaName]
Thats it for the arena setup. To customize your arena, use ingame commands or head to the [arenaName].yml located in your plugins/BlockParty/Arenas/
folder. Here you can find an example arena config:
Settings:
DistanceToOutArea: 5
TimeToSearch: 8
LevelAmount: 15
MinPlayers: 2
MaxPlayers: 20
LobbyCountdown: 30
TimeReductionPerLevel: 0.5
TimeModifier: 0.1
Enabled: true
EnableParticles: true
EnableLightnings: true
AutoRestart: false
AutoKick: false
EnableBoosts: true
EnableFallingBlocks: false
UseAutoGeneratedFloors: true
UsePatternFloors: true
EnableActionbarInfo: true
UseNoteBlockSongs: false
UseWebSongs: true
EnableFireworksOnWin: true
TimerResetOnPlayerJoin: false
AllowJoinDuringGame: true
EnableScoreboard: false
Name: example
SongManager:
- examplesong.mp3
Signs: []
LobbySpawn:
World: world1.13
X: 119.96556415260845
Y: 64.0
Z: 26.73431969945681
Yaw: -57.567917
Pitch: 35.83339
GameSpawn:
World: world1.13
X: 126.06898491630506
Y: 63.0
Z: 30.055373974750374
Yaw: -57.567917
Pitch: 35.83339
Floor:
A:
World: world1.13
X: 124.0
Y: 62.0
Z: 28.0
Yaw: 0.0
Pitch: 0.0
B:
World: world1.13
X: 127.0
Y: 62.0
Z: 31.0
Yaw: 0.0
Pitch: 0.0
Patterns:
- exampleFloor
Width: 4.0
Length: 4.0
Floor setup
In BlockParty we are using our own format to save block data. We are making use of the Run-length encoding to keep the file as small as possible. You can create your own floors, save and use them.
Creating your own floor
- Build a two dimensional pattern using terracotta, wool and/or glass (all blocks supported in > 1.13)
- Set the boundaries of pattern
- Use /bp pos <1|2> to set the positions to your current positions. OR:
- Use /bp wand to get a stick to set the positions via left and right click
- Save your pattern
- Finally use /bp save [patternName] to save your pattern to the
/plugins/BlockParty/Floors/
folder
- Finally use /bp save [patternName] to save your pattern to the
Add a floor to your arena
- Test your pattern
- This is optional but you may want to test your floor
- Use /bp placepattern [patternName] to test it
- Activate UsePatternFloors
- Make sure you set
UsePatternFloors: true
in your arena config - You can also add patterns in your arena config
- Reload with /bp reload if you have just changed a value
- Make sure you set
- Selecting an initial pattern
- If you name a pattern start it will load first
- Selecting the game over pattern
- If you name a pattern end it will load when the game is over
Remove a pattern
- List the active patterns
- Use /bp listpatterns [arenaName] to list all active patterns for this arena
- Remove a paattern
- Use /bp removepattern [arenaName] [patternName] to list all active patterns for this arena
Web player setup
This is a basic tutorial on how to set up the build in web player.
- Enable the web player
- Head over to the config.yml located in you
plugins/BlockParty/
folder - Make sure to enable your enable the MusicServer
- Make sure to use jetty, other librarys are in development, and a non-blocked port
- Your section should look like this now:
- Head over to the config.yml located in you
MusicServer:
# When "True", music playback in browser will be activated. You will need a web server for this
Enabled: True
# Available libraries: "websocket", "jetty", "tcp/ip", "mcjukebox"
WebSocketLibrary: jetty
# Web server port (Not Minecraft server port!)
Port: 8080
Adding songs
- Add songs to your web player songs folder
- Head over to
plugins/BlockParty/web/songs/
- Place any songs here (e.g. example.mp3)
- Head over to
- Add songs to your arena
- Add them ingame by typing /bp addsong [arenaName] [songName]
- Important: Make sure to also include the file type. You command should look something like this: /bp addsong exampleArena example.mp3
- Add them to your arena config. The config section should look something like this:
SongManager:
- examplesong.mp3
- Enable the use of web player songs
- Make sure
UseWebSongs: true
is set to true in your arena config
- Make sure
Sign setup
You can also use signs to let players join to the arena. Your sign should look something like this:
Line | Content |
---|---|
1 | [BlockParty] |
2 | [arenaName] |
3 | |
4 |
Replace [arenaName] with your arena name.
Customize your sign messages
Head over to your config.yml in the plugins/BlockParty/
folder. You can edit the used text that is displayed on the sign right there.
Permissions
- blockparty.admin
- This provides access to all BlockParty commands (/bp admin)
- blockparty.user
- This provides access to basic BlockParty commands (/bp help)
@LimeGlass
Found this to be an issue when you have a bad schematic floor or not defined. Beyond that I have been running 0.9.1 on a 100+ player load server since its release on latest spigot with custom patches. Currently there are 25 in my arena and no log errors. Please validate the setup when using 0.9.1 and you should be good.
Use version 0.8.7 - it dont't include bugs
The plugin doesnt work for me, In 1.7.10, Sometimes the plugin laggs and cant generate the next floor, Then players are stuck in the previous Floor doing nothing, and the plugin says waiting, Then when you leave, the floor doesnt regenerate, and players fall thru and die (sometimes they dont die in void) please fix Thanks
@CPx1989
As I previously explained, I have used both the latest official BarAPI release and also the latest dev release - both giving errors.
Hopefully your upcoming new version will sort out any issues.
player are able to fly after they die and it persist to all next games
@CPx1989
How soon?)
@Discoveries
I would suggest these as a ticket per request so we can track where the development is at when we look at adding them.
@Discoveries
I love your suggestions and I just want to tell you that a big update is coming soon
@Konsider
Get the updated BarAPI that was released to fix that bug
Love this plugin! Could you add the following features?
@ScriptJunkie
Thanks for the advice :D I was using the latest official BarAPI (released on 10th November) but I looked for the latest dev version and installed that instead (http://ci.frostcast.net/job/BarAPI/)
Unfortunately I am still getting these errors:
http://pastebin.com/pmiFVUzY
I am using Spigot 1649 and the following plugins:
WorldBorder, OneUUID, TeleportSigns, KitBattle, WorldEdit, WorldRebuild, BukkitCompat, Vault, Multiverse-Core, PermissionsEx, BarAPI, WorldGuard, ColoredTablist, MCBans, IPWhitelist, WorldGuard_FlyStop, TNTRun, SurvivalGames, OnTime, NoteBlockAPI, Announcement, Minetrends, SkyWars, MobArena, Essentials, EssentialsSpawn, HeavySpleef, EnjinMinecraftPlugin, BlockParty, EssentialsChat
@Konsider
This is due to a bad version of the BarAPI. Please update the BarAPI to the latest on the spigot site and it will correct this error in the logs. If you cannot find it I will package the one i use and upload it for you.
PS: Glad they like it. I have enjoyed coding and helping with it :D
@ScriptJunkie
Thanks a lot for that, glad you know what is causing it :D
My players have been testing the arena and there are constant 100% CPU usage spikes with the following console errors:
http://pastebin.com/xqnCTsaY
Hope I can get this sorted out, as they seem to love the plugin :D
@killerboss707
PVP would require you to globally set the region selection using world edit and making it a PVP region. We have not added this to it but this is an option where all rounds would be pvp. I do this on my server and sell snowballs while in lobby LOL.
@Konsider
This is due to the timers and issues with them. I have corrected in latest source I am testing and allow all to leave during game. They just need to drop to the floor at this time and leave from the lobby.
@NoHoPeLess
What version spigot are you using?
Only opped players are able to leave the arena with /bp leave. Regular players and admins cannot use /bp leave (nothing happens).
Any ideas why? Thanks.
wont work... everytime he says : Arena and Floor must be in the same world?!?!?! daqfuqqqq its in the same world.... pls help?
Also. how come the game does not reset? like the floors?
Hi, I was wondering if u can make it so at a certian round u can enable pvp.
@themindstorm
in the arena config under the arena folder.