From b68f567fa1353f4d9d852db1e71682cc882ec8ee Mon Sep 17 00:00:00 2001 From: Jason Mitchell Date: Sun, 29 Jan 2023 21:48:33 -0800 Subject: [ci skip] spotlessApply with the new settings --- .../detrav/items/DetravMetaGeneratedTool01.java | 339 ++++++++++++---- .../BehaviourDetravToolElectricProspector.java | 253 +++++++----- .../behaviours/BehaviourDetravToolProspector.java | 433 ++++++++++++--------- .../processing/ProcessingDetravToolProspector.java | 175 +++++++-- .../com/detrav/items/tools/DetravProspector.java | 48 +-- .../items/tools/DetravToolElectricProspector.java | 33 +- .../tools/DetravToolElectricProspectorBase.java | 53 ++- 7 files changed, 888 insertions(+), 446 deletions(-) (limited to 'src/main/java/com/detrav/items') diff --git a/src/main/java/com/detrav/items/DetravMetaGeneratedTool01.java b/src/main/java/com/detrav/items/DetravMetaGeneratedTool01.java index c5fb63058c..c5b891784e 100644 --- a/src/main/java/com/detrav/items/DetravMetaGeneratedTool01.java +++ b/src/main/java/com/detrav/items/DetravMetaGeneratedTool01.java @@ -2,6 +2,14 @@ package com.detrav.items; import java.util.List; +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.StatCollector; + import com.detrav.DetravScannerMod; import com.detrav.enums.DetravToolDictNames; import com.detrav.items.tools.DetravProspector; @@ -12,38 +20,144 @@ import gregtech.api.enums.Materials; import gregtech.api.enums.TC_Aspects; import gregtech.api.interfaces.IToolStats; import gregtech.api.items.GT_MetaGenerated_Tool; -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.util.EnumChatFormatting; -import net.minecraft.util.StatCollector; /** * Created by wital_000 on 19.03.2016. */ public class DetravMetaGeneratedTool01 extends GT_MetaGenerated_Tool { + public static DetravMetaGeneratedTool01 INSTANCE; public DetravMetaGeneratedTool01() { super("detrav.metatool.01"); INSTANCE = this; - addTool(0, "Prospector's Scanner(ULV)", "", new DetravProspector(0), DetravToolDictNames.craftingToolProspector.toString(), new TC_Aspects.TC_AspectStack(TC_Aspects.INSTRUMENTUM, 2L), new TC_Aspects.TC_AspectStack(TC_Aspects.METALLUM, 4L), new TC_Aspects.TC_AspectStack(TC_Aspects.PERFODIO, 4L)); - addTool(2, "Prospector's Scanner(LV)", "", new DetravProspector(1), DetravToolDictNames.craftingToolProspector.toString(), new TC_Aspects.TC_AspectStack(TC_Aspects.INSTRUMENTUM, 2L), new TC_Aspects.TC_AspectStack(TC_Aspects.METALLUM, 4L), new TC_Aspects.TC_AspectStack(TC_Aspects.PERFODIO, 4L)); - addTool(4, "Prospector's Scanner(MV)", "", new DetravProspector(2), DetravToolDictNames.craftingToolProspector.toString(), new TC_Aspects.TC_AspectStack(TC_Aspects.INSTRUMENTUM, 2L), new TC_Aspects.TC_AspectStack(TC_Aspects.METALLUM, 4L), new TC_Aspects.TC_AspectStack(TC_Aspects.PERFODIO, 4L)); - addTool(6, "Prospector's Scanner(HV)", "", new DetravProspector(3), DetravToolDictNames.craftingToolProspector.toString(), new TC_Aspects.TC_AspectStack(TC_Aspects.INSTRUMENTUM, 2L), new TC_Aspects.TC_AspectStack(TC_Aspects.METALLUM, 4L), new TC_Aspects.TC_AspectStack(TC_Aspects.PERFODIO, 4L)); - addTool(8, "Prospector's Scanner(EV)", "", new DetravProspector(4), DetravToolDictNames.craftingToolProspector.toString(), new TC_Aspects.TC_AspectStack(TC_Aspects.INSTRUMENTUM, 2L), new TC_Aspects.TC_AspectStack(TC_Aspects.METALLUM, 4L), new TC_Aspects.TC_AspectStack(TC_Aspects.PERFODIO, 4L)); - addTool(10, "Prospector's Scanner(IV)", "", new DetravProspector(5), DetravToolDictNames.craftingToolProspector.toString(), new TC_Aspects.TC_AspectStack(TC_Aspects.INSTRUMENTUM, 2L), new TC_Aspects.TC_AspectStack(TC_Aspects.METALLUM, 4L), new TC_Aspects.TC_AspectStack(TC_Aspects.PERFODIO, 4L)); - addTool(12, "Prospector's Scanner(LuV)", "", new DetravProspector(6), DetravToolDictNames.craftingToolProspector.toString(), new TC_Aspects.TC_AspectStack(TC_Aspects.INSTRUMENTUM, 2L), new TC_Aspects.TC_AspectStack(TC_Aspects.METALLUM, 4L), new TC_Aspects.TC_AspectStack(TC_Aspects.PERFODIO, 4L)); - addTool(14, "Prospector's Scanner(ZPM)", "", new DetravProspector(7), DetravToolDictNames.craftingToolProspector.toString(), new TC_Aspects.TC_AspectStack(TC_Aspects.INSTRUMENTUM, 2L), new TC_Aspects.TC_AspectStack(TC_Aspects.METALLUM, 4L), new TC_Aspects.TC_AspectStack(TC_Aspects.PERFODIO, 4L)); - addTool(16, "Prospector's Scanner(UV)", "", new DetravProspector(8), DetravToolDictNames.craftingToolProspector.toString(), new TC_Aspects.TC_AspectStack(TC_Aspects.INSTRUMENTUM, 2L), new TC_Aspects.TC_AspectStack(TC_Aspects.METALLUM, 4L), new TC_Aspects.TC_AspectStack(TC_Aspects.PERFODIO, 4L)); - addTool(18, "Prospector's Scanner(UHV)", "", new DetravProspector(9), DetravToolDictNames.craftingToolProspector.toString(), new TC_Aspects.TC_AspectStack(TC_Aspects.INSTRUMENTUM, 2L), new TC_Aspects.TC_AspectStack(TC_Aspects.METALLUM, 4L), new TC_Aspects.TC_AspectStack(TC_Aspects.PERFODIO, 4L)); - - addTool(100, "Electric Prospector's Scanner (LuV)", "", new DetravToolElectricProspector(6), DetravToolDictNames.craftingToolElectricProspector, new TC_Aspects.TC_AspectStack(TC_Aspects.INSTRUMENTUM, 2L), new TC_Aspects.TC_AspectStack(TC_Aspects.METALLUM, 4L), new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 4L)); - addTool(102, "Electric Prospector's Scanner (ZPM)", "", new DetravToolElectricProspector(7), DetravToolDictNames.craftingToolElectricProspector, new TC_Aspects.TC_AspectStack(TC_Aspects.INSTRUMENTUM, 2L), new TC_Aspects.TC_AspectStack(TC_Aspects.METALLUM, 4L), new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 4L)); - addTool(104, "Electric Prospector's Scanner (UV)", "", new DetravToolElectricProspector(8), DetravToolDictNames.craftingToolElectricProspector, new TC_Aspects.TC_AspectStack(TC_Aspects.INSTRUMENTUM, 2L), new TC_Aspects.TC_AspectStack(TC_Aspects.METALLUM, 4L), new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 4L)); - addTool(106, "Electric Prospector's Scanner (UHV)", "", new DetravToolElectricProspector(9), DetravToolDictNames.craftingToolElectricProspector, new TC_Aspects.TC_AspectStack(TC_Aspects.INSTRUMENTUM, 2L), new TC_Aspects.TC_AspectStack(TC_Aspects.METALLUM, 4L), new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 4L)); + addTool( + 0, + "Prospector's Scanner(ULV)", + "", + new DetravProspector(0), + DetravToolDictNames.craftingToolProspector.toString(), + new TC_Aspects.TC_AspectStack(TC_Aspects.INSTRUMENTUM, 2L), + new TC_Aspects.TC_AspectStack(TC_Aspects.METALLUM, 4L), + new TC_Aspects.TC_AspectStack(TC_Aspects.PERFODIO, 4L)); + addTool( + 2, + "Prospector's Scanner(LV)", + "", + new DetravProspector(1), + DetravToolDictNames.craftingToolProspector.toString(), + new TC_Aspects.TC_AspectStack(TC_Aspects.INSTRUMENTUM, 2L), + new TC_Aspects.TC_AspectStack(TC_Aspects.METALLUM, 4L), + new TC_Aspects.TC_AspectStack(TC_Aspects.PERFODIO, 4L)); + addTool( + 4, + "Prospector's Scanner(MV)", + "", + new DetravProspector(2), + DetravToolDictNames.craftingToolProspector.toString(), + new TC_Aspects.TC_AspectStack(TC_Aspects.INSTRUMENTUM, 2L), + new TC_Aspects.TC_AspectStack(TC_Aspects.METALLUM, 4L), + new TC_Aspects.TC_AspectStack(TC_Aspects.PERFODIO, 4L)); + addTool( + 6, + "Prospector's Scanner(HV)", + "", + new DetravProspector(3), + DetravToolDictNames.craftingToolProspector.toString(), + new TC_Aspects.TC_AspectStack(TC_Aspects.INSTRUMENTUM, 2L), + new TC_Aspects.TC_AspectStack(TC_Aspects.METALLUM, 4L), + new TC_Aspects.TC_AspectStack(TC_Aspects.PERFODIO, 4L)); + addTool( + 8, + "Prospector's Scanner(EV)", + "", + new DetravProspector(4), + DetravToolDictNames.craftingToolProspector.toString(), + new TC_Aspects.TC_AspectStack(TC_Aspects.INSTRUMENTUM, 2L), + new TC_Aspects.TC_AspectStack(TC_Aspects.METALLUM, 4L), + new TC_Aspects.TC_AspectStack(TC_Aspects.PERFODIO, 4L)); + addTool( + 10, + "Prospector's Scanner(IV)", + "", + new DetravProspector(5), + DetravToolDictNames.craftingToolProspector.toString(), + new TC_Aspects.TC_AspectStack(TC_Aspects.INSTRUMENTUM, 2L), + new TC_Aspects.TC_AspectStack(TC_Aspects.METALLUM, 4L), + new TC_Aspects.TC_AspectStack(TC_Aspects.PERFODIO, 4L)); + addTool( + 12, + "Prospector's Scanner(LuV)", + "", + new DetravProspector(6), + DetravToolDictNames.craftingToolProspector.toString(), + new TC_Aspects.TC_AspectStack(TC_Aspects.INSTRUMENTUM, 2L), + new TC_Aspects.TC_AspectStack(TC_Aspects.METALLUM, 4L), + new TC_Aspects.TC_AspectStack(TC_Aspects.PERFODIO, 4L)); + addTool( + 14, + "Prospector's Scanner(ZPM)", + "", + new DetravProspector(7), + DetravToolDictNames.craftingToolProspector.toString(), + new TC_Aspects.TC_AspectStack(TC_Aspects.INSTRUMENTUM, 2L), + new TC_Aspects.TC_AspectStack(TC_Aspects.METALLUM, 4L), + new TC_Aspects.TC_AspectStack(TC_Aspects.PERFODIO, 4L)); + addTool( + 16, + "Prospector's Scanner(UV)", + "", + new DetravProspector(8), + DetravToolDictNames.craftingToolProspector.toString(), + new TC_Aspects.TC_AspectStack(TC_Aspects.INSTRUMENTUM, 2L), + new TC_Aspects.TC_AspectStack(TC_Aspects.METALLUM, 4L), + new TC_Aspects.TC_AspectStack(TC_Aspects.PERFODIO, 4L)); + addTool( + 18, + "Prospector's Scanner(UHV)", + "", + new DetravProspector(9), + DetravToolDictNames.craftingToolProspector.toString(), + new TC_Aspects.TC_AspectStack(TC_Aspects.INSTRUMENTUM, 2L), + new TC_Aspects.TC_AspectStack(TC_Aspects.METALLUM, 4L), + new TC_Aspects.TC_AspectStack(TC_Aspects.PERFODIO, 4L)); + + addTool( + 100, + "Electric Prospector's Scanner (LuV)", + "", + new DetravToolElectricProspector(6), + DetravToolDictNames.craftingToolElectricProspector, + new TC_Aspects.TC_AspectStack(TC_Aspects.INSTRUMENTUM, 2L), + new TC_Aspects.TC_AspectStack(TC_Aspects.METALLUM, 4L), + new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 4L)); + addTool( + 102, + "Electric Prospector's Scanner (ZPM)", + "", + new DetravToolElectricProspector(7), + DetravToolDictNames.craftingToolElectricProspector, + new TC_Aspects.TC_AspectStack(TC_Aspects.INSTRUMENTUM, 2L), + new TC_Aspects.TC_AspectStack(TC_Aspects.METALLUM, 4L), + new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 4L)); + addTool( + 104, + "Electric Prospector's Scanner (UV)", + "", + new DetravToolElectricProspector(8), + DetravToolDictNames.craftingToolElectricProspector, + new TC_Aspects.TC_AspectStack(TC_Aspects.INSTRUMENTUM, 2L), + new TC_Aspects.TC_AspectStack(TC_Aspects.METALLUM, 4L), + new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 4L)); + addTool( + 106, + "Electric Prospector's Scanner (UHV)", + "", + new DetravToolElectricProspector(9), + DetravToolDictNames.craftingToolElectricProspector, + new TC_Aspects.TC_AspectStack(TC_Aspects.INSTRUMENTUM, 2L), + new TC_Aspects.TC_AspectStack(TC_Aspects.METALLUM, 4L), + new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 4L)); setCreativeTab(DetravScannerMod.TAB_DETRAV); } @@ -52,35 +166,94 @@ public class DetravMetaGeneratedTool01 extends GT_MetaGenerated_Tool { long tMaxDamage = getToolMaxDamage(aStack); Materials tMaterial = getPrimaryMaterial(aStack); IToolStats tStats = getToolStats(aStack); - int tOffset = aList.size(); + int tOffset = aList.size(); if (tStats == null) return; - + String name = aStack.getUnlocalizedName(); String num = name.substring("gt.detrav.metatool.01.".length()); int meta = Integer.parseInt(num); - int range = getHarvestLevel(aStack, "")/2+(meta/4); - if ((range % 2) == 0 ) { + int range = getHarvestLevel(aStack, "") / 2 + (meta / 4); + if ((range % 2) == 0) { range += 1; } - if (meta<100) { - aList.add(tOffset + 0, EnumChatFormatting.WHITE + StatCollector.translateToLocal("tooltip.detrav.scanner.durability") + EnumChatFormatting.GREEN + Long.toString(tMaxDamage - getToolDamage(aStack)) + " / " + Long.toString(tMaxDamage) + EnumChatFormatting.GRAY); - aList.add(tOffset + 1, EnumChatFormatting.WHITE + tMaterial.getLocalizedNameForItem("%material") + EnumChatFormatting.GRAY); - aList.add(tOffset + 2, EnumChatFormatting.WHITE + StatCollector.translateToLocal("tooltip.detrav.scanner.range") + Integer.toString(range) + "x"+ Integer.toString(range) + EnumChatFormatting.GRAY); - aList.add(tOffset + 3, EnumChatFormatting.ITALIC+ StatCollector.translateToLocal("tooltip.detrav.scanner.usage.0") + EnumChatFormatting.GRAY); - aList.add(tOffset + 4, EnumChatFormatting.ITALIC+ StatCollector.translateToLocal("tooltip.detrav.scanner.usage.1") + EnumChatFormatting.GRAY); - aList.add(tOffset + 5, EnumChatFormatting.ITALIC+ StatCollector.translateToLocal("tooltip.detrav.scanner.success.chance")+EnumChatFormatting.RESET+Integer.toString(((((1+meta)*8) <= 100)? ((1+meta)*8) : 100))+EnumChatFormatting.GRAY+"%"); - aList.add(tOffset + 6, EnumChatFormatting.ITALIC+ StatCollector.translateToLocal("tooltip.detrav.scanner.distance.0")); - aList.add(tOffset + 7, EnumChatFormatting.ITALIC+ StatCollector.translateToLocal("tooltip.detrav.scanner.distance.1")); - - } else if (meta >=100 && meta<200) { - aList.add(tOffset + 0, EnumChatFormatting.WHITE + StatCollector.translateToLocal("tooltip.detrav.scanner.durability") + EnumChatFormatting.GREEN + (tMaxDamage - getToolDamage(aStack)) + " / " + tMaxDamage + EnumChatFormatting.GRAY); - aList.add(tOffset + 1, EnumChatFormatting.WHITE + tMaterial.getLocalizedNameForItem("%material") + EnumChatFormatting.GRAY); - aList.add(tOffset + 2, EnumChatFormatting.WHITE + StatCollector.translateToLocal("tooltip.detrav.scanner.range") + EnumChatFormatting.YELLOW + (getHarvestLevel(aStack, "") * 2 + 1) + "x" + (getHarvestLevel(aStack, "") * 2 + 1) + EnumChatFormatting.GRAY); - aList.add(tOffset + 3, EnumChatFormatting.ITALIC+ StatCollector.translateToLocal("tooltip.detrav.scanner.usage.0")); - aList.add(tOffset + 4, EnumChatFormatting.ITALIC+ StatCollector.translateToLocal("tooltip.detrav.scanner.usage.1")); - aList.add(tOffset + 5, EnumChatFormatting.ITALIC+ StatCollector.translateToLocal("tooltip.detrav.scanner.usage.2")); - aList.add(tOffset + 6, EnumChatFormatting.ITALIC+ StatCollector.translateToLocal("tooltip.detrav.scanner.usage.3")); - aList.add(tOffset + 7, EnumChatFormatting.ITALIC+ StatCollector.translateToLocal("tooltip.detrav.scanner.usage.4")); + if (meta < 100) { + aList.add( + tOffset + 0, + EnumChatFormatting.WHITE + StatCollector.translateToLocal("tooltip.detrav.scanner.durability") + + EnumChatFormatting.GREEN + + Long.toString(tMaxDamage - getToolDamage(aStack)) + + " / " + + Long.toString(tMaxDamage) + + EnumChatFormatting.GRAY); + aList.add( + tOffset + 1, + EnumChatFormatting.WHITE + tMaterial.getLocalizedNameForItem("%material") + + EnumChatFormatting.GRAY); + aList.add( + tOffset + 2, + EnumChatFormatting.WHITE + StatCollector.translateToLocal("tooltip.detrav.scanner.range") + + Integer.toString(range) + + "x" + + Integer.toString(range) + + EnumChatFormatting.GRAY); + aList.add( + tOffset + 3, + EnumChatFormatting.ITALIC + StatCollector.translateToLocal("tooltip.detrav.scanner.usage.0") + + EnumChatFormatting.GRAY); + aList.add( + tOffset + 4, + EnumChatFormatting.ITALIC + StatCollector.translateToLocal("tooltip.detrav.scanner.usage.1") + + EnumChatFormatting.GRAY); + aList.add( + tOffset + 5, + EnumChatFormatting.ITALIC + StatCollector.translateToLocal("tooltip.detrav.scanner.success.chance") + + EnumChatFormatting.RESET + + Integer.toString(((((1 + meta) * 8) <= 100) ? ((1 + meta) * 8) : 100)) + + EnumChatFormatting.GRAY + + "%"); + aList.add( + tOffset + 6, + EnumChatFormatting.ITALIC + StatCollector.translateToLocal("tooltip.detrav.scanner.distance.0")); + aList.add( + tOffset + 7, + EnumChatFormatting.ITALIC + StatCollector.translateToLocal("tooltip.detrav.scanner.distance.1")); + + } else if (meta >= 100 && meta < 200) { + aList.add( + tOffset + 0, + EnumChatFormatting.WHITE + StatCollector.translateToLocal("tooltip.detrav.scanner.durability") + + EnumChatFormatting.GREEN + + (tMaxDamage - getToolDamage(aStack)) + + " / " + + tMaxDamage + + EnumChatFormatting.GRAY); + aList.add( + tOffset + 1, + EnumChatFormatting.WHITE + tMaterial.getLocalizedNameForItem("%material") + + EnumChatFormatting.GRAY); + aList.add( + tOffset + 2, + EnumChatFormatting.WHITE + StatCollector.translateToLocal("tooltip.detrav.scanner.range") + + EnumChatFormatting.YELLOW + + (getHarvestLevel(aStack, "") * 2 + 1) + + "x" + + (getHarvestLevel(aStack, "") * 2 + 1) + + EnumChatFormatting.GRAY); + aList.add( + tOffset + 3, + EnumChatFormatting.ITALIC + StatCollector.translateToLocal("tooltip.detrav.scanner.usage.0")); + aList.add( + tOffset + 4, + EnumChatFormatting.ITALIC + StatCollector.translateToLocal("tooltip.detrav.scanner.usage.1")); + aList.add( + tOffset + 5, + EnumChatFormatting.ITALIC + StatCollector.translateToLocal("tooltip.detrav.scanner.usage.2")); + aList.add( + tOffset + 6, + EnumChatFormatting.ITALIC + StatCollector.translateToLocal("tooltip.detrav.scanner.usage.3")); + aList.add( + tOffset + 7, + EnumChatFormatting.ITALIC + StatCollector.translateToLocal("tooltip.detrav.scanner.usage.4")); } } @@ -89,8 +262,7 @@ public class DetravMetaGeneratedTool01 extends GT_MetaGenerated_Tool { NBTTagCompound aNBT = aStack.getTagCompound(); if (aNBT != null) { aNBT = aNBT.getCompoundTag("GT.ToolStats"); - if (aNBT != null) - return aNBT.getLong("DetravData"); + if (aNBT != null) return aNBT.getLong("DetravData"); } return 0L; } @@ -112,7 +284,7 @@ public class DetravMetaGeneratedTool01 extends GT_MetaGenerated_Tool { ItemStack dStack; if (DetravScannerMod.isDreamcraftLoaded) { - //Materials at tiers + // Materials at tiers list.add(getToolWithStats(0, 1, Materials.Polycaprolactam, Materials.Polycaprolactam, null)); list.add(getToolWithStats(2, 1, Materials.Steel, Materials.Steel, null)); list.add(getToolWithStats(2, 1, Materials.Bronze, Materials.Steel, null)); @@ -126,38 +298,63 @@ public class DetravMetaGeneratedTool01 extends GT_MetaGenerated_Tool { list.add(getToolWithStats(16, 1, Materials.InfinityCatalyst, Materials.InfinityCatalyst, null)); list.add(getToolWithStats(18, 1, Materials.Infinity, Materials.Infinity, null)); } - - //Steel for comparison - list.add(getToolWithStats(0,1,Materials.Steel,Materials.Steel, null)); - list.add(getToolWithStats(2,1,Materials.Steel,Materials.Steel, null)); - list.add(getToolWithStats(4,1,Materials.Steel,Materials.Steel, null)); - list.add(getToolWithStats(6,1,Materials.Steel,Materials.Steel, null)); - list.add(getToolWithStats(8,1,Materials.Steel,Materials.Steel, null)); - list.add(getToolWithStats(10,1,Materials.Steel,Materials.Steel, null)); - list.add(getToolWithStats(12,1,Materials.Steel,Materials.Steel, null)); - list.add(getToolWithStats(14,1,Materials.Steel,Materials.Steel, null)); - list.add(getToolWithStats(16,1,Materials.Steel,Materials.Steel, null)); - list.add(getToolWithStats(18,1,Materials.Steel,Materials.Steel, null)); - - //Electric Scanners - dStack = getToolWithStats(100, 1, Materials.Iridium, Materials.TungstenSteel, new long[]{102400000L, GT_Values.V[6], 6L, -1L}); - setCharge(dStack,102400000L); + + // Steel for comparison + list.add(getToolWithStats(0, 1, Materials.Steel, Materials.Steel, null)); + list.add(getToolWithStats(2, 1, Materials.Steel, Materials.Steel, null)); + list.add(getToolWithStats(4, 1, Materials.Steel, Materials.Steel, null)); + list.add(getToolWithStats(6, 1, Materials.Steel, Materials.Steel, null)); + list.add(getToolWithStats(8, 1, Materials.Steel, Materials.Steel, null)); + list.add(getToolWithStats(10, 1, Materials.Steel, Materials.Steel, null)); + list.add(getToolWithStats(12, 1, Materials.Steel, Materials.Steel, null)); + list.add(getToolWithStats(14, 1, Materials.Steel, Materials.Steel, null)); + list.add(getToolWithStats(16, 1, Materials.Steel, Materials.Steel, null)); + list.add(getToolWithStats(18, 1, Materials.Steel, Materials.Steel, null)); + + // Electric Scanners + dStack = getToolWithStats( + 100, + 1, + Materials.Iridium, + Materials.TungstenSteel, + new long[] { 102400000L, GT_Values.V[6], 6L, -1L }); + setCharge(dStack, 102400000L); list.add(dStack); - - dStack = getToolWithStats(102, 1, Materials.Neutronium, Materials.TungstenSteel, new long[]{409600000L, GT_Values.V[7], 7L, -1L}); - setCharge(dStack,409600000L); + + dStack = getToolWithStats( + 102, + 1, + Materials.Neutronium, + Materials.TungstenSteel, + new long[] { 409600000L, GT_Values.V[7], 7L, -1L }); + setCharge(dStack, 409600000L); list.add(dStack); if (DetravScannerMod.isDreamcraftLoaded) { - dStack = getToolWithStats(104, 1, Materials.InfinityCatalyst, Materials.TungstenSteel, new long[]{1638400000L, GT_Values.V[8], 8L, -1L}); + dStack = getToolWithStats( + 104, + 1, + Materials.InfinityCatalyst, + Materials.TungstenSteel, + new long[] { 1638400000L, GT_Values.V[8], 8L, -1L }); setCharge(dStack, 1638400000L); list.add(dStack); - - dStack = getToolWithStats(106, 1, Materials.Infinity, Materials.TungstenSteel, new long[]{6553600000L, GT_Values.V[9], 9L, -1L}); + + dStack = getToolWithStats( + 106, + 1, + Materials.Infinity, + Materials.TungstenSteel, + new long[] { 6553600000L, GT_Values.V[9], 9L, -1L }); setCharge(dStack, 6553600000L); list.add(dStack); } else { - dStack = getToolWithStats(106, 1, Materials.Neutronium, Materials.TungstenSteel, new long[]{6553600000L, GT_Values.V[9], 9L, -1L}); + dStack = getToolWithStats( + 106, + 1, + Materials.Neutronium, + Materials.TungstenSteel, + new long[] { 6553600000L, GT_Values.V[9], 9L, -1L }); setCharge(dStack, 6553600000L); list.add(dStack); } diff --git a/src/main/java/com/detrav/items/behaviours/BehaviourDetravToolElectricProspector.java b/src/main/java/com/detrav/items/behaviours/BehaviourDetravToolElectricProspector.java index edde4d77bd..8cd4e28fa4 100644 --- a/src/main/java/com/detrav/items/behaviours/BehaviourDetravToolElectricProspector.java +++ b/src/main/java/com/detrav/items/behaviours/BehaviourDetravToolElectricProspector.java @@ -1,5 +1,20 @@ package com.detrav.items.behaviours; +import java.util.ArrayList; +import java.util.List; + +import net.minecraft.block.Block; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.EntityPlayerMP; +import net.minecraft.init.Blocks; +import net.minecraft.item.ItemStack; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.ChatComponentText; +import net.minecraft.util.StatCollector; +import net.minecraft.world.World; +import net.minecraft.world.chunk.Chunk; +import net.minecraftforge.fluids.FluidStack; + import com.detrav.DetravScannerMod; import com.detrav.items.DetravMetaGeneratedTool01; import com.detrav.net.DetravNetwork; @@ -7,6 +22,7 @@ import com.detrav.net.ProspectingPacket; import com.detrav.utils.BartWorksHelper; import com.detrav.utils.GTppHelper; import com.sinthoras.visualprospecting.VisualProspecting_API; + import cpw.mods.fml.common.Loader; import gregtech.api.items.GT_MetaBase_Item; import gregtech.api.objects.ItemData; @@ -15,20 +31,6 @@ import gregtech.api.util.GT_OreDictUnificator; import gregtech.common.GT_UndergroundOil; import gregtech.common.blocks.GT_Block_Ores_Abstract; import gregtech.common.blocks.GT_TileEntity_Ores; -import net.minecraft.block.Block; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.player.EntityPlayerMP; -import net.minecraft.init.Blocks; -import net.minecraft.item.ItemStack; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.ChatComponentText; -import net.minecraft.util.StatCollector; -import net.minecraft.world.World; -import net.minecraft.world.chunk.Chunk; -import net.minecraftforge.fluids.FluidStack; - -import java.util.ArrayList; -import java.util.List; /** * Created by wital_000 on 19.03.2016. @@ -39,7 +41,7 @@ public class BehaviourDetravToolElectricProspector extends BehaviourDetravToolPr super(aCosts); } - public ItemStack onItemRightClick(GT_MetaBase_Item aItem, ItemStack aStack, World aWorld, EntityPlayer aPlayer) { + public ItemStack onItemRightClick(GT_MetaBase_Item aItem, ItemStack aStack, World aWorld, EntityPlayer aPlayer) { if (!aWorld.isRemote) { int data = DetravMetaGeneratedTool01.INSTANCE.getToolGTDetravData(aStack).intValue(); if (aPlayer.isSneaking()) { @@ -47,19 +49,24 @@ public class BehaviourDetravToolElectricProspector extends BehaviourDetravToolPr if (data > 3) data = 0; switch (data) { case 0: - aPlayer.addChatMessage(new ChatComponentText(StatCollector.translateToLocal("detrav.scanner.mode.0"))); + aPlayer.addChatMessage( + new ChatComponentText(StatCollector.translateToLocal("detrav.scanner.mode.0"))); break; case 1: - aPlayer.addChatMessage(new ChatComponentText(StatCollector.translateToLocal("detrav.scanner.mode.1"))); + aPlayer.addChatMessage( + new ChatComponentText(StatCollector.translateToLocal("detrav.scanner.mode.1"))); break; case 2: - aPlayer.addChatMessage(new ChatComponentText(StatCollector.translateToLocal("detrav.scanner.mode.2"))); + aPlayer.addChatMessage( + new ChatComponentText(StatCollector.translateToLocal("detrav.scanner.mode.2"))); break; case 3: - aPlayer.addChatMessage(new ChatComponentText(StatCollector.translateToLocal("detrav.scanner.mode.3"))); + aPlayer.addChatMessage( + new ChatComponentText(StatCollector.translateToLocal("detrav.scanner.mode.3"))); break; default: - aPlayer.addChatMessage(new ChatComponentText(StatCollector.translateToLocal("detrav.scanner.mode.error"))); + aPlayer.addChatMessage( + new ChatComponentText(StatCollector.translateToLocal("detrav.scanner.mode.error"))); break; } DetravMetaGeneratedTool01.INSTANCE.setToolGTDetravData(aStack, (long) data); @@ -72,93 +79,129 @@ public class BehaviourDetravToolElectricProspector extends BehaviourDetravToolPr int size = aItem.getHarvestLevel(aStack, "") + 1; final List chunks = new ArrayList<>(); aPlayer.addChatMessage(new ChatComponentText("Scanning...")); - + for (int i = -size; i <= size; i++) - for (int j = -size; j <= size; j++) - if (i != -size && i != size && j != -size && j != size) - chunks.add(aWorld.getChunkFromChunkCoords(cX + i, cZ + j)); + for (int j = -size; j <= size; j++) if (i != -size && i != size && j != -size && j != size) + chunks.add(aWorld.getChunkFromChunkCoords(cX + i, cZ + j)); size = size - 1; - final ProspectingPacket packet = new ProspectingPacket(cX, cZ, (int) aPlayer.posX, (int) aPlayer.posZ, size, data); + final ProspectingPacket packet = new ProspectingPacket( + cX, + cZ, + (int) aPlayer.posX, + (int) aPlayer.posZ, + size, + data); final String small_ore_keyword = StatCollector.translateToLocal("detrav.scanner.small_ore.keyword"); for (Chunk c : chunks) { - for (int x = 0; x < 16; x++) - for (int z = 0; z < 16; z++) { - final int ySize = c.getHeightValue(x, z); - for (int y = 1; y < ySize; y++) { - switch (data) { - case 0: - case 1: - final Block tBlock = c.getBlock(x, y, z); - short tMetaID = (short) c.getBlockMetadata(x, y, z); - if (tBlock instanceof GT_Block_Ores_Abstract) { - TileEntity tTileEntity = c.getTileEntityUnsafe(x, y, z); - if ((tTileEntity instanceof GT_TileEntity_Ores) && ((GT_TileEntity_Ores) tTileEntity).mNatural) { - tMetaID = (short) ((GT_TileEntity_Ores) tTileEntity).getMetaData(); - try { - String name = GT_LanguageManager.getTranslation(tBlock.getUnlocalizedName() + "." + tMetaID + ".name"); - if (data != 1 && name.startsWith(small_ore_keyword)) continue; - packet.addBlock(c.xPosition * 16 + x, y, c.zPosition * 16 + z, tMetaID); - } catch (Exception e) { - String name = tBlock.getUnlocalizedName() + "."; - if (data != 1 && name.contains(".small.")) continue; - packet.addBlock(c.xPosition * 16 + x, y, c.zPosition * 16 + z, tMetaID); - } - } - } else if (DetravScannerMod.isGTppLoaded && GTppHelper.isGTppBlock(tBlock)) { - packet.addBlock(c.xPosition * 16 + x, y, c.zPosition * 16 + z, GTppHelper.getGTppMeta(tBlock)); - } else if (DetravScannerMod.isBartWorksLoaded && BartWorksHelper.isOre(tBlock)) { - if (data != 1 && BartWorksHelper.isSmallOre(tBlock)) continue; - packet.addBlock(c.xPosition * 16 + x, y, c.zPosition * 16 + z, BartWorksHelper.getMetaFromBlock(c, x, y, z, tBlock)); - } else if (data == 1) { - ItemData tAssotiation = GT_OreDictUnificator.getAssociation(new ItemStack(tBlock, 1, tMetaID)); - if ((tAssotiation != null) && (tAssotiation.mPrefix.toString().startsWith("ore"))) { - packet.addBlock(c.xPosition * 16 + x, y, c.zPosition * 16 + z, (short) tAssotiation.mMaterial.mMaterial.mMetaItemSubID); + for (int x = 0; x < 16; x++) for (int z = 0; z < 16; z++) { + final int ySize = c.getHeightValue(x, z); + for (int y = 1; y < ySize; y++) { + switch (data) { + case 0: + case 1: + final Block tBlock = c.getBlock(x, y, z); + short tMetaID = (short) c.getBlockMetadata(x, y, z); + if (tBlock instanceof GT_Block_Ores_Abstract) { + TileEntity tTileEntity = c.getTileEntityUnsafe(x, y, z); + if ((tTileEntity instanceof GT_TileEntity_Ores) + && ((GT_TileEntity_Ores) tTileEntity).mNatural) { + tMetaID = (short) ((GT_TileEntity_Ores) tTileEntity).getMetaData(); + try { + String name = GT_LanguageManager.getTranslation( + tBlock.getUnlocalizedName() + "." + tMetaID + ".name"); + if (data != 1 && name.startsWith(small_ore_keyword)) continue; + packet.addBlock(c.xPosition * 16 + x, y, c.zPosition * 16 + z, tMetaID); + } catch (Exception e) { + String name = tBlock.getUnlocalizedName() + "."; + if (data != 1 && name.contains(".small.")) continue; + packet.addBlock(c.xPosition * 16 + x, y, c.zPosition * 16 + z, tMetaID); } } - break; - case 2: - if ((x == 0) || (z == 0)) { //Skip doing the locations with the grid on them. - break; + } else if (DetravScannerMod.isGTppLoaded && GTppHelper.isGTppBlock(tBlock)) { + packet.addBlock( + c.xPosition * 16 + x, + y, + c.zPosition * 16 + z, + GTppHelper.getGTppMeta(tBlock)); + } else if (DetravScannerMod.isBartWorksLoaded && BartWorksHelper.isOre(tBlock)) { + if (data != 1 && BartWorksHelper.isSmallOre(tBlock)) continue; + packet.addBlock( + c.xPosition * 16 + x, + y, + c.zPosition * 16 + z, + BartWorksHelper.getMetaFromBlock(c, x, y, z, tBlock)); + } else if (data == 1) { + ItemData tAssotiation = GT_OreDictUnificator + .getAssociation(new ItemStack(tBlock, 1, tMetaID)); + if ((tAssotiation != null) && (tAssotiation.mPrefix.toString().startsWith("ore"))) { + packet.addBlock( + c.xPosition * 16 + x, + y, + c.zPosition * 16 + z, + (short) tAssotiation.mMaterial.mMaterial.mMetaItemSubID); } - FluidStack fStack = GT_UndergroundOil.undergroundOil(aWorld.getChunkFromBlockCoords(c.xPosition * 16 + x, c.zPosition * 16 + z), -1); - if (fStack.amount > 0) { - packet.addBlock(c.xPosition * 16 + x, 1, c.zPosition * 16 + z, (short) fStack.getFluidID()); - packet.addBlock(c.xPosition * 16 + x, 2, c.zPosition * 16 + z, (short) fStack.amount); - } - break; - case 3: - float polution = (float) getPolution(aWorld, c.xPosition * 16 + x, c.zPosition * 16 + z); - polution /= 2000000; - polution *= -0xFF; - if (polution > 0xFF) - polution = 0xFF; - polution = 0xFF - polution; - packet.addBlock(c.xPosition * 16 + x, 1, c.zPosition * 16 + z, (short) polution); + } + break; + case 2: + if ((x == 0) || (z == 0)) { // Skip doing the locations with the grid on them. break; - } - if (data > 1) + } + FluidStack fStack = GT_UndergroundOil.undergroundOil( + aWorld.getChunkFromBlockCoords(c.xPosition * 16 + x, c.zPosition * 16 + z), + -1); + if (fStack.amount > 0) { + packet.addBlock( + c.xPosition * 16 + x, + 1, + c.zPosition * 16 + z, + (short) fStack.getFluidID()); + packet.addBlock( + c.xPosition * 16 + x, + 2, + c.zPosition * 16 + z, + (short) fStack.amount); + } + break; + case 3: + float polution = (float) getPolution( + aWorld, + c.xPosition * 16 + x, + c.zPosition * 16 + z); + polution /= 2000000; + polution *= -0xFF; + if (polution > 0xFF) polution = 0xFF; + polution = 0xFF - polution; + packet.addBlock(c.xPosition * 16 + x, 1, c.zPosition * 16 + z, (short) polution); break; } + if (data > 1) break; } + } } packet.level = ((DetravMetaGeneratedTool01) aItem).getHarvestLevel(aStack, ""); DetravNetwork.INSTANCE.sendToPlayer(packet, (EntityPlayerMP) aPlayer); - if (!aPlayer.capabilities.isCreativeMode) - tool.doDamage(aStack, this.mCosts * chunks.size()); + if (!aPlayer.capabilities.isCreativeMode) tool.doDamage(aStack, this.mCosts * chunks.size()); - if(Loader.isModLoaded("visualprospecting")) { - if(data == 0 || data == 1) { + if (Loader.isModLoaded("visualprospecting")) { + if (data == 0 || data == 1) { VisualProspecting_API.LogicalServer.sendProspectionResultsToClient( (EntityPlayerMP) aPlayer, - VisualProspecting_API.LogicalServer.prospectOreVeinsWithinRadius(aWorld.provider.dimensionId, (int) aPlayer.posX, (int) aPlayer.posZ, size * 16), + VisualProspecting_API.LogicalServer.prospectOreVeinsWithinRadius( + aWorld.provider.dimensionId, + (int) aPlayer.posX, + (int) aPlayer.posZ, + size * 16), new ArrayList<>()); - } - else if(data == 2) { + } else if (data == 2) { VisualProspecting_API.LogicalServer.sendProspectionResultsToClient( (EntityPlayerMP) aPlayer, new ArrayList<>(), - VisualProspecting_API.LogicalServer.prospectUndergroundFluidsWithingRadius(aWorld, (int) aPlayer.posX, (int) aPlayer.posZ, size * 16)); + VisualProspecting_API.LogicalServer.prospectUndergroundFluidsWithingRadius( + aWorld, + (int) aPlayer.posX, + (int) aPlayer.posZ, + size * 16)); } } } @@ -167,41 +210,41 @@ public class BehaviourDetravToolElectricProspector extends BehaviourDetravToolPr void addChatMassageByValue(EntityPlayer aPlayer, int value, String name) { if (value < 0) { - aPlayer.addChatMessage(new ChatComponentText(StatCollector.translateToLocal("detrav.scanner.found.texts.6") + name)); + aPlayer.addChatMessage( + new ChatComponentText(StatCollector.translateToLocal("detrav.scanner.found.texts.6") + name)); } else if (value < 1) { - aPlayer.addChatMessage(new ChatComponentText(StatCollector.translateToLocal("detrav.scanner.found.texts.6"))); - } else - aPlayer.addChatMessage(new ChatComponentText(StatCollector.translateToLocal("detrav.scanner.found.texts.6") + name + " " + value)); + aPlayer.addChatMessage( + new ChatComponentText(StatCollector.translateToLocal("detrav.scanner.found.texts.6"))); + } else aPlayer.addChatMessage( + new ChatComponentText( + StatCollector.translateToLocal("detrav.scanner.found.texts.6") + name + " " + value)); } - public boolean onItemUse(GT_MetaBase_Item aItem, ItemStack aStack, EntityPlayer aPlayer, World aWorld, int aX, int aY, int aZ, int aSide, float hitX, float hitY, float hitZ) { + public boolean onItemUse(GT_MetaBase_Item aItem, ItemStack aStack, EntityPlayer aPlayer, World aWorld, int aX, + int aY, int aZ, int aSide, float hitX, float hitY, float hitZ) { long data = DetravMetaGeneratedTool01.INSTANCE.getToolGTDetravData(aStack); if (data < 2) { - if(aWorld.getBlock(aX,aY,aZ) == Blocks.bedrock) - { + if (aWorld.getBlock(aX, aY, aZ) == Blocks.bedrock) { if (!aWorld.isRemote) { FluidStack fStack = GT_UndergroundOil.undergroundOil(aWorld.getChunkFromBlockCoords(aX, aZ), -1); - addChatMassageByValue(aPlayer,fStack.amount,fStack.getLocalizedName()); + addChatMassageByValue(aPlayer, fStack.amount, fStack.getLocalizedName()); if (!aPlayer.capabilities.isCreativeMode) - ((DetravMetaGeneratedTool01)aItem).doDamage(aStack, this.mCosts); + ((DetravMetaGeneratedTool01) aItem).doDamage(aStack, this.mCosts); } return true; - } - else { + } else { if (!aWorld.isRemote) { - prospectSingleChunk( (DetravMetaGeneratedTool01) aItem, aStack, aPlayer, aWorld, aX, aY, aZ ); + prospectSingleChunk((DetravMetaGeneratedTool01) aItem, aStack, aPlayer, aWorld, aX, aY, aZ); } return true; } } - if (data < 3) - if (!aWorld.isRemote) { - FluidStack fStack = GT_UndergroundOil.undergroundOil(aWorld.getChunkFromBlockCoords(aX, aZ), -1); - addChatMassageByValue(aPlayer, fStack.amount, fStack.getLocalizedName()); - if (!aPlayer.capabilities.isCreativeMode) - ((DetravMetaGeneratedTool01) aItem).doDamage(aStack, this.mCosts); - return true; - } + if (data < 3) if (!aWorld.isRemote) { + FluidStack fStack = GT_UndergroundOil.undergroundOil(aWorld.getChunkFromBlockCoords(aX, aZ), -1); + addChatMassageByValue(aPlayer, fStack.amount, fStack.getLocalizedName()); + if (!aPlayer.capabilities.isCreativeMode) ((DetravMetaGeneratedTool01) aItem).doDamage(aStack, this.mCosts); + return true; + } if (!aWorld.isRemote) { int polution = getPolution(aWorld, aX, aZ); addChatMassageByValue(aPlayer, polution, "Pollution"); diff --git a/src/main/java/com/detrav/items/behaviours/BehaviourDetravToolProspector.java b/src/main/java/com/detrav/items/behaviours/BehaviourDetravToolProspector.java index 346b016e11..216e8c7cd7 100644 --- a/src/main/java/com/detrav/items/behaviours/BehaviourDetravToolProspector.java +++ b/src/main/java/com/detrav/items/behaviours/BehaviourDetravToolProspector.java @@ -1,11 +1,28 @@ package com.detrav.items.behaviours; +import java.util.*; + +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.EntityPlayerMP; +import net.minecraft.init.Blocks; +import net.minecraft.item.ItemStack; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.ChatComponentText; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.StatCollector; +import net.minecraft.world.World; +import net.minecraft.world.chunk.Chunk; +import net.minecraftforge.fluids.FluidStack; + import com.detrav.DetravScannerMod; import com.detrav.items.DetravMetaGeneratedTool01; import com.detrav.utils.BartWorksHelper; import com.detrav.utils.GTppHelper; import com.github.bartimaeusnek.bartworks.system.material.Werkstoff; import com.sinthoras.visualprospecting.VisualProspecting_API; + import cpw.mods.fml.common.Loader; import cpw.mods.fml.common.registry.LanguageRegistry; import gregtech.api.GregTech_API; @@ -19,28 +36,13 @@ import gregtech.common.GT_UndergroundOil; import gregtech.common.blocks.GT_Block_Ores_Abstract; import gregtech.common.blocks.GT_TileEntity_Ores; import gregtech.common.items.behaviors.Behaviour_None; -import net.minecraft.block.Block; -import net.minecraft.block.material.Material; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.player.EntityPlayerMP; -import net.minecraft.init.Blocks; -import net.minecraft.item.ItemStack; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.ChatComponentText; -import net.minecraft.util.EnumChatFormatting; -import net.minecraft.util.StatCollector; -import net.minecraft.world.World; -import net.minecraft.world.chunk.Chunk; -import net.minecraftforge.fluids.FluidStack; - -import java.util.*; /** * Created by wital_000 on 19.03.2016. */ public class BehaviourDetravToolProspector extends Behaviour_None { - static final int[] DISTANCEINTS = new int[] {0, 4, 25, 64}; + static final int[] DISTANCEINTS = new int[] { 0, 4, 25, 64 }; int distTextIndex; HashMap ores; @@ -53,255 +55,319 @@ public class BehaviourDetravToolProspector extends Behaviour_None { public BehaviourDetravToolProspector(int aCosts) { mCosts = aCosts; } - - public boolean onItemUse(GT_MetaBase_Item aItem, ItemStack aStack, EntityPlayer aPlayer, World aWorld, int aX, int aY, int aZ, int aSide, float hitX, float hitY, float hitZ) { - - SplittableRandom aRandom =new SplittableRandom(); - int chance = ((1+aStack.getItemDamage())*8) > 100 ? 100 :(1+aStack.getItemDamage())*8; - - if (aWorld.isRemote) - return false; - - if(aWorld.getBlock(aX,aY,aZ) == Blocks.bedrock) - { + + public boolean onItemUse(GT_MetaBase_Item aItem, ItemStack aStack, EntityPlayer aPlayer, World aWorld, int aX, + int aY, int aZ, int aSide, float hitX, float hitY, float hitZ) { + + SplittableRandom aRandom = new SplittableRandom(); + int chance = ((1 + aStack.getItemDamage()) * 8) > 100 ? 100 : (1 + aStack.getItemDamage()) * 8; + + if (aWorld.isRemote) return false; + + if (aWorld.getBlock(aX, aY, aZ) == Blocks.bedrock) { if (!aWorld.isRemote && aRandom.nextInt(100) < chance) { FluidStack fStack = GT_UndergroundOil.undergroundOil(aWorld.getChunkFromBlockCoords(aX, aZ), -1); - addChatMassageByValue(aPlayer,fStack.amount/2,"a Fluid");//fStack.getLocalizedName()); - /*boolean fluid = GT_UndergroundOil.undergroundOil(aWorld.getChunkFromBlockCoords(aX, aZ), -1)!=null &>_UndergroundOil.undergroundOil(aWorld.getChunkFromBlockCoords(aX, aZ), -1).getFluid()!=null; - if (fluid) - aPlayer.addChatMessage(new ChatComponentText(EnumChatFormatting.GREEN+"You found some liquid.")); - else - aPlayer.addChatMessage(new ChatComponentText(EnumChatFormatting.RED+"You found no liquid."));*/ + addChatMassageByValue(aPlayer, fStack.amount / 2, "a Fluid");// fStack.getLocalizedName()); + /* + * boolean fluid = GT_UndergroundOil.undergroundOil(aWorld.getChunkFromBlockCoords(aX, aZ), -1)!=null + * &>_UndergroundOil.undergroundOil(aWorld.getChunkFromBlockCoords(aX, aZ), -1).getFluid()!=null; if + * (fluid) aPlayer.addChatMessage(new + * ChatComponentText(EnumChatFormatting.GREEN+"You found some liquid.")); else + * aPlayer.addChatMessage(new ChatComponentText(EnumChatFormatting.RED+"You found no liquid.")); + */ if (!aPlayer.capabilities.isCreativeMode) - ((DetravMetaGeneratedTool01)aItem).doDamage(aStack, this.mCosts); + ((DetravMetaGeneratedTool01) aItem).doDamage(aStack, this.mCosts); - if(Loader.isModLoaded("visualprospecting")) { + if (Loader.isModLoaded("visualprospecting")) { VisualProspecting_API.LogicalServer.sendProspectionResultsToClient( (EntityPlayerMP) aPlayer, new ArrayList<>(), - VisualProspecting_API.LogicalServer.prospectUndergroundFluidsWithingRadius(aWorld, (int) aPlayer.posX, (int) aPlayer.posZ, 0)); + VisualProspecting_API.LogicalServer.prospectUndergroundFluidsWithingRadius( + aWorld, + (int) aPlayer.posX, + (int) aPlayer.posZ, + 0)); } } return true; } - if (aWorld.getBlock(aX, aY, aZ).getMaterial() == Material.rock || aWorld.getBlock(aX, aY, aZ).getMaterial() == Material.ground || aWorld.getBlock(aX, aY, aZ) == GregTech_API.sBlockOres1) { + if (aWorld.getBlock(aX, aY, aZ).getMaterial() == Material.rock + || aWorld.getBlock(aX, aY, aZ).getMaterial() == Material.ground + || aWorld.getBlock(aX, aY, aZ) == GregTech_API.sBlockOres1) { if (!aWorld.isRemote) { - prospectChunks( (DetravMetaGeneratedTool01) aItem, aStack, aPlayer, aWorld, aX, aY, aZ, aRandom, chance ); + prospectChunks((DetravMetaGeneratedTool01) aItem, aStack, aPlayer, aWorld, aX, aY, aZ, aRandom, chance); } return true; } return false; } - protected void prospectChunks(GT_MetaBase_Item aItem, ItemStack aStack, EntityPlayer aPlayer, World aWorld, int aX, int aY, int aZ, SplittableRandom aRandom, int chance) - { + protected void prospectChunks(GT_MetaBase_Item aItem, ItemStack aStack, EntityPlayer aPlayer, World aWorld, int aX, + int aY, int aZ, SplittableRandom aRandom, int chance) { int bX = aX; int bZ = aZ; - + badluck = 0; ores = new HashMap<>(); - - int range = ((DetravMetaGeneratedTool01)aItem).getHarvestLevel(aStack, "")/2+(aStack.getItemDamage()/4); - if ((range % 2) == 0 ) { - range += 1; // kinda not needed here, divide takes it out, but we put it back in with the range+1 in the loop + + int range = ((DetravMetaGeneratedTool01) aItem).getHarvestLevel(aStack, "") / 2 + (aStack.getItemDamage() / 4); + if ((range % 2) == 0) { + range += 1; // kinda not needed here, divide takes it out, but we put it back in with the range+1 in the + // loop } - range = range/2; // Convert range from diameter to radius - - aPlayer.addChatMessage(new ChatComponentText(EnumChatFormatting.GOLD+ GT_LanguageManager.sEnglishFile.get("LanguageFile", "gt.scanner.prospecting", "Prospecting at ").getString() + EnumChatFormatting.BLUE + "(" + bX + ", " + bZ + ")" )); - for (int x = -(range); x<(range+1);++x){ - aX=bX+(x*16); - for (int z = -(range); z<(range+1);++z) { - - aZ=bZ+(z*16); - int dist = x*x + z*z; - - for( distTextIndex = 0; distTextIndex < DISTANCEINTS.length; distTextIndex++ ) { - if ( dist <= DISTANCEINTS[distTextIndex] ) { + range = range / 2; // Convert range from diameter to radius + + aPlayer.addChatMessage( + new ChatComponentText( + EnumChatFormatting.GOLD + + GT_LanguageManager.sEnglishFile + .get("LanguageFile", "gt.scanner.prospecting", "Prospecting at ").getString() + + EnumChatFormatting.BLUE + + "(" + + bX + + ", " + + bZ + + ")")); + for (int x = -(range); x < (range + 1); ++x) { + aX = bX + (x * 16); + for (int z = -(range); z < (range + 1); ++z) { + + aZ = bZ + (z * 16); + int dist = x * x + z * z; + + for (distTextIndex = 0; distTextIndex < DISTANCEINTS.length; distTextIndex++) { + if (dist <= DISTANCEINTS[distTextIndex]) { break; } } - if (DetravScannerMod.DEBUGBUILD) - aPlayer.addChatMessage(new ChatComponentText(EnumChatFormatting.YELLOW+"Chunk at "+ aX +"|"+aZ+" to "+(aX+16)+"|"+(aZ+16) + StatCollector.translateToLocal("detrav.scanner.distance.texts." + distTextIndex))); - processOreProspecting((DetravMetaGeneratedTool01) aItem, aStack, aPlayer, aWorld.getChunkFromBlockCoords(aX, aZ), aWorld.getTileEntity(aX, aY, aZ),GT_OreDictUnificator.getAssociation(new ItemStack(aWorld.getBlock(aX, aY, aZ), 1, aWorld.getBlockMetadata(aX, aY, aZ))), aRandom, chance); + if (DetravScannerMod.DEBUGBUILD) aPlayer.addChatMessage( + new ChatComponentText( + EnumChatFormatting.YELLOW + "Chunk at " + + aX + + "|" + + aZ + + " to " + + (aX + 16) + + "|" + + (aZ + 16) + + StatCollector + .translateToLocal("detrav.scanner.distance.texts." + distTextIndex))); + processOreProspecting( + (DetravMetaGeneratedTool01) aItem, + aStack, + aPlayer, + aWorld.getChunkFromBlockCoords(aX, aZ), + aWorld.getTileEntity(aX, aY, aZ), + GT_OreDictUnificator.getAssociation( + new ItemStack(aWorld.getBlock(aX, aY, aZ), 1, aWorld.getBlockMetadata(aX, aY, aZ))), + aRandom, + chance); } } - + // List to hold unsorted scanner messages List oreMessages = new ArrayList(); for (String key : ores.keySet()) { int value = ores.get(key); - appendChatMessageByValue(oreMessages, aPlayer,value,key); + appendChatMessageByValue(oreMessages, aPlayer, value, key); } // Define sort order by distance List sortOrder = Arrays.asList( - StatCollector.translateToLocal("detrav.scanner.distance.texts.4"), - StatCollector.translateToLocal("detrav.scanner.distance.texts.3"), - StatCollector.translateToLocal("detrav.scanner.distance.texts.2"), - StatCollector.translateToLocal("detrav.scanner.distance.texts.1"), - StatCollector.translateToLocal("detrav.scanner.distance.texts.0") - ); + StatCollector.translateToLocal("detrav.scanner.distance.texts.4"), + StatCollector.translateToLocal("detrav.scanner.distance.texts.3"), + StatCollector.translateToLocal("detrav.scanner.distance.texts.2"), + StatCollector.translateToLocal("detrav.scanner.distance.texts.1"), + StatCollector.translateToLocal("detrav.scanner.distance.texts.0")); List oreMessagesSorted = new ArrayList(); oreMessagesSorted.add(new ChatComponentText(CHAT_MSG_SEPARATOR)); // Sort ore messages by distance, separated by ----- - for(String oreFrequency : sortOrder) { - for(ChatComponentText msg : oreMessages) { + for (String oreFrequency : sortOrder) { + for (ChatComponentText msg : oreMessages) { if (msg.getChatComponentText_TextValue().contains(oreFrequency)) { oreMessagesSorted.add(msg); } } - + // Only append ----- separator if text has been added - if (!oreMessagesSorted.get(oreMessagesSorted.size() - 1).getChatComponentText_TextValue().contains(CHAT_MSG_SEPARATOR)) { + if (!oreMessagesSorted.get(oreMessagesSorted.size() - 1).getChatComponentText_TextValue() + .contains(CHAT_MSG_SEPARATOR)) { oreMessagesSorted.add(new ChatComponentText(CHAT_MSG_SEPARATOR)); } } - - if( badluck == 0) { - oreMessages.add(new ChatComponentText(EnumChatFormatting.WHITE + StatCollector.translateToLocal("detrav.scanner.success"))); + + if (badluck == 0) { + oreMessages.add( + new ChatComponentText( + EnumChatFormatting.WHITE + StatCollector.translateToLocal("detrav.scanner.success"))); } else { - oreMessages.add(new ChatComponentText(EnumChatFormatting.WHITE + StatCollector.translateToLocal("detrav.scanner.fail").replace("%badluck", Integer.toString(badluck)))); + oreMessages.add( + new ChatComponentText( + EnumChatFormatting.WHITE + StatCollector.translateToLocal("detrav.scanner.fail") + .replace("%badluck", Integer.toString(badluck)))); } // Print the sorted messages - for(ChatComponentText msg : oreMessagesSorted) { + for (ChatComponentText msg : oreMessagesSorted) { aPlayer.addChatMessage(msg); } - if(Loader.isModLoaded("visualprospecting")) { + if (Loader.isModLoaded("visualprospecting")) { VisualProspecting_API.LogicalServer.sendProspectionResultsToClient( (EntityPlayerMP) aPlayer, - VisualProspecting_API.LogicalServer.prospectOreVeinsWithinRadius(aWorld.provider.dimensionId, (int) aPlayer.posX, (int) aPlayer.posZ, range * 16 ), + VisualProspecting_API.LogicalServer.prospectOreVeinsWithinRadius( + aWorld.provider.dimensionId, + (int) aPlayer.posX, + (int) aPlayer.posZ, + range * 16), new ArrayList<>()); } } // Used by Electric scanner when scanning the chunk whacked by the scanner. 100% chance find rate - protected void prospectSingleChunk(GT_MetaBase_Item aItem, ItemStack aStack, Enti