BasicLib - Создай интересный мод одним движением руки!

BasicLib - Создай интересный мод одним движением руки! 0.2

Нет прав для скачивания
Версия(и) Minecraft
1.12+
В процессе написания Realism'а у меня сформировалась небольшая компактная библиотека(возможно говнокодовая,но мне норм, лол, кек, хз)
Данная библиотека содержит большое количество базовых классов для быстрого создания блоков и предметов различного типа. Пройдемся по порядку
1.BasicBlock.class - обычный классический блок.
Содержит в себе аргументы:
Java:
   super(material); // материал, указывается прям в суперклассе
 this.setRegistryName(name);//имя для форджа
    this.setUnlocalizedName(name);//имя для игры
    this.setSoundType(soundtype);//тип звука для блока(некий комплекс звуков: как ломается, когда ходишь и.т.д)
    this.setHardness(hardness);//прочность(как долго ломать)
    this.setResistance(resistanse);//взрывоустойчивость
    this.setCreativeTab(tab);//указывает креативную вкладку где будет оное чудо
Чем отличается от обычного блока: ничем.
2. BasicBlockBush.class - базовый блок одноблочного растения(как трава, цветочки, грибы)
Содержит в себе аргументы:

Java:
        setRegistryName(name);
        setUnlocalizedName(name);
        setHardness(0.2F);
        this.setSoundType(SoundType.PLANT);
        setCreativeTab(tab);
Унаследован от LGBlockBush.class...
2.1. LGBlockBush.class - переделанный ванильный класс BlockBush. В чем разница - неважно к какой стороне блока ставишь. Неважно какой блок снизу. Не дропается если снизу воздух. Встроен метод MapColor - покраски в цвет биома.
3. BasicBlockCrops.class - базовый блок растения с грядки(как морковь\пшеница )
Содержит в себе аргументы:
Java:
        this.setDefaultState(this.blockState.getBaseState().withProperty(this.getAgeProperty(), Integer.valueOf(0)));//дефолт блокстата
        this.setTickRandomly(true);//рандомно тикает(растет)
        this.setCreativeTab((CreativeTabs)null);//не добавляем в креативную вкладку(ибо нефиг)
        this.setHardness(0.0F);
        this.setRegistryName(name);
        this.setUnlocalizedName(name);
        this.setSoundType(SoundType.PLANT);
        this.disableStats();//выключает какую то статистику... оно само!, так и было!, я ни причем...
        this.itemCrop = crop;//можете прям в аргументах указать че будет дропаться
        this.itemSeed = seed;//что является семянами(хехехее семена есть, а если найду?)
        this.blockOn = blockOn;//блок на который можно сажать. насколько помню, вроде не оч норм работает
        this.meta = meta;//мета предмета, который дропается
        this.canUseBonemeal = canUseBonemeal;// можно ли удобрять костной мукой
        this.valueDrops = valueDrops;//количество дропа
Чем отличается от обычного - офигеннейшей кастомизацией через аргументы, настроить можно почти все что угодно, не парясь о коде.
4.BasicBlockFalling.class - легендарная падающая наискось земля из ТФК. Нечего добавить)
5. BasicBlockWithCustomModel.class - аргументы содержит все те же самые. Обычный блок, но годится только для создания блоков с кастомной моделью. И да, баундбоксы придется переопределять и делать самому.
6. BasicBlockSide.class - блок, который поворачивается по сторонам света, в зависимости от того, куда смотрит игрок. Вверх\вниз не работает.
6.1. BasicBlockSideWithInfo.class - то же самое, создано для кастомного ItemBlock, для добавления addInformation
7.
-/ BasicBlockWithDropItem.class - обычный блок, с возможностью настроить дроп какого либо предмета
Содержит в себе аргументы помимо стандартных:
Java:
    setItemDrop();//местный метод, о нем ниже
    this.drop = drop;//некий дроп-предмет
        this.meta = meta;//его мета
        this.valueDrops = valueDrops;//количество
Особенности: по неведомым причинам, иногда вылетал null и майн вместо дропа)) . Во избежание этого пришлось подставлять костыль в виде:
Java:
    public void setItemDrop() {
        if(drop == null) {
            this.drop = drop.getItemFromBlock(Blocks.AIR);
        }
    }
