Хостинг серверов Minecraft playvds.com
  1. Вы находитесь в русском сообществе Bukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на русский язык плагины наших собратьев из других стран.
    Скрыть объявление

Плагин [MECH]AirBall v-1.5 Воздушные шарики для вашего сервера [1.10.*],[1.11.*]

Тема в разделе "Неподтвержденные плагины", создана пользователем Derik, 6 сен 2016.

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

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

    Баллы:
    76
    Имя в Minecraft:
    Derik
    AirBall v-1.5

    [​IMG]

    Этот плагин добавит воздушные шарики на ваш сервер.

    Шарики крафтятся в верстаке. Из цветного стекла, ока эндера и поводка.

    [​IMG]

    Цвет шарика зависит от цвета стекла.
    Что бы запустить шарик просто бросьте его клавишей Q. Затем ловите его поводком, пока не улетел.)))
    Что бы удалить шарик, стрельните в него из лука, или проткните его мечем.

    история версий:

    AirBall v1.1
    - релиз
    AirBall v1.2
    - Оптимизирован код
    - Шарики теперь выглядят реалистичней.
    Убраны баги:
    - Убрана невидимая стойка. Которая падала и не убиралась.
    - Шарики взрываются по одному а не кучей.
    - Шарики не дропают опыт.
    AirBall v1.3
    - Добавлена поддержка второй руки
    Убран баг:
    - дюп поводков.
    AirBall v1.4
    Убраны баги:
    - Шарик больше не появляется с броней
    - Шарик не подбирает дроп.
    AirBallv1.5
    - Добавлен конфиг
    - Теперь возможно изменить названия и описания шариков, через конфиг.
    Убраны баги:
    - Не выкидывались некоторые предметы из инвентаря.
    - Шарики не излучают частиц от эффектов.

    скачать
    AirBall-v1.5


    P.S Огромное спасибо Dereku за помощь.
     
    Последнее редактирование: 19 сен 2016
  2. Хостинг MineCraft
    <
  3. Mr_RoboMan

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

    Баллы:
    123
    Еще бы кастомный крафт, и шарики висящие на поводке (а не метром выше), и была бы вкусняшка)[DOUBLEPOST=1473170415,1473170348][/DOUBLEPOST]Хотя код лень смотреть, может это и редкосная какаха :D
     
  4. DiamondDen

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

    Баллы:
    76
    Skype:
    danil_20034
    Имя в Minecraft:
    DiamondDen
    Ты слышал что такое цикл?
    Код:
        this.wool1 = new ItemStack(Material.WOOL, 1, 1);
        ItemMeta meta1 = this.wool1.getItemMeta();
        meta1.setDisplayName("Ораньжевый шарик.");
        List lore1 = new ArrayList();
        lore1.add("Кинь его на землю для запуска.");
        meta1.setLore(lore1);
        this.wool1.setItemMeta(meta1);
    
        ShapedRecipe r1 = new ShapedRecipe(this.wool1);
        r1.shape(new String[] { "S S", " E ", " L " });
        r1.setIngredient('S', Material.STAINED_GLASS, 1);
        r1.setIngredient('E', Material.EYE_OF_ENDER);
        r1.setIngredient('L', Material.LEASH);
        Bukkit.getServer().addRecipe(r1);
    
        this.wool2 = new ItemStack(Material.WOOL, 1, 2);
        ItemMeta meta2 = this.wool2.getItemMeta();
        meta2.setDisplayName("Пурпурный шарик.");
        List lore2 = new ArrayList();
        lore2.add("Кинь его на землю для запуска.");
        meta2.setLore(lore2);
        this.wool2.setItemMeta(meta2);
    
        ShapedRecipe r2 = new ShapedRecipe(this.wool2);
        r2.shape(new String[] { "S S", " E ", " L " });
        r2.setIngredient('S', Material.STAINED_GLASS, 2);
        r2.setIngredient('E', Material.EYE_OF_ENDER);
        r2.setIngredient('L', Material.LEASH);
        Bukkit.getServer().addRecipe(r2);
    
        this.wool3 = new ItemStack(Material.WOOL, 1, 3);
        ItemMeta meta3 = this.wool3.getItemMeta();
        meta3.setDisplayName("Голубой шарик.");
        List lore3 = new ArrayList();
        lore3.add("Кинь его на землю для запуска.");
        meta3.setLore(lore3);
        this.wool3.setItemMeta(meta3);
    
        ShapedRecipe r3 = new ShapedRecipe(this.wool3);
        r3.shape(new String[] { "S S", " E ", " L " });
        r3.setIngredient('S', Material.STAINED_GLASS, 3);
        r3.setIngredient('E', Material.EYE_OF_ENDER);
        r3.setIngredient('L', Material.LEASH);
        Bukkit.getServer().addRecipe(r3);
    
        this.wool4 = new ItemStack(Material.WOOL, 1, 4);
        ItemMeta meta4 = this.wool4.getItemMeta();
        meta4.setDisplayName("Желтый шарик.");
        List lore4 = new ArrayList();
        lore4.add("Кинь его на землю для запуска.");
        meta4.setLore(lore4);
        this.wool4.setItemMeta(meta4);
    
        ShapedRecipe r4 = new ShapedRecipe(this.wool4);
        r4.shape(new String[] { "S S", " E ", " L " });
        r4.setIngredient('S', Material.STAINED_GLASS, 4);
        r4.setIngredient('E', Material.EYE_OF_ENDER);
        r4.setIngredient('L', Material.LEASH);
        Bukkit.getServer().addRecipe(r4);
    
        this.wool5 = new ItemStack(Material.WOOL, 1, 5);
        ItemMeta meta5 = this.wool5.getItemMeta();
        meta5.setDisplayName("Лаймовый шарик.");
        List lore5 = new ArrayList();
        lore5.add("Кинь его на землю для запуска.");
        meta5.setLore(lore5);
        this.wool5.setItemMeta(meta5);
    
        ShapedRecipe r5 = new ShapedRecipe(this.wool5);
        r5.shape(new String[] { "S S", " E ", " L " });
        r5.setIngredient('S', Material.STAINED_GLASS, 5);
        r5.setIngredient('E', Material.EYE_OF_ENDER);
        r5.setIngredient('L', Material.LEASH);
        Bukkit.getServer().addRecipe(r5);
    
        this.wool6 = new ItemStack(Material.WOOL, 1, 6);
        ItemMeta meta6 = this.wool6.getItemMeta();
        meta6.setDisplayName("Розовый шарик.");
        List lore6 = new ArrayList();
        lore6.add("Кинь его на землю для запуска.");
        meta6.setLore(lore6);
        this.wool6.setItemMeta(meta6);
    
        ShapedRecipe r6 = new ShapedRecipe(this.wool6);
        r6.shape(new String[] { "S S", " E ", " L " });
        r6.setIngredient('S', Material.STAINED_GLASS, 6);
        r6.setIngredient('E', Material.EYE_OF_ENDER);
        r6.setIngredient('L', Material.LEASH);
        Bukkit.getServer().addRecipe(r6);
    
        this.wool7 = new ItemStack(Material.WOOL, 1, 7);
        ItemMeta meta7 = this.wool7.getItemMeta();
        meta7.setDisplayName("Серый шарик.");
        List lore7 = new ArrayList();
        lore7.add("Кинь его на землю для запуска.");
        meta7.setLore(lore7);
        this.wool7.setItemMeta(meta7);
    
        ShapedRecipe r7 = new ShapedRecipe(this.wool7);
        r7.shape(new String[] { "S S", " E ", " L " });
        r7.setIngredient('S', Material.STAINED_GLASS, 7);
        r7.setIngredient('E', Material.EYE_OF_ENDER);
        r7.setIngredient('L', Material.LEASH);
        Bukkit.getServer().addRecipe(r7);
    
        this.wool8 = new ItemStack(Material.WOOL, 1, 8);
        ItemMeta meta8 = this.wool8.getItemMeta();
        meta8.setDisplayName("Светло - Серый шарик.");
        List lore8 = new ArrayList();
        lore8.add("Кинь его на землю для запуска.");
        meta8.setLore(lore8);
        this.wool8.setItemMeta(meta8);
    
        ShapedRecipe r8 = new ShapedRecipe(this.wool8);
        r8.shape(new String[] { "S S", " E ", " L " });
        r8.setIngredient('S', Material.STAINED_GLASS, 8);
        r8.setIngredient('E', Material.EYE_OF_ENDER);
        r8.setIngredient('L', Material.LEASH);
        Bukkit.getServer().addRecipe(r8);
    
        this.wool9 = new ItemStack(Material.WOOL, 1, 9);
        ItemMeta meta9 = this.wool9.getItemMeta();
        meta9.setDisplayName("Бирюзовый шарик.");
        List lore9 = new ArrayList();
        lore9.add("Кинь его на землю для запуска.");
        meta9.setLore(lore9);
        this.wool9.setItemMeta(meta9);
    
        ShapedRecipe r9 = new ShapedRecipe(this.wool9);
        r9.shape(new String[] { "S S", " E ", " L " });
        r9.setIngredient('S', Material.STAINED_GLASS, 9);
        r9.setIngredient('E', Material.EYE_OF_ENDER);
        r9.setIngredient('L', Material.LEASH);
        Bukkit.getServer().addRecipe(r9);
    
        this.wool10 = new ItemStack(Material.WOOL, 1, 10);
        ItemMeta meta10 = this.wool10.getItemMeta();
        meta10.setDisplayName("Фиолетовый шарик.");
        List lore10 = new ArrayList();
        lore10.add("Кинь его на землю для запуска.");
        meta10.setLore(lore10);
        this.wool10.setItemMeta(meta10);
    
        ShapedRecipe r10 = new ShapedRecipe(this.wool10);
        r10.shape(new String[] { "S S", " E ", " L " });
        r10.setIngredient('S', Material.STAINED_GLASS, 10);
        r10.setIngredient('E', Material.EYE_OF_ENDER);
        r10.setIngredient('L', Material.LEASH);
        Bukkit.getServer().addRecipe(r10);
    
        this.wool11 = new ItemStack(Material.WOOL, 1, 11);
        ItemMeta meta11 = this.wool11.getItemMeta();
        meta11.setDisplayName("Синий шарик.");
        List lore11 = new ArrayList();
        lore11.add("Кинь его на землю для запуска.");
        meta11.setLore(lore11);
        this.wool11.setItemMeta(meta11);
    
        ShapedRecipe r11 = new ShapedRecipe(this.wool11);
        r11.shape(new String[] { "S S", " E ", " L " });
        r11.setIngredient('S', Material.STAINED_GLASS, 11);
        r11.setIngredient('E', Material.EYE_OF_ENDER);
        r11.setIngredient('L', Material.LEASH);
        Bukkit.getServer().addRecipe(r11);
    
        this.wool12 = new ItemStack(Material.WOOL, 1, 12);
        ItemMeta meta12 = this.wool12.getItemMeta();
        meta12.setDisplayName("Коричневый шарик.");
        List lore12 = new ArrayList();
        lore12.add("Кинь его на землю для запуска.");
        meta12.setLore(lore12);
        this.wool12.setItemMeta(meta12);
    
        ShapedRecipe r12 = new ShapedRecipe(this.wool12);
        r12.shape(new String[] { "S S", " E ", " L " });
        r12.setIngredient('S', Material.STAINED_GLASS, 12);
        r12.setIngredient('E', Material.EYE_OF_ENDER);
        r12.setIngredient('L', Material.LEASH);
        Bukkit.getServer().addRecipe(r12);
    
        this.wool13 = new ItemStack(Material.WOOL, 1, 13);
        ItemMeta meta13 = this.wool13.getItemMeta();
        meta13.setDisplayName("Зеленый шарик.");
        List lore13 = new ArrayList();
        lore13.add("Кинь его на землю для запуска.");
        meta13.setLore(lore13);
        this.wool13.setItemMeta(meta13);
    
        ShapedRecipe r13 = new ShapedRecipe(this.wool13);
        r13.shape(new String[] { "S S", " E ", " L " });
        r13.setIngredient('S', Material.STAINED_GLASS, 13);
        r13.setIngredient('E', Material.EYE_OF_ENDER);
        r13.setIngredient('L', Material.LEASH);
        Bukkit.getServer().addRecipe(r13);
    
        this.wool14 = new ItemStack(Material.WOOL, 1, 14);
        ItemMeta meta14 = this.wool14.getItemMeta();
        meta14.setDisplayName("Красный шарик.");
        List lore14 = new ArrayList();
        lore14.add("Кинь его на землю для запуска.");
        meta14.setLore(lore14);
        this.wool14.setItemMeta(meta14);
    
        ShapedRecipe r14 = new ShapedRecipe(this.wool14);
        r14.shape(new String[] { "S S", " E ", " L " });
        r14.setIngredient('S', Material.STAINED_GLASS, 14);
        r14.setIngredient('E', Material.EYE_OF_ENDER);
        r14.setIngredient('L', Material.LEASH);
        Bukkit.getServer().addRecipe(r14);
    
        this.wool15 = new ItemStack(Material.WOOL, 1, 15);
        ItemMeta meta15 = this.wool15.getItemMeta();
        meta15.setDisplayName("Черный шарик.");
        List lore15 = new ArrayList();
        lore15.add("Кинь его на землю для запуска.");
        meta15.setLore(lore15);
        this.wool15.setItemMeta(meta15);
    
        ShapedRecipe r15 = new ShapedRecipe(this.wool15);
        r15.shape(new String[] { "S S", " E ", " L " });
        r15.setIngredient('S', Material.STAINED_GLASS, 15);
        r15.setIngredient('E', Material.EYE_OF_ENDER);
        r15.setIngredient('L', Material.LEASH);
        Bukkit.getServer().addRecipe(r15);
    
        this.wool16 = new ItemStack(Material.WOOL);
        ItemMeta meta16 = this.wool16.getItemMeta();
        meta16.setDisplayName("Белый шарик.");
        List lore16 = new ArrayList();
        lore16.add("Кинь его на землю для запуска.");
        meta16.setLore(lore16);
        this.wool16.setItemMeta(meta16);
    
        ShapedRecipe r16 = new ShapedRecipe(this.wool16);
        r16.shape(new String[] { "S S", " E ", " L " });
        r16.setIngredient('S', Material.STAINED_GLASS);
        r16.setIngredient('E', Material.EYE_OF_ENDER);
        r16.setIngredient('L', Material.LEASH);
        Bukkit.getServer().addRecipe(r16);
     
  5. Автор темы
    Derik

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

    Баллы:
    76
    Имя в Minecraft:
    Derik
    Может мне заняться нечем было.
     
  6. DiamondDen

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

    Баллы:
    76
    Skype:
    danil_20034
    Имя в Minecraft:
    DiamondDen
    Ты мог бы сократить код в несколько раз вот и всё
     
  7. Автор темы
    Derik

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

    Баллы:
    76
    Имя в Minecraft:
    Derik
    Как я названия переменных в цикле поменяю? Значение можно но не названия.
     
  8. DiamondDen

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

    Баллы:
    76
    Skype:
    danil_20034
    Имя в Minecraft:
    DiamondDen
    Массивом
     
  9. Автор темы
    Derik

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

    Баллы:
    76
    Имя в Minecraft:
    Derik
    Пофиг, мне и так нормально. Не такой уж и большой код.
     
  10. DiamondDen

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

    Баллы:
    76
    Skype:
    danil_20034
    Имя в Minecraft:
    DiamondDen
    500 строк каких то шариков со свинками
    230 строк только на крафт
     
  11. Автор темы
    Derik

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

    Баллы:
    76
    Имя в Minecraft:
    Derik
    И что?...
     
  12. second_vynder

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

    Баллы:
    153
    Skype:
    my.nik.vynder
    Наверное то, что Вы нерационально пользуетесь возможностями языка. Хороший кодер старается максимально сократить код для повышения удобства поддержки. А если Вам через год понадобится обновить свой плагин под новую версию баккита? Вы будете два часа разбираться в однообразном коде и затем вручную заменять кучу переменных в разных местах, когда можно было обойтись облегченными конструкциями и минимальными правками в дальнейшем?
     
  13. NulledCoder

    NulledCoder Участник Пользователь

    Баллы:
    36
    Имя в Minecraft:
    NulledCoder
    Как говорится это называется говно-код.
     
  14. Автор темы
    Derik

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

    Баллы:
    76
    Имя в Minecraft:
    Derik
    Исправил.
     
  15. Dereku

    Dereku Старожил

    Баллы:
    173
    Skype:
    derek_unavailable
    Имя в Minecraft:
    _Dereku
    Код:
    LivingEntity sheep = (LivingEntity) location.getWorld().spawnEntity(location, EntityType.ZOMBIE);
    Заорал.
    И проверял бы "овцу" на null - иногда (в редких случаях, хорошо) entity не спаунится.
    Код:
    @EventHandler
    public void killDrop(EntityDeathEvent e) {
        LivingEntity entity = e.getEntity();
    
        if (entity != null) {
            e.getDrops().clear();
            e.setDroppedExp(0);
        }
    }
    
    Шоб попец ни у кого не слипся?
    Код:
    entity.getCustomName() == "ball"
    String#equals(String)

    Ну и по традиции (лел, дерекс традишнс):
    Код:
    package me.derik;
    
    import java.util.Arrays;
    import java.util.HashMap;
    import java.util.List;
    import org.bukkit.Bukkit;
    import org.bukkit.ChatColor;
    import org.bukkit.Location;
    import org.bukkit.Material;
    import org.bukkit.entity.Entity;
    import org.bukkit.entity.EntityType;
    import org.bukkit.entity.LivingEntity;
    import org.bukkit.entity.Player;
    import org.bukkit.event.EventHandler;
    import org.bukkit.event.Listener;
    import org.bukkit.event.entity.EntityDeathEvent;
    import org.bukkit.event.player.PlayerDropItemEvent;
    import org.bukkit.event.player.PlayerInteractEntityEvent;
    import org.bukkit.inventory.ItemStack;
    import org.bukkit.inventory.ShapedRecipe;
    import org.bukkit.inventory.meta.ItemMeta;
    import org.bukkit.plugin.java.JavaPlugin;
    import org.bukkit.potion.PotionEffect;
    import org.bukkit.potion.PotionEffectType;
    
    public class AirBall extends JavaPlugin implements Listener {
    
        private final static String[] WOOL_COLORS = new String[]{
            "Белый", "Оранжевый", "Пурпурный", "Голубой", "Желтый", "Лаймовый",
            "Розовый", "Серый", "Светло-серый", "Бирюзовый", "Фиолетовый", "Синий",
            "Коричневый", "Зеленый", "Красный", "Черный"
        };
        private final static String BALOON = " шарик";
        private final static String SUFFIX
                = ChatColor.BLUE.toString() + ChatColor.AQUA.toString()
                + ChatColor.LIGHT_PURPLE.toString() + ChatColor.RESET.toString();
    
        private final static List<String> BALOON_LORE = Arrays.asList(
                new String[]{"Кинь его на землю для запуска."}
        );
        private final HashMap<String, ItemStack> baloons = new HashMap<>();
    
        @Override
        public void onEnable() {
            this.createCraft();
            Bukkit.getPluginManager().registerEvents(this, this);
        }
    
        @EventHandler
        public void onBaloonDrop(PlayerDropItemEvent e) {
            if (!e.getItemDrop().getItemStack().getType().equals(Material.WOOL)) {
                return;
            }
    
            if (!e.getItemDrop().getItemStack().hasItemMeta()) {
                return;
            }
    
            ItemStack wool = e.getItemDrop().getItemStack();
            Location location = e.getItemDrop().getLocation();
            String name = wool.getItemMeta().getDisplayName();
            List lore = wool.getItemMeta().getLore();
    
            if (name == null || name.equals("")) {
                return;
            }
    
            if (lore == null || lore.isEmpty()) {
                return;
            }
    
            if (!this.baloons.containsKey(name)) {
                return;
            }
            // А вот тут ломается совместимость с плагинами, 
            // которые вешают в лор всякую ерунду. Да, специально.
            if (!AirBall.BALOON_LORE.containsAll(lore)) {
                return;
            }
    
            location.setY(location.getY() - 2.0D);
            for (int a = 0; a < wool.getAmount(); a++) {
                this.createBaloon(location, e.getItemDrop().getItemStack());
            }
    
            e.getItemDrop().remove();
        }
    
        @EventHandler
        public void bollLeash(PlayerInteractEntityEvent e) {
            Entity entity = e.getRightClicked();
            Player player = e.getPlayer();
    
            //Вообще спорная проверка. Я могу и не держать поводок в руках.
            boolean hasLeashInMainHand = player.getInventory().getItemInMainHand().getType().equals(Material.LEASH),
                    hasLeashInOffHand = player.getInventory().getItemInOffHand().getType().equals(Material.LEASH);
            if (!hasLeashInMainHand && !hasLeashInOffHand) {
                return;
            }
    
            //Не верю что это может быть null.
            if (entity == null) {
                return;
            }
    
            if (entity instanceof LivingEntity && this.baloons.containsKey(entity.getCustomName())) {
                ((LivingEntity) entity).setLeashHolder(player);
                e.setCancelled(true);
            }
        }
    
        @EventHandler
        public void onEntityDeath(EntityDeathEvent e) {
            LivingEntity entity = e.getEntity();
    
            if (entity != null && this.baloons.containsKey(entity.getCustomName())) {
                e.getDrops().clear();
                e.setDroppedExp(0);
            }
        }
    
        public void createCraft() {
            for (int i = 0; i < 15; ++i) {
                ItemStack baloon = new ItemStack(Material.WOOL, 1, (short) i);
                ItemMeta meta = baloon.getItemMeta();
                meta.setDisplayName(AirBall.WOOL_COLORS[i].concat(AirBall.BALOON).concat(AirBall.SUFFIX));
                meta.setLore(AirBall.BALOON_LORE);
                baloon.setItemMeta(meta);
                this.baloons.put(meta.getDisplayName(), baloon);
    
                ShapedRecipe r = new ShapedRecipe(baloon);
                r.shape(new String[]{"S S", " E ", " L "});
                r.setIngredient('S', Material.STAINED_GLASS, (short) i);
                r.setIngredient('E', Material.EYE_OF_ENDER);
                r.setIngredient('L', Material.LEASH);
                this.getServer().addRecipe(r);
            }
        }
    
        public void createBaloon(Location location, ItemStack hat) {
            LivingEntity baloonEntity = (LivingEntity) location.getWorld().spawnEntity(location, EntityType.SILVERFISH);
            baloonEntity.getEquipment().clear();
            baloonEntity.setCustomName(hat.getItemMeta().getDisplayName());
            baloonEntity.setHealth(1.0D);
            baloonEntity.setSilent(true);
            baloonEntity.getEquipment().setHelmet(hat);
            baloonEntity.addPotionEffect(new PotionEffect(PotionEffectType.LEVITATION, Short.MAX_VALUE, 1));
            baloonEntity.addPotionEffect(new PotionEffect(PotionEffectType.INVISIBILITY, Short.MAX_VALUE, 1));
        }
    }
    
    Разумеется не проверял, но должно работать.
     
  16. Mr_RoboMan

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

    Баллы:
    123
    Тоже орнул :D
    Этот зомби в душе овца...
     
  17. Автор темы
    Derik

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

    Баллы:
    76
    Имя в Minecraft:
    Derik
    Перезалил, это я что то конкретно лоханулся. Хотел просто что бы с шариков дроп не падал а не со всех мобов.:lol:
    Да и с двумя руками круто придумал. Например в одной шарик в другой поводок и сразу ловиш, чтобы не переключаться.
    [DOUBLEPOST=1473281376,1473276361][/DOUBLEPOST]
    Там овцы раньше летали, влом было переменную переписывать.
     
    Последнее редактирование: 8 сен 2016
  18. DiamondDen

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

    Баллы:
    76
    Skype:
    danil_20034
    Имя в Minecraft:
    DiamondDen
    meta.setDisplayName(this.woolname[(i - 1)] + " шарик");
    Почему так не сделать?[DOUBLEPOST=1473313516,1473313393][/DOUBLEPOST]а на 1.8.8 слабо сделать?
     
  19. Dereku

    Dereku Старожил

    Баллы:
    173
    Skype:
    derek_unavailable
    Имя в Minecraft:
    _Dereku
    Слабо.
     
  20. Автор темы
    Derik

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

    Баллы:
    76
    Имя в Minecraft:
    Derik
    Там левитации нету. Надо как то по другому костылять.
     
  21. DiamondDen

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

    Баллы:
    76
    Skype:
    danil_20034
    Имя в Minecraft:
    DiamondDen
    Я знаю, поэтому и говорю
     

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