diff options
author | Draknyte1 <Draknyte1@hotmail.com> | 2016-09-06 03:28:48 +1000 |
---|---|---|
committer | Draknyte1 <Draknyte1@hotmail.com> | 2016-09-06 03:28:48 +1000 |
commit | 12ef852517230cb415bff372d8eb758334ce9e7c (patch) | |
tree | 88bc8eb3411707afbf33d4e6d4f31b7cc54283a9 /src/Java/miscutil/core/item | |
parent | 6aca751710805eab1ee2eac42dda2ebdb10a2bc5 (diff) | |
download | GT5-Unofficial-12ef852517230cb415bff372d8eb758334ce9e7c.tar.gz GT5-Unofficial-12ef852517230cb415bff372d8eb758334ce9e7c.tar.bz2 GT5-Unofficial-12ef852517230cb415bff372d8eb758334ce9e7c.zip |
+ Added some MultiPickaxes.
% Improved a few aspects of the Tunnel Digger pickaxe.
$ Tried fixing some bad names with spaces where they should be.
Diffstat (limited to 'src/Java/miscutil/core/item')
3 files changed, 210 insertions, 10 deletions
diff --git a/src/Java/miscutil/core/item/ModItems.java b/src/Java/miscutil/core/item/ModItems.java index e57211b0ca..56750dfb62 100644 --- a/src/Java/miscutil/core/item/ModItems.java +++ b/src/Java/miscutil/core/item/ModItems.java @@ -2,6 +2,7 @@ package miscutil.core.item; import static miscutil.core.creative.AddToCreativeTab.tabMachines; import static miscutil.core.creative.AddToCreativeTab.tabMisc; import static miscutil.core.lib.CORE.LOAD_ALL_CONTENT; +import gregtech.api.enums.Materials; import gregtech.api.util.GT_OreDictUnificator; import miscutil.core.creative.AddToCreativeTab; import miscutil.core.item.base.BaseItemBackpack; @@ -25,6 +26,7 @@ import miscutil.core.item.general.RF2EU_Battery; import miscutil.core.item.general.fuelrods.FuelRod_Base; import miscutil.core.item.init.ItemsFoods; import miscutil.core.item.tool.misc.SandstoneHammer; +import miscutil.core.item.tool.staballoy.MultiPickaxeBase; import miscutil.core.item.tool.staballoy.StaballoyAxe; import miscutil.core.item.tool.staballoy.StaballoyPickaxe; import miscutil.core.lib.CORE; @@ -170,6 +172,16 @@ public final class ModItems { public static Item itemPersonalCloakingDeviceCharged; public static Item itemPersonalHealingDevice; + public static MultiPickaxeBase MP_Iron; + public static MultiPickaxeBase MP_Gold; + public static MultiPickaxeBase MP_Diamond; + public static MultiPickaxeBase MP_Wood; + public static MultiPickaxeBase MP_Stone; + public static MultiPickaxeBase MP_Quartz; + public static MultiPickaxeBase MP_Obsidian; + public static MultiPickaxeBase MP_Redstone; + + public static BaseItemBackpack backpack_Red; public static BaseItemBackpack backpack_Green; public static BaseItemBackpack backpack_Blue; @@ -288,6 +300,17 @@ public final class ModItems { //Uranium-233if UtilsItems.generateItemsFromMaterial("Uranium233", "Uranium 233", 4, MaterialInfo.INCONEL792, Utils.rgbtoHexValue(73, 220, 83), false); //Uranium-233 is a fissile isotope of uranium that is bred from thorium-232 as part of the thorium fuel cycle. + MP_Wood = new MultiPickaxeBase("Wooden Multipick", ToolMaterial.WOOD, ToolMaterial.WOOD.getMaxUses(), Utils.rgbtoHexValue(139,90,43)); + MP_Stone = new MultiPickaxeBase("Cobblestone Multipick", ToolMaterial.STONE, ToolMaterial.STONE.getMaxUses(), Utils.rgbtoHexValue(161,161,161)); + MP_Iron = new MultiPickaxeBase("Iron Multipick", ToolMaterial.IRON, ToolMaterial.IRON.getMaxUses(), Utils.rgbtoHexValue(110,123,139)); + MP_Gold = new MultiPickaxeBase("Gold Multipick", ToolMaterial.GOLD, ToolMaterial.GOLD.getMaxUses(), Utils.rgbtoHexValue(238,221,130)); + MP_Diamond = new MultiPickaxeBase("Diamond Multipick", ToolMaterial.EMERALD, ToolMaterial.EMERALD.getMaxUses(), Utils.rgbtoHexValue(191,239,255)); + + MP_Redstone = UtilsItems.generateMultiPick(Materials.Redstone); + MP_Obsidian = UtilsItems.generateMultiPick(Materials.Obsidian); + MP_Obsidian = UtilsItems.generateMultiPick(Materials.Abyssal); + MP_Obsidian = UtilsItems.generateMultiPick(Materials.NetherStar); + MP_Obsidian = UtilsItems.generateMultiPick(Materials.Neutronium); //EnderIO Resources if (LoadedMods.EnderIO || LOAD_ALL_CONTENT){ diff --git a/src/Java/miscutil/core/item/tool/staballoy/MultiPickaxeBase.java b/src/Java/miscutil/core/item/tool/staballoy/MultiPickaxeBase.java new file mode 100644 index 0000000000..49d62956a8 --- /dev/null +++ b/src/Java/miscutil/core/item/tool/staballoy/MultiPickaxeBase.java @@ -0,0 +1,179 @@ +package miscutil.core.item.tool.staballoy; + +import miscutil.core.creative.AddToCreativeTab; +import miscutil.core.lib.CORE; +import miscutil.core.util.Utils; +import miscutil.core.util.math.MathUtils; +import miscutil.core.util.player.UtilsMining; +import net.minecraft.block.Block; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Blocks; +import net.minecraft.item.EnumRarity; +import net.minecraft.item.ItemStack; +import net.minecraft.world.World; +import cpw.mods.fml.common.registry.GameRegistry; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; + +public class MultiPickaxeBase extends StaballoyPickaxe{ + + /* (non-Javadoc) + * @see net.minecraft.item.Item#getDurabilityForDisplay(net.minecraft.item.ItemStack) + */ + @Override + public double getDurabilityForDisplay(ItemStack stack) { + if (super.getDurabilityForDisplay(stack) > 0){ + return super.getDurabilityForDisplay(stack);} + return 0; + } + + protected Boolean FACING_HORIZONTAL = true; + protected String FACING = "north"; + protected EntityPlayer localPlayer; + protected String lookingDirection; + protected World localWorld; + protected ItemStack thisPickaxe = null; + protected final int colour; + protected final String materialName; + + public MultiPickaxeBase(String unlocalizedName, ToolMaterial material, int materialDurability, int colour) { + super(Utils.sanitizeString(unlocalizedName), material); + this.setUnlocalizedName(Utils.sanitizeString(unlocalizedName)); + this.setTextureName(CORE.MODID + ":" + "itemPickaxe"); + this.FACING_HORIZONTAL=true; + this.setMaxStackSize(1); + this.setMaxDamage(materialDurability); + this.colour = colour; + this.materialName = material.name(); + GameRegistry.registerItem(this, Utils.sanitizeString(unlocalizedName)); + this.setCreativeTab(AddToCreativeTab.tabTools); + } + + /* + * + * + * + * Methods + * + * + * + */ + + public final String getMaterialName() { + return materialName; + } + + @Override + public String getItemStackDisplayName(ItemStack iStack) { + + String name; + if (getUnlocalizedName().toLowerCase().contains("wood")){ + name = "Wooden"; + } + else if (getUnlocalizedName().toLowerCase().contains("cobblestone")){ + name = "Cobblestone"; + } + else if (getUnlocalizedName().toLowerCase().contains("iron")){ + name = "Iron"; + } + else if (getUnlocalizedName().toLowerCase().contains("gold")){ + name = "Gold"; + } + else if (getUnlocalizedName().toLowerCase().contains("diamond")){ + name = "Diamond"; + } + else { + name = materialName; + } + return name+" Multipickaxe"; + } + + @Override + public int getColorFromItemStack(ItemStack stack, int HEX_OxFFFFFF) { + if (colour == 0){ + return MathUtils.generateSingularRandomHexValue(); + } + return colour; + + } + + @SuppressWarnings("static-method") + private float calculateDurabilityLoss(World world, int X, int Y, int Z){ + float bDurabilityLoss = 0; + Boolean correctTool = false; + float bHardness = 0; + if (!world.isRemote){ + try { + Block removalist = world.getBlock(X, Y, Z); + //Utils.LOG_WARNING(removalist.toString()); + + bHardness = removalist.getBlockHardness(world, X, Y, Z); + Utils.LOG_WARNING("Hardness: "+bHardness); + + bDurabilityLoss = (bDurabilityLoss + bHardness); + //Utils.LOG_WARNING("Durability Loss: "+bDurabilityLoss); + + correctTool = canPickaxeBlock(removalist, world); + Utils.LOG_WARNING(""+correctTool); + + if (!correctTool){ + return 0; + } + + } catch (NullPointerException e){ + + } + } + return bDurabilityLoss; + } + + @Override + public int doDurabilityDamage(int x){ + return x; + } + + //Should clear up blocks quicker if I chain it. + @Override + public void removeBlockAndDropAsItem(World world, int X, int Y, int Z, ItemStack heldItem){ + localWorld = world; + try { + Block block = world.getBlock(X, Y, Z); + float dur = calculateDurabilityLoss(world, X, Y, Z); + Utils.LOG_WARNING(block.toString()); + String removalTool = ""; + removalTool = block.getHarvestTool(1); + + if (removalTool.equals("pickaxe") || UtilsMining.getBlockType(block)){ + if (canPickaxeBlock(block, world)){ + if((block != Blocks.bedrock) && (block.getBlockHardness(world, X, Y, Z) != -1) && (block.getBlockHardness(world, X, Y, Z) <= 100) && (block != Blocks.water) && (block != Blocks.lava)){ + + if (heldItem.getItemDamage() <= (heldItem.getMaxDamage()-dur)){ + + block.dropBlockAsItem(world, X, Y, Z, world.getBlockMetadata(X, Y, Z), 0); + world.setBlockToAir(X, Y, Z); + + } + + } + } + else { + Utils.LOG_WARNING("Incorrect Tool for mining this block."); + } + } + } catch (NullPointerException e){ + + } + } + + @Override + @SideOnly(Side.CLIENT) + public EnumRarity getRarity(ItemStack par1ItemStack){ + return EnumRarity.uncommon; + } + + @Override + public boolean hasEffect(ItemStack par1ItemStack){ + return false; + } + +} diff --git a/src/Java/miscutil/core/item/tool/staballoy/StaballoyPickaxe.java b/src/Java/miscutil/core/item/tool/staballoy/StaballoyPickaxe.java index 8d02b308fb..c25dc07d88 100644 --- a/src/Java/miscutil/core/item/tool/staballoy/StaballoyPickaxe.java +++ b/src/Java/miscutil/core/item/tool/staballoy/StaballoyPickaxe.java @@ -31,11 +31,11 @@ public class StaballoyPickaxe extends ItemPickaxe{ return 0; } - public Boolean FACING_HORIZONTAL = true; - public String FACING = "north"; - public EntityPlayer localPlayer; - public String lookingDirection; - public World localWorld; + protected Boolean FACING_HORIZONTAL = true; + protected String FACING = "north"; + protected EntityPlayer localPlayer; + protected String lookingDirection; + protected World localWorld; public ItemStack thisPickaxe = null; /* @@ -101,7 +101,7 @@ public class StaballoyPickaxe extends ItemPickaxe{ return bDurabilityLoss; } - public static Boolean canPickaxeBlock(Block currentBlock, World currentWorld){ + public Boolean canPickaxeBlock(Block currentBlock, World currentWorld){ String correctTool = ""; if (!currentWorld.isRemote){ try { @@ -170,14 +170,12 @@ public class StaballoyPickaxe extends ItemPickaxe{ } } - public static int doDurabilityDamage(int x){ - - + public int doDurabilityDamage(int x){ return x; } //Should clear up blocks quicker if I chain it. - private void removeBlockAndDropAsItem(World world, int X, int Y, int Z, ItemStack heldItem){ + public void removeBlockAndDropAsItem(World world, int X, int Y, int Z, ItemStack heldItem){ localWorld = world; try { Block block = world.getBlock(X, Y, Z); |