P2P-Develop/PeyangATM

View on GitHub
src/main/java/ml/peya/plugins/Moneys/MoneyUnit.java

Summary

Maintainability
A
0 mins
Test Coverage
package ml.peya.plugins.Moneys;
 
import ml.peya.plugins.*;
import ml.peya.plugins.Inventorys.*;
import ml.peya.plugins.Utils.*;
import org.bukkit.*;
import org.bukkit.inventory.*;
import org.bukkit.inventory.meta.*;
 
import java.util.*;
 
public class MoneyUnit
{
private static String colorCode;
private static Material item;
private static String preSuffix;
 
private static void switchMoney(int money)
{
ArrayList<Material> items = Atm.itemList;
switch (money)
{
case 1: //いち
colorCode = "§7";
item = items.get(0);
preSuffix = "§a";
break;
case 10: //じゅう
colorCode = "§9";
item = items.get(1);
preSuffix = "§a";
break;
case 100: //ひゃく
colorCode = "§f";
item = items.get(2);
preSuffix = "§a";
break;
case 1000: //せん
colorCode = "§c";
item = items.get(3);
preSuffix = "§a";
break;
case 10000: //いちまん
colorCode = "§6";
item = items.get(4);
preSuffix = "§a";
break;
case 100000: //じゅうまん
colorCode = "§4§l";
item = items.get(5);
preSuffix = "§a";
break;
case 1000000: //ひゃくまん
colorCode = "§b§l";
item = items.get(6);
preSuffix = "§a";
break;
case 10000000: //いっせんまん
colorCode = "§5§l";
item = items.get(7);
preSuffix = "§a";
break;
case 100000000: //いちおく
colorCode = "§1§k1§9§k2§l§6";
item = items.get(8);
preSuffix = "§9§k2§1§k1§r§a";
break;
default:
colorCode = "Unknown";
item = Material.BARRIER;
preSuffix = "Unknown";
}
}
 
public static ItemStack getItemByInt(int money)
{
 
String moneyString = String.valueOf(money);
switchMoney(money);
 
ItemStack stack = new ItemStack(item);
 
ArrayList<String> lore = new ArrayList<>();
ArrayList<String> loreTranslate = Atm.language.translateStringList("lore");
 
 
lore.add(loreTranslate.get(0).replace("$server$", Atm.config.getString("server")));
lore.add(Translate.replaceMoney(colorCode + loreTranslate.get(1), money));
lore.add(loreTranslate.get(2));
 
loreTranslate.remove(2);
loreTranslate.remove(1);
loreTranslate.remove(0);
lore.addAll(loreTranslate);
 
ItemMeta meta = stack.getItemMeta();
meta.setDisplayName(colorCode + moneyString + preSuffix + "Peyallion");
meta.setLore(lore);
stack.setItemMeta(meta);
return GlowUtil.setGlow(stack);
}
 
public static int getMoneyByItems(ItemStack item)
{
ArrayList<Material> itemList= Atm.itemList;
if (!isMoneyItem(item)) return 0;
Material itemMaterial = item.getType();
return getMoneyByMaterial(itemMaterial, itemList);
}
 
private static int getMoneyByMaterial(Material itemMaterial, ArrayList<Material> itemList)
{
for (Material item: itemList)
{
if (item.equals(itemMaterial))
return getDataBase().get(itemList.indexOf(item));
}
return 0;
}
 
private static ArrayList<Integer> getDataBase()
{
ArrayList<Integer> dataBase = new ArrayList<>();
int count = 1;
dataBase.add(count);
for (int i = 0; i < 8; i ++)
{
dataBase.add(10 * count);
count = 10 * count;
}
return dataBase;
}
 
public static boolean isMoneyItem(ItemStack item)
{
if (InventoryItem.isAirOrNull(item))
return false;
ItemMeta meta = item.getItemMeta();
ArrayList<String> lore = (ArrayList<String>) meta.getLore();
if (!meta.hasLore() || lore.size() == 0)
return false;
String realLore = Atm.language.translateStringList("lore").get(0).replace("$server$", Atm.config.getString("server"));
return lore.get(0).equals(realLore);
}
 
}