[Guide][1.9] Моддинг 1.9 - #3 Items

[Guide][1.9] Моддинг 1.9 - #3 Items


С Proxy мы разобрались, с главным файлом тоже. Но когда всё-таки мы будем добавлять что-то визуальное в игру? Прямо сейчас!

Чтобы создавать предметы, создадим новый класс Items в директории /ник создававшего\./название мода\.items.

Делаем файл финальным[final], чтобы его не могли сделать подклассом. Теперь делаем метод "createItems()" и делаем его статичным[static] и публичным[public]. Класс теперь выглядет примерно так:

public final class Items {

    public static void createItems() {
    }
}


Создаём объект вот так: public static Item item; пишем это между public static void createItems() и public final class Items.Нажимаем Ctrl+Shift+O и импортируем net.minecraft.item.Item.
Теперь заходим в CommonProxy и в preInit вписываем Items.createItems();
Создаём сам предмет: в папке items создаём ещё одну папку item, а в ней класс ItemNew.
Потом пытаемся создать что-то похожее:
import net.minecraft.item.Item;

public class ItemNew extends Item{
	public ItemNew(String unlocalizedName) {
		super();
		
		this.setUnlocalizedName(unlocalizedName);
	}
}

Это класс с названием ItemNew который является подклассом класса Item.
this.setUnlocalizedName(unlocalizedName); - даёт "название" предмету.
Теперь в нашем классе всех предметов[Items] пишем:
GameRegistry.registerItem(item = new ItemNew("new_item"), "new_item");
Это регистрирует наш предмет в игре. item - тот самый объект который мы создали вначале, ItemNew - название класса, new_item - название блока, текстура|модель.

Далее создаём регистратор моделей. Путь к нему вот такой - /никнейм\./мод\.client.render.items. Создаём класс ItemRenderRegister и пишем примерно такой код:

Всё! Предмет создан, осталось только сделать для него модель и текстуру. Создаём в src/main/resources папку assets, в ней папку с названием от modid(Обязательно маленькими буквами!) там папки models и textures. В textures создаём новую, с названием items и кидаем туда файл new_item.png. В models создаём папку item, а в ней файл new_item.json где мы пишем вот это:
{
    "parent": "item/generated",
    "textures": {
        "layer0":"/modid\:items/new_item"
    }
}


Всё, предмет должен быть с текстурой и названием(довольно странным, про локализацию в отдельном уроке).
Чтобы дать себе предмет, вводим команду /give @a /modid\:[tab]

Вам довольно долго писал CheshirX, извините за некоторые непонятицы! Если что-то осталось неясным спрашивайте в комментариях!


Реклама:




Голосуй за новость:
(+4.354,350.00)
  • Просмотров: 1 855
  • Комментариев: 17
