Войти или зарегистрироваться
  • Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.

.

Статус
Закрыто для дальнейших ответов.
А какие результаты выдаёт этот код?
 
возможно ему выдавало ошибку типа данных формата числа, на которое делили во второй части (гипотеза)
Вряд-ли.
Думаю, проблема в том, что при делении целого числа на целое получается целое.
И если написать вместо "2" -> "2.", все будет работать как надо.
 
Вряд-ли.
Думаю, проблема в том, что при делении целого числа на целое получается целое.
И если написать вместо "2" -> "2.", все будет работать как надо.
всё же остаётся вопрос, что конкретно не получается
ибо если 100 - 50 = 50, то норм
а если не равно 50, то значит что-то не так)
хотя я сомневаюсь, что ошибка такого рода может быть именно в этой части кода
 
всё же остаётся вопрос, что конкретно не получается
ибо если 100 - 50 = 50, то норм
а если не равно 50, то значит что-то не так)
хотя я сомневаюсь, что ошибка такого рода может быть именно в этой части кода
Не получается то, что вычесления работают не правильно.
У "Закаленного в боях" прочность - половина (ну это так и должно быть).
У "Поношенного" прочность - четверть (должно быть 3/4).
... и так далее к худшему, должно быть наоборот.
У "Прямо с завода" прочность - 0 (т.е. один клик и он сломан).
По моей задумке должно быть так - "Прямо с завода" - полная прочность.
А начиная с "Немного поношенный" до "Закаленный в боях" все хуже.
 
Так пробуй:
Java:
private Short setDurabilityForLore(Material item, String durability) {
    switch(durability) {
        case ChatColor.translateAlternateColorCodes('&', "&4Закаленный в боях"): return item.getMaxDurability() / 2.; break;
        case ChatColor.translateAlternateColorCodes('&', "&cПоношенный"): return item.getMaxDurability() - item.getMaxDurability() / 4.; break;
        case ChatColor.translateAlternateColorCodes('&', "&5&lПосле полевых испытаний"): return item.getMaxDurability() - tem.getMaxDurability() / 6.; break;
        case ChatColor.translateAlternateColorCodes('&', "&4Закаленный в боях"): return item.getMaxDurability() - item.getMaxDurability() / 10.; break;
        case ChatColor.translateAlternateColorCodes('&', "&4Закаленный в боях"): return item.getMaxDurability(); break;
    }
    return null;
}
 
Так пробуй:
Java:
private Short setDurabilityForLore(Material item, String durability) {
    switch(durability) {
        case ChatColor.translateAlternateColorCodes('&', "&4Закаленный в боях"): return item.getMaxDurability() / 2.; break;
        case ChatColor.translateAlternateColorCodes('&', "&cПоношенный"): return item.getMaxDurability() - item.getMaxDurability() / 4.; break;
        case ChatColor.translateAlternateColorCodes('&', "&5&lПосле полевых испытаний"): return item.getMaxDurability() - tem.getMaxDurability() / 6.; break;
        case ChatColor.translateAlternateColorCodes('&', "&4Закаленный в боях"): return item.getMaxDurability() - item.getMaxDurability() / 10.; break;
        case ChatColor.translateAlternateColorCodes('&', "&4Закаленный в боях"): return item.getMaxDurability(); break;
    }
    return null;
}
Не пашет(
 
IDE не принимает, все красное.
Лол, потому что я сплю)
Так должно работать(сам замени нужные названия):
Java:
 short f(short max, String durab) {
    switch(durab) {
        case "a": return max / 2.;
        case "b": return max * 3. / 4;
        case "c": return max * 5. / 6;
        case "d": return max * 9. / 10;
        case "e": return max;
    }
    return -1;
}
[code]
 
