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

Плагин [SEC/FIX] DupeFixer v3.2 - фикс дюпов, багов, X-Ray [>=1.9]

Скоро добавлю фикс быстрых кликов, уберет разные вариации визуальных дюпов. У самого вещи према переименовывали чтобы раздать, теперь конец этому. И еще удалялку предметов с нестандартным зачаром. Никак руки не дойдут перенести код из своего AllFixer.
Лучше плагин переписать. Говнокода ооочень много.
 
Где он тебе там мерещится? Подробнее давай.
  1. Называй классы с большой буквы, а переменные с маленькой, чтобы было понятно в коде, где у тебя класс, а где переменная.
  2. Не используй Minecraft Logger. В Bukkit давно есть нормальный PluginLogger. Получить его можно с помощью getLogger() в главном классе плагина. Все сообщения, которые ты в него будешь отправлять, будут автоматом получать префикс с названием твоего плагина.
  3. Узнай что такое коллекции. А то сделал какую-то херню с названием "memory".
  4. Ну кто так работает с enum?
    Java:
    if(event.getEntityType().equalsIgnoreCase("MINECART_CHEST")) { ...
    Они сделаны для того чтобы было удобно сравнивать.
    Java:
    if(event.getEntityType() == EntityType.MINECART_CHEST) { ...
  5. Ванильные блоки и предметы определяй не по ID, а по Material. Так тебе будет самому будет понятно, с чем ты проводишь сравнение, а ID можно забыть.
    Java:
    if(block.getTypeId() == 56) { ... // алмазный блок
    if(block.getType() == Material.DIAMOND_BLOCK) { ... // вот это выглядит куда лучше и сразу понятно, что тут проверяют
  6. Это вообще убило. Про Block.getRelative() не слышал???
  7. У @EventHandler есть ещё атрибут ignoreCancelled для пропуска отменённых эвентов - не нужен никакой вызов Cancellable.isCancelled().
  8. Получить путь к папке плагина (plugins/MyPlugin) можно с помощью getDataFolder() в главном классе плагина. И не нужно всяких костылей для форточек. Если уж пишешь пути к файлам, то в качестве разделителя директорий используй / будет работать и на форточках, и на *nix, либо вместо него писать File.separator.
Это были лишь нарекания по поводу кода. Есть ещё косяки в логике плагина и ненужные функции о которых я ранее писал.
 
Это все кусок из AllFixer, который я писал вместо HelloWorld когда учил джаву. Потом исправлю всю эту хрень.
  • Узнай что такое коллекции. А то сделал какую-то херню с названием "memory".
Бесят эти тупые коллекции, с memory как-то удобнее работать, он прост как топор. Да и быстрее будет, чем тяжелый класс ворочать.
Если уж пишешь пути к файлам, то в качестве разделителя директорий используй / будет работать и на форточках, и на *nix, либо вместо него писать File.separator.
Не совсем понял, как это? Сначала и был слэш, нифига оно не работает в винде
Называй классы с большой буквы, а переменные с маленькой, чтобы было понятно в коде, где у тебя класс, а где переменная.
Ну, оно мне как-то пофигу, мне и так понятно.
Есть ещё косяки в логике плагина и ненужные функции о которых я ранее писал.
Какие косяки? Антидюп цветов не буду убирать, кому-то это нужно. На последнем спиготе не проверял, а на 1.7 он хорошо работал.
.
 
Слеш работает ещё как, у меня все плагины с ним, а сервак на Win Server 2008 + проверено на Win 7. Если уж так не хочется, делай вместо слеша " + File.separator + "
 
Слеш работает ещё как, у меня все плагины с ним, а сервак на Win Server 2008 + проверено на Win 7. Если уж так не хочется, делай вместо слеша " + File.separator + "
Вот фиг его знает почему, как у меня сейчас путь прописывается для линя в этом плагине - не работало. Буду сепаратор использовать, так правда проще.

Вот бы еще воронки зафиксить, магию ковыряния ядра на ходу не осилю пока что :(
 
А я хз, протестируй. Но пилить поддержку для старья не буду.
 
Не работает, проверил! Хотя папку создал!
Мне бы хотя бы ивент какой то, на фикс дюпа рельс :(
Сейчас BlockPistonExtendEvent используется, а какой там в 1.6.4 был не знаю, чето не могу отыскать джавадок.
 
ModFix разве не фиксит это всё?
Шевчик говорил что фиксит, а в конфиге и описании ни слова. Не понятно что и как фиксится, как настраивать это. Вот почему и взялся, не хочу себе кота в мешке.
 
Шевчик говорил что фиксит, а в конфиге и описании ни слова. Не понятно что и как фиксится, как настраивать это. Вот почему и взялся, не хочу себе кота в мешке.
@Shevchik обычно не врёт. Раз сказал, что фиксит, значит так и есть.
 

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

Назад
Верх