Рекомендуемое для Вас:

  1. Просто хорошие люди
    Зарегистрирован: 7.03.2016
    Репутация
    (+50.950,7-0.2)
    CheshirX | Пользователь offline | (19 марта 2016 19:42) | Комментариев: 218 | Новостей: 14 |
    • 0

    Эмм.. в конце у меня, почему то не было кода !?
    -----------------------------------------------------------------------------



  2. Просто хорошие люди
    Зарегистрирован: 7.03.2016
    Репутация
    (+50.950,7-0.2)
    CheshirX | Пользователь offline | (19 марта 2016 19:49) | Комментариев: 218 | Новостей: 14 |
    • 0

    Куда делся проверочный код? Я боюююсь... Shto-za
    -----------------------------------------------------------------------------



  3. Посетители
    Зарегистрирован: 25.02.2016
    Репутация
    (+17.717,4-0.3)
    porludom | Пользователь offline | (19 марта 2016 19:57) | Комментариев: 81 | Новостей: 0 |
    • 0

    CheshirX,
    Че? poker-face2
    -----------------------------------------------------------------------------
    "Тут может быть ваша цитатка"
    Основа: voroma


  4. Просто хорошие люди
    Зарегистрирован: 7.03.2016
    Репутация
    (+50.950,7-0.2)
    CheshirX | Пользователь offline | (19 марта 2016 20:03) | Комментариев: 218 | Новостей: 14 |
    • 0

    porludom, когда пишу статью в конце есть проверочный код, сейчас его не было! Shto-za
    -----------------------------------------------------------------------------



  5. Просто хорошие люди
    Зарегистрирован: 19.04.2015
    Репутация
    (+36.525,8-10.7)
    Funcrafter_Pro | Пользователь offline | (20 марта 2016 08:43) | Комментариев: 291 | Новостей: 26 |
    • 0

    можеш помочь мне надо чтобы блок можно было добывать только железной киркой вот сам код :
    public class mcreator_legendaryMeteorOre {

    public mcreator_legendaryMeteorOre(){}

    public static BlockLegendaryMeteorOre block;

    public static Object instance;public int addFuel(ItemStack fuel){return 0;}
    public void serverLoad(FMLServerStartingEvent event){}
    public void preInit(FMLPreInitializationEvent event){
    }
    public void registerRenderers(){}
    public void load(FMLInitializationEvent event){
    if(event.getSide() == Side.CLIENT){
    Minecraft.getMinecraft().getRenderItem().getItemModelMesher().register(Item.getI
    temFromBlock(block), 0, new ModelResourceLocation("TestEnvironmentMod:LegendaryMeteorOre", "inventory"));}
    }


    static{

    block = (BlockLegendaryMeteorOre)(new BlockLegendaryMeteorOre().setHardness(2.0F)
    .setResistance(10.0F)
    .setLightLevel(0.0F)
    .setUnlocalizedName("LegendaryMeteorOre")
    .setLightOpacity(0)
    .setStepSound(Block.soundTypeStone)
    .setCreativeTab(CreativeTabs.tabBlock)
    );block.setBlockBounds(0.0F,0.0F,0.0F,1.0F,1.0F,1.0F);
    block.setHarvestLevel("pickaxe", 2);
    }


    public void generateSurface(World world, java.util.Random rand, int chunkX, int chunkZ){
    for(int i = 0; i < 8; i++){
    int randPosX = chunkX + rand.nextInt(16);
    int randPosY = rand.nextInt(60)+0;
    int randPosZ = chunkZ + rand.nextInt(16);
    (new WorldGenMinable(mcreator_legendaryMeteorOre.block.getDefaultState(), 12)).generate(world, rand, new BlockPos(randPosX, randPosY, randPosZ));
    }
    }

    public void generateNether(World world, Random random, int chunkX, int chunkZ){}
    static class BlockLegendaryMeteorOre extends Block
    {

    int a1 = 0,a2 = 0,a3 = 0,a4 = 0,a5 = 0,a6 = 0;

    boolean red = false;





    protected BlockLegendaryMeteorOre()
    {
    super(Material.ground);

    GameRegistry.registerBlock(this, "LegendaryMeteorOre");

    }


    public void onBlockAdded(World world, BlockPos pos, IBlockState state){
    int i = pos.getX();int j = pos.getY();int k = pos.getZ();world.scheduleUpdate(new BlockPos(i, j, k), this, this.tickRate(world));

    }
    public int isProvidingStrongPower(IBlockAccess worldIn, BlockPos pos, IBlockState state, EnumFacing side){
    return red?15:0;
    }
    public int isProvidingWeakPower(IBlockAccess worldIn, BlockPos pos, IBlockState state, EnumFacing side){
    return red?15:0;
    }
    @SideOnly(Side.CLIENT)
    public EnumWorldBlockLayer getBlockLayer()
    {
    return EnumWorldBlockLayer.SOLID;
    }

    @Override
    public int tickRate(World world)
    {
    return 10;
    }

    public int quantityDropped(Random par1Random){
    return 1;
    }

    }
    }


  6. Просто хорошие люди
    Зарегистрирован: 7.03.2016
    Репутация
    (+50.950,7-0.2)
    CheshirX | Пользователь offline | (20 марта 2016 09:07) | Комментариев: 218 | Новостей: 14 |
    • 0

    Funcrafter_Pro,
    Ответил в ЛП =)
    -----------------------------------------------------------------------------



  7. Олдфаги
    Зарегистрирован: 24.12.2013
    Репутация
    (+184.8164-20.8)
    ЯndomTrash | Пользователь offline | (20 марта 2016 11:10) | Комментариев: 350 | Новостей: 6 |
    • 0

    CheshirX,
    слушай, а Eclipse Mars подойдёт?

  8. Посетители
    Зарегистрирован: 20.03.2016
    Репутация
    (0.000.0)
    AquiL | Пользователь offline | (20 марта 2016 13:55) | Комментариев: 2 | Новостей: 0 |
    • 0

    Спасибо"
    ____________________________________________________________
    Мой ник зарегистрирован на NickName.ru Зайдите плиииз:)


  9. Просто хорошие люди
    Зарегистрирован: 7.03.2016
    Репутация
    (+50.950,7-0.2)
    CheshirX | Пользователь offline | (20 марта 2016 14:49) | Комментариев: 218 | Новостей: 14 |
    • 0

    iVAN2020,
    К сожалению нет, Eclipse Mars немного изменён, но этого изменения хватает что-бы minecraft его не видел. Нет не подойдёт.

    AquiL,
    За что? Если гайд, то не за что =) Хотя даже так на здоровье =)
    -----------------------------------------------------------------------------



  10. Просто хорошие люди
    Зарегистрирован: 26.12.2015
    Репутация
    (+50.547-3.5)
    Stebbilust | Пользователь offline | (21 марта 2016 21:22) | Комментариев: 104 | Новостей: 14 |
    • 0

    CheshirX,
    Чел, будет ли гайд по API к конкретным модам? К примеру к API IC2 или Thaumcraft?
    -----------------------------------------------------------------------------
    Цитата: Allexx
    ньюфаги хорошие



  11. Просто хорошие люди
    Зарегистрирован: 7.03.2016
    Репутация
    (+50.950,7-0.2)
    CheshirX | Пользователь offline | (22 марта 2016 16:24) | Комментариев: 218 | Новостей: 14 |
    • 0

    Stebbilust,
    В плане? Вы имеете ввиду АПИ которое создаёт энергию, например как ИК2?
    Сам пока разбираюсь, с этим, скоро будет гайд по блоку кстати!
    -----------------------------------------------------------------------------



  12. Просто хорошие люди
    Зарегистрирован: 7.03.2016
    Репутация
    (+50.950,7-0.2)
    CheshirX | Пользователь offline | (22 марта 2016 19:14) | Комментариев: 218 | Новостей: 14 |
    • 0

    Или вы про аддоны?
    -----------------------------------------------------------------------------



  13. Просто хорошие люди
    Зарегистрирован: 26.12.2015
    Репутация
    (+50.547-3.5)
    Stebbilust | Пользователь offline | (23 марта 2016 07:27) | Комментариев: 104 | Новостей: 14 |
    • 0

    CheshirX,
    Я интересуюсь в создании аддона для IC2, но и энергия тоже интересна. Про API IC2 нашел только 1 сборник гайдов на 1.6.2, на анг. языке.
    -----------------------------------------------------------------------------
    Цитата: Allexx
    ньюфаги хорошие



  14. Просто хорошие люди
    Зарегистрирован: 7.03.2016
    Репутация
    (+50.950,7-0.2)
    CheshirX | Пользователь offline | (23 марта 2016 07:36) | Комментариев: 218 | Новостей: 14 |
    • 0

    Stebbilust,
    Для того чтобы создавать аддоны нужно знать как создавать простые моды =)
    Так что жди новостей =)
    Сегодня выпущу по блоку и локализации(нормальному переводу).
    -----------------------------------------------------------------------------



    1. Просто хорошие люди
      Зарегистрирован: 26.12.2015
      Репутация
      (+50.547-3.5)
      Stebbilust | Пользователь offline | (24 марта 2016 16:47) | Комментариев: 104 | Новостей: 14 |
      • 0

      Без обид, но не считай базовые навыки java и знания forge API чем то сверхъестественным, на сайте много тех, кто как минимум имеет базовые знания в Java и может создать простой мод, кстати могу себя отнести к этой категории.
      -----------------------------------------------------------------------------
      Цитата: Allexx
      ньюфаги хорошие



  15. Посетители
    Зарегистрирован: 24.03.2016
    Репутация
    (0.0-2,3-2.3)
    VanaWasd | Пользователь offline | (24 марта 2016 15:08) | Комментариев: 6 | Новостей: 0 |
    • 0

    НА КАКОМ ВЫ ЯЗЫКЕ ГОВОРИТЕ? 3a_4to
    -----------------------------------------------------------------------------
    ----------------------------------------------------------------------------------------
    -Разве вы не арбодиближдорвол?
    -Конечно, фракгшолв это вчера, но сегодня!


  16. Просто хорошие люди
    Зарегистрирован: 7.03.2016
    Репутация
    (+50.950,7-0.2)
    CheshirX | Пользователь offline | (24 марта 2016 18:50) | Комментариев: 218 | Новостей: 14 |
    • 0

    VanaWasd На языке Java.
    Stebbilust А я и не считаю, зато те кто не изучали её считают. Если хочешь могу создать отдельный топик на форуме специально для тех кто знает её =) Кстати это не оскорбление! Я не люблю когда меня оскорбляют, соответственно - когда я оскорбляю. Надо добавить это в подпись =)
    -----------------------------------------------------------------------------



 
