diff options
| author | NotAPenguin <michiel.vandeginste@gmail.com> | 2024-09-02 23:17:17 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-09-02 23:17:17 +0200 |
| commit | 1b820de08a05070909a267e17f033fcf58ac8710 (patch) | |
| tree | 02831a025986a06b20f87e5bcc69d1e0c639a342 /src/main/java/com/detrav/items/behaviours | |
| parent | afd3fd92b6a6ab9ab0d0dc3214e6bc8ff7a86c9b (diff) | |
| download | GT5-Unofficial-1b820de08a05070909a267e17f033fcf58ac8710.tar.gz GT5-Unofficial-1b820de08a05070909a267e17f033fcf58ac8710.tar.bz2 GT5-Unofficial-1b820de08a05070909a267e17f033fcf58ac8710.zip | |
The Great Renaming (#3014)
* move kekztech to a single root dir
* move detrav to a single root dir
* move gtnh-lanthanides to a single root dir
* move tectech and delete some gross reflection in gt++
* remove more reflection inside gt5u
* delete more reflection in gt++
* fix imports
* move bartworks and bwcrossmod
* fix proxies
* move galactigreg and ggfab
* move gtneioreplugin
* try to fix gt++ bee loader
* apply the rename rules to BW
* apply rename rules to bwcrossmod
* apply rename rules to detrav scanner mod
* apply rename rules to galacticgreg
* apply rename rules to ggfab
* apply rename rules to goodgenerator
* apply rename rules to gtnh-lanthanides
* apply rename rules to gt++
* apply rename rules to kekztech
* apply rename rules to kubatech
* apply rename rules to tectech
* apply rename rules to gt
apply the rename rules to gt
* fix tt import
* fix mui hopefully
* fix coremod except intergalactic
* rename assline recipe class
* fix a class name i stumbled on
* rename StructureUtility to GTStructureUtility to prevent conflict with structurelib
* temporary rename of GTTooltipDataCache to old name
* fix gt client/server proxy names
Diffstat (limited to 'src/main/java/com/detrav/items/behaviours')
| -rw-r--r-- | src/main/java/com/detrav/items/behaviours/BehaviourDetravToolElectricProspector.java | 253 | ||||
| -rw-r--r-- | src/main/java/com/detrav/items/behaviours/BehaviourDetravToolProspector.java | 421 |
2 files changed, 0 insertions, 674 deletions
diff --git a/src/main/java/com/detrav/items/behaviours/BehaviourDetravToolElectricProspector.java b/src/main/java/com/detrav/items/behaviours/BehaviourDetravToolElectricProspector.java deleted file mode 100644 index d99a8ceec6..0000000000 --- a/src/main/java/com/detrav/items/behaviours/BehaviourDetravToolElectricProspector.java +++ /dev/null @@ -1,253 +0,0 @@ -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; -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; -import gregtech.api.util.GT_LanguageManager; -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; - -/** - * Created by wital_000 on 19.03.2016. - */ -public class BehaviourDetravToolElectricProspector extends BehaviourDetravToolProspector { - - public BehaviourDetravToolElectricProspector(int aCosts) { - super(aCosts); - } - - 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()) { - data++; - if (data > 3) data = 0; - switch (data) { - case 0: - aPlayer.addChatMessage( - new ChatComponentText(StatCollector.translateToLocal("detrav.scanner.mode.0"))); - break; - case 1: - aPlayer.addChatMessage( - new ChatComponentText(StatCollector.translateToLocal("detrav.scanner.mode.1"))); - break; - case 2: - aPlayer.addChatMessage( - new ChatComponentText(StatCollector.translateToLocal("detrav.scanner.mode.2"))); - break; - case 3: - aPlayer.addChatMessage( - new ChatComponentText(StatCollector.translateToLocal("detrav.scanner.mode.3"))); - break; - default: - aPlayer.addChatMessage( - new ChatComponentText(StatCollector.translateToLocal("detrav.scanner.mode.error"))); - break; - } - DetravMetaGeneratedTool01.INSTANCE.setToolGTDetravData(aStack, (long) data); - return super.onItemRightClick(aItem, aStack, aWorld, aPlayer); - } - - final DetravMetaGeneratedTool01 tool = (DetravMetaGeneratedTool01) aItem; - final int cX = ((int) aPlayer.posX) >> 4; - final int cZ = ((int) aPlayer.posZ) >> 4; - int size = aItem.getHarvestLevel(aStack, "") + 1; - final List<Chunk> 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)); - size = size - 1; - - 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); - } - } - break; - case 2: - if ((x == 0) || (z == 0)) { // Skip doing the locations with the grid on them. - break; - } - 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 (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), - new ArrayList<>()); - } 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)); - } - } - } - return super.onItemRightClick(aItem, aStack, aWorld, aPlayer); - } - - void addChatMassageByValue(EntityPlayer aPlayer, int value, String name) { - if (value < 0) { - 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)); - } - - 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.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; - } else { - if (!aWorld.isRemote) { - 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 (!aWorld.isRemote) { - int polution = getPolution(aWorld, aX, aZ); - addChatMassageByValue(aPlayer, polution, "Pollution"); - } - return true; - } - -} diff --git a/src/main/java/com/detrav/items/behaviours/BehaviourDetravToolProspector.java b/src/main/java/com/detrav/items/behaviours/BehaviourDetravToolProspector.java deleted file mode 100644 index 66ef237593..0000000000 --- a/src/main/java/com/detrav/items/behaviours/BehaviourDetravToolProspector.java +++ /dev/null @@ -1,421 +0,0 @@ -package com.detrav.items.behaviours; - -import java.util.ArrayList; -import java.util.Arrays; -import java.util.HashMap; -import java.util.List; -import java.util.SplittableRandom; - -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; -import gregtech.api.enums.Materials; -import gregtech.api.items.GT_MetaBase_Item; -import gregtech.api.objects.ItemData; -import gregtech.api.util.GT_LanguageManager; -import gregtech.api.util.GT_OreDictUnificator; -import gregtech.common.GT_Pollution; -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; - -/** - * Created by wital_000 on 19.03.2016. - */ -public class BehaviourDetravToolProspector extends Behaviour_None { - - static final int[] DISTANCEINTS = new int[] { 0, 4, 25, 64 }; - int distTextIndex; - - HashMap<String, Integer> ores; - int badluck; - - protected final int mCosts; - - static final String CHAT_MSG_SEPARATOR = "--------------------"; - - 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) { - 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.")); - */ - if (!aPlayer.capabilities.isCreativeMode) - ((DetravMetaGeneratedTool01) aItem).doDamage(aStack, this.mCosts); - - if (Loader.isModLoaded("visualprospecting")) { - VisualProspecting_API.LogicalServer.sendProspectionResultsToClient( - (EntityPlayerMP) aPlayer, - new ArrayList<>(), - 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.isRemote) { - 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<>(); - - 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]) { - break; - } - } - if (DetravScannerMod.DEBUG_ENABLED) 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<ChatComponentText> oreMessages = new ArrayList<ChatComponentText>(); - - for (String key : ores.keySet()) { - int value = ores.get(key); - appendChatMessageByValue(oreMessages, aPlayer, value, key); - } - - // Define sort order by distance - List<String> 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")); - - List<ChatComponentText> oreMessagesSorted = new ArrayList<ChatComponentText>(); - oreMessagesSorted.add(new ChatComponentText(CHAT_MSG_SEPARATOR)); - - // Sort ore messages by distance, separated by ----- - 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)) { - oreMessagesSorted.add(new ChatComponentText(CHAT_MSG_SEPARATOR)); - } - } - - 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)))); - } - - // Print the sorted messages - for (ChatComponentText msg : oreMessagesSorted) { - aPlayer.addChatMessage(msg); - } - - 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), - 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, EntityPlayer aPlayer, World aWorld, - int aX, int aY, int aZ) { - ores = new HashMap<>(); - aPlayer.addChatMessage( - new ChatComponentText( - EnumChatFormatting.GOLD + StatCollector.translateToLocal( - "detrav.scanner.prospecting") + 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); - } - - if (Loader.isModLoaded("visualprospecting")) { - VisualProspecting_API.LogicalServer.sendProspectionResultsToClient( - (EntityPlayerMP) aPlayer, - VisualProspecting_API.LogicalServer.prospectOreVeinsWithinRadius( - aWorld.provider.dimensionId, - (int) aPlayer.posX, - (int) aPlayer.posZ, - 0), - new ArrayList<>()); - } - } - - protected void processOreProspecting(DetravMetaGeneratedTool01 aItem, ItemStack aStack, EntityPlayer aPlayer, - Chunk aChunk, TileEntity aTileEntity, ItemData tAssotiation, SplittableRandom aRandom, int chance)// TileEntity - // aTileEntity) - { - if (aTileEntity != null) { - if (aTileEntity instanceof GT_TileEntity_Ores) { - GT_TileEntity_Ores gt_entity = (GT_TileEntity_Ores) aTileEntity; - short meta = gt_entity.getMetaData(); - String format = LanguageRegistry.instance() - .getStringLocalization("gt.blockores." + meta + ".name"); - String name = Materials.getLocalizedNameForItem(format, meta % 1000); - addOreToHashMap(name, aPlayer); - if (!aPlayer.capabilities.isCreativeMode) aItem.doDamage(aStack, this.mCosts); - return; - } - } else if (tAssotiation != null) { - try { - String name = tAssotiation.toString(); - addChatMassageByValue(aPlayer, -1, name); - if (!aPlayer.capabilities.isCreativeMode) aItem.doDamage(aStack, this.mCosts); - return; - } catch (Exception e) { - addChatMassageByValue(aPlayer, -1, "ERROR, lol ^_^"); - } - } else if (aRandom.nextInt(100) < chance) { - final int data = DetravMetaGeneratedTool01.INSTANCE.getToolGTDetravData(aStack) - .intValue(); - final String small_ore_keyword = StatCollector.translateToLocal("detrav.scanner.small_ore.keyword"); - 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 tBlock = aChunk.getBlock(x, y, z); - short tMetaID = (short) aChunk.getBlockMetadata(x, y, z); - if (tBlock instanceof GT_Block_Ores_Abstract) { - TileEntity tTileEntity = aChunk.getTileEntityUnsafe(x, y, z); - if ((tTileEntity instanceof GT_TileEntity_Ores) - && ((GT_TileEntity_Ores) tTileEntity).mNatural) { - tMetaID = (short) ((GT_TileEntity_Ores) tTileEntity).getMetaData(); - try { - String format = LanguageRegistry.instance() - .getStringLocalization(tBlock.getUnlocalizedName() + "." + tMetaID + ".name"); - String name = Materials.getLocalizedNameForItem(format, tMetaID % 1000); - if (data != 1 && name.startsWith(small_ore_keyword)) continue; - addOreToHashMap(name, aPlayer); - } catch (Exception e) { - String name = tBlock.getUnlocalizedName() + "."; - if (data != 1 && name.contains(".small.")) continue; - addOreToHashMap(name, aPlayer); - } - } - } else if (DetravScannerMod.isGTppLoaded && GTppHelper.isGTppBlock(tBlock)) { - String name = GTppHelper.getGTppVeinName(tBlock); - if (!name.isEmpty()) addOreToHashMap(name, aPlayer); - } else if (DetravScannerMod.isBartWorksLoaded && BartWorksHelper.isOre(tBlock)) { - if (data != 1 && BartWorksHelper.isSmallOre(tBlock)) continue; - final Werkstoff werkstoff = Werkstoff.werkstoffHashMap.getOrDefault( - (short) ((BartWorksHelper.getMetaFromBlock(aChunk, x, y, z, tBlock)) * -1), - null); - String type = BartWorksHelper.isSmallOre(tBlock) ? "oreSmall" : "ore"; - String translated = GT_LanguageManager.getTranslation("bw.blocktype." + type); - addOreToHashMap(translated.replace("%material", werkstoff.getLocalizedName()), aPlayer); - } else if (data == 1) { - tAssotiation = GT_OreDictUnificator.getAssociation(new ItemStack(tBlock, 1, tMetaID)); - if ((tAssotiation != null) && (tAssotiation.mPrefix.toString() - .startsWith("ore"))) { - try { - try { - tMetaID = (short) tAssotiation.mMaterial.mMaterial.mMetaItemSubID; - String format = LanguageRegistry.instance() - .getStringLocalization("gt.blockores." + tMetaID + ".name"); - String name = Materials.getLocalizedNameForItem(format, tMetaID % 1000); - addOreToHashMap(name, aPlayer); - } catch (Exception e1) { - String name = tAssotiation.toString(); - addOreToHashMap(name, aPlayer); - } - } catch (Exception ignored) {} - } - } - - } - } - - if (!aPlayer.capabilities.isCreativeMode) aItem.doDamage(aStack, this.mCosts); - - return; - } else { - if (DetravScannerMod.DEBUG_ENABLED) - aPlayer.addChatMessage(new ChatComponentText(EnumChatFormatting.RED + " Failed on this chunk")); - badluck++; - if (!aPlayer.capabilities.isCreativeMode) aItem.doDamage(aStack, this.mCosts / 4); - } - // addChatMassageByValue(aPlayer,0,null); - } - - void addOreToHashMap(String orename, EntityPlayer aPlayer) { - String oreDistance = orename + StatCollector.translateToLocal("detrav.scanner.distance.texts." + distTextIndex); // orename - // + - // the - // textual - // distance - // of - // the - // ore - if (!ores.containsKey(oreDistance)) { - if (DetravScannerMod.DEBUG_ENABLED) aPlayer - .addChatMessage(new ChatComponentText(EnumChatFormatting.GREEN + " Adding to oremap " + oreDistance)); - ores.put(oreDistance, 1); - } else { - int val = ores.get(oreDistance); - ores.put(oreDistance, val + 1); - } - } - - void addChatMassageByValue(EntityPlayer aPlayer, int value, String name) { - if (value < 0) { - 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.0"))); - } else if (value < 10) aPlayer.addChatMessage( - new ChatComponentText(name + StatCollector.translateToLocal("detrav.scanner.found.texts.1"))); - else if (value < 30) aPlayer.addChatMessage( - new ChatComponentText(name + StatCollector.translateToLocal("detrav.scanner.found.texts.2"))); - else if (value < 60) aPlayer.addChatMessage( - new ChatComponentText(name + StatCollector.translateToLocal("detrav.scanner.found.texts.3"))); - else if (value < 100) aPlayer.addChatMessage( - new ChatComponentText(name + StatCollector.translateToLocal("detrav.scanner.found.texts.4"))); - else aPlayer.addChatMessage( - new ChatComponentText(name + StatCollector.translateToLocal("detrav.scanner.found.texts.5"))); - } - - // Same as addChatMassageByValue but appends to a list of chat messages and spelled correctly - void appendChatMessageByValue(List<ChatComponentText> chatMessageList, EntityPlayer aPlayer, int value, - String name) { - if (value < 0) { - chatMessageList - .add(new ChatComponentText(StatCollector.translateToLocal("detrav.scanner.found.texts.6") + name)); - } else if (value < 1) { - chatMessageList.add(new ChatComponentText(StatCollector.translateToLocal("detrav.scanner.found.texts.0"))); - } else if (value < 10) chatMessageList - .add(new ChatComponentText(name + StatCollector.translateToLocal("detrav.scanner.found.texts.1"))); - else if (value < 30) chatMessageList - .add(new ChatComponentText(name + StatCollector.translateToLocal("detrav.scanner.found.texts.2"))); - else if (value < 60) chatMessageList - .add(new ChatComponentText(name + StatCollector.translateToLocal("detrav.scanner.found.texts.3"))); - else if (value < 100) chatMessageList - .add(new ChatComponentText(name + StatCollector.translateToLocal("detrav.scanner.found.texts.4"))); - else chatMessageList - .add(new ChatComponentText(name + StatCollector.translateToLocal("detrav.scanner.found.texts.5"))); - } - - public static int getPolution(World aWorld, int aX, int aZ) { - return GT_Pollution.getPollution(aWorld.getChunkFromBlockCoords(aX, aZ)); - } -} |
