A plugin I wrote for minecraft servers that allow players to play multiplayer team based games with special kits and abilities.
The code isn't the best in the world, as I was just starting university at this time and I rushed for pushing more features than having clean code.
An arcadaic type minigame plugin for spigot and bukkit, Arcade, Cycling, minecraft, minigame, minigames like Mineplex, Overcast and Hypixel
This is a PGM type plugin... but a bit different #Update #This project has been moved to a spigot resource at https://www.spigotmc.org/resources/%E2%96%91-beveliosgames-%E2%96%91-multiple-gamemodes-beta.36196/ but feel free to download it as it is now
##Current Complete Games
- Destroy The Core
##Current Planned Games
- Team Death Match
- Capture The Wool
##Create an Arena After creating a world in single-player you want to get the world fold and create 2 file within it called Map.yml and Kit.yml (Note: the first letters of each file have to be capitalised)
after setting up the Map.yml and Kit.yml zip up
- level.dat
- Map.yml
- Kit.yml
- region
examples of a fully set up worlds can be found at https://github.com/Bevelio/UltraGames/tree/master/src/main/resources
To add this map to the rotation drop it into 'maps' found in the base directory (the folder where your spigot/bukkit.jar is) ###Map.yml
Name: 'Bridge Wars 2.0' #Map name
GameType: 'DTC' #Game type that this map is
Authors:
- 'SeanMe' #Authors of the map
- 'Iswirda'
Version: 1.0.1 #Version of the map
RemoveItems: #Items that will not drop if a player dies
- LEATHER_CHESTPLATE
- LEATHER_LEGGINGS
- LEATHER_BOOTS
- STONE_SWORD
- BOW
- LOG
- COMPASS
- DIAMOND_PICKAXE
Spawns:
purple-spawn:
Name: 'purple-spawn'
Kit: Purple-Kit
custom-message: ''
Location:
x: 115
y: 44
z: 0
pitch: 0
yaw: 90
yellow-spawn:
Name: 'yellow-spawn'
Kit: Yellow-Kit
custom-message: ''
Location:
x: -194
y: 44
z: 0
pitch: 0
yaw: -90
Teams:
Purple:
Name: 'Purple'
Color: 'DARK_PURPLE'
Spawns:
- 'purple-spawn'
Yellow:
Name: 'Yellow'
Color: 'YELLOW'
Spawns:
- 'yellow-spawn'
Objectives:
Purple-Core:
Name: "Purple Core"
ObjectiveType: "Core"
Radius: 5
Material: Obsidian
Team: Purple
Location:
x: 39
y: 78
z: 1
pitch: 0
yaw: 0
Yellow-Core:
Name: "Yellow Core"
ObjectiveType: "Core"
Radius: 5
Material: Obsidian
Team: Yellow
Location:
x: -118
y: 78
z: 1
pitch: 0
yaw: 0
###Kit.yml
Kits:
Yellow-Kit:
Description: Yellow teams default kit
Helmet: GOLD_ORE 0 1 Unlootable 1
Chestplate: LEATHER_CHESTPLATE 0 1 Color=255:255:0
Leggings: LEATHER_LEGGINGS 0 1 Color=255:255:0
Boots: LEATHER_BOOTS 0 1 Color=255:255:0
Items:
0: STONE_SWORD 0 1
1: DIAMOND_PICKAXE 0 1
2: BOW 0 1
3: LOG 0 64
8: COMPASS 0 1
9: ARROW 0 32
Potions:
- DAMAGE_RESISTANCE 8 2
- SPEED 8 2
Purple-Kit:
Description: Purple teams default kit
Helmet: LAPIS_ORE 0 1 Unlootable 1
Chestplate: LEATHER_CHESTPLATE 0 1 Color=128:0:128
Leggings: LEATHER_LEGGINGS 0 1 Color=128:0:128
Boots: LEATHER_BOOTS 0 1 Color=128:0:128
Items:
0: STONE_SWORD 0 1
1: DIAMOND_PICKAXE 0 1
2: BOW 0 1
3: LOG 0 64
8: COMPASS 0 1
9: ARROW 0 32
Potions:
- DAMAGE_RESISTANCE 8 2
- SPEED 8 2
##Example
public class ExampleGame extends Match
{
/*
When a map is randomly picked it will be unzipped and exported to 'matches/match_00' then the data in the map.yml is loaded and we get the gametype... Then we create the game based on that gametype. then when the 15 seconds is up for the pregame the method within the game called 'onStart()' is called
*/
public ExampleGame()
{
super("ExampleGame", new String[] {"This is the description of the game", "..."});
}
@Override
public void onStart() //Is called when the game starts
{
}
//Match implements Listener
@EventHandler
public void onStick(PlayerInteractEvent e)
{
Player player = e.getPlayer();
Team team = this.getTeam(player);
ItemStack item = e.getItem();
if(team == null)
{
return;//Player is not in a team aka are in spectator mode
}
if(item != null)
{
if(item.getType() == Material.STICK)
{
player.sendMessage(ChatColor.GREEN + "You used the stick!! :DD");
this.end(team);//Ends the game with the parameter of the team that won
}
}
}
}
- Download the project... You should know how to do this by now.
- Import project into eclipse.
- Run as -> Maven Build.
- Get the jar from the target file within the project.
- Drop into /plugins in a minecraft bukkit/spigot 1.8 server.
- Run the server AND EVERYTHING IS SET UP. :D
- Run the server it again. :D
This is a game engine for making team based games like such that were on the Overcast Network. (EG Destroy the Core, Team death match and others from other servers)
- Fork it!
- Create your feature branch:
git checkout -b my-new-feature
- Commit your changes:
git commit -am 'Add some feature'
- Push to the branch:
git push origin my-new-feature
- Submit a pull request :D