- Java 8
- NametagEdit 4.0.2 (Click for download)
- SkyWars of CookLoco (Optional, this is for the displayStats on death, Win Effects and hologram in chest empty)
- ActionBarAPI (Optional, for use the ActionBar on kill)
- CustomInventoriesAPI 1.7 (Click for download)
- PlaceholderAPI (Execute /papi ecloud download Server)
- HolographicDisplays (Optional, for the hologram in chest empty)
- /addonswreload - Permission: addonsw.reload
- /sweffects - Open the menu of Win Effects
- /swsettings - Open the menu of More Settings
- /swstoplag - Permission: sw.stoplag - If your server is going lag by the fault of the plugin use this command and you will recuperate a lot of TPS
- A text on death for go to another game with a click
- Join to the games with the prefix &e with a count of kills in the tag of the player. Example: &eKeffisor21 3 <--- kills (Like CubeCraft)
- Display a stats on death like CubeCraft, with a message that say the position that you get in the game and the kills.
- ActionBar on kill with a custom message
- Win Effects
- When a chest is empty a hologram is created like Hypixel SkyWars
- WinEffects (100%)
- Cages (10%)
- Titles on death (100%)
- Lines infinities in the message of autojoin (100%)
- Empty Chest create hologram like Hypixel (100%)
- Action Bars with the players remaining (0%)
Spoiler: Gameplay with SWAddon
Spoiler: Gameplay with SWAddon 2
Code (Text):
Lobby: SetYourLobbyOfSkyWarsHere
TextOnKill1: |-
"&7&m-----------------------------------"
" &e&lThanks for playing SkyWars"
TextOnKill3: " &a&lPlay again &8&l●"
TextOnKill4: " &c&lExit"
TextOnKill5: |-
"&7&m-----------------------------------"
TextOnKillHoverEvent1: "Click for go to another game of &bSkyWars"
TextOnKillHoverEvent2: "Click for left the game of &eSkyWars"
TextOnKillJoinCmd: "sw join"
TextOnKillLeaveCmd: "leave"
TextOnKillState: true
NameTagInGame: true
ActionBarInKill: false
ActionBarText: "&e⚔ You killed %killed% ⚔"
displayStatsOnDeath: false
displayStatsMsg: |-
&7-----------------------------
&8&l• &7You got §e%playersleft% &7place
&8&l• &7Kills: &e%kills%
&7-----------------------------
ItemJoin: "&6More Settings"
ItemJoinLore: "&7Customise your SkyWars gameplay!"
MenuPrincipalName: "&6More Settings SkyWars"
Item1: "&6&lWinEffects"
Item2: "&a&lMore Cages"
ItemLore1: "&7Change your effect on win a game"
ItemLore2: "&7Change your cage on games"
WinEffectsMenuName: "&6WinEffects Settings"
FireworksItem: "&e&lFireworks"
FireworksItemLore: "&7The default Win Effect"
DiscoBlocksItem: "&e&lDisco blocks"
DiscoBlocksItemLore: "&7An beautiful effect of wool"
WinEffectSelected: "&aYou have selected the win effect &eDisco blocks"
WinEffectSelected2: "&aYou have selected the win effect &eFireworks"
WinEffectNoPermissions: "&cYou don't have permission for this Win Effect"
LeaveInWinEffect: "&cYou must to wait to finish the win effect to return to the lobby"
CageMessage: "&cComing soon"
MoreSettings: true
MoreSettingsItem: true
TitleOnDeath: false
TitleOnDeathMsg: "&cYOU DIED"
Alert: "Learn to install the WinEffects in my page on Spigot (Important for work) https://www.spigotmc.org/resources/swaddon.60504/"
- In the case you need this API, click here for download it, you must to have the plugin of SkyWars of CookLoco, for install you have to go to the config.yml on the plugin of CookLoco, and you have to search "reward" in the config, finally put in true and add this in list - 100/wineffect %winner%
Spoiler: Example
Permissions:
reward:
# reward that receive every survivor when a player die
death: 1
# reward for kill some player
kill: 2
# reward for winner
win: 10
wincmd:
# Enable or disable winner commands (EXECUTED BY CONSOLE)
enabled: true
# Commands list (VARIABLES: %winner% , %map%)
# FORMAT: 'CHANCE/CMD'
# Example: 90/give %winner% minecraft:diamond_block 1
# CHANCE: 0-100
list:
- 100/wineffect %winner%
# reward that receive every survivor when a player die
death: 1
# reward for kill some player
kill: 2
# reward for winner
win: 10
wincmd:
# Enable or disable winner commands (EXECUTED BY CONSOLE)
enabled: true
# Commands list (VARIABLES: %winner% , %map%)
# FORMAT: 'CHANCE/CMD'
# Example: 90/give %winner% minecraft:diamond_block 1
# CHANCE: 0-100
list:
- 100/wineffect %winner%
Disco Wool: skywars.win.lana
Fireworks: Don't have permission
Inventory hooking for Developers on SkyWars Plugin (CookLoco)
I have made a code for hooking inventories of the plugin SkyWars of CookLoco, with the code that i made when i was bored you can add ítems/execute code when the inventory is open or a item is clicked.
Spoiler: MenuSettingsAddon.java
package com.Keffisor21;
import ak.CookLoco.SkyWars.SkyWars;
import ak.CookLoco.SkyWars.menus2.MenuListener;
import ak.CookLoco.SkyWars.menus2.arena.MenuSettings;
import ak.CookLoco.SkyWars.utils.ItemBuilder;
import ak.CookLoco.SkyWars.utils.MSG;
import org.bukkit.Material;
import org.bukkit.entity.Player;
import org.bukkit.event.inventory.InventoryClickEvent;
public class MenuSettingsAddon extends MenuSettings {
Player p;
public MenuSettingsAddon(Player player) {
super(player);
p = player;
}
@Override
public void onClick(final InventoryClickEvent inventoryClickEvent) {
if (inventoryClickEvent.getCurrentItem().getType() == Material.GLASS) {
this.getPlayer().openInventory(MenuListener.getPlayerMenu(this.getPlayer(), "settingsBoxes").getInventory());
}
if (inventoryClickEvent.getCurrentItem().getType() == Material.ARROW) {
this.getPlayer().openInventory(MenuListener.getPlayerMenu(this.getPlayer(), "settingsTrails").getInventory());
}
// Code addon
}
@Override
public void update() {
this.setItem(2, new ItemBuilder(Material.GLASS).setTitle(SkyWars.getMessage(MSG.SETTINGS_MENU_BOXES_NAME)).addLore(SkyWars.getMessage(MSG.SETTINGS_MENU_BOXES_LORE)));
this.setItem(6, new ItemBuilder(Material.ARROW).setTitle(SkyWars.getMessage(MSG.SETTINGS_MENU_TRAILS_NAME)).addLore(SkyWars.getMessage(MSG.SETTINGS_MENU_TRAILS_LORE)));
// Code addon
}
}
Code (Text):
package com.Keffisor21;
import ak.CookLoco.SkyWars.SkyWars;
import ak.CookLoco.SkyWars.menus2.MenuListener;
import ak.CookLoco.SkyWars.menus2.arena.MenuSettings;
import ak.CookLoco.SkyWars.utils.ItemBuilder;
import ak.CookLoco.SkyWars.utils.MSG;
import org.bukkit.Material;
import org.bukkit.entity.Player;
import org.bukkit.event.inventory.InventoryClickEvent;
public class MenuSettingsAddon extends MenuSettings {
Player p;
public MenuSettingsAddon(Player player) {
super(player);
p = player;
}
@Override
public void onClick(final InventoryClickEvent inventoryClickEvent) {
if (inventoryClickEvent.getCurrentItem().getType() == Material.GLASS) {
this.getPlayer().openInventory(MenuListener.getPlayerMenu(this.getPlayer(), "settingsBoxes").getInventory());
}
if (inventoryClickEvent.getCurrentItem().getType() == Material.ARROW) {
this.getPlayer().openInventory(MenuListener.getPlayerMenu(this.getPlayer(), "settingsTrails").getInventory());
}
// Code addon
}
@Override
public void update() {
this.setItem(2, new ItemBuilder(Material.GLASS).setTitle(SkyWars.getMessage(MSG.SETTINGS_MENU_BOXES_NAME)).addLore(SkyWars.getMessage(MSG.SETTINGS_MENU_BOXES_LORE)));
this.setItem(6, new ItemBuilder(Material.ARROW).setTitle(SkyWars.getMessage(MSG.SETTINGS_MENU_TRAILS_NAME)).addLore(SkyWars.getMessage(MSG.SETTINGS_MENU_TRAILS_LORE)));
// Code addon
}
}
Spoiler: MenuVoteAddon.java
package com.Keffisor21;
import ak.CookLoco.SkyWars.SkyWars;
import ak.CookLoco.SkyWars.arena.Arena;
import ak.CookLoco.SkyWars.menus2.MenuListener;
import ak.CookLoco.SkyWars.menus2.arena.MenuVote;
import ak.CookLoco.SkyWars.player.SkyPlayer;
import ak.CookLoco.SkyWars.utils.ItemBuilder;
import ak.CookLoco.SkyWars.utils.MSG;
import org.bukkit.Material;
import org.bukkit.entity.Player;
import org.bukkit.event.inventory.InventoryClickEvent;
public class MenuVoteAddon extends MenuVote {
Player player;
public MenuVoteAddon(Player p) {
super(p);
p = player;
}
@Override
public void update() {
final SkyPlayer skyPlayer = SkyWars.getSkyPlayer(this.getPlayer());
if (skyPlayer.isInArena()) {
final Arena arena = skyPlayer.getArena();
if (arena.getConfig().getBoolean("options.vote.chest")) {
this.setItem(11, new ItemBuilder(Material.ENDER_CHEST).setTitle(SkyWars.getMessage(MSG.VOTE_CHESTS_NAME)).addLore(SkyWars.getMessage(MSG.VOTE_CHESTS_LORE)));
}
if (arena.getConfig().getBoolean("options.vote.time")) {
this.setItem(15, new ItemBuilder(Material.WATCH).setTitle(SkyWars.getMessage(MSG.VOTE_TIME_NAME)).addLore(SkyWars.getMessage(MSG.VOTE_TIME_LORE)));
}
// Code addon
}
}
@Override
public void onClick(final InventoryClickEvent inventoryClickEvent) {
if (inventoryClickEvent.getCurrentItem().getType() == Material.CHEST) {
this.getPlayer().openInventory(MenuListener.getPlayerMenu(this.getPlayer(), "voteChest").getInventory());
}
if (inventoryClickEvent.getCurrentItem().getType() == Material.WATCH) {
this.getPlayer().openInventory(MenuListener.getPlayerMenu(this.getPlayer(), "voteTime").getInventory());
}
// Code addon
}
}
Code (Text):
package com.Keffisor21;
import ak.CookLoco.SkyWars.SkyWars;
import ak.CookLoco.SkyWars.arena.Arena;
import ak.CookLoco.SkyWars.menus2.MenuListener;
import ak.CookLoco.SkyWars.menus2.arena.MenuVote;
import ak.CookLoco.SkyWars.player.SkyPlayer;
import ak.CookLoco.SkyWars.utils.ItemBuilder;
import ak.CookLoco.SkyWars.utils.MSG;
import org.bukkit.Material;
import org.bukkit.entity.Player;
import org.bukkit.event.inventory.InventoryClickEvent;
public class MenuVoteAddon extends MenuVote {
Player player;
public MenuVoteAddon(Player p) {
super(p);
p = player;
}
@Override
public void update() {
final SkyPlayer skyPlayer = SkyWars.getSkyPlayer(this.getPlayer());
if (skyPlayer.isInArena()) {
final Arena arena = skyPlayer.getArena();
if (arena.getConfig().getBoolean("options.vote.chest")) {
this.setItem(11, new ItemBuilder(Material.ENDER_CHEST).setTitle(SkyWars.getMessage(MSG.VOTE_CHESTS_NAME)).addLore(SkyWars.getMessage(MSG.VOTE_CHESTS_LORE)));
}
if (arena.getConfig().getBoolean("options.vote.time")) {
this.setItem(15, new ItemBuilder(Material.WATCH).setTitle(SkyWars.getMessage(MSG.VOTE_TIME_NAME)).addLore(SkyWars.getMessage(MSG.VOTE_TIME_LORE)));
}
// Code addon
}
}
@Override
public void onClick(final InventoryClickEvent inventoryClickEvent) {
if (inventoryClickEvent.getCurrentItem().getType() == Material.CHEST) {
this.getPlayer().openInventory(MenuListener.getPlayerMenu(this.getPlayer(), "voteChest").getInventory());
}
if (inventoryClickEvent.getCurrentItem().getType() == Material.WATCH) {
this.getPlayer().openInventory(MenuListener.getPlayerMenu(this.getPlayer(), "voteTime").getInventory());
}
// Code addon
}
}
Spoiler: Main
package com.Keffisor21;
import ak.CookLoco.SkyWars.SkyWars;
import org.bukkit.event.*;
import org.bukkit.*;
import org.bukkit.plugin.*;
import org.bukkit.entity.*;
import org.bukkit.event.player.*;
import org.bukkit.plugin.java.JavaPlugin;
public class CookLoco extends JavaPlugin implements Listener {
@Override
public void onEnable() {
Bukkit.getServer().getPluginManager().registerEvents(this, this);
}
@EventHandler
public void onPlayerJoin(final PlayerJoinEvent playerJoinEvent) {
final Player player = playerJoinEvent.getPlayer();
Bukkit.getScheduler().runTaskLater((Plugin)SkyWars.getPlugin(), () -> {
new MenuVoteAddon(player);
new MenuSettingsAddon(player);
}, 20L);
}
}
Add this class or code to your plugin, in the part of "// Code addon" you can add new items or code to execute.
Code (Text):
package com.Keffisor21;
import ak.CookLoco.SkyWars.SkyWars;
import org.bukkit.event.*;
import org.bukkit.*;
import org.bukkit.plugin.*;
import org.bukkit.entity.*;
import org.bukkit.event.player.*;
import org.bukkit.plugin.java.JavaPlugin;
public class CookLoco extends JavaPlugin implements Listener {
@Override
public void onEnable() {
Bukkit.getServer().getPluginManager().registerEvents(this, this);
}
@EventHandler
public void onPlayerJoin(final PlayerJoinEvent playerJoinEvent) {
final Player player = playerJoinEvent.getPlayer();
Bukkit.getScheduler().runTaskLater((Plugin)SkyWars.getPlugin(), () -> {
new MenuVoteAddon(player);
new MenuSettingsAddon(player);
}, 20L);
}
}
Quick facts
- Edition: Minecraft Java
- File type: .jar
- Minecraft versions listed: 1.8, 1.9, 1.10
- 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.
SWAddon is a free Minecraft Java mod. Compatible with Minecraft 1.8, 1.9, 1.10, 1.11 and newer. Downloaded 2,558 times (via Spigot). Download it and open it directly in the game.