1.0.0-SNAPSHOT-U149
+ Finished implementing the Drop DropTable Panels + Improved the handling of MainDropTableEditor
This commit is contained in:
parent
c9e055f4b9
commit
25bcf2e8ad
1
TODO
1
TODO
|
@ -1,4 +1,3 @@
|
|||
01:00 -> Drop - Has a button for Rewards List (with chances), button for RandomDrops, button for MaxDrops (1hr)
|
||||
01:00 -> Give - Is a list panel with the positions and a button for adding a new position (1hr)
|
||||
00:30 -> Is a list panel of reward sections, button to add a new section
|
||||
00:30 -> Panel with Items button, Commands button, maxDrops button, maxCommands button, randomDrops button, randomCommands button, requiredPercentage button
|
||||
|
|
|
@ -2100,7 +2100,7 @@ SprayRewardsListEditMenu:
|
|||
name: '&e&l&m<-&e&l Previous Page'
|
||||
lore:
|
||||
- '&7Click here to go to the previous'
|
||||
- '&7page of special settings.'
|
||||
- '&7page of rewards.'
|
||||
PreviousPage: true
|
||||
'50':
|
||||
type: EMERALD_BLOCK
|
||||
|
@ -2115,7 +2115,7 @@ SprayRewardsListEditMenu:
|
|||
name: '&e&lNext Page &e&l&m->'
|
||||
lore:
|
||||
- '&7Click here to go to the next'
|
||||
- '&7page of special settings.'
|
||||
- '&7page of rewards.'
|
||||
NextPage: true
|
||||
'52':
|
||||
type: GLASS_PANE
|
||||
|
@ -2169,7 +2169,7 @@ SprayNewRewardEditMenu:
|
|||
name: '&e&l&m<-&e&l Previous Page'
|
||||
lore:
|
||||
- '&7Click here to go to the previous'
|
||||
- '&7page of special settings.'
|
||||
- '&7page of itemstacks.'
|
||||
PreviousPage: true
|
||||
'50':
|
||||
type: GLASS_PANE
|
||||
|
@ -2179,7 +2179,7 @@ SprayNewRewardEditMenu:
|
|||
name: '&e&lNext Page &e&l&m->'
|
||||
lore:
|
||||
- '&7Click here to go to the next'
|
||||
- '&7page of special settings.'
|
||||
- '&7page of itemstacks.'
|
||||
NextPage: true
|
||||
'52':
|
||||
type: GLASS_PANE
|
||||
|
@ -2290,6 +2290,179 @@ DropDropTableMainEditMenu:
|
|||
- '&bRight Click &8» &f-1'
|
||||
- '&bShift Right-Click &8» &f-10'
|
||||
Button: MaxDrops
|
||||
'9':
|
||||
type: REDSTONE
|
||||
name: '&e&lGo Back'
|
||||
lore:
|
||||
- '&7Click here to go back.'
|
||||
DropRewardsListEditMenu:
|
||||
name: '&b&l{name} DropTable'
|
||||
slots: 54
|
||||
Settings:
|
||||
backButton: true
|
||||
fillTo: 45
|
||||
Buttons:
|
||||
backButton: 54
|
||||
Items:
|
||||
'46':
|
||||
type: BOOK
|
||||
name: '&c&lDrop Rewards Guide'
|
||||
lore:
|
||||
- '&7Here you can adjust the rewards for'
|
||||
- '&7the skill with the drop layout. To'
|
||||
- '&7adjust the chance of a section or to'
|
||||
- '&7remove a section, then all you have'
|
||||
- '&7to do is click on the section you''d'
|
||||
- '&7like to modify and then click the'
|
||||
- '&7corresponding button.'
|
||||
- '&7To add a new section click on the'
|
||||
- '&7emerald block in the bottom middle of'
|
||||
- '&7the menu in between the page buttons.'
|
||||
'47':
|
||||
type: GLASS_PANE
|
||||
name: '&7'
|
||||
'48':
|
||||
type: GLASS_PANE
|
||||
name: '&7'
|
||||
'49':
|
||||
type: ARROW
|
||||
name: '&e&l&m<-&e&l Previous Page'
|
||||
lore:
|
||||
- '&7Click here to go to the previous'
|
||||
- '&7page of rewards.'
|
||||
PreviousPage: true
|
||||
'50':
|
||||
type: EMERALD_BLOCK
|
||||
name: '&b&lAdd a New Reward Section'
|
||||
lore:
|
||||
- '&7Click here if you would like to add'
|
||||
- '&7a new reward section to this drop'
|
||||
- '&7table.'
|
||||
Button: NewReward
|
||||
'51':
|
||||
type: ARROW
|
||||
name: '&e&lNext Page &e&l&m->'
|
||||
lore:
|
||||
- '&7Click here to go to the next'
|
||||
- '&7page of rewards.'
|
||||
NextPage: true
|
||||
'52':
|
||||
type: GLASS_PANE
|
||||
name: '&7'
|
||||
'53':
|
||||
type: GLASS_PANE
|
||||
name: '&7'
|
||||
'54':
|
||||
type: REDSTONE
|
||||
name: '&cClick here to go back'
|
||||
lore:
|
||||
- '&7Click this button to go back to'
|
||||
- '&7the drop table main edit menu.'
|
||||
DropNewRewardEditMenu:
|
||||
name: '&b&lNew Reward for DropTable'
|
||||
slots: 54
|
||||
Settings:
|
||||
backButton: true
|
||||
fillTo: 45
|
||||
Buttons:
|
||||
backButton: 54
|
||||
Items:
|
||||
'46':
|
||||
type: BOOK
|
||||
name: '&c&lNew Drop Reward Guide'
|
||||
lore:
|
||||
- '&7Once you click an item within this'
|
||||
- '&7menu it will create a new reward'
|
||||
- '&7section with that selected item'
|
||||
- '&7to the drop table you were working'
|
||||
- '&7on. From there you can adjust the'
|
||||
- '&7chance for it to be sprayed.'
|
||||
- '&7'
|
||||
- '&c&lWARNING'
|
||||
- '&7At this moment you cannot have'
|
||||
- '&7two sections for the same item,'
|
||||
- '&7an easy way to bypass this is to'
|
||||
- '&7add a new Item with the same'
|
||||
- '&7itemstack, therefore giving it'
|
||||
- '&7a new name, and allowing for'
|
||||
- '&7another new section of the same'
|
||||
- '&7item.'
|
||||
'47':
|
||||
type: GLASS_PANE
|
||||
name: '&7'
|
||||
'48':
|
||||
type: GLASS_PANE
|
||||
name: '&7'
|
||||
'49':
|
||||
type: ARROW
|
||||
name: '&e&l&m<-&e&l Previous Page'
|
||||
lore:
|
||||
- '&7Click here to go to the previous'
|
||||
- '&7page of itemstacks.'
|
||||
PreviousPage: true
|
||||
'50':
|
||||
type: GLASS_PANE
|
||||
name: '&7'
|
||||
'51':
|
||||
type: ARROW
|
||||
name: '&e&lNext Page &e&l&m->'
|
||||
lore:
|
||||
- '&7Click here to go to the next'
|
||||
- '&7page of itemstacks.'
|
||||
NextPage: true
|
||||
'52':
|
||||
type: GLASS_PANE
|
||||
name: '&7'
|
||||
'53':
|
||||
type: GLASS_PANE
|
||||
name: '&7'
|
||||
'54':
|
||||
type: REDSTONE
|
||||
name: '&cClick here to go back'
|
||||
lore:
|
||||
- '&7Click this button to go back to'
|
||||
- '&7the drop table reward list menu.'
|
||||
DropRewardMainEditMenu:
|
||||
name: '&b&l{name} DropTable'
|
||||
slots: 9
|
||||
Settings:
|
||||
backButton: true
|
||||
emptySpaceFiller: true
|
||||
EmptySpaceFiller:
|
||||
type: WHITE_STAINED_GLASS_PANE
|
||||
name: '&7'
|
||||
Buttons:
|
||||
backButton: 9
|
||||
Items:
|
||||
'3':
|
||||
type: GUNPOWDER
|
||||
name: '&e&lSelected ItemStack'
|
||||
lore:
|
||||
- '&bCurrently: &f{itemStack}'
|
||||
- '&7This is the selected itemStack for this'
|
||||
- '&7reward section.'
|
||||
'4':
|
||||
type: EMERALD
|
||||
name: '&e&lChance'
|
||||
lore:
|
||||
- '&bCurrently: &f{chance}'
|
||||
- '&7Click here to modify the chance of this'
|
||||
- '&7reward '
|
||||
- '&7'
|
||||
- '&bLeft Click &8» &f+1%'
|
||||
- '&bShift Left-Click &8» &f+0.1%'
|
||||
- '&7'
|
||||
- '&bRight Click &8» &f-1%'
|
||||
- '&bShift Right-Click &8» &f-0.1%'
|
||||
Button: Chance
|
||||
'5':
|
||||
type: BARRIER
|
||||
name: '&e&lClick here to remove'
|
||||
lore:
|
||||
- '&7Click here to remove this rewards section.'
|
||||
- '&7You can always re-create this section if'
|
||||
- '&7was a mistake.'
|
||||
Button: Remove
|
||||
'9':
|
||||
type: REDSTONE
|
||||
name: '&e&lGo Back'
|
||||
|
|
|
@ -64,17 +64,11 @@ public class MainDropTableEditorPanel extends VariablePanelHandler<DropTable> {
|
|||
Player player = (Player) event.getWhoClicked();
|
||||
|
||||
if(dropTableType.equalsIgnoreCase("SPRAY")) {
|
||||
SprayTableElement sprayTableElement = dropTable.getSprayTableData();
|
||||
|
||||
this.bossPanelManager.getSprayDropTableMainEditMenu().openFor(player, dropTable, sprayTableElement);
|
||||
this.bossPanelManager.getSprayDropTableMainEditMenu().openFor(player, dropTable, dropTable.getSprayTableData());
|
||||
} else if(dropTableType.equalsIgnoreCase("GIVE")) {
|
||||
GiveTableElement giveTableElement = dropTable.getGiveTableData();
|
||||
|
||||
this.bossPanelManager.getGiveDropTableMainEditMenu().openFor(player, dropTable, giveTableElement);
|
||||
this.bossPanelManager.getGiveDropTableMainEditMenu().openFor(player, dropTable, dropTable.getGiveTableData());
|
||||
} else if(dropTableType.equalsIgnoreCase("DROP")) {
|
||||
DropTableElement dropTableElement = dropTable.getDropTableData();
|
||||
|
||||
this.bossPanelManager.getDropDropTableMainEditMenu().openFor(player, dropTable, dropTableElement);
|
||||
this.bossPanelManager.getDropDropTableMainEditMenu().openFor(player, dropTable, dropTable.getDropTableData());
|
||||
} else {
|
||||
Debug.FAILED_TO_FIND_DROP_TABLE_TYPE.debug(dropTableType);
|
||||
}
|
||||
|
|
|
@ -5,7 +5,6 @@ import com.songoda.epicbosses.CustomBosses;
|
|||
import com.songoda.epicbosses.api.BossAPI;
|
||||
import com.songoda.epicbosses.droptable.DropTable;
|
||||
import com.songoda.epicbosses.droptable.elements.DropTableElement;
|
||||
import com.songoda.epicbosses.droptable.elements.SprayTableElement;
|
||||
import com.songoda.epicbosses.managers.BossPanelManager;
|
||||
import com.songoda.epicbosses.utils.Message;
|
||||
import com.songoda.epicbosses.utils.NumberUtils;
|
||||
|
|
|
@ -1,13 +1,23 @@
|
|||
package com.songoda.epicbosses.panel.droptables.types.drop;
|
||||
|
||||
import com.songoda.epicbosses.CustomBosses;
|
||||
import com.songoda.epicbosses.api.BossAPI;
|
||||
import com.songoda.epicbosses.droptable.DropTable;
|
||||
import com.songoda.epicbosses.droptable.elements.DropTableElement;
|
||||
import com.songoda.epicbosses.managers.BossPanelManager;
|
||||
import com.songoda.epicbosses.managers.files.ItemsFileManager;
|
||||
import com.songoda.epicbosses.utils.Message;
|
||||
import com.songoda.epicbosses.utils.itemstack.holder.ItemStackHolder;
|
||||
import com.songoda.epicbosses.utils.panel.Panel;
|
||||
import com.songoda.epicbosses.utils.panel.base.handlers.SubVariablePanelHandler;
|
||||
import com.songoda.epicbosses.utils.panel.builder.PanelBuilder;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @author Charles Cullen
|
||||
|
@ -16,22 +26,79 @@ import org.bukkit.entity.Player;
|
|||
*/
|
||||
public class DropNewRewardEditorPanel extends SubVariablePanelHandler<DropTable, DropTableElement> {
|
||||
|
||||
private ItemsFileManager itemsFileManager;
|
||||
private CustomBosses plugin;
|
||||
|
||||
public DropNewRewardEditorPanel(BossPanelManager bossPanelManager, PanelBuilder panelBuilder, CustomBosses plugin) {
|
||||
super(bossPanelManager, panelBuilder);
|
||||
|
||||
this.itemsFileManager = plugin.getItemStackManager();
|
||||
this.plugin = plugin;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void fillPanel(Panel panel, DropTable dropTable, DropTableElement dropTableElement) {
|
||||
Map<String, ItemStackHolder> itemStacks = this.itemsFileManager.getItemStackHolders();
|
||||
List<String> currentKeys = new ArrayList<>(dropTableElement.getDropRewards().keySet());
|
||||
List<String> filteredKeys = getFilteredKeys(itemStacks, currentKeys);
|
||||
int maxPage = panel.getMaxPage(filteredKeys);
|
||||
|
||||
panel.setOnPageChange(((player, currentPage, requestedPage) -> {
|
||||
if(requestedPage < 0 || requestedPage > maxPage) return false;
|
||||
|
||||
loadPage(panel, requestedPage, dropTable, dropTableElement, filteredKeys, itemStacks);
|
||||
return true;
|
||||
}));
|
||||
|
||||
loadPage(panel, 0, dropTable, dropTableElement, filteredKeys, itemStacks);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void openFor(Player player, DropTable dropTable, DropTableElement dropTableElement) {
|
||||
Panel panel = getPanelBuilder().getPanel()
|
||||
.setParentPanelHandler(this.bossPanelManager.getDropRewardListEditMenu(), dropTable, dropTableElement);
|
||||
|
||||
fillPanel(panel, dropTable, dropTableElement);
|
||||
panel.openFor(player);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initializePanel(PanelBuilder panelBuilder) {
|
||||
|
||||
}
|
||||
|
||||
private void loadPage(Panel panel, int page, DropTable dropTable, DropTableElement dropTableElement, List<String> filteredKeys, Map<String, ItemStackHolder> itemStacks) {
|
||||
panel.loadPage(page, (slot, realisticSlot) -> {
|
||||
if(slot >= filteredKeys.size()) {
|
||||
panel.setItem(realisticSlot, new ItemStack(Material.AIR), e->{});
|
||||
} else {
|
||||
String name = filteredKeys.get(slot);
|
||||
ItemStackHolder itemStackHolder = itemStacks.get(name);
|
||||
ItemStack itemStack = this.itemsFileManager.getItemStackConverter().from(itemStackHolder);
|
||||
|
||||
panel.setItem(realisticSlot, itemStack, event -> {
|
||||
Map<String, Double> currentRewards = dropTableElement.getDropRewards();
|
||||
|
||||
currentRewards.put(name, 50.0);
|
||||
dropTable.setRewards(BossAPI.convertObjectToJsonObject(dropTableElement));
|
||||
this.plugin.getDropTableFileManager().save();
|
||||
|
||||
this.bossPanelManager.getDropRewardMainEditMenu().openFor((Player) event.getWhoClicked(), dropTable, dropTableElement, name);
|
||||
Message.Boss_DropTable_DropAddedNewReward.msg(event.getWhoClicked(), BossAPI.getDropTableName(dropTable));
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private List<String> getFilteredKeys(Map<String, ItemStackHolder> itemStacks, List<String> currentKeys) {
|
||||
List<String> filteredList = new ArrayList<>();
|
||||
|
||||
itemStacks.keySet().forEach(string -> {
|
||||
if(currentKeys.contains(string)) return;
|
||||
|
||||
filteredList.add(string);
|
||||
});
|
||||
|
||||
return filteredList;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,12 +1,24 @@
|
|||
package com.songoda.epicbosses.panel.droptables.types.drop;
|
||||
|
||||
import com.songoda.epicbosses.CustomBosses;
|
||||
import com.songoda.epicbosses.api.BossAPI;
|
||||
import com.songoda.epicbosses.droptable.DropTable;
|
||||
import com.songoda.epicbosses.droptable.elements.DropTableElement;
|
||||
import com.songoda.epicbosses.droptable.elements.SprayTableElement;
|
||||
import com.songoda.epicbosses.managers.BossPanelManager;
|
||||
import com.songoda.epicbosses.managers.files.DropTableFileManager;
|
||||
import com.songoda.epicbosses.utils.Message;
|
||||
import com.songoda.epicbosses.utils.NumberUtils;
|
||||
import com.songoda.epicbosses.utils.panel.Panel;
|
||||
import com.songoda.epicbosses.utils.panel.base.ClickAction;
|
||||
import com.songoda.epicbosses.utils.panel.base.handlers.SubSubVariablePanelHandler;
|
||||
import com.songoda.epicbosses.utils.panel.builder.PanelBuilder;
|
||||
import com.songoda.epicbosses.utils.panel.builder.PanelBuilderCounter;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.inventory.ClickType;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @author Charles Cullen
|
||||
|
@ -15,17 +27,93 @@ import org.bukkit.entity.Player;
|
|||
*/
|
||||
public class DropRewardMainEditorPanel extends SubSubVariablePanelHandler<DropTable, DropTableElement, String> {
|
||||
|
||||
private DropTableFileManager dropTableFileManager;
|
||||
|
||||
public DropRewardMainEditorPanel(BossPanelManager bossPanelManager, PanelBuilder panelBuilder, CustomBosses plugin) {
|
||||
super(bossPanelManager, panelBuilder);
|
||||
|
||||
this.dropTableFileManager = plugin.getDropTableFileManager();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void openFor(Player player, DropTable dropTable, DropTableElement dropTableElement, String s) {
|
||||
PanelBuilder panelBuilder = getPanelBuilder().cloneBuilder();
|
||||
Map<String, String> replaceMap = new HashMap<>();
|
||||
Double chance = dropTableElement.getDropRewards().get(s);
|
||||
|
||||
if(chance == null) chance = 50.0;
|
||||
|
||||
replaceMap.put("{chance}", NumberUtils.get().formatDouble(chance));
|
||||
replaceMap.put("{itemStack}", s);
|
||||
panelBuilder.addReplaceData(replaceMap);
|
||||
|
||||
PanelBuilderCounter panelBuilderCounter = panelBuilder.getPanelBuilderCounter();
|
||||
Panel panel = panelBuilder.getPanel()
|
||||
.setParentPanelHandler(this.bossPanelManager.getDropRewardListEditMenu(), dropTable, dropTableElement);
|
||||
|
||||
panelBuilderCounter.getSlotsWith("Chance").forEach(slot -> panel.setOnClick(slot, getChanceAction(dropTable, dropTableElement, s)));
|
||||
panelBuilderCounter.getSlotsWith("Remove").forEach(slot -> panel.setOnClick(slot, getRemoveAction(dropTable, dropTableElement, s)));
|
||||
|
||||
panel.openFor(player);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initializePanel(PanelBuilder panelBuilder) {
|
||||
|
||||
}
|
||||
|
||||
private ClickAction getChanceAction(DropTable dropTable, DropTableElement dropTableElement, String name) {
|
||||
return event -> {
|
||||
ClickType clickType = event.getClick();
|
||||
double amountToModifyBy;
|
||||
|
||||
if(clickType == ClickType.SHIFT_LEFT) {
|
||||
amountToModifyBy = 0.1;
|
||||
} else if(clickType == ClickType.RIGHT) {
|
||||
amountToModifyBy = -1.0;
|
||||
} else if(clickType == ClickType.SHIFT_RIGHT) {
|
||||
amountToModifyBy = -0.1;
|
||||
} else {
|
||||
amountToModifyBy = 1.0;
|
||||
}
|
||||
|
||||
String modifyValue = amountToModifyBy > 0? "increased" : "decreased";
|
||||
Map<String, Double> rewards = dropTableElement.getDropRewards();
|
||||
double currentValue = rewards.getOrDefault(name, 50.0);
|
||||
double newValue = currentValue + amountToModifyBy;
|
||||
|
||||
if(newValue < 0) {
|
||||
newValue = 0;
|
||||
}
|
||||
|
||||
if(newValue > 100) {
|
||||
newValue = 100;
|
||||
}
|
||||
|
||||
rewards.put(name, newValue);
|
||||
dropTableElement.setDropRewards(rewards);
|
||||
save(dropTable, dropTableElement);
|
||||
openFor((Player) event.getWhoClicked(), dropTable, dropTableElement, name);
|
||||
|
||||
Message.Boss_DropTable_DropRewardChance.msg(event.getWhoClicked(), modifyValue, BossAPI.getDropTableName(dropTable), NumberUtils.get().formatDouble(newValue));
|
||||
};
|
||||
}
|
||||
|
||||
private ClickAction getRemoveAction(DropTable dropTable, DropTableElement dropTableElement, String name) {
|
||||
return event -> {
|
||||
Map<String, Double> current = dropTableElement.getDropRewards();
|
||||
|
||||
current.remove(name);
|
||||
dropTableElement.setDropRewards(current);
|
||||
save(dropTable, dropTableElement);
|
||||
|
||||
Message.Boss_DropTable_DropRewardRemoved.msg(event.getWhoClicked());
|
||||
this.bossPanelManager.getDropRewardListEditMenu().openFor((Player) event.getWhoClicked(), dropTable, dropTableElement);
|
||||
};
|
||||
}
|
||||
|
||||
private void save(DropTable dropTable, DropTableElement dropTableElement) {
|
||||
dropTable.setRewards(BossAPI.convertObjectToJsonObject(dropTableElement));
|
||||
this.dropTableFileManager.save();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -4,7 +4,6 @@ import com.songoda.epicbosses.CustomBosses;
|
|||
import com.songoda.epicbosses.api.BossAPI;
|
||||
import com.songoda.epicbosses.droptable.DropTable;
|
||||
import com.songoda.epicbosses.droptable.elements.DropTableElement;
|
||||
import com.songoda.epicbosses.droptable.elements.SprayTableElement;
|
||||
import com.songoda.epicbosses.managers.BossPanelManager;
|
||||
import com.songoda.epicbosses.managers.files.ItemsFileManager;
|
||||
import com.songoda.epicbosses.utils.NumberUtils;
|
||||
|
|
|
@ -41,6 +41,9 @@ public enum Message {
|
|||
Boss_DropTable_SprayAddedNewReward("&b&lEpicBosses &8» &7You have added a new reward to the drop table &f{0}&7. Now opening the editing panel for the new reward."),
|
||||
Boss_DropTable_SprayRewardRemoved("&b&lEpicBosses &8» &7You have removed the reward section from the spray drop table."),
|
||||
Boss_DropTable_SprayRewardChance("&b&lEpicBosses &8» &7You have {0} the chance for the reward section for &f{1}&7 to &f{2}%&7."),
|
||||
Boss_DropTable_DropAddedNewReward("&b&lEpicBosses &8» &7You have added a new reward to the drop table &f{0}&7. Now opening the editing panel for the new reward."),
|
||||
Boss_DropTable_DropRewardChance("&b&lEpicBosses &8» &7You have {0} the chance for the reward section for &f{1}&7 to &f{2}%&7."),
|
||||
Boss_DropTable_DropRewardRemoved("&b&lEpicBosses &8» &7You have removed the reward section from the drop drop table."),
|
||||
|
||||
Boss_Edit_NoPermission("&c&l(!) &cYou do not have access to this command."),
|
||||
Boss_Edit_ItemStackHolderNull("&c&l(!) &cThe itemstack name that is provided for the spawn item doesn't exist or wasn't found."),
|
||||
|
|
2
pom.xml
2
pom.xml
|
@ -20,7 +20,7 @@
|
|||
|
||||
<properties>
|
||||
<!--<plugin.version>maven-version-number-SNAPSHOT-U90</plugin.version>-->
|
||||
<plugin.version>1.0.0-U148</plugin.version>
|
||||
<plugin.version>1.0.0-U149</plugin.version>
|
||||
<plugin.name>EpicBosses</plugin.name>
|
||||
<plugin.main>com.songoda.epicbosses.CustomBosses</plugin.main>
|
||||
<plugin.author>AMinecraftDev</plugin.author>
|
||||
|
|
Loading…
Reference in New Issue