Лол, потому что я сплю)
Так должно работать(сам замени нужные названия):
Java:
short f(short max, String durab) {
    switch(durab) {
        case "a": return max / 2.;
        case "b": return max * 3. / 4;
        case "c": return max * 5. / 6;
        case "d": return max * 9. / 10;
        case "e": return max;
    }
    return -1;
}
[code]
Слущай, я тогда тоже пойду храпеть... У меня после ~14:00 мозг отказывается что-то понимать по программированию.
Лол, потому что я сплю)
Так должно работать(сам замени нужные названия):
Java:
short f(short max, String durab) {
    switch(durab) {
        case "a": return max / 2.;
        case "b": return max * 3. / 4;
        case "c": return max * 5. / 6;
        case "d": return max * 9. / 10;
        case "e": return max;
    }
    return -1;
}
[code]
Ах да, но IDE строчки с вычеслением все-равно красит в красный.
Го утром проснешься, тогда и подскажешь на "свежую голову"? :D
 
Лол, потому что я сплю)
Так должно работать(сам замени нужные названия):
Java:
short f(short max, String durab) {
    switch(durab) {
        case "a": return max / 2.;
        case "b": return max * 3. / 4;
        case "c": return max * 5. / 6;
        case "d": return max * 9. / 10;
        case "e": return max;
    }
    return -1;
}
[code]
После цифр точки стоят.
 
Лол, потому что я сплю)
Так должно работать(сам замени нужные названия):
Java:
short f(short max, String durab) {
    switch(durab) {
        case "a": return max / 2.;
        case "b": return max * 3. / 4;
        case "c": return max * 5. / 6;
        case "d": return max * 9. / 10;
        case "e": return max;
    }
    return -1;
}
[code]
Тут и без еклипса у меня в глазах ерроры уже :D.
Java:
  short f(short max, String durab) {
        switch(durab) {
            case "a": return (short) (max / 2.);
            case "b": return (short) (max * 3. / 4);
            case "c": return (short) (max * 5. / 6);
            case "d": return (short) (max * 9. / 10);
            case "e": return max;
        }
        return -1;
  }
 
Тут и без еклипса у меня в глазах ерроры уже :D.
Java:
  short f(short max, String durab) {
        switch(durab) {
            case "a": return (short) (max / 2.);
            case "b": return (short) (max * 3. / 4);
            case "c": return (short) (max * 5. / 6);
            case "d": return (short) (max * 9. / 10);
            case "e": return max;
        }
        return -1;
  }
Подчеркивает красным durab в switch говорит что в switch можно использовать только byte, char, short, int.
Хотя, кликнул на какую-то кнопочку, зароботало чВ
 
Подчеркивает красным durab в switch говорит что в switch можно использовать только byte, char, short, int.
Хотя, кликнул на какую-то кнопочку, зароботало чВ
Ну так надо седьмую джаву юзать.
После цифр точки стоят.
Это что, запрещено?
Тут и без еклипса у меня в глазах ерроры уже :D.
Java:
  short f(short max, String durab) {
        switch(durab) {
            case "a": return (short) (max / 2.);
            case "b": return (short) (max * 3. / 4);
            case "c": return (short) (max * 5. / 6);
            case "d": return (short) (max * 9. / 10);
            case "e": return max;
        }
        return -1;
  }
Извиняюсь, сонный был.
 
Ну так надо седьмую джаву юзать.

Это что, запрещено?

Извиняюсь, сонный был.
Так седьмую вроде и юзаю, на 8 не успел перейти..
Большое спасибо всем, вроде зароботало (проверял на тестовых букафках, но думаю с ChatColor проблем не возникнет). Но есть еще одна проблема, (сам сделать попытался, но увы, не вышло)
Можете скинуть такой-же код, только немного апгрейдженный,
Мне надо ретурнить рандомное число,
Минимум = (то_что_ретурнится_сейчас) - (max/10) (т.е. число на десятую часть меньше.
Максимум = (то_что_ретурнится_сейчас) + (max + (max/10)) (т.е. число на десятую часть больше).
Тут и без еклипса у меня в глазах ерроры уже :D.
Java:
  short f(short max, String durab) {
        switch(durab) {
            case "a": return (short) (max / 2.);
            case "b": return (short) (max * 3. / 4);
            case "c": return (short) (max * 5. / 6);
            case "d": return (short) (max * 9. / 10);
            case "e": return max;
        }
        return -1;
  }
Хм... А как сделать с ChatColor? Ибо так не прокатывает:
case ChatColor.translateAlternateColorCodes('&', "&4Закаленный в боях"): return (short) (max / 2.);
 
Статус
Закрыто для дальнейших ответов.

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

Назад
Верх