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)
@ScriptJunkie
I built a ceiling with 2 layers of blocks with ID 36. This is a technical block the top of the piston, is invisible, you can walk through it, but enderpearls does not fly in it
@Milkyway705
The arena needs to have walls to make sure this doesn't happen. I will look at doing a max distance for TP with enderpearl. And yeah i am still testing. Seems the locale changes are having a bit of an issue with color codes. Didn't wanna release a broke plugin to you all. :)
this weekend ? :D
And I found one bug, if player has enderpearl, he can take out of arena and win the game.
@Milkyway705
Sorry got busy. I am still testing the message colors via config. Seems to be having some issues. :( Works on windows host but not on a MAC host. Will be updated this weekend once the bug is verified and patched.
@ScriptJunkie
Today? :D
@Milkyway705
Later today. I am testing it on an active server now with 50 people. Fireworks and language file additions done to customize messages. Plus some small bug fixes (inventory restore from leave signs)
When new version is come?)
@Milkyway705
Still being developed. :D
@ScriptJunkie
How can I enable fireworks?
@Milkyway705
Fireworks are in the works already but i will look at moving the timer to the config per arena.
@Milkyway705
This was to limit stacking of powerups as the levels go on. I can add an option to stack or not to the config in a later version.
And can the winner stay on floor after win more long time? 10 sec for example. And random fireworks after win :D
Hello again! I find little bug :D When people get good boost (speed, jump higher, enderpearls) and want to use it later (not just at that time), this boost disapear with block in hand. Fix it =)
@kkkeeeddd
We are currently working on the webplayer. This is one of the next big features.
@Milkyway705
Bungee Support? Guessing cross server joins and status of arena?
Yes, Bungee support will be very cool =)
Könnt ihr das nicht wie Hive machen mit der Website???
also dass auf der Website die musik kommt!
Und adde Bungeecord support :D
Also peer Server 1ne arena und autojoin
LG kkkeeeddd
YAY! 0.8.5 is very good! No bugs I can see yet =)
Now we need to do good and bad effects (own powerups), and we want to support the Vault, for each level and the reward at the end of game :D
@Milkyway705
I would suggest upgrading to the latest spigot if at all possible (mainly for the bug fixes in spigot itself). Or a minimum 1.7.10 without the 1.8 protocol hacks maybe if that's what your avoiding? (1632 they added protocol hack if i remember correct for 1.8 clients.)
I can confirm the commands didn't work but adding signs in the lobby work just fine. As for the issues with the floors i didn't see this happen during my testing in the last 2 hours.
@ScriptJunkie
I use spigot 1.7.9 version