Главная Minecraft 1.8 Minecraft 1.7.10 Minecraft 1.6.4 TooManyItems 1.7.6 Forge 1.7.2 ModLoader 1.6.2 X-Ray 1.7.5
Последнее
    • Бездепозитный бонус в онлайн казино АзартПлей
    • Где взять займ под ПТС?
    • Автоломбард
    • Ламинат и паркетная доска
    • Почему безопасно работать в системе Casino Champion
    • Как зайти на официальный сайт Франк казино
    • Играем онлайн в казино Jet
    • Большой игровой онлайн рынок
    • Бесплатные игровые автоматы онлайн
    • Запрещенные сайты Тор
Популярное
    • Ламинат и паркетная доска
    • Где взять займ под ПТС?
    • Автоломбард
    • Бездепозитный бонус в онлайн казино АзартПлей
Статьи/гайды
    • Бездепозитный бонус в онлайн казино АзартПлей
    • Где взять займ под ПТС?
    • Ламинат и паркетная доска
    • Почему безопасно работать в системе Casino Champion
    • Как зайти на официальный сайт Франк казино
    • Играем онлайн в казино Jet
    • Большой игровой онлайн рынок
    • Бесплатные игровые автоматы онлайн
    • Rox Casino - играем онлайн
    • Выбираем качественную сантехнику
Голосование
Ты видел Herobrine ?
Нетokay
Да lol-face
Я его один раз убилfuckyea
Архив файлов
Октябрь 2020 (1)
Сентябрь 2020 (3)
Август 2020 (3)
Июль 2020 (3)
Июнь 2020 (1)
Май 2020 (3)
Поиск по сайту

Как сделать собственный набор инструментов

7-07-2012, 14:10     Категория: Статьи (гайды)     Просмотров: 5196

Как сделать собственный набор инструментов

В этом уроке мы будем делать мод, который добавляет целый ряд новых инструментов.
Мы начнем с основных mod_ * Java элеменьов без блоков, потому что мы будем делать наш собственный.:
package net.minecraft.src;

public class mod_CamelOre extends BaseMod
{

        public mod_CamelOre()
        {

        }

        public void load()
        {

        }

        public String getVersion() {
                return "1.0.0";
        }

}

Первое, что вам нужно сделать, это импортировать Forge, добавив в начало файла прямо под пакет net.minecraft.src;:
import net.minecraft.src.forge.*;

Теперь ваш mod_ * Java будет выглядеть следующим образом:
package net.minecraft.src;

import net.minecraft.src.forge.*;

public class mod_CamelOre extends BaseMod
{

        public mod_CamelOre()
        {

        }

        public void load()
        {

        }

        public String getVersion() {
                return "1.0.0";
        }

}

Далее мы должны добавить пять инструментов и оружия:
  public static final Item shovelTitanium = (new CamelOreItemSpade(127, toolTITANIUM)).setIconCoord(0, 2).setItemName("shovelTitanium");
        public static final Item pickaxeTitanium = (new CamelOreItemPickaxe(128, toolTITANIUM)).setIconCoord(0, 3).setItemName("pickaxeTitanium");
        public static final Item axeTitanium = (new CamelOreItemAxe(129, toolTITANIUM)).setIconCoord(0, 4).setItemName("hatchetTitanium");
        public static final Item swordTitanium = (new CamelOreItemSword(130, toolTITANIUM)).setIconCoord(0, 1).setItemName("swordTitanium");
        public static final Item hoeTitanium = (new CamelOreItemHoe(131, toolTITANIUM)).setIconCoord(0, 5).setItemName("hoeTitanium");

Первый номер (127) пункта идентификационный номер, как обычно.
Вторая вещь, которую мы имеем toolTITANIUM , приводит к ошибке. Я объясню это позже.
Теперь наш код будет выглядеть так:
package net.minecraft.src;

import net.minecraft.src.forge.*;

public class mod_CamelOre extends BaseMod
{

