
В общем мне нужно сделать так, что бы предметы, которые в инвентаре (т.е. в эндер сундуке) нельзя было забрать (барьеры если быть точнее),
и кто знает мне нужно сделать предмет в эндер сундуке, в котором будет написано описании данной команды (в плагине), поэтому кто знает, как изменять названия предметов в инвентаре созданном и описание? И как думаете, где лучше хранить данные о вещей игрока созданном сундуке? (в config, или в бд?)
И кто знает, можно ли упростить код? Я если что про то, что бы не писать много предметов так, а написать все слоты для данных барьеров в 1 переменной:
ItemStack barrier = new ItemStack(Material.BARRIER, 1);
superec.setItem(getIndex(1, 1), barrier);
ItemStack barrier2 = new ItemStack(Material.BARRIER, 1);
superec.setItem(getIndex(1, 2), barrier2);
ItemStack barrier3= new ItemStack(Material.BARRIER, 1);
superec.setItem(getIndex(1, 3), barrier3);
ItemStack barrier4 = new ItemStack(Material.BARRIER, 1);
superec.setItem(getIndex(1, 4), barrier4);
ItemStack barrier5 = new ItemStack(Material.BARRIER, 1);
superec.setItem(getIndex(1, 5), barrier5);
ItemStack barrier6 = new ItemStack(Material.BARRIER, 1);
superec.setItem(getIndex(1, 6), barrier6);
Вот код если что мой:
package yt.tanr1.superec.command;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.Material;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.ItemStack;
import org.jetbrains.annotations.NotNull;
public class SuperEc implements CommandExecutor {
@Override
public boolean onCommand(CommandSender sender, Command command, String Label, String [] args) {
if (!(sender instanceof Player)) return true;
if (args.length != 0) return false;
Player player = (Player) sender;
Inventory superec = Bukkit.createInventory(player, 26, ChatColor.DARK_GRAY + "Супер эндер сундук");
ItemStack barrier = new ItemStack(Material.BARRIER, 1);
superec.setItem(getIndex(1, 1), barrier);
ItemStack barrier2 = new ItemStack(Material.BARRIER, 1);
superec.setItem(getIndex(1, 2), barrier2);
ItemStack barrier3= new ItemStack(Material.BARRIER, 1);
superec.setItem(getIndex(1, 3), barrier3);
ItemStack barrier4 = new ItemStack(Material.BARRIER, 1);
superec.setItem(getIndex(1, 4), barrier4);
ItemStack barrier5 = new ItemStack(Material.BARRIER, 1);
superec.setItem(getIndex(1, 5), barrier5);
ItemStack barrier6 = new ItemStack(Material.BARRIER, 1);
superec.setItem(getIndex(1, 6), barrier6);
player.openInventory(superec);
return true;
}
private int getIndex(int row, int column) {
return (row - 1) * 9 + column - 1;
}
}
И кто знает, как сделать так, что бы данные о менюшке хранились в отдельном файле (тип как в config.yml) и что бы создавалась папка с конфигами при включении плагина
Так же кто знает, как сделать так, что бы при пермишионе определенном выдавался отдельный лвл слотов (например имея пермишион: superec.1.slots у игрока был 1 слот в данном сундуке, если допустим superec.2.slots, то было 2 слота и.т.д
Можете подсказать кто знает, как это сделать?
и кто знает мне нужно сделать предмет в эндер сундуке, в котором будет написано описании данной команды (в плагине), поэтому кто знает, как изменять названия предметов в инвентаре созданном и описание? И как думаете, где лучше хранить данные о вещей игрока созданном сундуке? (в config, или в бд?)
И кто знает, можно ли упростить код? Я если что про то, что бы не писать много предметов так, а написать все слоты для данных барьеров в 1 переменной:
ItemStack barrier = new ItemStack(Material.BARRIER, 1);
superec.setItem(getIndex(1, 1), barrier);
ItemStack barrier2 = new ItemStack(Material.BARRIER, 1);
superec.setItem(getIndex(1, 2), barrier2);
ItemStack barrier3= new ItemStack(Material.BARRIER, 1);
superec.setItem(getIndex(1, 3), barrier3);
ItemStack barrier4 = new ItemStack(Material.BARRIER, 1);
superec.setItem(getIndex(1, 4), barrier4);
ItemStack barrier5 = new ItemStack(Material.BARRIER, 1);
superec.setItem(getIndex(1, 5), barrier5);
ItemStack barrier6 = new ItemStack(Material.BARRIER, 1);
superec.setItem(getIndex(1, 6), barrier6);
Вот код если что мой:
package yt.tanr1.superec.command;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.Material;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.ItemStack;
import org.jetbrains.annotations.NotNull;
public class SuperEc implements CommandExecutor {
@Override
public boolean onCommand(CommandSender sender, Command command, String Label, String [] args) {
if (!(sender instanceof Player)) return true;
if (args.length != 0) return false;
Player player = (Player) sender;
Inventory superec = Bukkit.createInventory(player, 26, ChatColor.DARK_GRAY + "Супер эндер сундук");
ItemStack barrier = new ItemStack(Material.BARRIER, 1);
superec.setItem(getIndex(1, 1), barrier);
ItemStack barrier2 = new ItemStack(Material.BARRIER, 1);
superec.setItem(getIndex(1, 2), barrier2);
ItemStack barrier3= new ItemStack(Material.BARRIER, 1);
superec.setItem(getIndex(1, 3), barrier3);
ItemStack barrier4 = new ItemStack(Material.BARRIER, 1);
superec.setItem(getIndex(1, 4), barrier4);
ItemStack barrier5 = new ItemStack(Material.BARRIER, 1);
superec.setItem(getIndex(1, 5), barrier5);
ItemStack barrier6 = new ItemStack(Material.BARRIER, 1);
superec.setItem(getIndex(1, 6), barrier6);
player.openInventory(superec);
return true;
}
private int getIndex(int row, int column) {
return (row - 1) * 9 + column - 1;
}
}
И кто знает, как сделать так, что бы данные о менюшке хранились в отдельном файле (тип как в config.yml) и что бы создавалась папка с конфигами при включении плагина
Так же кто знает, как сделать так, что бы при пермишионе определенном выдавался отдельный лвл слотов (например имея пермишион: superec.1.slots у игрока был 1 слот в данном сундуке, если допустим superec.2.slots, то было 2 слота и.т.д
Можете подсказать кто знает, как это сделать?