Как сделать свой ID

Есть определенные блоки у которых айди
1000-1010
Как сделать чтоб были как то так :
1000:1
1000:2
И тд.
Чтоб было понятнее ну как у шерстей в майнкрафте :
35:1 35:2 35:3
Помогите !
 
Прочитал , вот ничё не понятно (
Что куда вставляется в главный класс
Вот у меня идёт главный класс

@Mod(modid=ModInfo.MODID, name=ModInfo.NAME, version=ModInfo.VERSION)
вставлять сюда
@Mod (modid = ModMetadata.MODID, name = ModMetadata.MODNAME, version = ModMetadata.VERSION)

public class ModMetadata {

public static final String MODID = "metadata";
public static final String MODNAME = "Metadata";
public static final String VERSION = "0.0a";

@Instance(ModMetadata.MODID) public static ModMetadata instance;

public static CreativeTabs tab_metadata = new CreativeTabs("tab_metadata") {
@SideOnly(Side.CLIENT)
public int getTabIconItemIndex() {
return ModMetadata.block_metadata.blockID;
}
};

public class zhardmod {


public static Block block_metadata;
public static int block_metadata_id;

@EventHandler
public void init(FMLInitializationEvent event) {

block_metadata = new BlockMetadata(block_metadata_id);
GameRegistry.registerBlock(block_metadata, ItemBlockMetadata.class, "block_metadata");

}

@EventHandler
public void preInit(FMLPreInitializationEvent event) {
Configuration config = new Configuration(event.getSuggestedConfigurationFile());
config.load();

int idblock = 2600;

block_metadata_id = config.getBlock("block_metadata", idblock++).getInt();

config.save();
}

}


@EventHandler
   public void Load(FMLInitializationEvent event)
   {

Так ?
 
Создаешь его как блок, но регистрируешь вместе с ItemBlock'ом:
Код:
GameRegistry.registerBlock(block_metadata, ItemBlockMetadata.class, "block_metadata");
Где block_metadata переменная блока.
Где ItemBlockMetadata.class это класс твоего ItemBlock'а.
Где "block_metadata" типа регистрационного имени.
 
всё сделал но терь выдаёт ошибку на add

@SideOnly(Side.CLIENT)
public void getSubBlocks(int id, CreativeTabs table, List list) {
for (int j = 0; j < metadata.length; ++j) {
list.add(new ItemStack(id, 1, j));
}
}

Импорты

import java.awt.List;
import java.util.ArrayList;
import java.util.Random;

import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.client.renderer.texture.IconRegister;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.item.ItemStack;
import net.minecraft.util.Icon;
import net.minecraft.util.MovingObjectPosition;
import net.minecraft.world.World;
А что писать в
public class zhardmod {
вот так ?
public static Block ModMetadata;
public static Block blockID;
public static Block BlockMetadata;
public static Item ItemBlockMetadata;
 
DarkSteel написал(а):
Здарова )
[merge_posts_bbcode]Добавлено: 29.09.2015 21:29:52[/merge_posts_bbcode]

Ну вроде ошибок нету , как терь блоку дать эту meta ? Вот так ?
(1000^1)
Вообщем куда писать это , не получается :)(
 
У тебя:
Код:
import java.awt.List;
А надо:
Код:
import java.util.List;
 
sergey.mihail, записывать их ни где не надо, их нужно вызывать. Метадата стандартно есть у блока, просто нужно делать всякие условия с метадатой блока, чтобы эти блоки были разнообразные.
 
timaxa007 написал(а):
sergey.mihail, записывать их ни где не надо, их нужно вызывать. Метадата стандартно есть у блока, просто нужно делать всякие условия с метадатой блока, чтобы эти блоки были разнообразные.
Можно пример на 1.6.4 ?
Как вызывать её !
 
Код:
int block_id = world.getBlockId(x, y, z);
int block_metadata = world.getBlockMetadata(x, y, z);
Есть методы, которые используют метадату в аргументах.
[merge_posts_bbcode]Добавлено: 29.09.2015 20:52:30[/merge_posts_bbcode]

Код:
world.setBlockMetadataWithNotify(x, y, z, metadata, 3);
Изменить у блока метадату, это надо когда ставишь блок.
 
Назад
Сверху