aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--build.properties2
-rw-r--r--src/main/java/com/detrav/DetravScannerMod.java2
-rw-r--r--src/main/java/com/detrav/items/behaviours/BehaviourDetravToolElectricProPick.java9
-rw-r--r--src/main/java/com/detrav/items/behaviours/BehaviourDetravToolProPick.java104
-rw-r--r--src/main/resources/mcmod.info2
5 files changed, 69 insertions, 50 deletions
diff --git a/build.properties b/build.properties
index 40a794bffd..f458908b88 100644
--- a/build.properties
+++ b/build.properties
@@ -1,7 +1,7 @@
minecraft.version=1.7.10
forge.version=10.13.4.1614-1.7.10
-detravscanner.version=1.5.1
+detravscanner.version=1.5.2
ae2.version=rv2-beta-33
applecore.version=1.7.10-1.2.1+107.59407
diff --git a/src/main/java/com/detrav/DetravScannerMod.java b/src/main/java/com/detrav/DetravScannerMod.java
index 8898a98dd0..fd0544ef3a 100644
--- a/src/main/java/com/detrav/DetravScannerMod.java
+++ b/src/main/java/com/detrav/DetravScannerMod.java
@@ -23,7 +23,7 @@ import net.minecraftforge.common.config.Configuration;
public class DetravScannerMod
{
public static final String MODID = "detravscannermod";
- public static final String VERSION = "1.5.1";
+ public static final String VERSION = "1.5.2";
public static final boolean DEBUGBUILD = false;
public static final CreativeTabs TAB_DETRAV = new DetravCreativeTab();
diff --git a/src/main/java/com/detrav/items/behaviours/BehaviourDetravToolElectricProPick.java b/src/main/java/com/detrav/items/behaviours/BehaviourDetravToolElectricProPick.java
index 74234eca0b..511db39698 100644
--- a/src/main/java/com/detrav/items/behaviours/BehaviourDetravToolElectricProPick.java
+++ b/src/main/java/com/detrav/items/behaviours/BehaviourDetravToolElectricProPick.java
@@ -25,6 +25,7 @@ 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.world.World;
import net.minecraft.world.chunk.Chunk;
import net.minecraftforge.fluids.FluidStack;
@@ -175,7 +176,7 @@ public class BehaviourDetravToolElectricProPick extends BehaviourDetravToolProPi
} else if (value < 1) {
aPlayer.addChatMessage(new ChatComponentText(foundTexts[0]));
} else
- aPlayer.addChatMessage(new ChatComponentText(foundTexts[6] + name + ": " + value));
+ aPlayer.addChatMessage(new ChatComponentText(foundTexts[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) {
@@ -194,8 +195,7 @@ public class BehaviourDetravToolElectricProPick extends BehaviourDetravToolProPi
else {
//if (aWorld.getBlock(aX, aY, aZ).getMaterial() == Material.rock || aWorld.getBlock(aX, aY, aZ) == GregTech_API.sBlockOres1) {
if (!aWorld.isRemote) {
- 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))), new SplittableRandom(), 1000);
- return true;
+ prospectSingleChunk( (DetravMetaGeneratedTool01) aItem, aStack, aPlayer, aWorld, aX, aY, aZ );
}
return true;
}
@@ -216,4 +216,5 @@ public class BehaviourDetravToolElectricProPick extends BehaviourDetravToolProPi
}
return true;
}
-} \ No newline at end of file
+
+}
diff --git a/src/main/java/com/detrav/items/behaviours/BehaviourDetravToolProPick.java b/src/main/java/com/detrav/items/behaviours/BehaviourDetravToolProPick.java
index 52bae97da3..e9419e310e 100644
--- a/src/main/java/com/detrav/items/behaviours/BehaviourDetravToolProPick.java
+++ b/src/main/java/com/detrav/items/behaviours/BehaviourDetravToolProPick.java
@@ -74,7 +74,8 @@ public class BehaviourDetravToolProPick extends Behaviour_None {
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;
+ int chance = ((1+aStack.getItemDamage())*8) > 100 ? 100 :(1+aStack.getItemDamage())*8;
+
if (aWorld.isRemote)
return false;
@@ -95,54 +96,71 @@ public class BehaviourDetravToolProPick extends Behaviour_None {
}
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) {
- int bX = aX;
- int bZ = aZ;
-
- badluck = 0;
- ores = new HashMap<String, Integer>();
-
- 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+"Prospecting at " + 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) + DISTANCETEXTS[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);
- }
- }
-
- for (String key : ores.keySet()) {
- int value = ores.get(key);
- addChatMassageByValue(aPlayer,value,key);
- }
-
- if( badluck == 0) {
- aPlayer.addChatMessage(new ChatComponentText(EnumChatFormatting.WHITE + "All chunks scanned successfully!"));
- } else {
- aPlayer.addChatMessage(new ChatComponentText(EnumChatFormatting.WHITE + "Failed on " + badluck + " chunks. Better luck next time!"));
- }
- return true;
+ 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)
+ {
+ int bX = aX;
+ int bZ = aZ;
+
+ badluck = 0;
+ ores = new HashMap<String, Integer>();
+
+ 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+"Prospecting at " + 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) + DISTANCETEXTS[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);
+ }
+ }
+
+ for (String key : ores.keySet()) {
+ int value = ores.get(key);
+ addChatMassageByValue(aPlayer,value,key);
+ }
+
+ if( badluck == 0) {
+ aPlayer.addChatMessage(new ChatComponentText(EnumChatFormatting.WHITE + "All chunks scanned successfully!"));
+ } else {
+ aPlayer.addChatMessage(new ChatComponentText(EnumChatFormatting.WHITE + "Failed on " + badluck + " chunks. Better luck next time!"));
+ }
+ }
+
+ // 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, EntityPlayer aPlayer, World aWorld, int aX, int aY, int aZ )
+ {
+ ores = new HashMap<String, Integer>();
+ aPlayer.addChatMessage(new ChatComponentText(EnumChatFormatting.GOLD+"Prospecting at " + EnumChatFormatting.BLUE + "(" + aX + ", " + aZ + ")" ));
+ 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))), new SplittableRandom(), 1000);
+
+ for (String key : ores.keySet()) {
+ int value = ores.get(key);
+ addChatMassageByValue(aPlayer,value,key);
+ }
+ }
+
protected void processOreProspecting(DetravMetaGeneratedTool01 aItem, ItemStack aStack, EntityPlayer aPlayer, Chunk aChunk, TileEntity aTileEntity, ItemData tAssotiation, SplittableRandom aRandom, int chance)//TileEntity aTileEntity)
{
if (aTileEntity != null) {
diff --git a/src/main/resources/mcmod.info b/src/main/resources/mcmod.info
index 168d7a382a..6c04fce9e5 100644
--- a/src/main/resources/mcmod.info
+++ b/src/main/resources/mcmod.info
@@ -3,7 +3,7 @@
"modid": "detravscannermod",
"name": "GT Scanner Mod",
"description": "To locate ores deep underground.",
- "version": "1.5.1",
+ "version": "1.5.2",
"mcversion": "1.7.10",
"url": "https://github.com/GTNewHorizons/GTScannerMod",
"updateUrl": "",