diff options
author | Detrav <witalyezep@gmail.com> | 2016-03-20 18:40:37 +0300 |
---|---|---|
committer | Detrav <witalyezep@gmail.com> | 2016-03-20 18:40:37 +0300 |
commit | c75ec13a10389ff891782ae40ae00727a0cb0434 (patch) | |
tree | b6e37b0e438bf18652b788af0f400cee355155f5 /src/main/java/com/detrav/items/behaviours | |
parent | b6651aa34b5e54d071e97eac4ca31103a23d89ed (diff) | |
download | GT5-Unofficial-c75ec13a10389ff891782ae40ae00727a0cb0434.tar.gz GT5-Unofficial-c75ec13a10389ff891782ae40ae00727a0cb0434.tar.bz2 GT5-Unofficial-c75ec13a10389ff891782ae40ae00727a0cb0434.zip |
Refactor name and path
Diffstat (limited to 'src/main/java/com/detrav/items/behaviours')
-rw-r--r-- | src/main/java/com/detrav/items/behaviours/BehaviourDetravToolElectricProPick.java | 33 | ||||
-rw-r--r-- | src/main/java/com/detrav/items/behaviours/BehaviourDetravToolProPick.java | 120 |
2 files changed, 153 insertions, 0 deletions
diff --git a/src/main/java/com/detrav/items/behaviours/BehaviourDetravToolElectricProPick.java b/src/main/java/com/detrav/items/behaviours/BehaviourDetravToolElectricProPick.java new file mode 100644 index 0000000000..1ba9a77968 --- /dev/null +++ b/src/main/java/com/detrav/items/behaviours/BehaviourDetravToolElectricProPick.java @@ -0,0 +1,33 @@ +package com.detrav.items.behaviours; + +import gregtech.api.items.GT_MetaBase_Item; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.util.ChatComponentText; +import net.minecraft.world.World; + +/** + * Created by wital_000 on 19.03.2016. + */ +public class BehaviourDetravToolElectricProPick extends BehaviourDetravToolProPick +{ + + public BehaviourDetravToolElectricProPick(int aCosts) { + super(aCosts); + } + + public ItemStack onItemRightClick(GT_MetaBase_Item aItem, ItemStack aStack, World aWorld, EntityPlayer aPlayer) { + + if (!aWorld.isRemote) { + //aPlayer.openGui(); + + aPlayer.addChatMessage(new ChatComponentText("Scanning Begin")); + try { + Thread.sleep(5000); + } catch (InterruptedException e) { + e.printStackTrace(); + } + } + return super.onItemRightClick(aItem,aStack,aWorld,aPlayer); + } +}
\ 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 new file mode 100644 index 0000000000..5c5b64d53c --- /dev/null +++ b/src/main/java/com/detrav/items/behaviours/BehaviourDetravToolProPick.java @@ -0,0 +1,120 @@ +package com.detrav.items.behaviours; + +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.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; + } + 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 |