diff options
author | Martin Robertz <dream-master@gmx.net> | 2018-04-19 14:02:37 +0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-04-19 14:02:37 +0700 |
commit | 8402a963ffff0fa50849ccae1c02b0b5c58a4ef3 (patch) | |
tree | c7f0dd7c4e1b5c6160574841e561000bda631d17 /src/main | |
parent | 8ddc3e4235331be0e4098d46a7d930b0af07bcac (diff) | |
parent | 0ed83509fa9f56fc46d32def112391a4b2ae1017 (diff) | |
download | GT5-Unofficial-8402a963ffff0fa50849ccae1c02b0b5c58a4ef3.tar.gz GT5-Unofficial-8402a963ffff0fa50849ccae1c02b0b5c58a4ef3.tar.bz2 GT5-Unofficial-8402a963ffff0fa50849ccae1c02b0b5c58a4ef3.zip |
Merge pull request #6 from bartimaeusnek/master
GT++ Ores
Diffstat (limited to 'src/main')
8 files changed, 131 insertions, 31 deletions
diff --git a/src/main/java/com/detrav/DetravScannerMod.java b/src/main/java/com/detrav/DetravScannerMod.java index a74e435141..61b662ef27 100644 --- a/src/main/java/com/detrav/DetravScannerMod.java +++ b/src/main/java/com/detrav/DetravScannerMod.java @@ -1,8 +1,13 @@ package com.detrav; +import org.apache.logging.log4j.LogManager; + +import com.detrav.net.DetravNetwork; import com.detrav.proxies.CommonProxy; import com.detrav.utils.DetravCreativeTab; -import com.detrav.net.DetravNetwork; +import com.detrav.utils.GTppHelper; + +import cpw.mods.fml.common.Loader; import cpw.mods.fml.common.Mod; import cpw.mods.fml.common.Mod.EventHandler; import cpw.mods.fml.common.SidedProxy; @@ -14,14 +19,16 @@ import gregtech.api.GregTech_API; import net.minecraft.creativetab.CreativeTabs; import net.minecraftforge.common.config.Configuration; -@Mod(modid = DetravScannerMod.MODID, version = DetravScannerMod.VERSION,dependencies = "required-after:IC2;required-after:gregtech") +@Mod(modid = DetravScannerMod.MODID, version = DetravScannerMod.VERSION,dependencies = "required-after:IC2;required-after:gregtech;after:miscutils") public class DetravScannerMod { public static final String MODID = "detravscannermod"; - public static final String VERSION = "1.3"; + public static final String VERSION = "1.4.2"; public static final CreativeTabs TAB_DETRAV = new DetravCreativeTab(); + public static final org.apache.logging.log4j.Logger Logger = LogManager.getLogger("GT Scanner Mod"); + @SidedProxy(clientSide = "com.detrav.proxies.ClientProxy", serverSide = "com.detrav.proxies.ServerProxy") public static CommonProxy proxy; @@ -64,6 +71,8 @@ public class DetravScannerMod @EventHandler public void onPostLoad(FMLPostInitializationEvent aEvent) { proxy.onPostLoad(); + if (Loader.isModLoaded("miscutils")) + GTppHelper.generate_OreIDs(); } } diff --git a/src/main/java/com/detrav/gui/DetravGuiProPick.java b/src/main/java/com/detrav/gui/DetravGuiProPick.java index 9c95fa13cd..b62be499fe 100644 --- a/src/main/java/com/detrav/gui/DetravGuiProPick.java +++ b/src/main/java/com/detrav/gui/DetravGuiProPick.java @@ -1,16 +1,18 @@ package com.detrav.gui; +import java.util.ArrayList; +import java.util.Collections; +import java.util.HashMap; +import java.util.List; + +import org.lwjgl.opengl.GL11; + import com.detrav.gui.textures.DetravMapTexture; + import cpw.mods.fml.client.GuiScrollingList; import net.minecraft.client.gui.GuiScreen; import net.minecraft.client.renderer.Tessellator; import net.minecraft.util.ResourceLocation; -import org.lwjgl.opengl.GL11; - -import java.util.ArrayList; -import java.util.Collections; -import java.util.HashMap; -import java.util.List; /** * Created by wital_000 on 21.03.2016. diff --git a/src/main/java/com/detrav/gui/textures/DetravMapTexture.java b/src/main/java/com/detrav/gui/textures/DetravMapTexture.java index 7696e67d43..58d69260ce 100644 --- a/src/main/java/com/detrav/gui/textures/DetravMapTexture.java +++ b/src/main/java/com/detrav/gui/textures/DetravMapTexture.java @@ -1,15 +1,17 @@ package com.detrav.gui.textures; +import java.awt.image.BufferedImage; +import java.util.HashMap; + +import org.lwjgl.opengl.GL11; + import com.detrav.net.DetravProPickPacket00; + import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.Tessellator; import net.minecraft.client.renderer.texture.AbstractTexture; import net.minecraft.client.renderer.texture.TextureUtil; import net.minecraft.client.resources.IResourceManager; -import org.lwjgl.opengl.GL11; - -import java.awt.image.BufferedImage; -import java.util.HashMap; /** * Created by wital_000 on 21.03.2016. diff --git a/src/main/java/com/detrav/items/behaviours/BehaviourDetravToolElectricProPick.java b/src/main/java/com/detrav/items/behaviours/BehaviourDetravToolElectricProPick.java index 70b5296e00..3a588aa74f 100644 --- a/src/main/java/com/detrav/items/behaviours/BehaviourDetravToolElectricProPick.java +++ b/src/main/java/com/detrav/items/behaviours/BehaviourDetravToolElectricProPick.java @@ -1,8 +1,15 @@ package com.detrav.items.behaviours; +import java.util.ArrayList; +import java.util.List; +import java.util.Random; + +import com.detrav.DetravScannerMod; import com.detrav.items.DetravMetaGeneratedTool01; import com.detrav.net.DetravNetwork; import com.detrav.net.DetravProPickPacket00; +import com.detrav.utils.GTppHelper; + import gregtech.api.items.GT_MetaBase_Item; import gregtech.api.objects.ItemData; import gregtech.api.util.GT_LanguageManager; @@ -10,6 +17,8 @@ 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 gtPlusPlus.core.block.base.BlockBaseOre; +import gtPlusPlus.core.material.Material; import net.minecraft.block.Block; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayerMP; @@ -21,10 +30,6 @@ import net.minecraft.world.World; import net.minecraft.world.chunk.Chunk; import net.minecraftforge.fluids.FluidStack; -import java.util.ArrayList; -import java.util.List; -import java.util.Random; - /** * Created by wital_000 on 19.03.2016. */ @@ -34,8 +39,7 @@ public class BehaviourDetravToolElectricProPick extends BehaviourDetravToolProPi 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()) { @@ -88,7 +92,7 @@ public class BehaviourDetravToolElectricProPick extends BehaviourDetravToolProPi int ySize = c.getHeightValue(x, z);//(int)aPlayer.posY;//c.getHeightValue(x, z); for (int y = 1; y < ySize; y++) { switch (data) { - case 0: + case 0: case 1: Block tBlock = c.getBlock(x,y,z); short tMetaID = (short)c.getBlockMetadata(x,y,z); @@ -112,6 +116,17 @@ public class BehaviourDetravToolElectricProPick extends BehaviourDetravToolProPi } } } + else if (tBlock instanceof BlockBaseOre) { + Short packaged = 0; + Material m = ((BlockBaseOre) tBlock).getMaterialEx(); + packaged = GTppHelper.encodeoresGTpp.get(m); + try { + packet.addBlock(c.xPosition * 16 + x, y, c.zPosition * 16 + z, (short) (packaged+7000)); + } + catch(Exception e) { + + } + } else if (data == 1) { ItemData tAssotiation = GT_OreDictUnificator.getAssociation(new ItemStack(tBlock, 1, tMetaID)); if ((tAssotiation != null) && (tAssotiation.mPrefix.toString().startsWith("ore"))) { @@ -142,7 +157,8 @@ public class BehaviourDetravToolElectricProPick extends BehaviourDetravToolProPi packet.addBlock(c.xPosition * 16 + x, 1, c.zPosition * 16 + z, (short) polution); break; } - if (data > 1) break; + if (data > 1) + break; } } } diff --git a/src/main/java/com/detrav/items/behaviours/BehaviourDetravToolProPick.java b/src/main/java/com/detrav/items/behaviours/BehaviourDetravToolProPick.java index c4a12e42bd..5dd8ddd55d 100644 --- a/src/main/java/com/detrav/items/behaviours/BehaviourDetravToolProPick.java +++ b/src/main/java/com/detrav/items/behaviours/BehaviourDetravToolProPick.java @@ -1,6 +1,10 @@ package com.detrav.items.behaviours; +import java.util.HashMap; +import java.util.Random; + import com.detrav.items.DetravMetaGeneratedTool01; + import gregtech.api.GregTech_API; import gregtech.api.enums.Materials; import gregtech.api.items.GT_MetaBase_Item; @@ -12,6 +16,7 @@ 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 gtPlusPlus.core.block.base.BlockBaseOre; import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.entity.player.EntityPlayer; @@ -23,9 +28,6 @@ import net.minecraft.world.World; import net.minecraft.world.chunk.Chunk; import net.minecraftforge.fluids.FluidStack; -import java.util.HashMap; -import java.util.Random; - /** * Created by wital_000 on 19.03.2016. */ @@ -137,6 +139,15 @@ public class BehaviourDetravToolProPick extends Behaviour_None { } } } + } else if (tBlock instanceof BlockBaseOre) { + String name = tBlock.getLocalizedName(); + if (!ores.containsKey(name)) + ores.put(name, 1); + else { + int val = ores.get(name); + ores.put(name, val + 1); + } + } else if (data == 1) { tAssotiation = GT_OreDictUnificator.getAssociation(new ItemStack(tBlock, 1, tMetaID)); if ((tAssotiation != null) && (tAssotiation.mPrefix.toString().startsWith("ore"))) { diff --git a/src/main/java/com/detrav/net/DetravProPickPacket00.java b/src/main/java/com/detrav/net/DetravProPickPacket00.java index 385ad71e95..1631e98dc3 100644 --- a/src/main/java/com/detrav/net/DetravProPickPacket00.java +++ b/src/main/java/com/detrav/net/DetravProPickPacket00.java @@ -3,15 +3,19 @@ package com.detrav.net; import com.detrav.DetravScannerMod; import com.detrav.gui.DetravGuiProPick; import com.detrav.gui.textures.DetravMapTexture; +import com.detrav.utils.GTppHelper; import com.google.common.io.ByteArrayDataInput; import com.google.common.io.ByteArrayDataOutput; import com.google.common.io.ByteStreams; import gregtech.api.GregTech_API; import gregtech.api.enums.Materials; import gregtech.api.util.GT_LanguageManager; +import gtPlusPlus.core.material.Material; +import gtPlusPlus.core.material.ORES; import java.awt.image.BufferedImage; import java.awt.image.WritableRaster; +import java.lang.reflect.Field; import java.util.HashMap; @@ -24,7 +28,7 @@ public class DetravProPickPacket00 extends DetravPacket { public int size; public int ptype; HashMap<Byte,Short>[][] map = null; - + @Override public int getPacketID() { return 0; @@ -96,10 +100,12 @@ public class DetravProPickPacket00 extends DetravPacket { } public void addBlock(int x, int y, int z, short metaData) { - if(map == null) map = new HashMap[(size*2+1)*16][(size*2+1)*16]; + if(map == null) + map = new HashMap[(size*2+1)*16][(size*2+1)*16]; int aX = x - (chunkX-size)*16; int aZ = z - (chunkZ-size)*16; - if(map[aX][aZ] == null) map[aX][aZ] = new HashMap<Byte, Short>(); + if(map[aX][aZ] == null) + map[aX][aZ] = new HashMap<Byte, Short>(); map[aX][aZ].put((byte)y,metaData); //String key = String.format(("x_y")) } @@ -133,11 +139,18 @@ public class DetravProPickPacket00 extends DetravPacket { String name; short[] rgba; Materials tMaterial = null; + gtPlusPlus.core.material.Material pMaterial = null; try { - tMaterial = GregTech_API.sGeneratedMaterials[meta % 1000]; + if (meta<7000||meta>7500) { + tMaterial = GregTech_API.sGeneratedMaterials[meta % 1000]; + } else { + Short l = (short) (meta-7000); + pMaterial = GTppHelper.decodeoresGTpp.get(l); + } } catch (Exception e) { tMaterial = null; } + if (meta<7000||meta>7500) { if (tMaterial == null) { exception++; continue; @@ -145,13 +158,31 @@ public class DetravProPickPacket00 extends DetravPacket { rgba = tMaterial.getRGBA(); //ores.put(GT_Ore) name = tMaterial.getLocalizedNameForItem(GT_LanguageManager.getTranslation("gt.blockores." + meta + ".name")); - + raster.setSample(i, j, 0, rgba[0]); raster.setSample(i, j, 1, rgba[1]); raster.setSample(i, j, 2, rgba[2]); raster.setSample(i, j, 3, 255); if (!ores.containsKey(name)) ores.put(name, (0xFF << 24) + ((rgba[0] & 0xFF) << 16) + ((rgba[1] & 0xFF) << 8) + ((rgba[2] & 0xFF))); + } + else{ + if (pMaterial == null) { + exception++; + continue; + } + rgba = pMaterial.getRGBA(); + //ores.put(GT_Ore) + name = pMaterial.getLocalizedName() + " Ore"; + + raster.setSample(i, j, 0, rgba[0]); + raster.setSample(i, j, 1, rgba[1]); + raster.setSample(i, j, 2, rgba[2]); + raster.setSample(i, j, 3, 255); + if (!ores.containsKey(name)) + ores.put(name, (0xFF << 24) + ((rgba[0] & 0xFF) << 16) + ((rgba[1] & 0xFF) << 8) + ((rgba[2] & 0xFF))); + } + } } if (playerI == i || playerJ == j) { diff --git a/src/main/java/com/detrav/utils/GTppHelper.java b/src/main/java/com/detrav/utils/GTppHelper.java new file mode 100644 index 0000000000..e3704671e4 --- /dev/null +++ b/src/main/java/com/detrav/utils/GTppHelper.java @@ -0,0 +1,29 @@ +package com.detrav.utils;
+
+import java.util.HashMap;
+
+import com.detrav.DetravScannerMod;
+
+import gtPlusPlus.core.material.Material;
+
+/**
+ * Created by bartimaeusnek on 19.04.2018.
+ */
+public class GTppHelper {
+ public static HashMap<Short,Material> decodeoresGTpp = new HashMap<Short,Material>();
+ public static HashMap<Material,Short> encodeoresGTpp = new HashMap<Material,Short>();
+
+ public static void generate_OreIDs() {
+ for (short n=0;n<gtPlusPlus.core.material.ORES.class.getFields().length;++n) {
+ try {
+ Short i = (short) (n+1);
+ Material m = ((Material)gtPlusPlus.core.material.ORES.class.getFields()[n].get(gtPlusPlus.core.material.ORES.class.getFields()[n]));
+ decodeoresGTpp.put(i,m);
+ encodeoresGTpp.put(m,i);
+ } catch (Exception e) {
+ }
+
+ }
+ }
+
+}
diff --git a/src/main/resources/mcmod.info b/src/main/resources/mcmod.info index 4d3750bd65..618df6eb4e 100644 --- a/src/main/resources/mcmod.info +++ b/src/main/resources/mcmod.info @@ -3,11 +3,11 @@ "modid": "detravscannermod", "name": "GT Scanner Mod", "description": "To locate ores deep underground.", - "version": "1.3", + "version": "1.4.2", "mcversion": "1.7.10", "url": "https://github.com/GTNewHorizons/GTScannerMod", "updateUrl": "", - "authorList": ["Ethryan, GTNewHorizons Team"], + "authorList": ["Ethryan, GTNewHorizons Team, bartimaeusnek"], "credits": "Detrav", "logoFile": "", "screenshots": [], |