protected static <T extends EnumBlockSlab<?>> T registerEnumItemBlockSlab(IForgeRegistry<Item> registry, T block) { @SuppressWarnings({ "unchecked", "rawtypes" }) ItemBlock itemBlock = new ItemBlockSlab(block); itemBlock.setUnlocalizedName(block.getUnlocalizedName()); register(registry, itemBlock, block.getRegistryName()); ItemBlockMeta.setMappingProperty(block, block.prop); return block; }
@Override public boolean placeBlockAt(ItemStack stack, EntityPlayer player, World world, BlockPos pos, EnumFacing side, float hitX, float hitY, float hitZ, IBlockState newState) { //Ceramics.log.info("test"); boolean result = super.placeBlockAt(stack, player, world, pos, side, hitX, hitY, hitZ, newState); if(result) { TileEntity te = world.getTileEntity(pos); // if we have a channel, update it sensitive to our sneaking and the side hit if(te instanceof TileChannel) { ((TileChannel) te).onPlaceBlock(side, player.isSneaking()); } } return result; }
protected static <T extends EnumBlock<?>> T registerEnumItemBlock(IForgeRegistry<Item> registry, T block) { ItemBlock itemBlock = new ItemBlockMeta(block); itemBlock.setUnlocalizedName(block.getUnlocalizedName()); register(registry, itemBlock, block.getRegistryName()); ItemBlockMeta.setMappingProperty(block, block.prop); return block; }
blockSlime = registerItemBlockProp(registry, new ItemBlockMeta(blockSlime), BlockSlime.TYPE); blockSlimeCongealed = registerItemBlockProp(registry, new ItemBlockMeta(blockSlimeCongealed), BlockSlime.TYPE); materials = registerItem(registry, new ItemMetaDynamic(), "materials"); edibles = registerItem(registry, new ItemEdible(), "edible"); matSlimeBallBlue = edibles.addFood(1, 1, 1f, "slimeball_blue", new PotionEffect(MobEffects.SLOWNESS, 20 * 45, 2), new PotionEffect(MobEffects.JUMP_BOOST, 20 * 60, 2)); matSlimeBallPurple = edibles.addFood(2, 1, 2f, "slimeball_purple", new PotionEffect(MobEffects.UNLUCK, 20 * 45), new PotionEffect(MobEffects.LUCK, 20 * 60)); matSlimeBallBlood = edibles.addFood(3, 1, 1.5f, "slimeball_blood", new PotionEffect(MobEffects.POISON, 20 * 45, 2), new PotionEffect(MobEffects.HEALTH_BOOST, 20 * 60)); matSlimeBallMagma = edibles.addFood(4, 2, 1f, "slimeball_magma", new PotionEffect(MobEffects.WEAKNESS, 20 * 45), new PotionEffect(MobEffects.WITHER, 20 * 15), new PotionEffect(MobEffects.FIRE_RESISTANCE, 20 * 60)); searedBrick = materials.addMeta(0, "seared_brick"); mudBrick = materials.addMeta(1, "mud_brick"); nuggetCobalt = nuggets.addMeta(0, "cobalt"); ingotCobalt = ingots.addMeta(0, "cobalt"); nuggetArdite = nuggets.addMeta(1, "ardite"); ingotArdite = ingots.addMeta(1, "ardite"); nuggetManyullyn = nuggets.addMeta(2, "manyullyn"); ingotManyullyn = ingots.addMeta(2, "manyullyn"); nuggetPigIron = nuggets.addMeta(4, "pigiron"); ingotPigIron = ingots.addMeta(4, "pigiron"); nuggetAlubrass = nuggets.addMeta(5, "alubrass"); ingotAlubrass = ingots.addMeta(5, "alubrass");
@SideOnly(Side.CLIENT) public void registerItemModels() { dynamic.registerItemModels(this); }
@Override public void registerModels() { // ignore color state for the clear stained glass, it is handled by tinting ModelLoader.setCustomStateMapper(blockClearStainedGlass, (new StateMap.Builder()).ignore(BlockClearStainedGlass.COLOR).build()); nuggets.registerItemModels(); ingots.registerItemModels(); materials.registerItemModels(); edibles.registerItemModels(); registerItemModel(book, 0, "inventory"); registerItemBlockMeta(blockMetal); registerItemBlockMeta(blockSoil); registerItemBlockMeta(blockOre); registerItemBlockMeta(blockFirewood); registerItemBlockMeta(blockSlime); registerItemBlockMeta(blockSlimeCongealed); registerItemBlockMeta(slabFirewood); registerItemModel(stairsFirewood); registerItemModel(stairsLavawood); registerItemModel(blockClearGlass); registerItemModel(blockClearStainedGlass); // this is enumBlock, but the model is tinted instead of using a state registerItemBlockMeta(blockDecoGround); registerItemBlockMeta(slabDecoGround); registerItemModel(stairsMudBrick); } }
@Override public ItemStack addMeta(int meta, String name) { if(!values.containsKey(meta)) { throw new RuntimeException("Usage of wrong function. Use the addMeta function that has an amount paired with it with this implementation"); } return super.addMeta(meta, name); } }
protected static <T extends Block> T registerItemBlock(IForgeRegistry<Item> registry, T block) { ItemBlock itemBlock = new ItemBlockMeta(block); itemBlock.setUnlocalizedName(block.getUnlocalizedName()); register(registry, itemBlock, block.getRegistryName()); return block; }
public class ItemArmorTooltip extends ItemArmor { public ItemArmorTooltip(ArmorMaterial armorMaterial, int renderIndex, EntityEquipmentSlot equipmentSlot) { super(armorMaterial, renderIndex, equipmentSlot); } @Override @SideOnly(Side.CLIENT) public void addInformation(ItemStack stack, @Nullable World worldIn, List<String> tooltip, ITooltipFlag flagIn) { ItemTooltip.addOptionalTooltip(stack, tooltip); super.addInformation(stack, worldIn, tooltip, flagIn); } }
/** Registers an itemblockmeta model for the blocks inventory variant. */ public static void registerItemBlockMeta(Block block) { if(block != null) { Item item = Item.getItemFromBlock(block); if(item instanceof ItemBlockMeta) { ((ItemBlockMeta) item).registerItemModels(); } else { TConstruct.log.error("Trying to register an ItemBlockMeta model for a non itemblockmeta block: " + block.getRegistryName()); } } }
@SuppressWarnings("unchecked") protected static <T extends Block> T registerItemBlockProp(IForgeRegistry<Item> registry, ItemBlock itemBlock, IProperty<?> property) { itemBlock.setUnlocalizedName(itemBlock.getBlock().getUnlocalizedName()); register(registry, itemBlock, itemBlock.getBlock().getRegistryName()); ItemBlockMeta.setMappingProperty(itemBlock.getBlock(), property); return (T) itemBlock.getBlock(); }
public ItemStack addFood(int meta, int food, float saturation, String name, PotionEffect... effects) { return addFood(meta, food, saturation, name, effects.length > 0, effects); }
@Override public int getMetadata(ItemStack stack) { return dynamic.getMetadata(stack); }
protected static <T extends EnumBlockSlab<?>> T registerEnumItemBlockSlab(IForgeRegistry<Item> registry, T block, String name) { if (!name.equals(name.toLowerCase(Locale.US))) { throw new IllegalArgumentException(String.format("Unlocalized names need to be all lowercase! Block: %s", name)); } @SuppressWarnings({ "unchecked", "rawtypes" }) ItemBlock itemBlock = new ItemBlockSlab(block); String prefixedName = Util.prefix(name); itemBlock.setUnlocalizedName(prefixedName); register(registry, itemBlock, name); ItemBlockMeta.setMappingProperty(block, block.prop); return block; }
@SideOnly(Side.CLIENT) public void registerItemModels() { registerItemModels(this); }
@SubscribeEvent public void registerItems(Register<Item> event) { IForgeRegistry<Item> registry = event.getRegistry(); slimeDirt = registerEnumItemBlock(registry, slimeDirt); slimeGrass = registerItemBlockProp(registry, new ItemBlockMeta(slimeGrass), BlockSlimeGrass.TYPE); slimeLeaves = registerItemBlockProp(registry, new ItemBlockLeaves(slimeLeaves), BlockSlimeGrass.FOLIAGE); slimeGrassTall = registerItemBlockProp(registry, new ItemBlockMeta(slimeGrassTall), BlockTallSlimeGrass.TYPE); slimeSapling = registerItemBlockProp(registry, new ItemBlockMeta(slimeSapling), BlockSlimeGrass.FOLIAGE); slimeVineBlue3 = registerItemBlock(registry, slimeVineBlue3); slimeVineBlue2 = registerItemBlock(registry, slimeVineBlue2); slimeVineBlue1 = registerItemBlock(registry, slimeVineBlue1); slimeVinePurple3 = registerItemBlock(registry, slimeVinePurple3); slimeVinePurple2 = registerItemBlock(registry, slimeVinePurple2); slimeVinePurple1 = registerItemBlock(registry, slimeVinePurple1); }
public class ItemTooltip extends Item { @Override @SideOnly(Side.CLIENT) public void addInformation(ItemStack stack, @Nullable World worldIn, List<String> tooltip, ITooltipFlag flagIn) { addOptionalTooltip(stack, tooltip); super.addInformation(stack, worldIn, tooltip, flagIn); } public static void addOptionalTooltip(ItemStack stack, List<String> tooltip) { if(I18n.canTranslate(stack.getUnlocalizedName() + ".tooltip")) { tooltip.addAll(LocUtils.getTooltips(TextFormatting.GRAY.toString() + LocUtils.translateRecursive(stack.getUnlocalizedName() + ".tooltip"))); } else if(I18n.canTranslate(stack.getUnlocalizedName() + ".tooltip")) { tooltip.addAll(LocUtils.getTooltips( TextFormatting.GRAY.toString() + LocUtils.translateRecursive(stack.getUnlocalizedName() + ".tooltip"))); } } }
TinkerGadgets.spaghetti.registerItemModels(); registerToolModel(TinkerGadgets.momsSpaghetti, Util.getResource("moms_spaghetti" + ToolModelLoader.EXTENSION));
faucet = registerItemBlock(registry, faucet); channel = registerItemBlock(registry, new ItemChannel(channel)); castingBlock = registerItemBlockProp(registry, new ItemBlockMeta(castingBlock), BlockCasting.TYPE); smelteryIO = registerEnumItemBlock(registry, smelteryIO); searedGlass = registerEnumItemBlock(registry, searedGlass);