- 390
- 7
- 27
Что-то не нашел ничего подходящего, так что спрошу: как можно сделать так, чтобы итем при падении в воду менялся на другой? Можно, в принципе, через метадату, но как?
Благодарю за ответы.
Благодарю за ответы.
public class ItemSteel extends Item {
public static final String[] metadata = new String[] {
"crudeSteel",
"glowingSteel"
};
public ItemSteel(int id) {
super(id);
setCreativeTab(GothicMod.GothicTab);
this.setUnlocalizedName("steel");
this.setHasSubtypes(true);
GameRegistry.registerItem(this, "steel", GothicInfo.MODID);
}
public int getMetadata(int metadata) {
return metadata;
}
public String getUnlocalizedName(ItemStack is) {
int metadata = is.getItemDamage();
if (metadata >= 0 && metadata < this.metadata.length) {
return this.metadata[metadata];
}
return...
public class ItemSteel extends Item {
public static final String[] metadata = new String[] {
"crudeSteel",
"glowingSteel"
};
public ItemSteel(int id) {
super(id);
setCreativeTab(GothicMod.GothicTab);
this.setUnlocalizedName("steel");
this.setHasSubtypes(true);
GameRegistry.registerItem(this, "steel", GothicInfo.MODID);
}
public int getMetadata(int metadata) {
return metadata;
}
public String getUnlocalizedName(ItemStack is) {
int metadata = is.getItemDamage();
if (metadata >= 0 && metadata < this.metadata.length) {
return this.metadata[metadata];
}
return super.getUnlocalizedName();
}
public boolean onEntityItemUpdate(EntityItem entityItem) {
ItemStack itemStack = entityItem.getEntityItem();
if(!entityItem.worldObj.isRemote) {
if(entityItem.isInsideOfMaterial(Material.water)){
itemStack.setItemDamage(0);
}
}
return false;
}
@SideOnly(Side.CLIENT)
public void getSubItems(int id, CreativeTabs table, List list) {
for (int j = 0; j < metadata.length; ++j) list.add(new ItemStack(id, 1, j));
}
}
ItemStack itemStack = entityItem.getEntityItem();