Ваше Имя:
  • the-manvitalyapumbapekagustaololoshapokerface
    ololoshanikoloskrovjopagoritgopnikcreepy-troll
    bombanuloanatoliyjewishbadumtssbatrollface
    bayandudecomeonmemefemaleseriouslyneveralonenothingtodohere
    numbsadfsadtrollfacetrolldadwinthistimeclear
    yesmingfupizdynaxezmetall
    pacanypeka-facepikap-masterpoker-face2redface
    rzhakacat-lolDa-nu-nafigfrayna-uchi
    OhGodoh-god-whyponimaeshShto-zaso-close
    so-much-winsurprised-cattrue-storyWTF2voobscheto
    pticapleasepetrosyanpacanohfuck
    irodidisudaheystopityouGTFOefacepalm
    dosvidaniyableayouthful-fearten-guyrage-no-whyyy
    NewspaperGuyTearNewspaperGuyHighhappy-dolangonna
    geniusCerealGuySquintCerealGuyAngryAww-Yeahchallenge-failed
    Determlesqueemisc-alloh_godoh-stop-it-you
    omega-troll-faceotdubpedobearpoker-facerainbow-face
    sincere-trollSlowpokeruka-licopfffnudaeIII
    nikolosneutralmBinimposhappyf
    begomaccepted-drunkbad-poker-facecereal-guycereal-guy-spitting
    chanconcentrateddance-jumpevil-smilefap
    flipfreddie-mercurygreat-scotthappyherp-derp
    jesuslied-lightme-gusta-creepymichelle-not-badnerd
    non2no-whyyyover-heresad-cryingseriously
    staresurprised-kidsurprised-omgwatching-uyou-did-there
    3a_4tokrutoymiloMother_of_godNoris
    not_badot_kompaparkerpovarprelest
    spravedlivomil2big trollbuueeedefault
    fack yeahforever alone2krainyaa stepenkrasnie glazaLOL2
    nravitsaokeyreshitelentrollxD
    zanyatmilanonimbrezguetdefault2
    default3forever aloneHmmmegafffuuumegayeah
    ololoshaOMGshok trollwomen trollwomen
    zadumalsya
Докажи, что не робот:*

 

Последние сообщения с форума

Название темы Автор Статистика Последнее сообщение
Форумный чат

Тема в разделе: Чат флудилка

3JIou_Kpunep

Просмотров: 1646169

Ответов: 114369

Автор: Andrej2001

Сегодня, 03:36

GamePoint - Получи настоящее удовольствие от игры в MineCraft!

Тема в разделе: Проекты

Big_Energy

Просмотров: 82

Ответов: 2

Автор: gamerch

Сегодня, 03:10

Как убрать сетку у блоков?

Тема в разделе: Ваши вопросы по Minecraft

Rush229

Просмотров: 86

Ответов: 7

Автор: MrMaga

Сегодня, 00:15

Не крафтятся предметы из модов на сервере

Тема в разделе: Ваши вопросы по Minecraft

Satyrn

Просмотров: 138

Ответов: 6

Автор: Satyrn

Вчера, 17:44

Продажа модов для DayZ проектов.

Тема в разделе: Моддинг

Katafak

Просмотров: 67

Ответов: 0

Автор: Katafak

Вчера, 09:10