Git Product home page Git Product logo

blockparty's Introduction

BlockParty-2.0

Jenkins GitHub license GitHub release

BlockParty 2 is an extension for Minecraft Servers, built with the Spigot/Bukkit API.

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: []

# Enables command shortcuts
# Command shortcuts: /start <arenaName> - /stop
EnableCommandShortcuts: false

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:

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

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
  • 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:
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)
  • 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

Sign setup

You can also use signs to let players join to the arena. Your sign should look something like this:

Line Text
1 [BlockParty]
2 <arenaName>
3
4

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)

blockparty's People

Contributors

dependabot[bot] avatar lmk02 avatar phm07 avatar syldium avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.