Skip to content

Commit

Permalink
Combine emc functions, silly debug messages
Browse files Browse the repository at this point in the history
  • Loading branch information
BuildTools committed Jun 1, 2021
1 parent 9c7a90d commit e4e9c1b
Show file tree
Hide file tree
Showing 7 changed files with 74 additions and 82 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -45,16 +45,16 @@ public void onDefault(CommandSender sender) {
if (i.getType() != Material.AIR) {
if (ContainerStorage.isCrafting(i, plugin)) {
if (plugin.getEmcDefinitions().getEmcEQ().containsKey(i.getItemMeta().getDisplayName())) {
player.sendMessage(Messages.msgCmdEmcDisplay(i.getItemMeta().getDisplayName(), Utils.getEmcEq(plugin, i)));
player.sendMessage(Messages.msgCmdEmcDisplayStack(i.getItemMeta().getDisplayName(), i.getAmount(), Utils.getEmcEq(plugin, i) * i.getAmount()));
player.sendMessage(Messages.msgCmdEmcDisplay(i.getItemMeta().getDisplayName(), Utils.getEMC(plugin, i)));
player.sendMessage(Messages.msgCmdEmcDisplayStack(i.getItemMeta().getDisplayName(), i.getAmount(), Utils.getEMC(plugin, i) * i.getAmount()));
} else {
player.sendMessage(Messages.msgCmdEmcNone(plugin));
}
return;
}
if (plugin.getEmcDefinitions().getEmcExtended().containsKey(i.getType())) {
player.sendMessage(Messages.msgCmdEmcDisplay(i.getType(), Utils.getEMC(plugin, i.getType())));
player.sendMessage(Messages.msgCmdEmcDisplayStack(i.getType(), i.getAmount(), Utils.getEMC(plugin, i.getType()) * i.getAmount()));
player.sendMessage(Messages.msgCmdEmcDisplay(i.getType(), Utils.getEMC(plugin, i)));
player.sendMessage(Messages.msgCmdEmcDisplayStack(i.getType(), i.getAmount(), Utils.getEMC(plugin, i) * i.getAmount()));
} else {
player.sendMessage(Messages.msgCmdEmcNone(plugin));
}
Expand Down
39 changes: 9 additions & 30 deletions src/main/java/io/github/sefiraat/equivalencytech/gui/GUIItems.java
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
import io.github.sefiraat.equivalencytech.configuration.ConfigStrings;
import io.github.sefiraat.equivalencytech.misc.Utils;
import io.github.sefiraat.equivalencytech.statics.Config;
import io.github.sefiraat.equivalencytech.statics.ContainerStorage;
import io.github.sefiraat.equivalencytech.statics.Messages;
import io.github.sefiraat.equivalencytech.statics.SkullTextures;
import me.mattstudios.mfgui.gui.guis.GuiItem;
Expand Down Expand Up @@ -61,28 +62,17 @@ public static GuiItem guiOrbFiller(EquivalencyTech plugin) {
return g;
}

public static GuiItem guiEMCItem(EquivalencyTech plugin, Material material) {

GuiItem g = new GuiItem(material);
ItemStack i = g.getItemStack();
ItemMeta im = i.getItemMeta();
String itemName = Utils.materialFriendlyName(material);

im.setDisplayName(ChatColor.WHITE + itemName);
im.addItemFlags(ItemFlag.HIDE_ENCHANTS);

im.setLore(getEmcItemLore(plugin, material));
i.setItemMeta(im);
g.setItemStack(i);
return g;
}

public static GuiItem guiEMCItem(EquivalencyTech plugin, ItemStack itemStack) {
public static GuiItem guiEMCItem(EquivalencyTech plugin, ItemStack itemStack, boolean isVanilla) {

GuiItem g = new GuiItem(itemStack);
ItemMeta im = itemStack.getItemMeta();

im.setDisplayName(ChatColor.WHITE + im.getDisplayName());
if (isVanilla) {
im.setDisplayName(ChatColor.WHITE + Utils.materialFriendlyName(itemStack.getType()));
} else {
im.setDisplayName(ChatColor.WHITE + ChatColor.stripColor(im.getDisplayName()));
}

im.addItemFlags(ItemFlag.HIDE_ENCHANTS);

im.setLore(getEmcItemLore(plugin, itemStack));
Expand All @@ -91,21 +81,10 @@ public static GuiItem guiEMCItem(EquivalencyTech plugin, ItemStack itemStack) {
return g;
}

public static List<String> getEmcItemLore(EquivalencyTech plugin, Material material) {
ConfigStrings c = plugin.getConfigClass().getStrings();
List<String> lore = new ArrayList<>();
lore.add(Messages.THEME_EMC_PURPLE + "EMC: " + Utils.getEMC(plugin, material));
lore.add("");
lore.add(Messages.THEME_CLICK_INSTRUCTION + "Left Click: " + ChatColor.WHITE + c.getGuiEntryLeftClick());
lore.add(Messages.THEME_CLICK_INSTRUCTION + "Right Click: " + ChatColor.WHITE + c.getGuiEntryRightClick());
return lore;
}


public static List<String> getEmcItemLore(EquivalencyTech plugin, ItemStack itemStack) {
ConfigStrings c = plugin.getConfigClass().getStrings();
List<String> lore = new ArrayList<>();
lore.add(Messages.THEME_EMC_PURPLE + "EMC: " + Utils.getEmcEq(plugin, itemStack));
lore.add(Messages.THEME_EMC_PURPLE + "EMC: " + Utils.getEMC(plugin, itemStack));
lore.add("");
lore.add(Messages.THEME_CLICK_INSTRUCTION + "Left Click: " + ChatColor.WHITE + c.getGuiEntryLeftClick());
lore.add(Messages.THEME_CLICK_INSTRUCTION + "Right Click: " + ChatColor.WHITE + c.getGuiEntryRightClick());
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
package io.github.sefiraat.equivalencytech.gui;

import io.github.sefiraat.equivalencytech.EquivalencyTech;
import io.github.sefiraat.equivalencytech.misc.Utils;
import io.github.sefiraat.equivalencytech.statics.Config;
import io.github.sefiraat.equivalencytech.statics.ContainerStorage;
import io.github.sefiraat.equivalencytech.statics.Messages;
import jdk.jshell.execution.Util;
import me.mattstudios.mfgui.gui.components.ItemBuilder;
import me.mattstudios.mfgui.gui.guis.GuiItem;
import me.mattstudios.mfgui.gui.guis.PaginatedGui;
Expand Down Expand Up @@ -51,18 +53,36 @@ public static GuiTransmutationOrb buildGui(EquivalencyTech plugin, Player player

List<String> learnedItems = Config.getLearnedItems(plugin, player);

int leftOverSlots = GuiTransmutationOrb.PAGE_SIZE - (learnedItems.size() % GuiTransmutationOrb.PAGE_SIZE);

for (String s : learnedItems) {

ItemStack itemStack;
GuiItem guiItem;
boolean isVanilla = true;

if (plugin.getEqItems().getEqItemMap().containsKey(s)) {
guiItem = GUIItems.guiEMCItem(plugin, plugin.getEqItems().getEqItemMap().get(s).clone());
isVanilla = false;
}

if (isVanilla) {
itemStack = new ItemStack(Material.valueOf(s));
} else {
guiItem = GUIItems.guiEMCItem(plugin, Material.valueOf(s));
itemStack = plugin.getEqItems().getEqItemMap().get(s).clone();
}

if (Utils.getEMC(plugin, itemStack) == null) {
// A learned item has null emc - likely removed from the config post go live - skip
leftOverSlots += 1;
continue;
}

guiItem = GUIItems.guiEMCItem(plugin, itemStack, isVanilla);

guiItem.setAction(event -> emcItemClicked(event, plugin));
gui.addItem(guiItem);
}

int leftOverSlots = GuiTransmutationOrb.PAGE_SIZE - (learnedItems.size() % GuiTransmutationOrb.PAGE_SIZE);

for (int i = 0; i < leftOverSlots; i++) {
gui.addItem(GUIItems.guiOrbFiller(plugin));
Expand Down Expand Up @@ -167,25 +187,26 @@ private static void emcItemClicked(InventoryClickEvent e, EquivalencyTech plugin
}

private static void emcWithdrawOne(InventoryClickEvent e, EquivalencyTech plugin) {

Player player = (Player) e.getWhoClicked();

if (player.getInventory().firstEmpty() == -1) {
player.sendMessage(Messages.messageGuiNoSpace(plugin));
return;
}

boolean isEQ = ContainerStorage.isCrafting(e.getCurrentItem(), plugin);
ItemStack clickedItem = e.getCurrentItem();
boolean isEQ = ContainerStorage.isCrafting(clickedItem, plugin);
double playerEmc = Config.getPlayerEmc(plugin, player);
Double emcValue = Utils.getEMC(plugin, clickedItem);
String itemName;
Double emcValue;

if (isEQ) {
itemName = e.getCurrentItem().getItemMeta().getDisplayName();
emcValue = plugin.getEmcDefinitions().getEmcEQ().get(e.getCurrentItem().getItemMeta().getDisplayName());
itemName = clickedItem.getItemMeta().getDisplayName();
} else {
itemName = e.getCurrentItem().getType().toString();
emcValue = plugin.getEmcDefinitions().getEmcValue(e.getCurrentItem().getType());
itemName = clickedItem.getType().toString();
}

if (playerEmc >= emcValue) {
ItemStack itemStack;
if (isEQ) {
Expand All @@ -202,26 +223,24 @@ private static void emcWithdrawOne(InventoryClickEvent e, EquivalencyTech plugin
}

private static void emcWithdrawStack(InventoryClickEvent e, EquivalencyTech plugin) {

Player player = (Player) e.getWhoClicked();
double playerEmc = Config.getPlayerEmc(plugin, player);
ItemStack clickedItemStack = e.getCurrentItem();
Material material = clickedItemStack.getType();
ItemStack clickedItem = e.getCurrentItem();
Material material = clickedItem.getType();

boolean isEQ = ContainerStorage.isCrafting(e.getCurrentItem(), plugin);

String itemName;
Double emcValue;
Double emcValue = Utils.getEMC(plugin, clickedItem);

if (isEQ) {
itemName = e.getCurrentItem().getItemMeta().getDisplayName();
emcValue = plugin.getEmcDefinitions().getEmcEQ().get(e.getCurrentItem().getItemMeta().getDisplayName());
} else {
itemName = e.getCurrentItem().getType().toString();
emcValue = plugin.getEmcDefinitions().getEmcValue(material);
itemName = material.toString();
}


int amount = clickedItemStack.getMaxStackSize();
int amount = clickedItem.getMaxStackSize();
if (emcValue != null) {
double emcValueStack = emcValue * amount;
if (player.getInventory().firstEmpty() == -1) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,9 +30,8 @@ public void onPreCraft(PrepareItemCraftEvent e) {
Player player = (Player) e.getView().getPlayer();

if (e.getRecipe() != null && e.getRecipe().getResult().getType() == Material.PLAYER_HEAD) {
player.sendMessage("output valid");
ItemStack[] contents = e.getInventory().getMatrix();
List<ItemStack> contentlayer = new ArrayList<>();
List<ItemStack> contentLayer = new ArrayList<>();

for (ItemStack itemStack : contents) {
ItemStack clone = null;
Expand All @@ -41,32 +40,23 @@ public void onPreCraft(PrepareItemCraftEvent e) {
clone.setAmount(1);
player.sendMessage(clone.getType().toString());
}
contentlayer.add(clone);
contentLayer.add(clone);
}

if (contentlayer.equals(Recipes.recipeCoal2Check(plugin))) {
player.sendMessage("coal2");
if (contentLayer.equals(Recipes.recipeCoal2Check(plugin))) {
e.getInventory().setResult(plugin.getEqItems().getMobiusFuel().getItemClone());
} else if (contentlayer.equals(Recipes.recipeCoal3Check(plugin))) {
player.sendMessage("coal3");
} else if (contentLayer.equals(Recipes.recipeCoal3Check(plugin))) {
e.getInventory().setResult(plugin.getEqItems().getAeternalisFuel().getItemClone());
} else if (contentlayer.equals(Recipes.recipeDarkMatterCheck(plugin))) {
player.sendMessage("dark");
} else if (contentLayer.equals(Recipes.recipeDarkMatterCheck(plugin))) {
e.getInventory().setResult(plugin.getEqItems().getDarkMatter().getItemClone());
} else if (contentlayer.equals(Recipes.recipeRedMatterCheck(plugin))) {
player.sendMessage("red");
} else if (contentLayer.equals(Recipes.recipeRedMatterCheck(plugin))) {
e.getInventory().setResult(plugin.getEqItems().getRedMatter().getItemClone());
} else if (contentlayer.equals(Recipes.recipeTransmutationOrbCheck(plugin))) {
player.sendMessage("orb");
} else if (contentLayer.equals(Recipes.recipeTransmutationOrbCheck(plugin))) {
e.getInventory().setResult(plugin.getEqItems().getTransmutationOrb().getItemClone());
} else if (contentsEQ(contentlayer)) {
} else if (contentsEQ(contentLayer)) {
e.getInventory().setResult(new ItemStack(Material.AIR));
}

}



}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

import io.github.sefiraat.equivalencytech.EquivalencyTech;
import io.github.sefiraat.equivalencytech.items.*;
import net.md_5.bungee.api.ChatColor;
import org.bukkit.inventory.ItemStack;

import java.util.HashMap;
Expand Down Expand Up @@ -60,12 +61,12 @@ public EQItems(EquivalencyTech plugin) {
redMatter = new RedMatter(plugin);

eqItemMap = new HashMap<>();
eqItemMap.put(transmutationOrb.getItem().getItemMeta().getDisplayName(), transmutationOrb.getItemClone());
eqItemMap.put(alchemicalCoal.getItem().getItemMeta().getDisplayName(), alchemicalCoal.getItemClone());
eqItemMap.put(mobiusFuel.getItem().getItemMeta().getDisplayName(), mobiusFuel.getItemClone());
eqItemMap.put(aeternalisFuel.getItem().getItemMeta().getDisplayName(), aeternalisFuel.getItemClone());
eqItemMap.put(darkMatter.getItem().getItemMeta().getDisplayName(), darkMatter.getItemClone());
eqItemMap.put(redMatter.getItem().getItemMeta().getDisplayName(), redMatter.getItemClone());
eqItemMap.put(ChatColor.stripColor(transmutationOrb.getItem().getItemMeta().getDisplayName()), transmutationOrb.getItemClone());
eqItemMap.put(ChatColor.stripColor(alchemicalCoal.getItem().getItemMeta().getDisplayName()), alchemicalCoal.getItemClone());
eqItemMap.put(ChatColor.stripColor(mobiusFuel.getItem().getItemMeta().getDisplayName()), mobiusFuel.getItemClone());
eqItemMap.put(ChatColor.stripColor(aeternalisFuel.getItem().getItemMeta().getDisplayName()), aeternalisFuel.getItemClone());
eqItemMap.put(ChatColor.stripColor(darkMatter.getItem().getItemMeta().getDisplayName()), darkMatter.getItemClone());
eqItemMap.put(ChatColor.stripColor(redMatter.getItem().getItemMeta().getDisplayName()), redMatter.getItemClone());
}


Expand Down
14 changes: 8 additions & 6 deletions src/main/java/io/github/sefiraat/equivalencytech/misc/Utils.java
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package io.github.sefiraat.equivalencytech.misc;

import io.github.sefiraat.equivalencytech.EquivalencyTech;
import io.github.sefiraat.equivalencytech.statics.ContainerStorage;
import io.github.sefiraat.equivalencytech.statics.Messages;
import org.apache.commons.lang.WordUtils;
import org.bukkit.Material;
Expand All @@ -16,12 +17,13 @@ private Utils() {
throw new IllegalStateException("Utility class");
}

public static Double getEMC(EquivalencyTech plugin, Material m) {
return plugin.getEmcDefinitions().getEmcExtended().get(m);
}

public static Double getEmcEq(EquivalencyTech plugin, ItemStack i) {
return plugin.getEmcDefinitions().getEmcEQ().get(i.getItemMeta().getDisplayName());
public static Double getEMC(EquivalencyTech plugin, ItemStack itemStack) {
if (ContainerStorage.isCrafting(itemStack, plugin)) {
ItemStack eqStack = plugin.getEqItems().getEqItemMap().get(itemStack.getItemMeta().getDisplayName());
return plugin.getEmcDefinitions().getEmcEQ().get(eqStack.getItemMeta().getDisplayName());
} else {
return plugin.getEmcDefinitions().getEmcExtended().get(itemStack.getType());
}
}

public static String toTitleCase(String string) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

import io.github.sefiraat.equivalencytech.EquivalencyTech;
import io.github.sefiraat.equivalencytech.misc.Utils;
import org.bukkit.ChatColor;
import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.entity.Player;

Expand All @@ -16,7 +17,7 @@ private Config() {

public static void addLearnedItem(EquivalencyTech plugin, Player player, String itemName) {
FileConfiguration c = plugin.getLearnedItemsConfig();
c.set(player.getUniqueId().toString() + "." + itemName, true);
c.set(player.getUniqueId().toString() + "." + ChatColor.stripColor(itemName), true);
}

public static void removeLearnedItem(EquivalencyTech plugin, Player player, String itemName) {
Expand Down

0 comments on commit e4e9c1b

Please sign in to comment.