use of net.silentchaos512.lib.util.Color in project SilentGems by SilentChaos512.
the class ItemGemArmor method addInformation.
@Override
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean advanced) {
LocalizationHelper loc = SilentGems.instance.localizationHelper;
ToolRenderHelper helper = ToolRenderHelper.getInstance();
boolean controlDown = KeyTracker.isControlDown();
boolean altDown = KeyTracker.isAltDown();
String line;
// Show original owner?
if (controlDown) {
String owner = ArmorHelper.getOriginalOwner(stack);
if (!owner.isEmpty())
list.add(loc.getMiscText("Tooltip.OriginalOwner", owner));
else
list.add(loc.getMiscText("Tooltip.OriginalOwner.Unknown"));
}
// TODO: Remove me
if (altDown) {
list.add(TextFormatting.RED + "Armor models WIP.");
}
// Broken?
if (ArmorHelper.isBroken(stack)) {
list.add(loc.getMiscText("Tooltip.Broken"));
}
final String sep = loc.getMiscText("Tooltip.Separator");
if (controlDown) {
// Properties header
list.add(loc.getMiscText("Tooltip.Properties"));
TextFormatting color = TextFormatting.YELLOW;
list.add(color + helper.getTooltipLine("Durability", getMaxDamage(stack)));
list.add(color + helper.getTooltipLine("Protection", getProtection(stack)));
// Statistics Header
list.add(sep);
list.add(loc.getMiscText("Tooltip.Statistics"));
list.add(helper.getTooltipLine("DamageTaken", ArmorHelper.getStatDamageTaken(stack)));
list.add(helper.getTooltipLine("Redecorated", ArmorHelper.getStatRedecorated(stack)));
list.add(sep);
} else {
list.add(TextFormatting.GOLD + loc.getMiscText("PressCtrl"));
}
if (altDown) {
list.add(loc.getMiscText("Tooltip.Construction"));
ToolPart[] parts = ArmorHelper.getConstructionParts(stack);
EnumMaterialGrade[] grades = ArmorHelper.getConstructionGrades(stack);
for (int i = 0; i < parts.length; ++i) {
ToolPart part = parts[i];
EnumMaterialGrade grade = grades[i];
line = " " + TextFormatting.YELLOW + part.getKey() + TextFormatting.GOLD + " (" + grade + ")";
list.add(line);
}
list.add(sep);
} else {
list.add(TextFormatting.GOLD + loc.getMiscText("PressAlt"));
}
}
use of net.silentchaos512.lib.util.Color in project SilentGems by SilentChaos512.
the class BlockPhantomLight method randomDisplayTick.
@SideOnly(Side.CLIENT)
@Override
public void randomDisplayTick(IBlockState stateIn, World worldIn, BlockPos pos, Random rand) {
if (rand.nextInt(2 * (1 + 2 * SilentGems.proxy.getParticleSettings())) == 0) {
final float meanSpeed = 0.025f;
final double motionX = rand.nextGaussian() * meanSpeed;
final double motionY = rand.nextGaussian() * meanSpeed;
final double motionZ = rand.nextGaussian() * meanSpeed;
Color color = new Color(0xFFFFAA);
SilentGems.proxy.spawnParticles(EnumModParticles.PHANTOM_LIGHT, color, worldIn, pos.getX() + 0.5, pos.getY() + 0.5, pos.getZ() + 0.5, motionX, motionY, motionZ);
}
}
use of net.silentchaos512.lib.util.Color in project SilentGems by SilentChaos512.
the class ToolHelper method recalculateStats.
/**
* Recalculate all stats and properties, including the rendering cache for the given tool. In general, this should be
* called any time changes are made to a tool (aside from incrementing statistics, or something like that). For
* example, this is called during construction, decoration, and for all tools in the players inventory during login.
*
* @param tool
*/
public static void recalculateStats(ItemStack tool) {
ToolPart[] parts = getConstructionParts(tool);
EnumMaterialGrade[] grades = getConstructionGrades(tool);
if (parts.length == 0)
return;
ToolStats stats = new ToolStats(tool, parts, grades).calculate();
// Reset render cache
for (EnumPartPosition pos : EnumPartPosition.values()) {
NBTTagCompound compound = tool.getTagCompound().getCompoundTag(ToolRenderHelper.NBT_MODEL_INDEX);
String str = "Layer" + pos.ordinal();
for (int frame = 0; frame < (tool.getItem() instanceof ItemGemBow ? 4 : 1); ++frame) compound.removeTag(str + (frame > 0 ? "_" + frame : ""));
compound.removeTag(str + "Color");
}
// Set color for parts
ToolPart renderHeadM = getRenderPart(tool, EnumPartPosition.HEAD_MIDDLE);
ToolPart renderHeadL = getRenderPart(tool, EnumPartPosition.HEAD_LEFT);
ToolPart renderHeadR = getRenderPart(tool, EnumPartPosition.HEAD_RIGHT);
ToolPart renderRodDeco = getRenderPart(tool, EnumPartPosition.ROD_DECO);
ToolPart renderRod = getRenderPart(tool, EnumPartPosition.ROD);
if (renderHeadM != null)
setTagInt(tool, ToolRenderHelper.NBT_MODEL_INDEX, "Layer" + ToolRenderHelper.PASS_HEAD_M + "Color", renderHeadM.getColor(tool));
if (renderHeadL != null)
setTagInt(tool, ToolRenderHelper.NBT_MODEL_INDEX, "Layer" + ToolRenderHelper.PASS_HEAD_L + "Color", renderHeadL.getColor(tool));
if (renderHeadR != null)
setTagInt(tool, ToolRenderHelper.NBT_MODEL_INDEX, "Layer" + ToolRenderHelper.PASS_HEAD_R + "Color", renderHeadR.getColor(tool));
if (renderRodDeco != null)
setTagInt(tool, ToolRenderHelper.NBT_MODEL_INDEX, "Layer" + ToolRenderHelper.PASS_ROD_DECO + "Color", renderRodDeco.getColor(tool));
if (renderRod != null)
setTagInt(tool, ToolRenderHelper.NBT_MODEL_INDEX, "Layer" + ToolRenderHelper.PASS_ROD + "Color", renderRod.getColor(tool));
setTagInt(tool, NBT_ROOT_PROPERTIES, NBT_PROP_DURABILITY, (int) stats.durability);
setTagFloat(tool, NBT_ROOT_PROPERTIES, NBT_PROP_HARVEST_SPEED, stats.harvestSpeed);
setTagFloat(tool, NBT_ROOT_PROPERTIES, NBT_PROP_MELEE_DAMAGE, stats.meleeDamage);
setTagFloat(tool, NBT_ROOT_PROPERTIES, NBT_PROP_MAGIC_DAMAGE, stats.magicDamage);
setTagFloat(tool, NBT_ROOT_PROPERTIES, NBT_PROP_MELEE_SPEED, stats.meleeSpeed);
setTagFloat(tool, NBT_ROOT_PROPERTIES, NBT_PROP_CHARGE_SPEED, stats.chargeSpeed);
setTagFloat(tool, NBT_ROOT_PROPERTIES, NBT_PROP_BLOCKING_POWER, stats.blockingPower);
setTagInt(tool, NBT_ROOT_PROPERTIES, NBT_PROP_ENCHANTABILITY, (int) stats.enchantability);
setTagInt(tool, NBT_ROOT_PROPERTIES, NBT_PROP_HARVEST_LEVEL, stats.harvestLevel);
setTagInt(tool, NBT_ROOT_PROPERTIES, NBT_TOOL_TIER, parts[0].getTier().ordinal());
}
Aggregations