Skip to content
This repository has been archived by the owner on Sep 9, 2024. It is now read-only.

Commit

Permalink
2.9.8-rc4
Browse files Browse the repository at this point in the history
- Optimize performance for loading enchants
- Reduce code size
- Added ability to read custom enchant categories
- Added dynamic sized inventories (inventory sizes for enchants will be the correct sizes no matter if new enchants are made)
- Better error catching
- Other small improvements
  • Loading branch information
Puyodead1 committed Nov 7, 2019
1 parent 5336e88 commit d96eaaa
Show file tree
Hide file tree
Showing 14 changed files with 1,480 additions and 815 deletions.
2 changes: 1 addition & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<modelVersion>4.0.0</modelVersion>
<groupId>me.puyodead1</groupId>
<artifactId>RPBookGUI</artifactId>
<version>2.9.8-rc2</version>
<version>2.9.8-rc4</version>
<name>RPBookGUI</name>
<repositories>
<repository>
Expand Down
173 changes: 111 additions & 62 deletions src/main/java/io/github/puyodead1/rpbookgui/Commands/BookGUICommand.java
Original file line number Diff line number Diff line change
@@ -1,96 +1,145 @@
package io.github.puyodead1.rpbookgui.Commands;

import java.io.File;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;

import org.bukkit.Bukkit;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemStack;

import io.github.puyodead1.rpbookgui.Inventories;
import io.github.puyodead1.rpbookgui.RPBookGUI;
import io.github.puyodead1.rpbookgui.Utils.RPBookGUIUtils;
import me.randomhashtags.randompackage.addon.EnchantRarity;
import me.randomhashtags.randompackage.util.addon.FileCustomEnchant;
import me.randomhashtags.randompackage.util.addon.FileEnchantRarity;
import me.randomhashtags.randompackage.util.addon.RPAddon;