-/ BasicBlockWithDropBlock.class - обычный блок, с возможностью настроить дроп какого либо блока
Содержит в себе аргументы помимо стандартных:
Java:
        this.drop = drop;//дроп-блок
        this.valueDrops = valueDrops;//колво
8. BasicItemBlock.class - базовый ItemBlock. Удобен тем что содержит в конструкторе переопределенные аргументы:
Java:
    this.type = type;//тип доп.инфы(не помню точно что это значит)
    this.color = color;//цвет доп.текста
9.BasicLogBlock.class - обычный блок дерева, вертящийся по любым осям. Выпилены нахер все непонятные методы метадаты и тому подобное говно, с которыми нихрена не работало.
Аргументы стандартные.
10. BasicItem.class - обычный, простейший предмет.
Содержит в себе аргументы:
Java:
        this.setRegistryName(name);
        this.setCreativeTab(tab);
        this.setUnlocalizedName(name);
        this.setMaxStackSize(maxStackSize);//максимальное колво в стаке. От 1 до 64
11. BasicFood.class - почти обычная еда. В аргументах помимо дефолтных :

Код:
        this.itemUseDuration = itemUseDuration;// как долго есть еду.
        this.healAmount = amount;//колво восполняемого жрача
        this.isWolfsFavoriteMeat = isWolfFood;//можно ли волка этим кормить
Особенности: многие методы из ItemFood вытащены сюда. Настраивайте как вам больше нравится.
12. BasicDamageItem.class - дамажащийся от чего то предмет
13. BasicDamageFood.class - еда, которую можно хавать несколько раз.
14. BasicTool.class - базовый класс инструмента со всеми необходимыми методами
Помимо базовых аргументов имеет:
Код:
        this.efficiency = 4.0F;//общая эффективность. Если хотите получать эффективность из материала, удалите строку
        this.toolMaterial = material;//материал предмета(алмазное\золотое\свое)
        this.effectiveBlocks = effectiveBlocksIn;//блок\блоки для которых он эффективнее всего
        this.efficiency = material.getEfficiency();//получает эффективность из материала
        this.attackDamage = attackDamageIn + material.getAttackDamage();//кастомная сила удара + сила удара в зависимости от материала
        this.attackSpeed = attackSpeedIn;// скорость атаки

TimerForCoord - небольшой класс, для привязки таймера своих тиков к координатам блоков. Примеры реализации его можете посмотреть в GitHub мода Realism Craft(ветка Redux)
EnumMaterials - свой список материалов.

Теперь создать свой блок, предмет или механизм стало гораздо проще!:)
P.S Замечания обязательно высказывайте в культурной форме.
Автор
Maxik
Скачивания
51
Просмотры
1,292
Первый выпуск
Обновление
Оценка
4.00 звёзд 6 оценок

Другие ресурсы пользователя Maxik

Последние обновления

  1. Полностью переписано описание

    Обновлено описание.
  2. Исправлены ошибки,добавлены новые классы

    Исправлены неиспользуемые и неизвестные вашей среде импорты(мои то есть) Доработаны многие...
  3. Fix Name and Copyright

    Fix Name and Copyright

Последние рецензии

С душой подошёл к делу, спасибо)
А вот это уже что-то)
Пригодилось. Особенно земля из ТФК.
Для того что бы быстро написать свой мод на блоХи довольно таки полезно!
Как тут писали некоторые хейтерообразные голубоватые "С" товарищи, все это действительно может быть говно для таких "профи" на форуме и действительно им эту либу можно не скачивать. Однако мне, ленивой жопе, гораздо удобнее зайти в твой ресурс, скачать твою либу, и сразу создать нужные мне блоки. Хорошая вещь! Продолжай над ней работать! Молодец, либы и оформление у тебя получается делать хорошо. Разных товарищей, которые говорят что все это не нужно и бла-бла, игнорируй, очень хорошо и удобно когда все есть в одном месте!
Пригодится(но это не точно)
Maxik
Maxik
эта либа не для продвинутых пользователей. Эта либа, если захотелось по быстрому какой то мод на блоки сделать - скачал и сделал.
"но кому не нравится,опять же - не скачивает просто и не пользуется" (с) сабж
Не скачиваю, не пользуюсь. Не нравится принцип "говно - тогда молчи".
А ведь либа неплохая вовсе...
Maxik
Maxik
Про "молчи" ничего сказано не было, как ты заметил :D. Так что одну звездочку ты поставил незаконно.
Сверху