@Override public int getMetaFromState(IBlockState state) { return state.getValue(BotaniaStateProps.COLOR).getMetadata(); }
@SideOnly(Side.CLIENT) @Override public void registerModels() { ModelHandler.registerCustomItemblock(this, EnumDyeColor.values().length, i -> "mushroom_" + EnumDyeColor.byMetadata(i).getName()); }
@Override public void colorSpinningIcon(EntityCorporeaSpark entity, float a) { int hex = entity.getNetwork().getColorValue(); int r = (hex & 0xFF0000) >> 16; int g = (hex & 0xFF00) >> 8; int b = hex & 0xFF; GlStateManager.color(r / 255F, g / 255F, b / 255F, a); }
@Nonnull @Override public IBlockState getStateFromMeta(int meta) { if (meta >= EnumDyeColor.values().length) { meta = 0; } return getDefaultState().withProperty(BotaniaStateProps.COLOR, EnumDyeColor.byMetadata(meta)); }
public SpecialFloatingFlowerWrapper(SpecialFloatingFlowerRecipe recipe) { inputs.add(ImmutableList.of(ItemBlockSpecialFlower.ofType(recipe.type))); List<ItemStack> normalFloaters = new ArrayList<>(); for (EnumDyeColor color : EnumDyeColor.values()) { normalFloaters.add(new ItemStack(ModBlocks.floatingFlower, 1, color.getMetadata())); } inputs.add(normalFloaters); output = ItemBlockSpecialFlower.ofType(new ItemStack(ModBlocks.floatingSpecialFlower), recipe.type); }
private static void registerBags() { for (EnumDyeColor e : EnumDyeColor.values()) { ModelLoader.setCustomModelResourceLocation(ObjHandler.alchBag, e.getMetadata(), new ModelResourceLocation(PECore.MODID + ":" + "bags/alchbag_" + e.getName(), "inventory")); } }
@Nonnull @Override public ItemStack dispenseStack(IBlockSource par1IBlockSource, ItemStack par2ItemStack) { if(par2ItemStack.getItemDamage() == EnumDyeColor.BROWN.getDyeDamage()) { Block block = Blocks.COCOA; EnumFacing facing = par1IBlockSource.getBlockState().getValue(BlockDispenser.FACING); BlockPos pos = par1IBlockSource.getBlockPos().offset(facing); World world = par1IBlockSource.getWorld(); BlockPos logPos = pos.offset(facing); IBlockState logState = world.getBlockState(logPos); if(logState.getBlock() == Blocks.LOG && logState.getValue(BlockOldLog.VARIANT) == BlockPlanks.EnumType.JUNGLE && world.isAirBlock(pos) && block.canPlaceBlockAt(world, pos)) { world.setBlockState(pos, block.getDefaultState().withProperty(BlockHorizontal.FACING, facing)); par2ItemStack.shrink(1); return par2ItemStack; } } return vanillaBehaviour.dispense(par1IBlockSource, par2ItemStack); }
@SideOnly(Side.CLIENT) @Override public void registerModels() { super.registerModels(); ModelHandler.registerCustomItemblock(this, 8, i -> "double_flower_" + EnumDyeColor.byMetadata(i + 8).getName()); } }
for(EntitySheep sheep : sheepList) { if(sheep.getFleeceColor() == sheepColor) sheep.setFleeceColor(EnumDyeColor.byMetadata(storedColor == 16 ? sheep.world.rand.nextInt(16) : storedColor)); EnumDyeColor placeColor = EnumDyeColor.byMetadata(storedColor == 16 ? entity.world.rand.nextInt(16) : storedColor); IBlockState stateThere = entity.world.getBlockState(coords); entity.world.setBlockState(coords, stateThere.withProperty(BotaniaAPI.paintableBlocks.get(block), placeColor), 2); PacketHandler.sendToNearby(entity.world, coords, new PacketBotaniaEffect(PacketBotaniaEffect.EffectType.PAINT_LENS, coords.getX(), coords.getY(), coords.getZ(), placeColor.getMetadata()));
private ColorMeta(String name, String textureName, int rgb, EnumDyeColor vanilla) { this.oreName = "dye" + WordUtils.capitalize(name); this.oreId = OreDictionary.getOreID(oreName); this.textureName = textureName; this.name = name.toLowerCase(Locale.ENGLISH); this.unlocalizedName = "openmodslib.color." + name; this.rgb = rgb; this.vanillaEnum = vanilla; this.vanillaDyeId = vanilla.getDyeDamage(); this.vanillaBlockId = vanilla.getMetadata(); this.bitmask = 1 << vanillaBlockId; this.rgbWrap = new RGB(rgb); this.cymkWrap = rgbWrap.toCYMK(); }
@Override public void getSubItems(@Nonnull CreativeTabs tab, @Nonnull NonNullList<ItemStack> items) { if (!isInCreativeTab(tab)) return; if (!glazed) items.add(new ItemStack(this)); else for (EnumDyeColor color : EnumDyeColor.values()) items.add(new ItemStack(this, 1, color.getDyeDamage())); }
public static ColorMeta fromDyeDamage(int damage) { final EnumDyeColor vanilla = EnumDyeColor.byDyeDamage(damage); return fromVanillaEnum(vanilla); }
@SideOnly(Side.CLIENT) @Override public void registerModels() { ModelHandler.registerItemAllMeta(this, EnumDyeColor.values().length); }
@Override public int getParticleColor(ItemStack stack) { return EnumDyeColor.byMetadata(stack.getItemDamage()).colorValue; } }
@Override @Nonnull public String getTranslationKey(ItemStack stack) { if (!glazed) return super.getTranslationKey(stack); return super.getTranslationKey(stack) + "." + EnumDyeColor.byDyeDamage(stack.getItemDamage()).getName(); }
@Override public void initGui() { super.initGui(); int y = this.guiTop + 138; int x = this.guiLeft + 194; int id = 75, size = Const.SQ; buttonToggle = new GuiButtonTexture(id++, x, y, size, size); buttonToggle.setTooltip("item.storage_bag.toggle"); this.addButton(buttonToggle); y += 20; buttonTogglePickup = new GuiButtonTexture(id++, x, y, size, size); buttonTogglePickup.setTooltip("item.storage_bag.togglepickup"); this.addButton(buttonTogglePickup); int i = 0; size = 12; y = this.guiTop; x = this.guiLeft; for (EnumDyeColor color : EnumDyeColor.values()) { GuiButtonTooltip buttonColour = new GuiButtonTooltip(color.getColorValue(), x - size, y + size * i, size, size, color.name().substring(0, 1)); buttonColour.setTooltip(UtilChat.lang("colour." + color.getTranslationKey() + ".name")); buttonColour.packedFGColour = color.getColorValue(); this.addButton(buttonColour); i++; } }
switch (message.type) { case PAINT_LENS: { EnumDyeColor placeColor = EnumDyeColor.byMetadata(message.args[0]); int hex = placeColor.getColorValue(); int r = (hex & 0xFF0000) >> 16; int g = (hex & 0xFF00) >> 8;
@SubscribeEvent @SideOnly(Side.CLIENT) @SuppressWarnings("deprecation") public static void registerColorHandlerItems(ColorHandlerEvent.Item event) { ItemColors itemColors = event.getItemColors(); itemColors.registerItemColorHandler((stack, tintIndex) -> event.getBlockColors().colorMultiplier(((ItemBlock) stack.getItem()).getBlock().getStateFromMeta(stack.getMetadata()), null, null, tintIndex), BlocksTFC.getAllBlockRockVariants().stream().filter(x -> x.type.isGrass).toArray(BlockRockVariant[]::new)); itemColors.registerItemColorHandler((stack, tintIndex) -> event.getBlockColors().colorMultiplier(((ItemBlock) stack.getItem()).getBlock().getStateFromMeta(stack.getMetadata()), null, null, tintIndex), BlocksTFC.PEAT_GRASS); itemColors.registerItemColorHandler((stack, tintIndex) -> event.getBlockColors().colorMultiplier(((ItemBlock) stack.getItem()).getBlock().getStateFromMeta(stack.getMetadata()), null, null, tintIndex), BlocksTFC.getAllLeafBlocks().toArray(new BlockLeavesTFC[0])); itemColors.registerItemColorHandler((stack, tintIndex) -> tintIndex == 1 ? EnumDyeColor.byDyeDamage(stack.getItemDamage()).getColorValue() : 0xFFFFFF, ItemsTFC.CERAMICS_UNFIRED_VESSEL_GLAZED, ItemsTFC.CERAMICS_FIRED_VESSEL_GLAZED); }
@SubscribeEvent @SideOnly(Side.CLIENT) public void onTooltip(ItemTooltipEvent event) { ItemStack stack = event.getItemStack(); if(!stack.isEmpty() && stack.getItem() == Items.ELYTRA) { int color = ItemNBTHelper.getInt(stack, TAG_ELYTRA_DYE, 15); EnumDyeColor dye = EnumDyeColor.byDyeDamage(color); if(dye != EnumDyeColor.WHITE) event.getToolTip().add(I18n.format("quark.dyedElytra", I18n.format("quark.dye." + dye.getUnlocalizedName()))); } }