update... big update
/gift переделал конфиг и чутка менюшку завтра продолжу
This commit is contained in:
parent
6fc6ba55bc
commit
2706c8e23a
124
.idea/uiDesigner.xml
generated
Normal file
124
.idea/uiDesigner.xml
generated
Normal file
@ -0,0 +1,124 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="Palette2">
|
||||
<group name="Swing">
|
||||
<item class="com.intellij.uiDesigner.HSpacer" tooltip-text="Horizontal Spacer" icon="/com/intellij/uiDesigner/icons/hspacer.svg" removable="false" auto-create-binding="false" can-attach-label="false">
|
||||
<default-constraints vsize-policy="1" hsize-policy="6" anchor="0" fill="1" />
|
||||
</item>
|
||||
<item class="com.intellij.uiDesigner.VSpacer" tooltip-text="Vertical Spacer" icon="/com/intellij/uiDesigner/icons/vspacer.svg" removable="false" auto-create-binding="false" can-attach-label="false">
|
||||
<default-constraints vsize-policy="6" hsize-policy="1" anchor="0" fill="2" />
|
||||
</item>
|
||||
<item class="javax.swing.JPanel" icon="/com/intellij/uiDesigner/icons/panel.svg" removable="false" auto-create-binding="false" can-attach-label="false">
|
||||
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3" />
|
||||
</item>
|
||||
<item class="javax.swing.JScrollPane" icon="/com/intellij/uiDesigner/icons/scrollPane.svg" removable="false" auto-create-binding="false" can-attach-label="true">
|
||||
<default-constraints vsize-policy="7" hsize-policy="7" anchor="0" fill="3" />
|
||||
</item>
|
||||
<item class="javax.swing.JButton" icon="/com/intellij/uiDesigner/icons/button.svg" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||
<default-constraints vsize-policy="0" hsize-policy="3" anchor="0" fill="1" />
|
||||
<initial-values>
|
||||
<property name="text" value="Button" />
|
||||
</initial-values>
|
||||
</item>
|
||||
<item class="javax.swing.JRadioButton" icon="/com/intellij/uiDesigner/icons/radioButton.svg" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||
<default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
|
||||
<initial-values>
|
||||
<property name="text" value="RadioButton" />
|
||||
</initial-values>
|
||||
</item>
|
||||
<item class="javax.swing.JCheckBox" icon="/com/intellij/uiDesigner/icons/checkBox.svg" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||
<default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
|
||||
<initial-values>
|
||||
<property name="text" value="CheckBox" />
|
||||
</initial-values>
|
||||
</item>
|
||||
<item class="javax.swing.JLabel" icon="/com/intellij/uiDesigner/icons/label.svg" removable="false" auto-create-binding="false" can-attach-label="false">
|
||||
<default-constraints vsize-policy="0" hsize-policy="0" anchor="8" fill="0" />
|
||||
<initial-values>
|
||||
<property name="text" value="Label" />
|
||||
</initial-values>
|
||||
</item>
|
||||
<item class="javax.swing.JTextField" icon="/com/intellij/uiDesigner/icons/textField.svg" removable="false" auto-create-binding="true" can-attach-label="true">
|
||||
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
|
||||
<preferred-size width="150" height="-1" />
|
||||
</default-constraints>
|
||||
</item>
|
||||
<item class="javax.swing.JPasswordField" icon="/com/intellij/uiDesigner/icons/passwordField.svg" removable="false" auto-create-binding="true" can-attach-label="true">
|
||||
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
|
||||
<preferred-size width="150" height="-1" />
|
||||
</default-constraints>
|
||||
</item>
|
||||
<item class="javax.swing.JFormattedTextField" icon="/com/intellij/uiDesigner/icons/formattedTextField.svg" removable="false" auto-create-binding="true" can-attach-label="true">
|
||||
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
|
||||
<preferred-size width="150" height="-1" />
|
||||
</default-constraints>
|
||||
</item>
|
||||
<item class="javax.swing.JTextArea" icon="/com/intellij/uiDesigner/icons/textArea.svg" removable="false" auto-create-binding="true" can-attach-label="true">
|
||||
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
|
||||
<preferred-size width="150" height="50" />
|
||||
</default-constraints>
|
||||
</item>
|
||||
<item class="javax.swing.JTextPane" icon="/com/intellij/uiDesigner/icons/textPane.svg" removable="false" auto-create-binding="true" can-attach-label="true">
|
||||
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
|
||||
<preferred-size width="150" height="50" />
|
||||
</default-constraints>
|
||||
</item>
|
||||
<item class="javax.swing.JEditorPane" icon="/com/intellij/uiDesigner/icons/editorPane.svg" removable="false" auto-create-binding="true" can-attach-label="true">
|
||||
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
|
||||
<preferred-size width="150" height="50" />
|
||||
</default-constraints>
|
||||
</item>
|
||||
<item class="javax.swing.JComboBox" icon="/com/intellij/uiDesigner/icons/comboBox.svg" removable="false" auto-create-binding="true" can-attach-label="true">
|
||||
<default-constraints vsize-policy="0" hsize-policy="2" anchor="8" fill="1" />
|
||||
</item>
|
||||
<item class="javax.swing.JTable" icon="/com/intellij/uiDesigner/icons/table.svg" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
|
||||
<preferred-size width="150" height="50" />
|
||||
</default-constraints>
|
||||
</item>
|
||||
<item class="javax.swing.JList" icon="/com/intellij/uiDesigner/icons/list.svg" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||
<default-constraints vsize-policy="6" hsize-policy="2" anchor="0" fill="3">
|
||||
<preferred-size width="150" height="50" />
|
||||
</default-constraints>
|
||||
</item>
|
||||
<item class="javax.swing.JTree" icon="/com/intellij/uiDesigner/icons/tree.svg" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
|
||||
<preferred-size width="150" height="50" />
|
||||
</default-constraints>
|
||||
</item>
|
||||
<item class="javax.swing.JTabbedPane" icon="/com/intellij/uiDesigner/icons/tabbedPane.svg" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
|
||||
<preferred-size width="200" height="200" />
|
||||
</default-constraints>
|
||||
</item>
|
||||
<item class="javax.swing.JSplitPane" icon="/com/intellij/uiDesigner/icons/splitPane.svg" removable="false" auto-create-binding="false" can-attach-label="false">
|
||||
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
|
||||
<preferred-size width="200" height="200" />
|
||||
</default-constraints>
|
||||
</item>
|
||||
<item class="javax.swing.JSpinner" icon="/com/intellij/uiDesigner/icons/spinner.svg" removable="false" auto-create-binding="true" can-attach-label="true">
|
||||
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
|
||||
</item>
|
||||
<item class="javax.swing.JSlider" icon="/com/intellij/uiDesigner/icons/slider.svg" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
|
||||
</item>
|
||||
<item class="javax.swing.JSeparator" icon="/com/intellij/uiDesigner/icons/separator.svg" removable="false" auto-create-binding="false" can-attach-label="false">
|
||||
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3" />
|
||||
</item>
|
||||
<item class="javax.swing.JProgressBar" icon="/com/intellij/uiDesigner/icons/progressbar.svg" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||
<default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1" />
|
||||
</item>
|
||||
<item class="javax.swing.JToolBar" icon="/com/intellij/uiDesigner/icons/toolbar.svg" removable="false" auto-create-binding="false" can-attach-label="false">
|
||||
<default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1">
|
||||
<preferred-size width="-1" height="20" />
|
||||
</default-constraints>
|
||||
</item>
|
||||
<item class="javax.swing.JToolBar$Separator" icon="/com/intellij/uiDesigner/icons/toolbarSeparator.svg" removable="false" auto-create-binding="false" can-attach-label="false">
|
||||
<default-constraints vsize-policy="0" hsize-policy="0" anchor="0" fill="1" />
|
||||
</item>
|
||||
<item class="javax.swing.JScrollBar" icon="/com/intellij/uiDesigner/icons/scrollbar.svg" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||
<default-constraints vsize-policy="6" hsize-policy="0" anchor="0" fill="2" />
|
||||
</item>
|
||||
</group>
|
||||
</component>
|
||||
</project>
|
44
src/main/java/tokarotik/giftapi/APIManager.java
Normal file
44
src/main/java/tokarotik/giftapi/APIManager.java
Normal file
@ -0,0 +1,44 @@
|
||||
package tokarotik.giftapi;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.configuration.file.FileConfiguration;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
|
||||
import tokarotik.giftapi.inventory.InventoryManager;
|
||||
|
||||
public class APIManager {
|
||||
|
||||
private Main plugin;
|
||||
private FileConfiguration config;
|
||||
private InventoryManager inventoryManager;
|
||||
|
||||
public APIManager(Main plugin, FileConfiguration config)
|
||||
{
|
||||
this.plugin = plugin;
|
||||
this.config = config;
|
||||
|
||||
this.inventoryManager = new InventoryManager(
|
||||
this.config.getString(ConfigPaths.GUINAME, "GiftAPI Menu"),
|
||||
this.config.getString(ConfigPaths.GUIRIGHT, "<<right"),
|
||||
this.config.getString(ConfigPaths.GUILEFT, "left>>")
|
||||
);
|
||||
|
||||
Bukkit.getPluginManager().registerEvents(this.inventoryManager, this.plugin);
|
||||
}
|
||||
|
||||
public boolean add(Player player, ItemStack item)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
public boolean remove(Player player, ItemStack item)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
public void openInventory(Player player)
|
||||
{
|
||||
this.inventoryManager.openCustomInventory(player);
|
||||
}
|
||||
}
|
7
src/main/java/tokarotik/giftapi/ConfigPaths.java
Normal file
7
src/main/java/tokarotik/giftapi/ConfigPaths.java
Normal file
@ -0,0 +1,7 @@
|
||||
package tokarotik.giftapi;
|
||||
|
||||
public class ConfigPaths {
|
||||
public static final String GUINAME = "gui.title-menu";
|
||||
public static final String GUIRIGHT = "gui.arrow.right-name";
|
||||
public static final String GUILEFT = "gui.arrow.left-name";
|
||||
}
|
@ -5,16 +5,23 @@ import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.plugin.java.JavaPlugin;
|
||||
import tokarotik.giftapi.dev.GiftCommand;
|
||||
|
||||
public class Main extends JavaPlugin implements Listener
|
||||
{
|
||||
private ManagerAPI managerApi;
|
||||
private APIManager apiManager;
|
||||
|
||||
@Override
|
||||
public void onEnable() {
|
||||
public void onEnable()
|
||||
{
|
||||
saveDefaultConfig();
|
||||
|
||||
getLogger().info("GiftAPI enabled!");
|
||||
|
||||
managerApi = new ManagerAPI();
|
||||
saveDefaultConfig();
|
||||
apiManager = new APIManager(this, getConfig());
|
||||
|
||||
this.getCommand("gift").setExecutor(new GiftCommand(apiManager));
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -22,21 +29,17 @@ public class Main extends JavaPlugin implements Listener
|
||||
getLogger().info("GiftAPI disabled!");
|
||||
}
|
||||
|
||||
public Main getAPI() {
|
||||
return this;
|
||||
}
|
||||
|
||||
// if failed to add, return false
|
||||
// if successfully added, return true
|
||||
public boolean add(Player player, ItemStack item)
|
||||
{
|
||||
return managerApi.add(player, item);
|
||||
return apiManager.add(player, item);
|
||||
}
|
||||
|
||||
// if failed to remove item, return false
|
||||
// if successfully removed item, return true
|
||||
public boolean remove(Player player, ItemStack item)
|
||||
{
|
||||
return managerApi.remove(player, item);
|
||||
return apiManager.remove(player, item);
|
||||
}
|
||||
}
|
@ -1,16 +0,0 @@
|
||||
package tokarotik.giftapi;
|
||||
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
|
||||
public class ManagerAPI {
|
||||
public boolean add(Player player, ItemStack item)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
public boolean remove(Player player, ItemStack item)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
31
src/main/java/tokarotik/giftapi/dev/GiftCommand.java
Normal file
31
src/main/java/tokarotik/giftapi/dev/GiftCommand.java
Normal file
@ -0,0 +1,31 @@
|
||||
package tokarotik.giftapi.dev;
|
||||
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandExecutor;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
import tokarotik.giftapi.APIManager;
|
||||
|
||||
public class GiftCommand implements CommandExecutor {
|
||||
|
||||
private APIManager APIManager;
|
||||
|
||||
public GiftCommand(APIManager APIManager)
|
||||
{
|
||||
this.APIManager = APIManager;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onCommand(CommandSender sender, Command command, String s, String[] strings) {
|
||||
if (!(sender instanceof Player))
|
||||
{
|
||||
sender.sendMessage("This command can use only player!");
|
||||
return true;
|
||||
}
|
||||
|
||||
this.APIManager.openInventory((Player) sender);
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
@ -0,0 +1,85 @@
|
||||
package tokarotik.giftapi.inventory;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.inventory.InventoryClickEvent;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.inventory.Inventory;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.inventory.meta.ItemMeta;
|
||||
import tokarotik.giftapi.ConfigPaths;
|
||||
|
||||
public class InventoryManager implements Listener {
|
||||
|
||||
private String nameGUI;
|
||||
private String nameArrowRight;
|
||||
private String nameArrowLeft;
|
||||
|
||||
public InventoryManager(String nameGUI, String nameArrowRight, String nameArrowLeft)
|
||||
{
|
||||
this.nameGUI = nameGUI;
|
||||
this.nameArrowRight = nameArrowRight;
|
||||
this.nameArrowLeft = nameArrowLeft;
|
||||
}
|
||||
public void openCustomInventory(Player player)
|
||||
{
|
||||
Inventory inventory = Bukkit.createInventory(null, 54, this.nameGUI);
|
||||
|
||||
updateInventory(inventory);
|
||||
|
||||
player.openInventory(inventory);
|
||||
}
|
||||
@EventHandler
|
||||
public void onInventoryClick(InventoryClickEvent event) {
|
||||
if (event.getInventory().getTitle().equals(this.nameGUI)) {
|
||||
event.setCancelled(true);
|
||||
|
||||
if (event.getCurrentItem() == null) return;
|
||||
/*if (event.getCurrentItem().getItemMeta().getDisplayName() == Material.DIAMOND) {
|
||||
Player player = (Player) event.getWhoClicked();
|
||||
player.sendMessage(ChatColor.GREEN + "Ты кликнул по алмазу!");
|
||||
player.closeInventory();
|
||||
}*/
|
||||
}
|
||||
}
|
||||
|
||||
private void updateInventory(Inventory inventory)
|
||||
{
|
||||
setUI(inventory);
|
||||
}
|
||||
|
||||
private void setUI(Inventory inventory)
|
||||
{
|
||||
// arrow right
|
||||
setSkull(inventory, "right", this.nameArrowRight, 0, 6);
|
||||
// arrow left
|
||||
setSkull(inventory, "left", this.nameArrowLeft, 8, 6);
|
||||
// exit
|
||||
//setSkull(inventory, "exit", ChatColor.ITALIC + "" + ChatColor.DARK_RED + "Выйти", 4, 6);
|
||||
|
||||
|
||||
}
|
||||
|
||||
private void setSkull(Inventory inventory, String direction, String name, int x, int y)
|
||||
{
|
||||
ItemStack arrow = new ItemStack(Material.ARROW, 1);
|
||||
ItemMeta meta_arrow = arrow.getItemMeta();
|
||||
|
||||
meta_arrow.setDisplayName(name);
|
||||
arrow.setItemMeta(meta_arrow);
|
||||
|
||||
inventory.setItem(
|
||||
getCordinates(x, y),
|
||||
arrow
|
||||
);
|
||||
}
|
||||
|
||||
public int getCordinates(int x, int y)
|
||||
{
|
||||
if (y == 0) {y++;}
|
||||
return ((y - 1) * 9 + x) % 64;
|
||||
}
|
||||
}
|
@ -0,0 +1,10 @@
|
||||
# Colors you can see here https://htmlcolorcodes.com/minecraft-color-codes/
|
||||
# Set Names Only In English
|
||||
|
||||
gui:
|
||||
# Max title length is 32 letters
|
||||
title-menu: "Set Your Title In Config"
|
||||
|
||||
arrow:
|
||||
right-name: "<"
|
||||
left-name: ">"
|
@ -1,3 +1,8 @@
|
||||
name: GiftAPI
|
||||
version: 1.0
|
||||
main: tokarotik.giftapi.Main
|
||||
main: tokarotik.giftapi.Main
|
||||
|
||||
commands:
|
||||
gift:
|
||||
description: for test
|
||||
usage: /<command>
|
Loading…
x
Reference in New Issue
Block a user