diff options
author | Detrav <witalyezep@gmail.com> | 2016-03-19 16:19:31 +0300 |
---|---|---|
committer | Detrav <witalyezep@gmail.com> | 2016-03-19 16:19:31 +0300 |
commit | f0ffeaaa2ac0fdec49e1274930529e74980c85e6 (patch) | |
tree | 66fef2f96fc54a2d6baea5b9b1dd26596e5ab975 | |
parent | 6616c456d6efb845991e8843257a70046922a2f4 (diff) | |
download | GT5-Unofficial-f0ffeaaa2ac0fdec49e1274930529e74980c85e6.tar.gz GT5-Unofficial-f0ffeaaa2ac0fdec49e1274930529e74980c85e6.tar.bz2 GT5-Unofficial-f0ffeaaa2ac0fdec49e1274930529e74980c85e6.zip |
Complete && UpdateVersion
-rw-r--r-- | build.properties | 2 | ||||
-rw-r--r-- | src/main/java/com/detrav/DetravScannerMod.java | 4 | ||||
-rw-r--r-- | src/main/java/com/detrav/items/DetravMetaGeneratedTool01.java | 2 | ||||
-rw-r--r-- | src/main/java/com/detrav/tools/BehaviourDetravToolProPick.java | 102 | ||||
-rw-r--r-- | src/main/java/com/detrav/tools/DetravToolProPick.java | 1 |
5 files changed, 104 insertions, 7 deletions
diff --git a/build.properties b/build.properties index ad88305209..1c2f71dc4d 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=0.4 +detravscanner.version=0.5 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 15ab843e91..648bb64293 100644 --- a/src/main/java/com/detrav/DetravScannerMod.java +++ b/src/main/java/com/detrav/DetravScannerMod.java @@ -17,7 +17,7 @@ import net.minecraft.init.Blocks; public class DetravScannerMod { public static final String MODID = "detravscannermod"; - public static final String VERSION = "0.4"; + public static final String VERSION = "0.5"; public static final CreativeTabs TAB_DETRAV = new DetravCreativeTab(); @@ -51,6 +51,6 @@ public class DetravScannerMod @EventHandler public void serverLoad(FMLServerStartingEvent event) { - event.registerServerCommand(new DetravScannerCommand()); + //event.registerServerCommand(new DetravScannerCommand()); } } diff --git a/src/main/java/com/detrav/items/DetravMetaGeneratedTool01.java b/src/main/java/com/detrav/items/DetravMetaGeneratedTool01.java index 5c1234d12a..565978f2e6 100644 --- a/src/main/java/com/detrav/items/DetravMetaGeneratedTool01.java +++ b/src/main/java/com/detrav/items/DetravMetaGeneratedTool01.java @@ -17,7 +17,7 @@ public class DetravMetaGeneratedTool01 extends GT_MetaGenerated_Tool { INSTANCE = this; addTool(0, "ProPick", "", new DetravToolProPick(), new Object[]{new TC_Aspects.TC_AspectStack(TC_Aspects.INSTRUMENTUM, 2L), new TC_Aspects.TC_AspectStack(TC_Aspects.METALLUM, 4L)}); setCreativeTab(DetravScannerMod.TAB_DETRAV); - addItemBehavior(0,new BehaviourDetravToolProPick()); + //addItemBehavior(0,new BehaviourDetravToolProPick()); } diff --git a/src/main/java/com/detrav/tools/BehaviourDetravToolProPick.java b/src/main/java/com/detrav/tools/BehaviourDetravToolProPick.java index 167e30973b..a0dfc599f8 100644 --- a/src/main/java/com/detrav/tools/BehaviourDetravToolProPick.java +++ b/src/main/java/com/detrav/tools/BehaviourDetravToolProPick.java @@ -1,24 +1,120 @@ package com.detrav.tools; +import com.detrav.items.DetravMetaGeneratedTool01; +import gregtech.api.GregTech_API; import gregtech.api.items.GT_MetaBase_Item; +import gregtech.api.util.GT_LanguageManager; +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.item.ItemStack; +import net.minecraft.tileentity.TileEntity; import net.minecraft.util.ChatComponentText; import net.minecraft.world.World; +import net.minecraft.world.chunk.Chunk; + +import java.util.HashMap; +import java.util.Random; /** * Created by wital_000 on 19.03.2016. */ public class BehaviourDetravToolProPick extends Behaviour_None { + static final String[] foundTexts = new String[]{ + "Found nothing of interest", //0 + "Found Traces of ", //1-9 + "Found a small sample of ", //10-29 + "Found a medium sample of ", //30-59 + "Found a large sample of ", //60-99 + "Found a very large sample of ", //100-** + "Found " + }; + private final int mCosts; + + public BehaviourDetravToolProPick(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) { - if (aWorld.isRemote) - { + 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), new Random(aWorld.getSeed() + 3547*aX + 1327 * aZ + 9973* aY)); + return true; + } + //aPlayer.addChatMessage(new ChatComponentText("Tested")); return true; } - aPlayer.addChatMessage(new ChatComponentText("Tested")); return false; } + + private void processOreProspecting(DetravMetaGeneratedTool01 aItem, ItemStack aStack, EntityPlayer aPlayer, Chunk aChunk, TileEntity aTileEntity, Random aRandom)//TileEntity aTileEntity) + { + aRandom.nextInt(); + if(aTileEntity != null) { + if (aTileEntity instanceof GT_TileEntity_Ores) { + GT_TileEntity_Ores gt_entity = (GT_TileEntity_Ores) aTileEntity; + String name = GT_LanguageManager.getTranslation("gt.blockores." + gt_entity.getMetaData() + ".name"); + aPlayer.addChatMessage(new ChatComponentText(foundTexts[6] + name)); + aItem.doDamage(aStack, this.mCosts); + return; + } + } + else if(aRandom.nextInt(10)<4) { + HashMap<String, Integer> ores = new HashMap<String, Integer>(); + for (int x = 0; x < 16; x++) + for (int z = 0; z < 16; z++) { + int ySize = aChunk.getHeightValue(x, z); + for (int y = 1; y < ySize; y++) { + Block b = aChunk.getBlock(x, y, z); + if (b == GregTech_API.sBlockOres1) { + TileEntity entity = aChunk.getTileEntityUnsafe(x, y, z); + if (entity != null) { + GT_TileEntity_Ores gt_entity = (GT_TileEntity_Ores) entity; + String name = GT_LanguageManager.getTranslation( + b.getUnlocalizedName() + "." + gt_entity.getMetaData() + ".name"); + if (name.startsWith("Small")) continue; + if (!ores.containsKey(name)) + ores.put(name, 1); + else { + int val = ores.get(name); + ores.put(name, val + 1); + } + } + } + } + } + for(String key : ores.keySet()) + { + int value = ores.get(key); + if(value<10) + aPlayer.addChatMessage(new ChatComponentText(foundTexts[1] + key)); + else if(value<30) + aPlayer.addChatMessage(new ChatComponentText(foundTexts[2] + key)); + else if(value<60) + aPlayer.addChatMessage(new ChatComponentText(foundTexts[3] + key)); + else if(value<100) + aPlayer.addChatMessage(new ChatComponentText(foundTexts[4] + key)); + else + aPlayer.addChatMessage(new ChatComponentText(foundTexts[5] + key)); + } + aItem.doDamage(aStack, this.mCosts); + return; + } + aPlayer.addChatMessage(new ChatComponentText(foundTexts[0])); + + /*//aPlayer.addChatMessage(new ChatComponentText()); + if(aTileEntity != null && aTileEntity instanceof GT_TileEntity_Ores) + { + GT_TileEntity_Ores gt_entity = (GT_TileEntity_Ores)aTileEntity; + + /*String name = GT_LanguageManager.getTranslation( + b.getUnlocalizedName() + "." + gt_entity.getMetaData() + ".name"); + if(name.startsWith("Small")) continue; + }*/ + } }
\ No newline at end of file diff --git a/src/main/java/com/detrav/tools/DetravToolProPick.java b/src/main/java/com/detrav/tools/DetravToolProPick.java index 351af7c396..4444594117 100644 --- a/src/main/java/com/detrav/tools/DetravToolProPick.java +++ b/src/main/java/com/detrav/tools/DetravToolProPick.java @@ -167,6 +167,7 @@ public class DetravToolProPick implements IToolStats { } public void onStatsAddedToTool(GT_MetaGenerated_Tool aItem, int aID) { + aItem.addItemBehavior(aID, new BehaviourDetravToolProPick(getToolDamagePerBlockBreak())); } public void onToolCrafted(ItemStack aStack, EntityPlayer aPlayer) { |