mirror of
https://github.com/songoda/EpicBosses.git
synced 2025-02-02 12:11:20 +01:00
1.0.0-SNAPSHOT-U155
+ Started implementing the GiveRewardRewardsListPanel
This commit is contained in:
parent
c9b4fe0ca5
commit
7bb452020a
@ -3,6 +3,10 @@
|
||||
"type": "DIAMOND",
|
||||
"name": "&c&lDefault DropTable Reward Item"
|
||||
},
|
||||
"DefaultDropTableRewardsListItem": {
|
||||
"type": "CHEST",
|
||||
"name": "&c&lDefault DropTable Rewards List Item"
|
||||
},
|
||||
"DefaultMinionMenuSpawnItem": {
|
||||
"type": "ZOMBIE_SPAWN_EGG",
|
||||
"name": "&c&lDefault Minion Menu Spawn Item"
|
||||
|
@ -114,7 +114,7 @@ Display:
|
||||
- '&3Chance: &f{chance}%'
|
||||
- '&7'
|
||||
- '&7Click to modify this reward.'
|
||||
GiveRewardList:
|
||||
GivePositionList:
|
||||
name: '&bReward Section'
|
||||
lore:
|
||||
- '&3Position: &f{position}'
|
||||
@ -122,6 +122,22 @@ Display:
|
||||
- '&7'
|
||||
- '&7Shift Right-Click to remove.'
|
||||
- '&7Left-Click to edit.'
|
||||
GiveRewardsList:
|
||||
name: '&bReward Section'
|
||||
lore:
|
||||
- '&3Position: &f{position}'
|
||||
- '&3Required Percentage: &f{percentage}%'
|
||||
- '&7'
|
||||
- '&3Item Drops: &f{items}'
|
||||
- '&3Max Drops: &f{maxDrops}'
|
||||
- '&3Random Drops: &f{randomDrops}'
|
||||
- '&7'
|
||||
- '&3Command Drops: &f{commands}'
|
||||
- '&3Max Commands: &f{maxCommands}'
|
||||
- '&3Random Commands: &f{randomCommands}'
|
||||
- '&7'
|
||||
- '&7Shift Right-Click to remove.'
|
||||
- '&7Left-Click to edit.'
|
||||
Shop:
|
||||
menuName: '&b&lEpicBosses &3&lShop'
|
||||
name: '&b&lBuy {name}''s Egg'
|
||||
|
@ -2530,4 +2530,66 @@ GiveRewardPositionListMenu:
|
||||
name: '&cClick here to go back'
|
||||
lore:
|
||||
- '&7Click this button to go back to'
|
||||
- '&7the drop table main edit menu.'
|
||||
- '&7the drop table main edit menu.'
|
||||
GiveRewardRewardsListMenu:
|
||||
name: '&b&l{name} DropTable'
|
||||
slots: 54
|
||||
Settings:
|
||||
backButton: true
|
||||
fillTo: 45
|
||||
Buttons:
|
||||
backButton: 54
|
||||
Items:
|
||||
'46':
|
||||
type: BOOK
|
||||
name: '&c&lGive Reward Rewards Guide'
|
||||
lore:
|
||||
- '&7In this list it displays the drop sections'
|
||||
- '&7assigned to the drop position of &f{position}&7.'
|
||||
- '&7To edit the drops simply click on the drop'
|
||||
- '&7section you wish to edit and then you can'
|
||||
- '&7modify the data there.'
|
||||
- '&7To remove a drop section simply shift-right'
|
||||
- '&7click the section you want to remove.'
|
||||
'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 drop sections.'
|
||||
PreviousPage: true
|
||||
'50':
|
||||
type: EMERALD_BLOCK
|
||||
name: '&e&lAdd new Drop Section'
|
||||
lore:
|
||||
- '&7Click here to add a new drop section'
|
||||
- '&7to the drop table. This will find'
|
||||
- '&7the next available drop section and'
|
||||
- '&7create a new drop section for'
|
||||
- '&7that position.'
|
||||
Button: NewRewardSection
|
||||
'51':
|
||||
type: ARROW
|
||||
name: '&e&lNext Page &e&l&m->'
|
||||
lore:
|
||||
- '&7Click here to go to the next'
|
||||
- '&7page of drop sections.'
|
||||
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 reward position list menu.'
|
@ -29,6 +29,7 @@ import com.songoda.epicbosses.panel.droptables.types.drop.DropNewRewardEditorPan
|
||||
import com.songoda.epicbosses.panel.droptables.types.drop.DropRewardMainEditorPanel;
|
||||
import com.songoda.epicbosses.panel.droptables.types.drop.DropRewardsListEditorPanel;
|
||||
import com.songoda.epicbosses.panel.droptables.types.give.GiveRewardPositionListPanel;
|
||||
import com.songoda.epicbosses.panel.droptables.types.give.GiveRewardRewardsListPanel;
|
||||
import com.songoda.epicbosses.panel.droptables.types.spray.SprayDropTableMainEditorPanel;
|
||||
import com.songoda.epicbosses.panel.droptables.types.spray.SprayNewRewardEditorPanel;
|
||||
import com.songoda.epicbosses.panel.droptables.types.spray.SprayRewardMainEditorPanel;
|
||||
@ -98,7 +99,10 @@ public class BossPanelManager implements ILoadable, IReloadable {
|
||||
@Getter private IVariablePanelHandler<DropTable> mainDropTableEditMenu, dropTableTypeEditMenu;
|
||||
@Getter private ISubVariablePanelHandler<DropTable, SprayTableElement> sprayDropTableMainEditMenu, sprayRewardListEditMenu, sprayNewRewardEditMenu;
|
||||
@Getter private ISubSubVariablePanelHandler<DropTable, SprayTableElement, String> sprayRewardMainEditMenu;
|
||||
|
||||
@Getter private ISubVariablePanelHandler<DropTable, GiveTableElement> giveRewardPositionListMenu;
|
||||
@Getter private ISubSubVariablePanelHandler<DropTable, GiveTableElement, String> giveRewardRewardsListMenu;
|
||||
|
||||
@Getter private ISubVariablePanelHandler<DropTable, DropTableElement> dropDropTableMainEditMenu, dropRewardListEditMenu, dropNewRewardEditMenu;
|
||||
@Getter private ISubSubVariablePanelHandler<DropTable, DropTableElement, String> dropRewardMainEditMenu;
|
||||
|
||||
@ -226,6 +230,7 @@ public class BossPanelManager implements ILoadable, IReloadable {
|
||||
PanelBuilder panelBuilder9 = new PanelBuilder(editor.getConfigurationSection("DropNewRewardEditMenu"));
|
||||
|
||||
PanelBuilder panelBuilder10 = new PanelBuilder(editor.getConfigurationSection("GiveRewardPositionListMenu"));
|
||||
PanelBuilder panelBuilder11 = new PanelBuilder(editor.getConfigurationSection("GiveRewardRewardsListMenu"));
|
||||
|
||||
this.mainDropTableEditMenu = new MainDropTableEditorPanel(this, panelBuilder);
|
||||
this.dropTableTypeEditMenu = new DropTableTypeEditorPanel(this, panelBuilder1, this.customBosses);
|
||||
@ -241,6 +246,7 @@ public class BossPanelManager implements ILoadable, IReloadable {
|
||||
this.dropNewRewardEditMenu = new DropNewRewardEditorPanel(this, panelBuilder9, this.customBosses);
|
||||
|
||||
this.giveRewardPositionListMenu = new GiveRewardPositionListPanel(this, panelBuilder10, this.customBosses);
|
||||
this.giveRewardRewardsListMenu = new GiveRewardRewardsListPanel(this, panelBuilder11, this.customBosses);
|
||||
}
|
||||
|
||||
private void reloadDropTableEditMenus() {
|
||||
@ -258,6 +264,7 @@ public class BossPanelManager implements ILoadable, IReloadable {
|
||||
PanelBuilder panelBuilder9 = new PanelBuilder(editor.getConfigurationSection("DropNewRewardEditMenu"));
|
||||
|
||||
PanelBuilder panelBuilder10 = new PanelBuilder(editor.getConfigurationSection("GiveRewardPositionListMenu"));
|
||||
PanelBuilder panelBuilder11 = new PanelBuilder(editor.getConfigurationSection("GiveRewardRewardsListMenu"));
|
||||
|
||||
this.mainDropTableEditMenu.initializePanel(panelBuilder);
|
||||
this.dropTableTypeEditMenu.initializePanel(panelBuilder1);
|
||||
@ -273,6 +280,7 @@ public class BossPanelManager implements ILoadable, IReloadable {
|
||||
this.dropNewRewardEditMenu.initializePanel(panelBuilder9);
|
||||
|
||||
this.giveRewardPositionListMenu.initializePanel(panelBuilder10);
|
||||
this.giveRewardPositionListMenu.initializePanel(panelBuilder11);
|
||||
}
|
||||
|
||||
//---------------------------------------------
|
||||
|
@ -69,7 +69,7 @@ public class GiveRewardPositionListPanel extends SubVariablePanelHandler<DropTab
|
||||
|
||||
PanelBuilderCounter panelBuilderCounter = panelBuilder.getPanelBuilderCounter();
|
||||
Panel panel = panelBuilder.getPanel()
|
||||
.setParentPanelHandler(this.bossPanelManager.getDropTables());
|
||||
.setParentPanelHandler(this.bossPanelManager.getMainDropTableEditMenu(), dropTable);
|
||||
|
||||
panelBuilderCounter.getSlotsWith("NewPosition").forEach(slot -> panel.setOnClick(slot, getNewPositionAction(dropTable, giveTableElement)));
|
||||
fillPanel(panel, dropTable, giveTableElement);
|
||||
@ -95,8 +95,8 @@ public class GiveRewardPositionListPanel extends SubVariablePanelHandler<DropTab
|
||||
replaceMap.put("{position}", NumberUtils.get().formatDouble(Integer.valueOf(position)));
|
||||
replaceMap.put("{dropAmount}", NumberUtils.get().formatDouble(dropAmount));
|
||||
|
||||
ItemStackUtils.applyDisplayName(itemStack, this.plugin.getConfig().getString("Display.DropTable.GiveRewardList.name"), replaceMap);
|
||||
ItemStackUtils.applyDisplayLore(itemStack, this.plugin.getConfig().getStringList("Display.DropTable.GiveRewardList.lore"), replaceMap);
|
||||
ItemStackUtils.applyDisplayName(itemStack, this.plugin.getConfig().getString("Display.DropTable.GivePositionList.name"), replaceMap);
|
||||
ItemStackUtils.applyDisplayLore(itemStack, this.plugin.getConfig().getStringList("Display.DropTable.GivePositionList.lore"), replaceMap);
|
||||
|
||||
panel.setItem(realisticSlot, itemStack, event -> {
|
||||
ClickType clickType = event.getClick();
|
||||
@ -106,7 +106,7 @@ public class GiveRewardPositionListPanel extends SubVariablePanelHandler<DropTab
|
||||
giveTableElement.setGiveRewards(rewards);
|
||||
saveDropTable((Player) event.getWhoClicked(), dropTable, giveTableElement, BossAPI.convertObjectToJsonObject(giveTableElement));
|
||||
} else {
|
||||
|
||||
//TODO OPEN REWARDREWARDSLIST
|
||||
}
|
||||
});
|
||||
}
|
||||
@ -117,7 +117,7 @@ public class GiveRewardPositionListPanel extends SubVariablePanelHandler<DropTab
|
||||
return event -> {
|
||||
Map<String, Map<String, GiveTableSubElement>> rewards = giveTableElement.getGiveRewards();
|
||||
List<String> keys = new ArrayList<>(giveTableElement.getGiveRewards().keySet());
|
||||
int nextAvailable = getNextAvailablePosition(keys);
|
||||
int nextAvailable = NumberUtils.get().getNextAvailablePosition(keys);
|
||||
String nextKey = ""+nextAvailable;
|
||||
|
||||
if(rewards.containsKey(nextKey)) {
|
||||
@ -131,23 +131,6 @@ public class GiveRewardPositionListPanel extends SubVariablePanelHandler<DropTab
|
||||
};
|
||||
}
|
||||
|
||||
private int getNextAvailablePosition(List<String> keys) {
|
||||
if(keys.isEmpty()) return 1;
|
||||
|
||||
List<Integer> currentIds = new ArrayList<>();
|
||||
|
||||
keys.stream().filter(NumberUtils.get()::isInt).forEach(s -> currentIds.add(Integer.valueOf(s)));
|
||||
currentIds.sort(Comparator.naturalOrder());
|
||||
|
||||
for(int i = 1; i <= currentIds.size(); i++) {
|
||||
if(i < currentIds.get(i-1)) {
|
||||
return i;
|
||||
}
|
||||
}
|
||||
|
||||
return currentIds.size()+1;
|
||||
}
|
||||
|
||||
private void saveDropTable(Player player, DropTable dropTable, GiveTableElement giveTableElement, JsonObject jsonObject) {
|
||||
dropTable.setRewards(jsonObject);
|
||||
this.plugin.getDropTableFileManager().save();
|
||||
|
@ -1,12 +1,31 @@
|
||||
package com.songoda.epicbosses.panel.droptables.types.give;
|
||||
|
||||
import com.google.gson.JsonObject;
|
||||
import com.songoda.epicbosses.CustomBosses;
|
||||
import com.songoda.epicbosses.api.BossAPI;
|
||||
import com.songoda.epicbosses.droptable.DropTable;
|
||||
import com.songoda.epicbosses.droptable.elements.GiveTableElement;
|
||||
import com.songoda.epicbosses.droptable.elements.GiveTableSubElement;
|
||||
import com.songoda.epicbosses.managers.BossPanelManager;
|
||||
import com.songoda.epicbosses.managers.files.ItemsFileManager;
|
||||
import com.songoda.epicbosses.utils.Debug;
|
||||
import com.songoda.epicbosses.utils.NumberUtils;
|
||||
import com.songoda.epicbosses.utils.ObjectUtils;
|
||||
import com.songoda.epicbosses.utils.itemstack.ItemStackUtils;
|
||||
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.Material;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.inventory.ClickType;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @author Charles Cullen
|
||||
@ -15,21 +34,127 @@ import org.bukkit.entity.Player;
|
||||
*/
|
||||
public class GiveRewardRewardsListPanel extends SubSubVariablePanelHandler<DropTable, GiveTableElement, String> {
|
||||
|
||||
private ItemsFileManager itemsFileManager;
|
||||
private CustomBosses plugin;
|
||||
|
||||
public GiveRewardRewardsListPanel(BossPanelManager bossPanelManager, PanelBuilder panelBuilder, CustomBosses plugin) {
|
||||
super(bossPanelManager, panelBuilder);
|
||||
|
||||
this.plugin = plugin;
|
||||
this.itemsFileManager = plugin.getItemStackManager();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void openFor(Player player, DropTable dropTable, GiveTableElement giveTableElement, String s) {
|
||||
PanelBuilder panelBuilder = getPanelBuilder().cloneBuilder();
|
||||
Map<String, String> replaceMap = new HashMap<>();
|
||||
|
||||
replaceMap.put("{name}", BossAPI.getDropTableName(dropTable));
|
||||
panelBuilder.addReplaceData(replaceMap);
|
||||
|
||||
PanelBuilderCounter panelBuilderCounter = panelBuilder.getPanelBuilderCounter();
|
||||
Panel panel = panelBuilder.getPanel()
|
||||
.setParentPanelHandler(this.bossPanelManager.getGiveRewardPositionListMenu(), dropTable, giveTableElement);
|
||||
|
||||
panelBuilderCounter.getSlotsWith("NewRewardSection").forEach(slot -> panel.setOnClick(slot, getNewRewardSectionAction(dropTable, giveTableElement, s)));
|
||||
fillPanel(panel, dropTable, giveTableElement, s);
|
||||
panel.openFor(player);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initializePanel(PanelBuilder panelBuilder) {
|
||||
|
||||
}
|
||||
|
||||
private void fillPanel(Panel panel, DropTable dropTable, GiveTableElement giveTableElement, String key) {
|
||||
Map<String, Map<String, GiveTableSubElement>> rewardSections = giveTableElement.getGiveRewards();
|
||||
Map<String, GiveTableSubElement> rewards = rewardSections.get(key);
|
||||
List<String> keys = new ArrayList<>(rewards.keySet());
|
||||
int maxPage = panel.getMaxPage(keys);
|
||||
|
||||
panel.setOnPageChange(((player, currentPage, requestedPage) -> {
|
||||
if(requestedPage < 0 || requestedPage > maxPage) return false;
|
||||
|
||||
loadPage(panel, requestedPage, dropTable, giveTableElement, key, keys, rewardSections);
|
||||
return true;
|
||||
}));
|
||||
|
||||
loadPage(panel, 0, dropTable, giveTableElement, key, keys, rewardSections);
|
||||
}
|
||||
|
||||
private void loadPage(Panel panel, int page, DropTable dropTable, GiveTableElement giveTableElement, String key, List<String> keys, Map<String, Map<String, GiveTableSubElement>> rewardSections) {
|
||||
Map<String, GiveTableSubElement> rewards = rewardSections.get(key);
|
||||
NumberUtils numberUtils = NumberUtils.get();
|
||||
|
||||
panel.loadPage(page, (slot, realisticSlot) -> {
|
||||
if(slot >= keys.size()) {
|
||||
panel.setItem(realisticSlot, new ItemStack(Material.AIR), e->{});
|
||||
} else {
|
||||
String rewardSectionPosition = keys.get(slot);
|
||||
GiveTableSubElement giveTableSubElement = rewards.get(rewardSectionPosition);
|
||||
ItemStack itemStack = this.itemsFileManager.getItemStackConverter().from(this.itemsFileManager.getItemStackHolder("DefaultDropTableRewardsListItem"));
|
||||
|
||||
int position = NumberUtils.get().getInteger(key);
|
||||
Integer itemDrops = giveTableSubElement.getItems().size();
|
||||
Integer commandDrops = giveTableSubElement.getCommands().size();
|
||||
Double requiredPercentage = ObjectUtils.getValue(giveTableSubElement.getRequiredPercentage(), 0.0);
|
||||
Integer maxDrops = ObjectUtils.getValue(giveTableSubElement.getMaxDrops(), 3);
|
||||
Integer maxCommands = ObjectUtils.getValue(giveTableSubElement.getMaxCommands(), 3);
|
||||
Boolean randomDrops = ObjectUtils.getValue(giveTableSubElement.getRandomDrops(), false);
|
||||
Boolean randomCommands = ObjectUtils.getValue(giveTableSubElement.getRandomCommands(), false);
|
||||
Map<String, String> replaceMap = new HashMap<>();
|
||||
|
||||
replaceMap.put("{position}", numberUtils.formatDouble(position));
|
||||
replaceMap.put("{percentage}", numberUtils.formatDouble(requiredPercentage));
|
||||
replaceMap.put("{items}", numberUtils.formatDouble(itemDrops));
|
||||
replaceMap.put("{maxDrops}", numberUtils.formatDouble(maxDrops));
|
||||
replaceMap.put("{randomDrops}", ""+randomDrops);
|
||||
replaceMap.put("{commands}", numberUtils.formatDouble(commandDrops));
|
||||
replaceMap.put("{maxCommands}", numberUtils.formatDouble(maxCommands));
|
||||
replaceMap.put("{randomCommands}", ""+randomCommands);
|
||||
|
||||
ItemStackUtils.applyDisplayName(itemStack, this.plugin.getConfig().getString("Display.DropTable.GiveRewardsList.name"), replaceMap);
|
||||
ItemStackUtils.applyDisplayLore(itemStack, this.plugin.getConfig().getStringList("Display.DropTable.GiveRewardsList.lore"), replaceMap);
|
||||
|
||||
panel.setItem(realisticSlot, itemStack, event -> {
|
||||
ClickType clickType = event.getClick();
|
||||
|
||||
if(clickType == ClickType.SHIFT_RIGHT) {
|
||||
|
||||
rewards.remove(rewardSectionPosition);
|
||||
rewardSections.put(key, rewards);
|
||||
giveTableElement.setGiveRewards(rewardSections);
|
||||
saveDropTable((Player) event.getWhoClicked(), dropTable, giveTableElement, key);
|
||||
} else {
|
||||
//TODO OPEN Reward Editor
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private ClickAction getNewRewardSectionAction(DropTable dropTable, GiveTableElement giveTableElement, String key) {
|
||||
return event -> {
|
||||
Map<String, Map<String, GiveTableSubElement>> rewards = giveTableElement.getGiveRewards();
|
||||
Map<String, GiveTableSubElement> rewardSections = rewards.get(key);
|
||||
List<String> keys = new ArrayList<>(giveTableElement.getGiveRewards().keySet());
|
||||
int nextAvailable = NumberUtils.get().getNextAvailablePosition(keys);
|
||||
String nextKey = ""+nextAvailable;
|
||||
|
||||
if(rewardSections.containsKey(nextKey)) {
|
||||
Debug.FAILED_TO_CREATE_NEWPOSITION.debug(nextKey, BossAPI.getDropTableName(dropTable));
|
||||
return;
|
||||
}
|
||||
|
||||
rewardSections.put(nextKey, new GiveTableSubElement(new HashMap<>(), new HashMap<>(), 3, 3, false, false, 0.0));
|
||||
giveTableElement.setGiveRewards(rewards);
|
||||
saveDropTable((Player) event.getWhoClicked(), dropTable, giveTableElement, key);
|
||||
};
|
||||
}
|
||||
|
||||
private void saveDropTable(Player player, DropTable dropTable, GiveTableElement giveTableElement, String string) {
|
||||
dropTable.setRewards(BossAPI.convertObjectToJsonObject(giveTableElement));
|
||||
this.plugin.getDropTableFileManager().save();
|
||||
openFor(player, dropTable, giveTableElement, string);
|
||||
}
|
||||
}
|
||||
|
@ -1,6 +1,9 @@
|
||||
package com.songoda.epicbosses.utils;
|
||||
|
||||
import java.text.DecimalFormat;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Comparator;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author Charles Cullen
|
||||
@ -55,6 +58,23 @@ public class NumberUtils {
|
||||
return decimalFormat.format(d);
|
||||
}
|
||||
|
||||
public int getNextAvailablePosition(List<String> keys) {
|
||||
if (keys.isEmpty()) return 1;
|
||||
|
||||
List<Integer> currentIds = new ArrayList<>();
|
||||
|
||||
keys.stream().filter(NumberUtils.get()::isInt).forEach(s -> currentIds.add(Integer.valueOf(s)));
|
||||
currentIds.sort(Comparator.naturalOrder());
|
||||
|
||||
for (int i = 1; i <= currentIds.size(); i++) {
|
||||
if (i < currentIds.get(i - 1)) {
|
||||
return i;
|
||||
}
|
||||
}
|
||||
|
||||
return currentIds.size() + 1;
|
||||
}
|
||||
|
||||
public static NumberUtils get() {
|
||||
return INSTANCE;
|
||||
}
|
||||
|
@ -0,0 +1,16 @@
|
||||
package com.songoda.epicbosses.utils;
|
||||
|
||||
/**
|
||||
* @author Charles Cullen
|
||||
* @version 1.0.0
|
||||
* @since 31-Dec-18
|
||||
*/
|
||||
public class ObjectUtils {
|
||||
|
||||
public static <T> T getValue(T input, T defaultValue) {
|
||||
if(input == null) return defaultValue;
|
||||
|
||||
return input;
|
||||
}
|
||||
|
||||
}
|
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-U154</plugin.version>
|
||||
<plugin.version>1.0.0-U155</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
Block a user