        public static final Item shovelTitanium = (new CamelOreItemSpade(127, toolTITANIUM)).setIconCoord(0, 2).setItemName("shovelTitanium");
        public static final Item pickaxeTitanium = (new CamelOreItemPickaxe(128, toolTITANIUM)).setIconCoord(0, 3).setItemName("pickaxeTitanium");
        public static final Item axeTitanium = (new CamelOreItemAxe(129, toolTITANIUM)).setIconCoord(0, 4).setItemName("hatchetTitanium");
        public static final Item swordTitanium = (new CamelOreItemSword(130, toolTITANIUM)).setIconCoord(0, 1).setItemName("swordTitanium");
        public static final Item hoeTitanium = (new CamelOreItemHoe(131, toolTITANIUM)).setIconCoord(0, 5).setItemName("hoeTitanium");

        public mod_CamelOre()
        {

        }

        public void load()
        {

        }

        public String getVersion() {
                return "1.0.0";
        }

}

Теперь мы вернемся к toolTITANIUM
Это перечисление (вы не должны знать, что это значит), который имеет определенные характеристики, о конкретном инструменте.
Он определяет:
Сколько собрано блоков успешно.
Сколько он будет еще работать, пока инструмент не исчезнет
Какова сила разрушения блока
Сколько ущерба к другим лицам будет от этого инструмента


Теперь если мы добавим перечисление прав, то у нас получится броня:
static EnumToolMaterial toolTITANIUM = EnumHelper.addToolMaterial("TITANIUM", 2, 500, 7F, 3, 9);

если добавить это в код, то он должен избавиться от этой конкретной ошибке и вы в конкретном счете получаете новый материал, инструмент, который сделан из титана.
Первая часть ("ТИТАН") является просто название материала
Второе число (2) определяет, какие блоки можно собрать успешно (алмаз = 3, железа = 2, = 1 камень, золото и дерево = 0)
следующий номер (500), сколько использовать его , прежде чем инструмент иссякнет
Четвертый номер (7F) в том, насколько быстрее он разбивает блок, если это определенный блок
Пятый номер (3), какой ущерб он наносит другим субъектам
и последнее число (9), как стол заклинаний это (я не совсем уверен в подробности этого, так как это было недавно добавлено)

Ваш код должен выглядеть так:
package net.minecraft.src;

import net.minecraft.src.forge.*;

public class mod_CamelOre extends BaseMod
{
        static EnumToolMaterial toolTITANIUM = EnumHelper.addToolMaterial("TITANIUM", 2, 500, 7F, 3, 9);
        public static final Item shovelTitanium = (new CamelOreItemSpade(127, toolTITANIUM)).setIconCoord(0, 2).setItemName("shovelTitanium");
        public static final Item pickaxeTitanium = (new CamelOreItemPickaxe(128, toolTITANIUM)).setIconCoord(0, 3).setItemName("pickaxeTitanium");
        public static final Item axeTitanium = (new CamelOreItemAxe(129, toolTITANIUM)).setIconCoord(0, 4).setItemName("hatchetTitanium");
        public static final Item swordTitanium = (new CamelOreItemSword(130, toolTITANIUM)).setIconCoord(0, 1).setItemName("swordTitanium");
        public static final Item hoeTitanium = (new CamelOreItemHoe(131, toolTITANIUM)).setIconCoord(0, 5).setItemName("hoeTitanium");

        public mod_CamelOre()
        {

        }

        public void load()
        {
                MinecraftForgeClient.preloadTexture("/CamelMod/CamelOre/gui/items.png");
        }

        public String getVersion() {
                return "1.0.0";
        }

}

Теперь у нас есть это, вы еще увидите, что у нас есть еще несколько ошибок.
Мы не сделали CamelOreItemSpade, CamelOreItemPickaxe, CamelOreItemAxe, CamelOreItemSword или CamelOreItemHoe еще!

Сделайте пять новых класс CamelOreItemSpade, CamelOreItemPickaxe, CamelOreItemAxe, CamelOreItemSword и CamelOreItemHoe и все они должны начаться, как основной элемент файла с текстурой.
package net.minecraft.src;

import net.minecraft.src.forge.*;

public class CamelOreItem extends Item implements ITextureProvider
{

        public CamelOreItem(int i)
        {
                super(i);
        }
        
        public String getTextureFile()
        {
                return "/CamelMod/CamelOre/gui/items.png";
        }

}

