1. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

Плагин на сохранение инвентаря в sql

Тема в разделе "Запросы на разработку плагинов", создана пользователем linock, 19 авг 2018.

  1. Автор темы
    linock

    linock Активный участник Пользователь

    Баллы:
    66
    Имя в Minecraft:
    Gizic
    Хочу заказать плагин на инвентарь
    мне нужно сохранять данные инвенторя в базу sql
    а также чтобы он смотрел данные в базе sql и при помощи команды удалял вещи из инвентаря, мне нужно для Магазина, через который игроки будут торговаться

    vk: https://vk.com/dizic_vk
     
    Последнее редактирование: 24 авг 2018
  2. Alexgrist

    Alexgrist Старожил Пользователь

    Баллы:
    173
  3. Akame

    Akame Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    Akame
  4. Автор темы
    linock

    linock Активный участник Пользователь

    Баллы:
    66
    Имя в Minecraft:
    Gizic
    ну он зашифровать, а как расшифровать ?
     
  5. Klavy

    Klavy Активный участник Пользователь

    Баллы:
    66
    Источник: Google
    Код:
    public static String toBase64(Inventory inventory) {
            try {
                ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
                BukkitObjectOutputStream dataOutput = new BukkitObjectOutputStream(outputStream);
           
                // Write the size of the inventory
                dataOutput.writeInt(inventory.getSize());
           
                // Save every element in the list
                for (int i = 0; i < inventory.getSize(); i++) {
                    dataOutput.writeObject(inventory.getItem(i));
                }
           
                // Serialize that array
                dataOutput.close();
                return Base64Coder.encodeLines(outputStream.toByteArray());
            } catch (Exception e) {
                throw new IllegalStateException("Unable to save item stacks.", e);
            }  
        }
       
        public static Inventory fromBase64(String data) throws IOException {
            try {
                ByteArrayInputStream inputStream = new ByteArrayInputStream(Base64Coder.decodeLines(data));
                BukkitObjectInputStream dataInput = new BukkitObjectInputStream(inputStream);
                Inventory inventory = Bukkit.getServer().createInventory(null, dataInput.readInt());
       
                // Read the serialized inventory
                for (int i = 0; i < inventory.getSize(); i++) {
                    inventory.setItem(i, (ItemStack) dataInput.readObject());
                }
               
                dataInput.close();
                return inventory;
            } catch (ClassNotFoundException e) {
                throw new IOException("Unable to decode class type.", e);
            }
        }
       
         public static String itemStackArrayToBase64(ItemStack[] items) throws IllegalStateException {
                try {
                    ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
                    BukkitObjectOutputStream dataOutput = new BukkitObjectOutputStream(outputStream);
                   
                    // Write the size of the inventory
                    dataOutput.writeInt(items.length);
                   
                    // Save every element in the list
                    for (int i = 0; i < items.length; i++) {
                        dataOutput.writeObject(items[i]);
                    }
                   
                    // Serialize that array
                    dataOutput.close();
                    return Base64Coder.encodeLines(outputStream.toByteArray());
                } catch (Exception e) {
                    throw new IllegalStateException("Unable to save item stacks.", e);
                }
            }
       
        public static ItemStack[] itemStackArrayFromBase64(String data) throws IOException {
            try {
                ByteArrayInputStream inputStream = new ByteArrayInputStream(Base64Coder.decodeLines(data));
                BukkitObjectInputStream dataInput = new BukkitObjectInputStream(inputStream);
                ItemStack[] items = new ItemStack[dataInput.readInt()];
       
                // Read the serialized inventory
                for (int i = 0; i < items.length; i++) {
                    items[i] = (ItemStack) dataInput.readObject();
                }
               
                dataInput.close();
                return items;
            } catch (ClassNotFoundException e) {
                throw new IOException("Unable to decode class type.", e);
            }
        }
       
        public static String saveModdedStacksData(ItemStack[] itemStacks) {
            StringBuilder stringBuilder = new StringBuilder();
            for (int i = 0; i < itemStacks.length; i++)
            {
              if (i > 0) {
                stringBuilder.append(";");
              }
              if ((itemStacks[i] != null) && (itemStacks[i].getType() != Material.AIR)) {
                try
                {
                  stringBuilder.append(StreamSerializer.getDefault().serializeItemStack(itemStacks[i]));
                }
                catch (IOException e)
                {
                  e.printStackTrace();
                }
              }
            }
            String string = stringBuilder.toString();
            return string;
          }
       
        public static ItemStack[] restoreModdedStacks(String string) {
            String[] strings = string.split(";");
            ItemStack[] itemStacks = new ItemStack[strings.length];
            for (int i = 0; i < strings.length; i++) {
              if (!strings[i].equals("")) {
                try
                {
                  itemStacks[i] = StreamSerializer.getDefault().deserializeItemStack(strings[i]);
                }
                catch (IOException e)
                {
                  e.printStackTrace();
                }
              }
            }
            return itemStacks;
          }
    
    Кинь свой ВКонтакте, напишем
     
    Последнее редактирование: 19 авг 2018
  6. Автор темы
    linock

    linock Активный участник Пользователь

    Баллы:
    66
    Имя в Minecraft:
    Gizic
    https://vk.com/di*****
     
    Последнее редактирование: 19 авг 2018
  7. InterWall

    InterWall Старожил Пользователь

    Баллы:
    173
    Отличный вконтактик, ссылка не отобразится на этом форуме.
     
  8. Автор темы
    linock

    linock Активный участник Пользователь

    Баллы:
    66
    Имя в Minecraft:
    Gizic
    up
     
  9. Acurity

    Acurity Активный участник Пользователь

    Баллы:
    78
    Имя в Minecraft:
    Adorable

Поделиться этой страницей