public class BookGUICommand implements CommandExecutor {

private FileConfiguration rpbgConfig = RPBookGUI.getPlugin.getConfig();

@Override
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
public boolean onCommand(CommandSender sender, Command command,
String label, String[] args) {
if (sender instanceof Player) {
Player player = (Player) sender;
switch (args.length) {
case 0:
if (player.hasPermission(rpbgConfig.getString("permissions.bookgui")) || player.isOp()
|| !rpbgConfig.getBoolean("settings.use permissions")) {
player.openInventory(Inventories.MainGUI());
return true;
} else {
player.sendMessage(RPBookGUIUtils.ChatColor(rpbgConfig.getString("messages.no permission")));
return false;
}
case 1:
if (args[0].equalsIgnoreCase("help")) {
if (player.hasPermission(rpbgConfig.getString("permissions.bookgui help")) || player.isOp()
|| !rpbgConfig.getBoolean("settings.use permissions")) {
player.sendMessage(RPBookGUIUtils
.ChatColor("&6==============&d&lRPBook GUI&6============================"));
player.sendMessage(RPBookGUIUtils.ChatColor("&7/bookgui - Open main menu."));
player.sendMessage(RPBookGUIUtils.ChatColor("&7/bookgui help - This help message."));
player.sendMessage(RPBookGUIUtils.ChatColor("&7/bookgui settings - Open settings menu."));
player.sendMessage(RPBookGUIUtils.ChatColor("&7/bookgui info - show plugin info."));
player.sendMessage(
RPBookGUIUtils.ChatColor("&6====================================================="));
return true;
} else {
player.sendMessage(RPBookGUIUtils.ChatColor(rpbgConfig.getString("messages.no permission")));
return false;
}
} else if (args[0].equalsIgnoreCase("settings")) {
if (player.hasPermission(rpbgConfig.getString("permissions.bookgui settings")) || player.isOp()) {
player.openInventory(Inventories.Settings());
case 0 :
if (player.hasPermission(
rpbgConfig.getString("permissions.bookgui"))
|| player.isOp() || !rpbgConfig
.getBoolean("settings.use permissions")) {
player.openInventory(Inventories.MainGUI());
return true;
} else {
player.sendMessage(RPBookGUIUtils.ChatColor(rpbgConfig.getString("messages.no permission")));
player.sendMessage(RPBookGUIUtils.ChatColor(rpbgConfig
.getString("messages.no permission")));
return false;
}
} else if (args[0].equalsIgnoreCase("info")) {
if (player.hasPermission(rpbgConfig.getString("permissions.bookgui info")) || player.isOp()) {
player.sendMessage(RPBookGUIUtils
.ChatColor("&6==============&d&lRPBook GUI&6============================"));
player.sendMessage(RPBookGUIUtils.ChatColor("&7+ Author: &b&lPuyodead1"));
player.sendMessage(RPBookGUIUtils.ChatColor(
"&7+ RPBook GUI Version: &e" + RPBookGUI.getPlugin.getDescription().getVersion()));
player.sendMessage(RPBookGUIUtils.ChatColor("&7+ RandomPackage Version: &e"
+ Bukkit.getPluginManager().getPlugin("RandomPackage").getDescription().getVersion()));
player.sendMessage(
RPBookGUIUtils.ChatColor("&6====================================================="));
return true;
} else {
player.sendMessage(RPBookGUIUtils.ChatColor(rpbgConfig.getString("messages.no permission")));
return false;
}
} else if (args[0].equalsIgnoreCase("reload"))
if (player.hasPermission(rpbgConfig.getString("permissions.bookgui reload")) || player.isOp())
try {
RPBookGUI.getPlugin.reloadConfig();
player.sendMessage(
RPBookGUIUtils.ChatColor(rpbgConfig.getString("messages.config reloaded")));
case 1 :
if (args[0].equalsIgnoreCase("help")) {
if (player
.hasPermission(rpbgConfig
.getString("permissions.bookgui help"))
|| player.isOp() || !rpbgConfig.getBoolean(
"settings.use permissions")) {
player.sendMessage(RPBookGUIUtils.ChatColor(
"&6==============&d&lRPBook GUI&6============================"));
player.sendMessage(RPBookGUIUtils
.ChatColor("&7/bookgui - Open main menu."));
player.sendMessage(RPBookGUIUtils.ChatColor(
"&7/bookgui help - This help message."));
player.sendMessage(RPBookGUIUtils.ChatColor(
"&7/bookgui settings - Open settings menu."));
player.sendMessage(RPBookGUIUtils.ChatColor(
"&7/bookgui info - show plugin info."));
player.sendMessage(RPBookGUIUtils.ChatColor(
"&6====================================================="));
return true;
} catch (Exception e) {
e.printStackTrace();
player.sendMessage(
RPBookGUIUtils.ChatColor(rpbgConfig.getString("messages.no permission")));
} else {
player.sendMessage(RPBookGUIUtils
.ChatColor(rpbgConfig.getString(
"messages.no permission")));
return false;
}
} else if (args[0].equalsIgnoreCase("settings")) {
if (player
.hasPermission(rpbgConfig.getString(
"permissions.bookgui settings"))
|| player.isOp()) {
player.openInventory(Inventories.Settings());
return true;
} else {
player.sendMessage(RPBookGUIUtils
.ChatColor(rpbgConfig.getString(
"messages.no permission")));
return false;
}
} else if (args[0].equalsIgnoreCase("info")) {
if (player
.hasPermission(rpbgConfig
.getString("permissions.bookgui info"))
|| player.isOp()) {
player.sendMessage(RPBookGUIUtils.ChatColor(
"&6==============&d&lRPBook GUI&6============================"));
player.sendMessage(RPBookGUIUtils
.ChatColor("&7+ Author: &b&lPuyodead1"));
player.sendMessage(RPBookGUIUtils
.ChatColor("&7+ RPBook GUI Version: &e"
+ RPBookGUI.getPlugin
.getDescription()
.getVersion()));
player.sendMessage(RPBookGUIUtils.ChatColor(
"&7+ RandomPackage Version: &e" + Bukkit
.getPluginManager()
.getPlugin("RandomPackage")
.getDescription().getVersion()));
player.sendMessage(RPBookGUIUtils.ChatColor(
"&6====================================================="));
return true;
} else {
player.sendMessage(RPBookGUIUtils
.ChatColor(rpbgConfig.getString(
"messages.no permission")));
return false;
}
} else if (args[0].equalsIgnoreCase("reload"))
if (player
.hasPermission(rpbgConfig.getString(
"permissions.bookgui reload"))
|| player.isOp())
try {
RPBookGUI.getPlugin.reloadConfig();
player.sendMessage(RPBookGUIUtils
.ChatColor(rpbgConfig.getString(
"messages.config reloaded")));
return true;
} catch (Exception e) {
e.printStackTrace();
player.sendMessage(RPBookGUIUtils
.ChatColor(rpbgConfig.getString(
"messages.no permission")));
return false;
}
else {
player.sendMessage(RPBookGUIUtils
.ChatColor(rpbgConfig.getString(
"messages.no permission")));
return false;
}
else {
player.sendMessage(RPBookGUIUtils.ChatColor(rpbgConfig.getString("messages.no permission")));
return false;
}
}
return true;
} else {
sender.sendMessage(RPBookGUIUtils.ChatColor(rpbgConfig.getString("messages.only players")));
sender.sendMessage(RPBookGUIUtils
.ChatColor(rpbgConfig.getString("messages.only players")));
return false;
}
}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
package io.github.puyodead1.rpbookgui.Events;

import org.bukkit.Material;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.inventory.ClickType;
import org.bukkit.event.inventory.InventoryClickEvent;
import org.bukkit.inventory.ItemStack;

import io.github.puyodead1.rpbookgui.Inventories;
import io.github.puyodead1.rpbookgui.RPBookGUI;
import io.github.puyodead1.rpbookgui.Utils.RPBookGUIUtils;
import me.randomhashtags.randompackage.util.RPStorage;
import me.randomhashtags.randompackage.util.universal.UMaterial;

public class EnchantInventoryClick extends RPBookGUIUtils implements Listener {

@EventHandler
public void InventoryClickEvent(InventoryClickEvent e) {
if (!e.isCancelled() && e.getCurrentItem() != null
&& !e.getCurrentItem().getType().equals(Material.AIR)
&& e.getClickedInventory() != null && e.getCursor() != null
&& !e.getClick().equals(ClickType.DOUBLE_CLICK)) {
ItemStack item = e.getCurrentItem();
Player player = (Player) e.getWhoClicked();
String invTitle = e.getView().getTitle();

if (enchants.keySet().contains(
Strip(invTitle).toUpperCase().replace(" ", "_"))) {
e.setCancelled(true);

if (item.getType()
.equals(UMaterial.match("BOOK").getMaterial())) {
// Note: there was the old enchant constructor removal here,
// but
// doesnt seem needed as there is only one enchant now
if (RPBookGUI.getPlugin.getConfig().getBoolean(
"settings.use success destroy configuration")) {
player.getOpenInventory().close();
player.openInventory(
Inventories.SuccessDestroySelection(
RPStorage.valueOfCustomEnchant(item)));
} else {
player.getInventory().addItem(item);
if (!RPBookGUI.getPlugin.getConfig()
.getBoolean("settings.keep inventory open"))
player.getOpenInventory().close();
player.sendMessage(RPBookGUIUtils
.ChatColor(RPBookGUI.getPlugin.getConfig()
.getString("messages.added book")
.replace("{NAME}", item.getItemMeta()
.getDisplayName())));
}
} else {
player.getOpenInventory().close();
player.openInventory(Inventories.MainGUI());
}
}
}
}
}
Loading

0 comments on commit d96eaaa

Please sign in to comment.