From 6db06249fbede596ad278a03a29b1fb4aac27073 Mon Sep 17 00:00:00 2001 From: bartimaeusnek <33183715+bartimaeusnek@users.noreply.github.com> Date: Wed, 18 Apr 2018 18:05:17 +0200 Subject: Try to make GT++ Ores work + Version increase --- .../BehaviourDetravToolElectricProPick.java | 4 ++ .../behaviours/BehaviourDetravToolProPick.java | 10 +++++ .../java/com/detrav/net/DetravProPickPacket00.java | 46 +++++++++++++++++++--- 3 files changed, 55 insertions(+), 5 deletions(-) (limited to 'src/main') diff --git a/src/main/java/com/detrav/items/behaviours/BehaviourDetravToolElectricProPick.java b/src/main/java/com/detrav/items/behaviours/BehaviourDetravToolElectricProPick.java index 70b5296e00..8b8732a848 100644 --- a/src/main/java/com/detrav/items/behaviours/BehaviourDetravToolElectricProPick.java +++ b/src/main/java/com/detrav/items/behaviours/BehaviourDetravToolElectricProPick.java @@ -10,6 +10,7 @@ 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 net.minecraft.block.Block; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayerMP; @@ -112,6 +113,9 @@ public class BehaviourDetravToolElectricProPick extends BehaviourDetravToolProPi } } } + else if (tBlock instanceof BlockBaseOre) { + packet.addBlock(c.xPosition * 16 + x, y, c.zPosition * 16 + z, new Short((short) (7000+(short) ((BlockBaseOre) tBlock).getMaterialEx().calculateProtons()))); + } else if (data == 1) { ItemData 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/items/behaviours/BehaviourDetravToolProPick.java b/src/main/java/com/detrav/items/behaviours/BehaviourDetravToolProPick.java index c4a12e42bd..16b6a94e5d 100644 --- a/src/main/java/com/detrav/items/behaviours/BehaviourDetravToolProPick.java +++ b/src/main/java/com/detrav/items/behaviours/BehaviourDetravToolProPick.java @@ -12,6 +12,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; @@ -137,6 +138,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..583e2b58a6 100644 --- a/src/main/java/com/detrav/net/DetravProPickPacket00.java +++ b/src/main/java/com/detrav/net/DetravProPickPacket00.java @@ -9,9 +9,12 @@ 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 +27,7 @@ public class DetravProPickPacket00 extends DetravPacket { public int size; public int ptype; HashMap[][] map = null; - + @Override public int getPacketID() { return 0; @@ -96,10 +99,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(); + if(map[aX][aZ] == null) + map[aX][aZ] = new HashMap(); map[aX][aZ].put((byte)y,metaData); //String key = String.format(("x_y")) } @@ -133,11 +138,24 @@ 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>10000 || meta<7000) { + tMaterial = GregTech_API.sGeneratedMaterials[meta % 1000]; + } else { + short l = (short) (meta-7000); + for (Field g : gtPlusPlus.core.material.ORES.class.getFields()) { + if (g.get(g) instanceof gtPlusPlus.core.material.Material) { + gtPlusPlus.core.material.Material p = (Material) g.get(g); + if ((short)p.calculateProtons() == l) + pMaterial = p; + } + } + } } catch (Exception e) { tMaterial = null; } + if (meta>10000 || meta<7000) { if (tMaterial == null) { exception++; continue; @@ -145,13 +163,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) { -- cgit From b9ccedea6b82c35f0ced4ca3c18ae493ccf8be55 Mon Sep 17 00:00:00 2001 From: bartimaeusnek <33183715+bartimaeusnek@users.noreply.github.com> Date: Wed, 18 Apr 2018 20:24:46 +0200 Subject: fixed GT++ Ores not showing up +slow af tho --- .../behaviours/BehaviourDetravToolElectricProPick.java | 17 +++++++++++++---- src/main/java/com/detrav/net/DetravProPickPacket00.java | 12 +++--------- 2 files changed, 16 insertions(+), 13 deletions(-) (limited to 'src/main') diff --git a/src/main/java/com/detrav/items/behaviours/BehaviourDetravToolElectricProPick.java b/src/main/java/com/detrav/items/behaviours/BehaviourDetravToolElectricProPick.java index 8b8732a848..9704a8f582 100644 --- a/src/main/java/com/detrav/items/behaviours/BehaviourDetravToolElectricProPick.java +++ b/src/main/java/com/detrav/items/behaviours/BehaviourDetravToolElectricProPick.java @@ -35,7 +35,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(); @@ -113,9 +113,18 @@ public class BehaviourDetravToolElectricProPick extends BehaviourDetravToolProPi } } } - else if (tBlock instanceof BlockBaseOre) { - packet.addBlock(c.xPosition * 16 + x, y, c.zPosition * 16 + z, new Short((short) (7000+(short) ((BlockBaseOre) tBlock).getMaterialEx().calculateProtons()))); - } + else if (tBlock instanceof BlockBaseOre) { + short num=0; + for (byte n=0;n10000 || meta<7000) { + if (meta<7000||meta>7500) { tMaterial = GregTech_API.sGeneratedMaterials[meta % 1000]; } else { short l = (short) (meta-7000); - for (Field g : gtPlusPlus.core.material.ORES.class.getFields()) { - if (g.get(g) instanceof gtPlusPlus.core.material.Material) { - gtPlusPlus.core.material.Material p = (Material) g.get(g); - if ((short)p.calculateProtons() == l) - pMaterial = p; - } - } + pMaterial = (Material) gtPlusPlus.core.material.ORES.class.getFields()[l].get(gtPlusPlus.core.material.ORES.class.getFields()[l]); } } catch (Exception e) { tMaterial = null; } - if (meta>10000 || meta<7000) { + if (meta<7000||meta>7500) { if (tMaterial == null) { exception++; continue; -- cgit From 922b486062f2ad96bfb8ef3a4fca3ce3900e8b67 Mon Sep 17 00:00:00 2001 From: bartimaeusnek <33183715+bartimaeusnek@users.noreply.github.com> Date: Thu, 19 Apr 2018 05:20:30 +0200 Subject: performance improve + drasticly improved performance + updated mcmod.info + changed forge version to 10.13.4.1614 --- .settings/org.eclipse.jdt.core.prefs | 3 +- build.properties | 2 +- src/main/java/com/detrav/DetravScannerMod.java | 15 +++++++-- src/main/java/com/detrav/gui/DetravGuiProPick.java | 14 ++++---- .../com/detrav/gui/textures/DetravMapTexture.java | 10 +++--- .../BehaviourDetravToolElectricProPick.java | 37 ++++++++++++---------- .../behaviours/BehaviourDetravToolProPick.java | 7 ++-- .../java/com/detrav/net/DetravProPickPacket00.java | 5 +-- src/main/resources/mcmod.info | 4 +-- 9 files changed, 58 insertions(+), 39 deletions(-) (limited to 'src/main') diff --git a/.settings/org.eclipse.jdt.core.prefs b/.settings/org.eclipse.jdt.core.prefs index 5f861aea4f..9285c6556e 100644 --- a/.settings/org.eclipse.jdt.core.prefs +++ b/.settings/org.eclipse.jdt.core.prefs @@ -1,9 +1,10 @@ # -#Wed Apr 18 13:37:53 CEST 2018 +#Thu Apr 19 03:42:11 CEST 2018 org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.compliance=1.6 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve org.eclipse.jdt.core.compiler.debug.sourceFile=generate +org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 org.eclipse.jdt.core.compiler.problem.enumIdentifier=error org.eclipse.jdt.core.compiler.debug.lineNumber=generate diff --git a/build.properties b/build.properties index 58c9c097cd..eca05b7a51 100644 --- a/build.properties +++ b/build.properties @@ -1,5 +1,5 @@ minecraft.version=1.7.10 -forge.version=10.13.4.1566-1.7.10 +forge.version=10.13.4.1614-1.7.10 detravscanner.version=1.4.2 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 9704a8f582..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; @@ -11,6 +18,7 @@ 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; @@ -22,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. */ @@ -36,7 +40,6 @@ public class BehaviourDetravToolElectricProPick extends BehaviourDetravToolProPi } 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()) { @@ -89,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); @@ -114,16 +117,15 @@ public class BehaviourDetravToolElectricProPick extends BehaviourDetravToolProPi } } else if (tBlock instanceof BlockBaseOre) { - short num=0; - for (byte n=0;n 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 16b6a94e5d..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; @@ -24,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. */ diff --git a/src/main/java/com/detrav/net/DetravProPickPacket00.java b/src/main/java/com/detrav/net/DetravProPickPacket00.java index d7f90b39e8..1631e98dc3 100644 --- a/src/main/java/com/detrav/net/DetravProPickPacket00.java +++ b/src/main/java/com/detrav/net/DetravProPickPacket00.java @@ -3,6 +3,7 @@ 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; @@ -143,8 +144,8 @@ public class DetravProPickPacket00 extends DetravPacket { if (meta<7000||meta>7500) { tMaterial = GregTech_API.sGeneratedMaterials[meta % 1000]; } else { - short l = (short) (meta-7000); - pMaterial = (Material) gtPlusPlus.core.material.ORES.class.getFields()[l].get(gtPlusPlus.core.material.ORES.class.getFields()[l]); + Short l = (short) (meta-7000); + pMaterial = GTppHelper.decodeoresGTpp.get(l); } } catch (Exception e) { tMaterial = null; 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": [], -- cgit From 0ed83509fa9f56fc46d32def112391a4b2ae1017 Mon Sep 17 00:00:00 2001 From: bartimaeusnek <33183715+bartimaeusnek@users.noreply.github.com> Date: Thu, 19 Apr 2018 05:24:12 +0200 Subject: Why so ever this was not pushed... --- src/main/java/com/detrav/utils/GTppHelper.java | 29 ++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 src/main/java/com/detrav/utils/GTppHelper.java (limited to 'src/main') 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 decodeoresGTpp = new HashMap(); + public static HashMap encodeoresGTpp = new HashMap(); + + public static void generate_OreIDs() { + for (short n=0;n