Я просто хочу показать вам один из них, потому что все они будут в основном те же.
Первое, что вам нужно сделать, это было его продлить, что это на самом деле (т.е. CamelOreItemSpade расширяет ItemSpade и CamelOreItemPickaxe распространяется пункт Pickaxe)
Единственное, что вы должны убедиться, что вы имеете право параметры в супер теги
Все они будут выглядеть так:
super(i, enumtoolmaterial);

Вот пример CamelOreItemPickaxe:
package net.minecraft.src;

import net.minecraft.src.forge.*;

public class CamelOreItemPickaxe extends ItemPickaxe implements ITextureProvider
{
        
        protected CamelOreItemPickaxe(int i, EnumToolMaterial enumtoolmaterial)
        {
                super(i, enumtoolmaterial);
        }
        
        public String getTextureFile()
        {
                return "/CamelMod/CamelOre/gui/items.png";
        }

}

Последнее, что нам нужно сделать, это сказать Minecraft, что мы знали эти инструменты.
Поэтому мы должны зарегистрировать их в mod_CamelOre.java.
Вам нужно только зарегистрировать кирку, лопату, топор и потому что это только те, которые делают разрушение блоков быстрее.
Таким образом, мы собираемся добавить следующее:
   MinecraftForge.setToolClass(pickaxeTitanium, "pickaxe", 2);
                MinecraftForge.setToolClass(shovelTitanium, "shovel", 2);
                MinecraftForge.setToolClass(axeTitanium, "axe", 2);

Первая, это просто название элемента
Вторая вещь, просто кирка, лопата или топор
и последнее, что есть урожай на уровне, который мы определили в свое дело перечисление выше (что блоки можно собрать успешно).
когда мы ставим это в наших mod_CamelOre.java это выглядит так:
package net.minecraft.src;

import net.minecraft.src.forge.*;

public class mod_CamelOre extends BaseMod
{
        static EnumToolMaterial toolTITANIUM = EnumHelper.addToolMaterial("TITANIUM", 2, 500, 7F, 3, 9);
        public static final Item shovelTitanium = (new CamelOreItemSpade(127, toolTITANIUM)).setIconCoord(0, 2).setItemName("shovelTitanium");
        public static final Item pickaxeTitanium = (new CamelOreItemPickaxe(128, toolTITANIUM)).setIconCoord(0, 3).setItemName("pickaxeTitanium");
        public static final Item axeTitanium = (new CamelOreItemAxe(129, toolTITANIUM)).setIconCoord(0, 4).setItemName("hatchetTitanium");
        public static final Item swordTitanium = (new CamelOreItemSword(130, toolTITANIUM)).setIconCoord(0, 1).setItemName("swordTitanium");
        public static final Item hoeTitanium = (new CamelOreItemHoe(131, toolTITANIUM)).setIconCoord(0, 5).setItemName("hoeTitanium");

        public mod_CamelOre()
        {

        }

        public void load()
        {
                MinecraftForgeClient.preloadTexture("/CamelMod/CamelOre/gui/items.png");
        MinecraftForge.setToolClass(pickaxeTitanium, "pickaxe", 2);
        MinecraftForge.setToolClass(shovelTitanium, "shovel", 2);
        MinecraftForge.setToolClass(axeTitanium, "axe", 2);
        }

        public String getVersion() {
                return "1.0.0";
        }

}

Вот и все я думаю.


Как сделать собственный набор инструментов

Данный урок был предоставлен юзером Methuselah96.
Вольный перевод

Похожие заметки:

Помощь Minecraft новичкам:
Установка модов
Установка текстур
FAQ
Установка карт
Установка сервера
Установка и настройка Minecraft
Создание своего сервера
Теги:
Комментарии к статье Как сделать собственный набор инструментов:
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.
Пишет:razorn   12 июля 2012 16:14
у меня 2 вопроса: это для какой версии написано?
public String getVersion() {
сииreturn "1.0.0";

и куда это всё писать???


Пишет:razorn   13 июля 2012 08:50
алё мне кто нить ответит??? : fu


Пишет:koka54555   13 июля 2012 12:00
для 1.2.5 trollface

но это очень сложно как вабще так вазможно???


Пишет:So1omon   13 июля 2012 16:41
razorn, для MC 1.2.5 fuckyea
koka54555, Это возможно , если вы знаете Java хоть не много! lucky


Информация
Комментировать статьи на нашем сайте возможно только в течении 1000 дней со дня публикации.