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

Помогите Предмет содержит имя...

Тема в разделе "Разработка плагинов для новичков", создана пользователем Kurumi, 20 фев 2018.

Статус темы:
Закрыта.
  1. Автор темы
    Kurumi

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

    Баллы:
    76
    Всем привет. Например у меня есть предмет, и если его имя test тогда игроку который держит предмет дается эффект. Но мне надо добавить к предмету какое-нибудь еще название, которые проверятся не будет. Это примерно так должно выглядеть "test палка", тобишь если в названии есть надпись test, тогда этот предмет подходит под условие, независимо от того, что написано после test. Как это реализовать?
     
  2. Roots

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

    Баллы:
    76
    то мод или плагин?
     
  3. Автор темы
    Kurumi

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

    Баллы:
    76
    Я пишу плагин
     
  4. Roots

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

    Баллы:
    76
    Есть lang
    Там в пиши
    tile.Название текстуры.name=Палка
    Пример
    tile.oreCoal.name=Железо
     
  5. Автор темы
    Kurumi

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

    Баллы:
    76
    Мм? Мне кажется или это для мода??
     
  6. hyndorik

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

    Баллы:
    98
    Имя в Minecraft:
    hyndo
    Чет хрень какую то ты сморозил
     
  7. Автор темы
    Kurumi

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

    Баллы:
    76
    согалсен
     
  8. Roots

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

    Баллы:
    76
    1.jpg
     
  9. Автор темы
    Kurumi

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

    Баллы:
    76
    Помогите :)
     
  10. Автор темы
    Kurumi

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

    Баллы:
    76
    Допустим, есть переменная A типа string, ей присваивается из имя из конфига, а потому я уже проверяю
    if(p.getEquipment().getHelmet().getItemMeta().getDisplayName().contains(a))
    Но все равно, если название палки test палка ничего не работает, а если просто test, тогда работает
     
  11. Автор темы
    Kurumi

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

    Баллы:
    76
    нет
     
  12. Автор темы
    Kurumi

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

    Баллы:
    76
    Скидываю код...
    PHP:
     public boolean checkArmor(final String string) {
            return 
    this.plugin.getConfig().getConfigurationSection("Sets." string) != null;
        }
        
        public 
    void AddEffect() {
            final 
    ItemStack helm this.player.getEquipment().getHelmet();
            final 
    ItemStack legs this.player.getEquipment().getLeggings();
            final 
    ItemStack boot this.player.getEquipment().getBoots();
            final 
    ItemStack chest this.player.getEquipment().getChestplate();
            if (
    helm != null && legs != null && boot != null && chest != null) {
                final 
    String[] eff null;
                final 
    int[] pow null;
                final 
    String a helm.getItemMeta().getDisplayName();
                final 
    boolean s this.checkArmor(a);
                final List<
    Stringa2 = (List<String>)this.plugin.getConfig().getStringList("Sets." ".effects");
                if (
    && helm.getTypeId() == this.plugin.getConfig().getInt("Sets." ".helmet") && helm.getItemMeta().getDisplayName().contains(a) && legs.getTypeId() == this.plugin.getConfig().getInt("Sets." ".leggings") && legs.getItemMeta().getDisplayName().contains(a) && boot.getTypeId() == this.plugin.getConfig().getInt("Sets." ".boots") && boot.getItemMeta().getDisplayName().contains(a) && chest.getTypeId() == this.plugin.getConfig().getInt("Sets." ".chestplate") && chest.getItemMeta().getDisplayName().contains(a)) {
                    for (final 
    String a3 this.plugin.getConfig().getStringList("Sets." ".effects")) {
                        final 
    String fa a3;
                        final 
    String d " ";
                        final 
    String[] a4 a3.split(d);
                        
    this.player.addPotionEffect(new PotionEffect(PotionEffectType.getByName(a4[0]), 120Integer.parseInt(a4[1])), true);
                    }
                }
            }
        }
     
  13. Автор темы
    Kurumi

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

    Баллы:
    76
    хелп
     
  14. hyndorik

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

    Баллы:
    98
    Имя в Minecraft:
    hyndo
    Ну ты и говноед конечно
     
  15. Автор темы
    Kurumi

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

    Баллы:
    76
    ой как приятно. Не мог бы ты помочь с решением проблемы?)
     
  16. AtomicScience

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

    Баллы:
    76
    Имя в Minecraft:
    AtomicScience
    Он прав, тут у тебя реально дико.
    Скинь ТОЛЬКО часть, ответственную за анализ имени предмета
     
  17. TorwaldOswarld

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

    Баллы:
    78
    Имя в Minecraft:
    PuxTa4
    Зачем столько final ?
     
  18. Автор темы
    Kurumi

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

    Баллы:
    76
    Декомпилировал.
     
  19. Автор темы
    Kurumi

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

    Баллы:
    76
    PHP:
     public boolean checkArmor(final String string) {
            return 
    this.plugin.getConfig().getConfigurationSection("Sets." string) != null;
        }
            final 
    ItemStack helm this.player.getEquipment().getHelmet();
            final 
    ItemStack legs this.player.getEquipment().getLeggings();
            final 
    ItemStack boot this.player.getEquipment().getBoots();
            final 
    ItemStack chest this.player.getEquipment().getChestplate();
            final 
    String a helm.getItemMeta().getDisplayName();
            final 
    boolean s this.checkArmor(a);

    if (
    && helm.getTypeId() == this.plugin.getConfig().getInt("Sets." ".helmet") && helm.getItemMeta().getDisplayName().contains(a) && legs.getTypeId() == this.plugin.getConfig().getInt("Sets." ".leggings") && legs.getItemMeta().getDisplayName().contains(a) && boot.getTypeId() == this.plugin.getConfig().getInt("Sets." ".boots") && boot.getItemMeta().getDisplayName().contains(a) && chest.getTypeId() == this.plugin.getConfig().getInt("Sets." ".chestplate") && chest.getItemMeta().getDisplayName().contains(a)) {
     
  20. TorwaldOswarld

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

    Баллы:
    78
    Имя в Minecraft:
    PuxTa4
    А нет equals использовать для проверки строк ? Так же можешь разбивать строки и сравнивать определенную часть строки
     
Статус темы:
Закрыта.

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