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

Ищу плагин Выдача предметов зайдя на сервер.

Тема в разделе "Помощь", создана пользователем ChevChelos, 18 дек 2014.

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

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

    Баллы:
    76
    Имя в Minecraft:
    ChevChelos
    Вобщем нужен плагин ,чтобы человек зашёл впервые на сервер и у него в инвентаре в определённых местах были предметы ,которые он не может выкидывать и перемещать. С essentials kit пробывал не получилось.
     
  2. Хостинг MineCraft
    <
  3. MrSwipe

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

    Баллы:
    88
    Skype:
    forgos111
    Имя в Minecraft:
    MrSwipe
    как это не получилось?
     
  4. Автор темы
    ChevChelos

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

    Баллы:
    76
    Имя в Minecraft:
    ChevChelos
    Нельзя сделать ,чтобы предметы были расположены в разных местах.
     
  5. MrSwipe

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

    Баллы:
    88
    Skype:
    forgos111
    Имя в Minecraft:
    MrSwipe
    Код:
      # Do we want to give users anything on first join? Set to '' to disable
      # This kit will be given regardless of cost, and permissions.
      kit: start
    это название кита, который будет выдаваться нубикам(только что зареганным пользователям)
    Книги хочешь сделать? Типо правила сервера?
     
    Последнее редактирование: 18 дек 2014
  6. Автор темы
    ChevChelos

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

    Баллы:
    76
    Имя в Minecraft:
    ChevChelos
    Ну хорошо. Мне необходимо ,чтобы итем 130 был в 9 иконке. По 3-8 иконку предметов не должно быть ,однако если в конфиг ничего не написать ,то выдача итема 130 не будет произведена. Нулевой айди и не существующий не помогает.

    - 399 1
    - 388 1
    -
    -
    -
    -
    -
    -
    - 130 1
     
  7. MrSwipe

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

    Баллы:
    88
    Skype:
    forgos111
    Имя в Minecraft:
    MrSwipe
    А если написать айди не существующего предмета? Допустим 19866
     
  8. Автор темы
    ChevChelos

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

    Баллы:
    76
    Имя в Minecraft:
    ChevChelos
    В чат напишется сообщение об ошибке и не все предметы кита будут выданы. Об этом говорит и essentials kit class
    Код:
    
    package com.earth2me.essentials;
    
    import com.earth2me.essentials.api.IItemDb;
    import com.earth2me.essentials.commands.NoChargeException;
    import com.earth2me.essentials.craftbukkit.InventoryWorkaround;
    import com.earth2me.essentials.textreader.IText;
    import com.earth2me.essentials.textreader.KeywordReplacer;
    import com.earth2me.essentials.textreader.SimpleTextInput;
    import com.earth2me.essentials.utils.DateUtil;
    import com.earth2me.essentials.utils.NumberUtil;
    import java.math.BigDecimal;
    import java.util.*;
    import java.util.logging.Level;
    import java.util.logging.Logger;
    import net.ess3.api.IEssentials;
    import org.bukkit.Material;
    import org.bukkit.World;
    import org.bukkit.configuration.ConfigurationSection;
    import org.bukkit.entity.Player;
    import org.bukkit.inventory.ItemStack;
    
    // Referenced classes of package com.earth2me.essentials:
    //            Trade, MetaItemStack, User, ISettings, 
    //            I18n
    
    public class Kit
    {
    
        final IEssentials ess;
        final String kitName;
        final Map kit;
        final Trade charge;
    
        public Kit(String kitName, IEssentials ess)
            throws Exception
        {
            this.kitName = kitName;
            this.ess = ess;
            kit = ess.getSettings().getKit(kitName);
            charge = new Trade((new StringBuilder()).append("kit-").append(kitName).toString(), new Trade("kit-kit", ess), ess);
            if(kit == null)
            {
                throw new Exception(I18n.tl("kitNotFound", new Object[0]));
            } else
            {
                return;
            }
        }
    
        public static String listKits(IEssentials ess, User user)
            throws Exception
        {
            StringBuilder list;
            ConfigurationSection kits = ess.getSettings().getKits();
            list = new StringBuilder();
            Iterator i$ = kits.getKeys(false).iterator();
            do
            {
                if(!i$.hasNext())
                {
                    break;
                }
                String kitItem = (String)i$.next();
                if(user == null)
                {
                    list.append(" ").append(I18n.capitalCase(kitItem));
                } else
                if(user.isAuthorized((new StringBuilder()).append("essentials.kits.").append(kitItem.toLowerCase(Locale.ENGLISH)).toString()))
                {
                    String cost = "";
                    String name = I18n.capitalCase(kitItem);
                    BigDecimal costPrice = (new Trade((new StringBuilder()).append("kit-").append(kitItem.toLowerCase(Locale.ENGLISH)).toString(), ess)).getCommandCost(user);
                    if(costPrice.signum() > 0)
                    {
                        cost = I18n.tl("kitCost", new Object[] {
                            NumberUtil.displayCurrency(costPrice, ess)
                        });
                    }
                    Kit kit = new Kit(kitItem, ess);
                    if(kit.getNextUse(user) != 0L)
                    {
                        name = I18n.tl("kitDelay", new Object[] {
                            name
                        });
                    }
                    list.append(" ").append(name).append(cost);
                }
            } while(true);
            return list.toString().trim();
            Exception ex;
            ex;
            throw new Exception(I18n.tl("kitError", new Object[0]), ex);
        }
    
        public String getName()
        {
            return kitName;
        }
    
        public void checkPerms(User user)
            throws Exception
        {
            if(!user.isAuthorized((new StringBuilder()).append("essentials.kits.").append(kitName).toString()))
            {
                throw new Exception(I18n.tl("noKitPermission", new Object[] {
                    (new StringBuilder()).append("essentials.kits.").append(kitName).toString()
                }));
            } else
            {
                return;
            }
        }
    
        public void checkDelay(User user)
            throws Exception
        {
            long nextUse = getNextUse(user);
            if(nextUse == 0L)
            {
                return;
            }
            if(nextUse < 0L)
            {
                user.sendMessage(I18n.tl("kitOnce", new Object[0]));
                throw new NoChargeException();
            } else
            {
                user.sendMessage(I18n.tl("kitTimed", new Object[] {
                    DateUtil.formatDateDiff(nextUse)
                }));
                throw new NoChargeException();
            }
        }
    
        public void checkAffordable(User user)
            throws Exception
        {
            charge.isAffordableFor(user);
        }
    
        public void setTime(User user)
            throws Exception
        {
            Calendar time = new GregorianCalendar();
            user.setKitTimestamp(kitName, time.getTimeInMillis());
        }
    
        public void chargeUser(User user)
            throws Exception
        {
            charge.charge(user);
        }
    
        public long getNextUse(User user)
            throws Exception
        {
            if(user.isAuthorized("essentials.kit.exemptdelay"))
            {
                return 0L;
            }
            Calendar time = new GregorianCalendar();
            double delay = 0.0D;
            try
            {
                delay = kit.containsKey("delay") ? ((Number)kit.get("delay")).doubleValue() : 0.0D;
            }
            catch(Exception e)
            {
                throw new Exception(I18n.tl("kitError2", new Object[0]));
            }
            long lastTime = user.getKitTimestamp(kitName);
            Calendar delayTime = new GregorianCalendar();
            delayTime.setTimeInMillis(lastTime);
            delayTime.add(13, (int)delay);
            delayTime.add(14, (int)((delay * 1000D) % 1000D));
            if(lastTime == 0L || lastTime > time.getTimeInMillis())
            {
                return 0L;
            }
            if(delay < 0.0D)
            {
                return -1L;
            }
            if(delayTime.before(time))
            {
                return 0L;
            } else
            {
                return delayTime.getTimeInMillis();
            }
        }
    
        public List getItems(User user)
            throws Exception
        {
            if(kit == null)
            {
                throw new Exception(I18n.tl("kitNotFound", new Object[0]));
            }
            List itemList;
            itemList = new ArrayList();
            Object kitItems = kit.get("items");
            if(!(kitItems instanceof List))
            {
                break MISSING_BLOCK_LABEL_137;
            }
            for(Iterator i$ = ((List)kitItems).iterator(); i$.hasNext();)
            {
                Object item = i$.next();
                if(item instanceof String)
                {
                    itemList.add(item.toString());
                } else
                {
                    throw new Exception((new StringBuilder()).append("Invalid kit item: ").append(item.toString()).toString());
                }
            }
    
            return itemList;
            try
            {
                throw new Exception("Invalid item list");
            }
            catch(Exception e)
            {
                ess.getLogger().log(Level.WARNING, (new StringBuilder()).append("Error parsing kit ").append(kitName).append(": ").append(e.getMessage()).toString());
                throw new Exception(I18n.tl("kitError2", new Object[0]), e);
            }
        }
    
        public void expandItems(User user)
            throws Exception
        {
            expandItems(user, getItems(user));
        }
    
        public void expandItems(User user, List items)
            throws Exception
        {
            try
            {
                IText input = new SimpleTextInput(items);
                IText output = new KeywordReplacer(input, user.getSource(), ess);
                boolean spew = false;
                boolean allowUnsafe = ess.getSettings().allowUnsafeEnchantments();
                Iterator i$ = output.getLines().iterator();
                do
                {
                    if(!i$.hasNext())
                    {
                        break;
                    }
                    String kitItem = (String)i$.next();
                    if(kitItem.startsWith(ess.getSettings().getCurrencySymbol()))
                    {
                        BigDecimal value = new BigDecimal(kitItem.substring(ess.getSettings().getCurrencySymbol().length()).trim());
                        Trade t = new Trade(value, ess);
                        t.pay(user, Trade.OverflowType.DROP);
                    } else
                    {
                        String parts[] = kitItem.split(" +");
                        ItemStack parseStack = ess.getItemDb().get(parts[0], parts.length <= 1 ? 1 : Integer.parseInt(parts[1]));
                        if(parseStack.getType() != Material.AIR)
                        {
                            MetaItemStack metaStack = new MetaItemStack(parseStack);
                            if(parts.length > 2)
                            {
                                metaStack.parseStringMeta(null, allowUnsafe, parts, 2, ess);
                            }
                            boolean allowOversizedStacks = user.isAuthorized("essentials.oversizedstacks");
                            Map overfilled;
                            if(allowOversizedStacks)
                            {
                                overfilled = InventoryWorkaround.addOversizedItems(user.getBase().getInventory(), ess.getSettings().getOversizedStackSize(), new ItemStack[] {
                                    metaStack.getItemStack()
                                });
                            } else
                            {
                                overfilled = InventoryWorkaround.addItems(user.getBase().getInventory(), new ItemStack[] {
                                    metaStack.getItemStack()
                                });
                            }
                            Iterator i$ = overfilled.values().iterator();
                            while(i$.hasNext()) 
                            {
                                ItemStack itemStack = (ItemStack)i$.next();
                                int spillAmount = itemStack.getAmount();
                                if(!allowOversizedStacks)
                                {
                                    itemStack.setAmount(spillAmount >= itemStack.getMaxStackSize() ? itemStack.getMaxStackSize() : spillAmount);
                                }
                                for(; spillAmount > 0; spillAmount -= itemStack.getAmount())
                                {
                                    user.getWorld().dropItemNaturally(user.getLocation(), itemStack);
                                }
    
                                spew = true;
                            }
                        }
                    }
                } while(true);
                user.getBase().updateInventory();
                if(spew)
                {
                    user.sendMessage(I18n.tl("kitInvFull", new Object[0]));
                }
            }
            catch(Exception e)
            {
                user.getBase().updateInventory();
                ess.getLogger().log(Level.WARNING, e.getMessage());
                throw new Exception(I18n.tl("kitError2", new Object[0]), e);
            }
        }
    }
    
     
  9. maxim17341

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

    Баллы:
    61
    Имя в Minecraft:
    Chochome
    Держи плагин) и не мучайся CustomJoinItems
     
  10. tacos912

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

    Баллы:
    78
    Имя в Minecraft:
    tacos912
    Там сортировка по ид!
     

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