Skip to content

Commit

Permalink
Fix use custom number when use gui
Browse files Browse the repository at this point in the history
  • Loading branch information
VoChiDanh committed Jun 16, 2022
1 parent 795091f commit b0872a7
Show file tree
Hide file tree
Showing 6 changed files with 126 additions and 82 deletions.
28 changes: 16 additions & 12 deletions src/main/java/net/danh/storage/Commands/Storage.java
Expand Up @@ -42,13 +42,15 @@ public void playerexecute(Player p, String[] args) {
for (String name : Files.getdatafile().getConfigurationSection("players").getKeys(false)) {
PlayerData playerData = new PlayerData(name);
playerData.load();
playerData.getConfig().set("players." + name + ".auto.Smelt", getdatafile().getBoolean("players." + name + ".auto.Smelt"));
playerData.getConfig().set("players." + name + ".auto.Pick", getdatafile().getBoolean("players." + name + ".auto.Pick"));
for (String item : Objects.requireNonNull(getconfigfile().getConfigurationSection("Blocks")).getKeys(false)) {
playerData.getConfig().set("players." + name + ".items." + item + ".max", getdatafile().getInt("players." + name + ".items." + item + ".max"));
playerData.getConfig().set("players." + name + ".items." + item + ".amount", getdatafile().getInt("players." + name + ".items." + item + ".amount"));
if (playerData.getConfig().getKeys(true).size() == 0) {
playerData.getConfig().set("players." + name + ".auto.Smelt", getdatafile().getBoolean("players." + name + ".auto.Smelt"));
playerData.getConfig().set("players." + name + ".auto.Pick", getdatafile().getBoolean("players." + name + ".auto.Pick"));
for (String item : Objects.requireNonNull(getconfigfile().getConfigurationSection("Blocks")).getKeys(false)) {
playerData.getConfig().set("players." + name + ".items." + item + ".max", getdatafile().getInt("players." + name + ".items." + item + ".max"));
playerData.getConfig().set("players." + name + ".items." + item + ".amount", getdatafile().getInt("players." + name + ".items." + item + ".amount"));
}
playerData.save();
}
playerData.save();
}
sendPlayerMessage(p, "&aDone");
}
Expand Down Expand Up @@ -292,13 +294,15 @@ public void consoleexecute(ConsoleCommandSender c, String[] args) {
for (String name : Files.getdatafile().getConfigurationSection("players").getKeys(false)) {
PlayerData playerData = new PlayerData(name);
playerData.load();
playerData.getConfig().set("players." + name + ".auto.Smelt", getdatafile().getBoolean("players." + name + ".auto.Smelt"));
playerData.getConfig().set("players." + name + ".auto.Pick", getdatafile().getBoolean("players." + name + ".auto.Pick"));
for (String item : Objects.requireNonNull(getconfigfile().getConfigurationSection("Blocks")).getKeys(false)) {
playerData.getConfig().set("players." + name + ".items." + item + ".max", getdatafile().getInt("players." + name + ".items." + item + ".max"));
playerData.getConfig().set("players." + name + ".items." + item + ".amount", getdatafile().getInt("players." + name + ".items." + item + ".amount"));
if (playerData.getConfig().getKeys(true).size() == 0) {
playerData.getConfig().set("players." + name + ".auto.Smelt", getdatafile().getBoolean("players." + name + ".auto.Smelt"));
playerData.getConfig().set("players." + name + ".auto.Pick", getdatafile().getBoolean("players." + name + ".auto.Pick"));
for (String item : Objects.requireNonNull(getconfigfile().getConfigurationSection("Blocks")).getKeys(false)) {
playerData.getConfig().set("players." + name + ".items." + item + ".max", getdatafile().getInt("players." + name + ".items." + item + ".max"));
playerData.getConfig().set("players." + name + ".items." + item + ".amount", getdatafile().getInt("players." + name + ".items." + item + ".amount"));
}
playerData.save();
}
playerData.save();
}
sendConsoleMessage(c, "&aDone");
}
Expand Down
41 changes: 32 additions & 9 deletions src/main/java/net/danh/storage/Gui/Chat.java
Expand Up @@ -10,50 +10,73 @@
import org.bukkit.event.player.AsyncPlayerChatEvent;
import org.bukkit.scheduler.BukkitRunnable;

import static net.danh.dcore.Random.Number.isInteger;

public class Chat implements Listener {

@EventHandler
public void onChat(AsyncPlayerChatEvent e) {
Player p = e.getPlayer();
String msg = ChatColor.stripColor(e.getMessage());
if (isInteger(msg)) {
if (!Data.item.isEmpty() && Data.click.containsValue(ClickType.LEFT) && Data.click.containsKey(p) && Data.action.contains(p)) {
if (!Data.item.isEmpty() && Data.click.containsValue(ClickType.LEFT) && Data.click.containsKey(p) && Data.action.contains(p)) {
if (!msg.equalsIgnoreCase("exit")) {
new BukkitRunnable() {
@Override
public void run() {
p.performCommand("storage take " + Data.item.get(p) + " " + Integer.parseInt(msg));
p.performCommand("storage take " + Data.item.get(p).toUpperCase() + " " + msg);
Data.item.remove(p);
Data.click.remove(p);
Data.action.remove(p);
}
}.runTask(Storage.get());
e.setCancelled(true);
}
if (msg.equalsIgnoreCase("exit")) {
Data.item.remove(p);
Data.click.remove(p);
Data.action.remove(p);
e.setCancelled(true);
p.openInventory(OpenGui.Open(p));
}
if (!Data.item.isEmpty() && Data.click.containsValue(ClickType.RIGHT) && Data.click.containsKey(p) && Data.action.contains(p)) {
}
if (!Data.item.isEmpty() && Data.click.containsValue(ClickType.RIGHT) && Data.click.containsKey(p) && Data.action.contains(p)) {
if (!msg.equalsIgnoreCase("exit")) {
new BukkitRunnable() {
@Override
public void run() {
p.performCommand("storage add " + Data.item.get(p) + " " + Integer.parseInt(msg));
p.performCommand("storage add " + Data.item.get(p).toUpperCase() + " " + msg);
Data.item.remove(p);
Data.click.remove(p);
Data.action.remove(p);
}
}.runTask(Storage.get());
e.setCancelled(true);
}
if (msg.equalsIgnoreCase("exit")) {
Data.item.remove(p);
Data.click.remove(p);
Data.action.remove(p);
e.setCancelled(true);
p.openInventory(OpenGui.Open(p));
}
if (!Data.item.isEmpty() && Data.click.containsValue(ClickType.DROP) && Data.click.containsKey(p) && Data.action.contains(p)) {
}
if (!Data.item.isEmpty() && Data.click.containsValue(ClickType.DROP) && Data.click.containsKey(p) && Data.action.contains(p)) {
if (!msg.equalsIgnoreCase("exit")) {
new BukkitRunnable() {
@Override
public void run() {
p.performCommand("storage sell " + Data.item.get(p) + " " + Integer.parseInt(msg));
p.performCommand("storage sell " + Data.item.get(p).toUpperCase() + " " + msg);
Data.item.remove(p);
Data.click.remove(p);
Data.action.remove(p);
}
}.runTask(Storage.get());
e.setCancelled(true);
}
if (msg.equalsIgnoreCase("exit")) {
Data.item.remove(p);
Data.click.remove(p);
Data.action.remove(p);
e.setCancelled(true);
p.openInventory(OpenGui.Open(p));
}
}
}
Expand Down
121 changes: 60 additions & 61 deletions src/main/java/net/danh/storage/Gui/InventoryClick.java
Expand Up @@ -13,8 +13,8 @@
import org.bukkit.event.inventory.InventoryClickEvent;
import org.bukkit.scheduler.BukkitRunnable;

import static net.danh.storage.Manager.Files.getguifile;
import static net.danh.storage.Manager.Files.papi;
import static net.danh.dcore.Utils.Player.sendPlayerMessage;
import static net.danh.storage.Manager.Files.*;

public class InventoryClick implements Listener {

Expand All @@ -30,74 +30,73 @@ public void onClick(InventoryClickEvent e) {
e.setResult(Event.Result.DENY);
NMSAssistant nms = new NMSAssistant();
if (e.isCancelled()) {
for (String string : getguifile().getConfigurationSection("ITEMS").getKeys(false)) {
String name = e.getInventory().getItem(e.getSlot()).getType().toString();
if (nms.isVersionLessThanOrEqualTo(12)) {
short i_data = e.getInventory().getItem(e.getSlot()).getDurability();
for (String f_name : getguifile().getConfigurationSection("CONVERT").getKeys(false)) {
if (f_name.equalsIgnoreCase(name)) {
short data = Short.parseShort(getguifile().getString("CONVERT." + name + ".DATA"));
if (data == i_data) {
name = getguifile().getString("CONVERT." + name + ".MATERIAL");
break;
}
}
}
} else {
for (String f_name : getguifile().getConfigurationSection("CONVERT").getKeys(false)) {
if (f_name.equalsIgnoreCase(name)) {
String name = e.getInventory().getItem(e.getSlot()).getType().toString();
if (nms.isVersionLessThanOrEqualTo(12)) {
short i_data = e.getInventory().getItem(e.getSlot()).getDurability();
for (String f_name : getguifile().getConfigurationSection("CONVERT").getKeys(false)) {
if (f_name.equalsIgnoreCase(name)) {
short data = Short.parseShort(getguifile().getString("CONVERT." + name + ".DATA"));
if (data == i_data) {
name = getguifile().getString("CONVERT." + name + ".MATERIAL");
break;
}
}
}
if (e.getSlot() == getguifile().getInt("ITEMS." + string + ".Block.slot")) {
if (e.getClick() == ClickType.LEFT) {
Data.click.put(p, ClickType.LEFT);
Data.action.add(p);
Data.item.put(p, name);
p.closeInventory();
}
if (e.getClick() == ClickType.RIGHT) {
Data.click.put(p, ClickType.RIGHT);
Data.action.add(p);
Data.item.put(p, name);
p.closeInventory();
} else {
for (String f_name : getguifile().getConfigurationSection("CONVERT").getKeys(false)) {
if (f_name.equalsIgnoreCase(name)) {
name = getguifile().getString("CONVERT." + name + ".MATERIAL");
break;
}
if (e.getClick() == ClickType.DROP) {
Data.click.put(p, ClickType.DROP);
Data.action.add(p);
Data.item.put(p, name);
p.closeInventory();
}
if (e.getClick() == ClickType.SHIFT_LEFT) {
String finalName = name;
new BukkitRunnable() {
@Override
public void run() {
p.performCommand("storage take " + finalName + " all");
}
}.runTask(Storage.get());
}
}
if (e.getClick() == ClickType.LEFT) {
Data.click.put(p, ClickType.LEFT);
Data.action.add(p);
Data.item.put(p, name);
p.closeInventory();
sendPlayerMessage(p, getlanguagefile().getString("Input.Chat"));
}
if (e.getClick() == ClickType.RIGHT) {
Data.click.put(p, ClickType.RIGHT);
Data.action.add(p);
Data.item.put(p, name);
p.closeInventory();
sendPlayerMessage(p, getlanguagefile().getString("Input.Chat"));
}
if (e.getClick() == ClickType.DROP) {
Data.click.put(p, ClickType.DROP);
Data.action.add(p);
Data.item.put(p, name);
p.closeInventory();
sendPlayerMessage(p, getlanguagefile().getString("Input.Chat"));
}
if (e.getClick() == ClickType.SHIFT_LEFT) {
String finalName = name;
new BukkitRunnable() {
@Override
public void run() {
p.performCommand("storage take " + finalName + " all");
}
if (e.getClick() == ClickType.SHIFT_RIGHT) {
String finalName1 = name;
new BukkitRunnable() {
@Override
public void run() {
p.performCommand("storage add " + finalName1 + " all");
}
}.runTask(Storage.get());
}.runTask(Storage.get());
}
if (e.getClick() == ClickType.SHIFT_RIGHT) {
String finalName1 = name;
new BukkitRunnable() {
@Override
public void run() {
p.performCommand("storage add " + finalName1 + " all");
}
if (e.getClick() == ClickType.CONTROL_DROP) {
String finalName2 = name;
new BukkitRunnable() {
@Override
public void run() {
p.performCommand("storage sell " + finalName2 + " all");
}
}.runTask(Storage.get());
}.runTask(Storage.get());
}
if (e.getClick() == ClickType.CONTROL_DROP) {
String finalName2 = name;
new BukkitRunnable() {
@Override
public void run() {
p.performCommand("storage sell " + finalName2 + " all");
}
}
}.runTask(Storage.get());
}
}
}
Expand Down
1 change: 1 addition & 0 deletions src/main/java/net/danh/storage/Manager/Data.java
Expand Up @@ -449,5 +449,6 @@ public static void savePlayerData(@NotNull Player p, String item) {
data.getConfig().set("players." + p.getName() + ".items." + item + ".max", getMaxStorage(p, item));
data.getConfig().set("players." + p.getName() + ".items." + item + ".amount", getStorage(p, item));
data.save();
data.load();
}
}
16 changes: 16 additions & 0 deletions src/main/java/net/danh/storage/Storage.java
Expand Up @@ -15,6 +15,7 @@
import net.danh.storage.Hook.PlaceholderAPI;
import net.danh.storage.Manager.Data;
import net.danh.storage.Manager.Files;
import net.danh.storage.Manager.PlayerData;
import net.danh.storage.Manager.SpigotUpdater;
import net.milkbowl.vault.economy.Economy;
import org.bstats.bukkit.Metrics;
Expand Down Expand Up @@ -101,6 +102,21 @@ public void onEnable() {
DCore.dCoreLog("&eDiscord: https://discord.gg/CWjaq5fZN9");
DCore.dCoreLog("&eGithub: " + getDescription().getWebsite());
}
if (Files.getdatafile().contains("players")) {
for (String name : Files.getdatafile().getConfigurationSection("players").getKeys(false)) {
PlayerData playerData = new PlayerData(name);
playerData.load();
if (playerData.getConfig().getKeys(true).size() == 0) {
playerData.getConfig().set("players." + name + ".auto.Smelt", getdatafile().getBoolean("players." + name + ".auto.Smelt"));
playerData.getConfig().set("players." + name + ".auto.Pick", getdatafile().getBoolean("players." + name + ".auto.Pick"));
for (String item : Objects.requireNonNull(getconfigfile().getConfigurationSection("Blocks")).getKeys(false)) {
playerData.getConfig().set("players." + name + ".items." + item + ".max", getdatafile().getInt("players." + name + ".items." + item + ".max"));
playerData.getConfig().set("players." + name + ".items." + item + ".amount", getdatafile().getInt("players." + name + ".items." + item + ".amount"));
}
playerData.save();
}
}
}
(new BukkitRunnable() {
public void run() {
try {
Expand Down
1 change: 1 addition & 0 deletions src/main/resources/language.yml
Expand Up @@ -48,6 +48,7 @@ Input:
Not_A_Number: "&cThe input is not a number."
Space_Error: "&cThe input can not contain space character."
Invaild_Number: "&cYou must type a number greater than 0"
Chat: "&6How many item you want? Type amount, chat 'exit' to exit"
Type:
autosmelt: "&6Auto Smelt"
autopickup: "&6Auto Pickup"

0 comments on commit b0872a7

Please sign in to comment.