From b76846e97168fe05be38d65ad0d93583b382d7f1 Mon Sep 17 00:00:00 2001 From: asiekierka Date: Fri, 28 Nov 2014 14:47:03 +0100 Subject: [PATCH] unnerf Mining Wells, add shift-hover pipe tooltips, etc. --- api/buildcraft/api/core/package-info.java | 2 +- api/buildcraft/api/tiles/package-info.java | 2 +- .../assets/buildcraft/lang/en_US.lang | 12 ++++++++- common/buildcraft/factory/BlockPlainPipe.java | 26 ++++++++++++++----- common/buildcraft/factory/TileMiningWell.java | 6 +++-- common/buildcraft/transport/ItemPipe.java | 2 +- .../transport/PipeToolTipManager.java | 26 ++++++++++++------- 7 files changed, 55 insertions(+), 21 deletions(-) diff --git a/api/buildcraft/api/core/package-info.java b/api/buildcraft/api/core/package-info.java index 31284bdf..fe3c5241 100644 --- a/api/buildcraft/api/core/package-info.java +++ b/api/buildcraft/api/core/package-info.java @@ -6,6 +6,6 @@ * License 1.0, or MMPL. Please check the contents of the license located in * http://www.mod-buildcraft.com/MMPL-1.0.txt */ -@API(apiVersion = "1.1", owner = "BuildCraft|Core", provides = "BuildCraftAPI|core") +@API(apiVersion = "1.2", owner = "BuildCraft|Core", provides = "BuildCraftAPI|core") package buildcraft.api.core; import cpw.mods.fml.common.API; diff --git a/api/buildcraft/api/tiles/package-info.java b/api/buildcraft/api/tiles/package-info.java index 8e47bbc5..dacec92a 100644 --- a/api/buildcraft/api/tiles/package-info.java +++ b/api/buildcraft/api/tiles/package-info.java @@ -6,7 +6,7 @@ * License 1.0, or MMPL. Please check the contents of the license located in * http://www.mod-buildcraft.com/MMPL-1.0.txt */ -@API(apiVersion = "1.0", owner = "BuildCraftAPI|core", provides = "BuildCraftAPI|tiles") +@API(apiVersion = "1.1", owner = "BuildCraftAPI|core", provides = "BuildCraftAPI|tiles") package buildcraft.api.tiles; import cpw.mods.fml.common.API; diff --git a/buildcraft_resources/assets/buildcraft/lang/en_US.lang b/buildcraft_resources/assets/buildcraft/lang/en_US.lang index 1d1ec880..5b2f2989 100644 --- a/buildcraft_resources/assets/buildcraft/lang/en_US.lang +++ b/buildcraft_resources/assets/buildcraft/lang/en_US.lang @@ -305,6 +305,7 @@ tip.gate.wires.emerald=Red, Blue, Green, Yellow tip.gate.expansions=§9§oInstalled Expansions: tip.PipeFluidsCobblestone=Won't connect to Stone +tip.PipeFluidsDiamond=Sorts fluids tip.PipeFluidsEmerald=Extraction pipe tip.PipeFluidsIron=Valve pipe tip.PipeFluidsSandstone=Only connects to other pipes @@ -316,6 +317,7 @@ tip.PipeItemsCobblestone=Basic pipe, high drag\nWon't connect to Stone or Quartz tip.PipeItemsDaizuli=Routes painted items tip.PipeItemsDiamond=Sorts items tip.PipeItemsEmerald=Round-robin extraction pipe +tip.PipeItemsEmzuli=Gate controlled extraction pipe tip.PipeItemsGold=Speeds up items tip.PipeItemsIron=Routes items tip.PipeItemsLapis=Paints items @@ -325,13 +327,21 @@ tip.PipeItemsSandstone=Only connects to other pipes tip.PipeItemsStone=Basic pipe, medium drag\nWon't connect to Cobblestone or Quartz tip.PipeItemsVoid=Destroys items tip.PipeItemsWood=Extraction pipe -tip.PipeItemsEmzuli=Gate controlled extraction pipe tip.PipePowerEmerald=Power Input Pipe tip.PipePowerIron=Selectable Limiter Pipe tip.PipePowerSandstone=Only connects to other pipes tip.PipePowerWood=Power Input Pipe tip.PipeStructureCobblestone=Support pipe +tip.shift.PipeFluidsDiamond=GUI accepts any fluid containers +tip.shift.PipeFluidsEmerald=GUI accepts any fluid container +tip.shift.PipeItemsClay=Prioritizes machines and chests\nover neighbouring pipes. +tip.shift.PipeItemsDaizuli=Sneak-click to change color +tip.shift.PipeItemsEmzuli=Set extraction preset filters in GUI\nA preset can paint extracted items\nSwitch extraction presets via gates +tip.shift.PipeItemsLapis=Sneak-click to change color +tip.shift.PipeItemsObsidian=Power with an engine\nMore power - greater distance +tip.shift.PipePowerIron=Change the limit with a wrench or gates + tip.tool.add=Add tip.tool.remove=Remove diff --git a/common/buildcraft/factory/BlockPlainPipe.java b/common/buildcraft/factory/BlockPlainPipe.java index d50b12ab..dd42381a 100644 --- a/common/buildcraft/factory/BlockPlainPipe.java +++ b/common/buildcraft/factory/BlockPlainPipe.java @@ -8,6 +8,7 @@ */ package buildcraft.factory; +import java.util.ArrayList; import java.util.List; import java.util.Random; @@ -15,9 +16,11 @@ import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.entity.EntityLivingBase; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.world.IBlockAccess; +import net.minecraft.world.World; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -49,17 +52,13 @@ public class BlockPlainPipe extends Block implements IFramePipeConnection { return false; } - public boolean isACube() { + @Override + public boolean isNormalCube() { return false; } - public int idDropped(int i, Random random) { - return 0; - } - @Override public boolean isPipeConnected(IBlockAccess blockAccess, int x1, int y1, int z1, int x2, int y2, int z2) { - return false; } @@ -73,9 +72,24 @@ public class BlockPlainPipe extends Block implements IFramePipeConnection { list.add(new ItemStack(this)); } + @Override + public Item getItemDropped(int i, Random random, int j) { + return null; + } + + @Override + public ArrayList getDrops(World world, int x, int y, int z, int metadata, int fortune) { + return new ArrayList(); + } + @Override @SideOnly(Side.CLIENT) public void registerBlockIcons(IIconRegister par1IconRegister) { this.blockIcon = par1IconRegister.registerIcon("buildcraft:blockPlainPipe"); } + + @Override + public boolean isLadder(IBlockAccess world, int x, int y, int z, EntityLivingBase entity) { + return true; + } } diff --git a/common/buildcraft/factory/TileMiningWell.java b/common/buildcraft/factory/TileMiningWell.java index 6efecb2d..850782e5 100644 --- a/common/buildcraft/factory/TileMiningWell.java +++ b/common/buildcraft/factory/TileMiningWell.java @@ -25,7 +25,7 @@ public class TileMiningWell extends TileBuildCraft implements IHasWork, IPipeCon public TileMiningWell() { super(); - this.setBattery(new RFBattery(2 * 64 * BuilderAPI.BREAK_ENERGY, BuilderAPI.BREAK_ENERGY, 0)); + this.setBattery(new RFBattery(2 * 64 * BuilderAPI.BREAK_ENERGY, BuilderAPI.BREAK_ENERGY * 4 + BuilderAPI.BUILD_ENERGY, 0)); } /** @@ -66,7 +66,9 @@ public class TileMiningWell extends TileBuildCraft implements IHasWork, IPipeCon } else { miner = new BlockMiner(world, this, xCoord, depth, zCoord); } - } else { + } + + if (miner != null) { int usedEnergy = miner.acceptEnergy(getBattery().getEnergyStored()); getBattery().useEnergy(usedEnergy, usedEnergy, false); diff --git a/common/buildcraft/transport/ItemPipe.java b/common/buildcraft/transport/ItemPipe.java index bc05634f..d93ce268 100644 --- a/common/buildcraft/transport/ItemPipe.java +++ b/common/buildcraft/transport/ItemPipe.java @@ -155,7 +155,7 @@ public class ItemPipe extends ItemBuildCraft implements IItemPipe { list.add(ColorUtils.getFormattingTooltip(color) + EnumChatFormatting.ITALIC + StringUtils.localize("color." + ColorUtils.getName(color))); } Class pipe = BlockGenericPipe.pipes.get(this); - List toolTip = PipeToolTipManager.getToolTip(pipe); + List toolTip = PipeToolTipManager.getToolTip(pipe, advanced); list.addAll(toolTip); } } diff --git a/common/buildcraft/transport/PipeToolTipManager.java b/common/buildcraft/transport/PipeToolTipManager.java index 25baac1e..7aa0615f 100644 --- a/common/buildcraft/transport/PipeToolTipManager.java +++ b/common/buildcraft/transport/PipeToolTipManager.java @@ -13,6 +13,7 @@ import java.util.HashMap; import java.util.List; import java.util.Map; +import net.minecraft.client.gui.GuiScreen; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -39,24 +40,31 @@ public final class PipeToolTipManager { private PipeToolTipManager() { } + private static void addTipToList(String tipTag, List tips) { + if (StringUtils.canLocalize(tipTag)) { + String localized = StringUtils.localize(tipTag); + if (localized != null) { + List lines = StringUtils.newLineSplitter.splitToList(localized); + tips.addAll(lines); + } + } + } public static void addToolTip(Class> pipe, String toolTip) { toolTips.put(pipe, toolTip); } - public static List getToolTip(Class pipe) { + public static List getToolTip(Class pipe, boolean advanced) { List tips = new ArrayList(); - String tipTag = "tip." + pipe.getSimpleName(); - if (StringUtils.canLocalize(tipTag)) { - String localized = StringUtils.localize(tipTag); - if (localized != null) { - List lines = StringUtils.newLineSplitter.splitToList(localized); - tips.addAll(lines); - } - } + addTipToList("tip." + pipe.getSimpleName(), tips); + String tip = toolTips.get(pipe); if (tip != null) { tips.add(tip); } + + if (GuiScreen.isShiftKeyDown()) { + addTipToList("tip.shift." + pipe.getSimpleName(), tips); + } return tips; } }