diff options
| author | Detrav <witalyezep@gmail.com> | 2016-10-02 20:52:09 +0300 |
|---|---|---|
| committer | Detrav <witalyezep@gmail.com> | 2016-10-02 20:52:09 +0300 |
| commit | 50b1a61db43acb9e50506119a5a3861affa5a414 (patch) | |
| tree | 45c6f01280d1b92a086f21054bcdafea0e01e5c8 /src/main/java/com | |
| parent | 2c6380276338c912a44697aa183028e655e8b01c (diff) | |
| download | GT5-Unofficial-50b1a61db43acb9e50506119a5a3861affa5a414.tar.gz GT5-Unofficial-50b1a61db43acb9e50506119a5a3861affa5a414.tar.bz2 GT5-Unofficial-50b1a61db43acb9e50506119a5a3861affa5a414.zip | |
WTF!!!
Diffstat (limited to 'src/main/java/com')
20 files changed, 328 insertions, 445 deletions
diff --git a/src/main/java/com/detrav/DetravScannerMod.java b/src/main/java/com/detrav/DetravScannerMod.java index 25d2dcc67e..4c2806920d 100644 --- a/src/main/java/com/detrav/DetravScannerMod.java +++ b/src/main/java/com/detrav/DetravScannerMod.java @@ -22,7 +22,7 @@ import net.minecraftforge.common.config.Configuration; public class DetravScannerMod { public static final String MODID = "detravscannermod"; - public static final String VERSION = "0.15"; + public static final String VERSION = "0.22"; public static final CreativeTabs TAB_DETRAV = new DetravCreativeTab(); @@ -68,8 +68,8 @@ public class DetravScannerMod @EventHandler public void onPostLoad(FMLPostInitializationEvent aEvent) { proxy.onPostLoad(); - DetravBlockBreakEventHandler.register(); - DetravLoginEventHandler.register(); + //DetravBlockBreakEventHandler.register(); + //DetravLoginEventHandler.register(); } @EventHandler diff --git a/src/main/java/com/detrav/Detrav_AfterGTPreload_Loader.java b/src/main/java/com/detrav/Detrav_AfterGTPreload_Loader.java index ba5b3ff137..49a0c9ae50 100644 --- a/src/main/java/com/detrav/Detrav_AfterGTPreload_Loader.java +++ b/src/main/java/com/detrav/Detrav_AfterGTPreload_Loader.java @@ -9,6 +9,8 @@ import com.detrav.items.processing.ProcessingDetravToolProPick; import com.detrav.tileentities.Detrav_MetaTileEntity_Boiler_Solar_High; import com.detrav.tileentities.Detrav_MetaTileEntity_Boiler_Solar_Low; import com.detrav.tileentities.Detrav_MetaTileEntity_Boiler_Solar_Medium; +import com.detrav.utils.DetravRepairRecipe; +import cpw.mods.fml.common.registry.GameRegistry; /** * Created by wital_000 on 18.03.2016. @@ -32,5 +34,8 @@ public class Detrav_AfterGTPreload_Loader implements Runnable { DetravItemList.Solar_Boiler_Low.set(new Detrav_MetaTileEntity_Boiler_Solar_Low(2051,"boiler.bronze.solar", "Bronze Solar Boiler").getStackForm(1L)); DetravItemList.Solar_Boiler_Medium.set(new Detrav_MetaTileEntity_Boiler_Solar_Medium(2052,"boiler.steel.solar", "Steel Solar Boiler").getStackForm(1L)); DetravItemList.Solar_Boiler_High.set(new Detrav_MetaTileEntity_Boiler_Solar_High(2053,"boiler.stainless.steel.solar", "Stainless Steel Solar Boiler").getStackForm(1L)); + + GameRegistry.addRecipe(new DetravRepairRecipe()); + } } diff --git a/src/main/java/com/detrav/enums/DetravToolDictNames.java b/src/main/java/com/detrav/enums/DetravToolDictNames.java index 13e0f2529a..f208714a58 100644 --- a/src/main/java/com/detrav/enums/DetravToolDictNames.java +++ b/src/main/java/com/detrav/enums/DetravToolDictNames.java @@ -6,6 +6,5 @@ package com.detrav.enums; public enum DetravToolDictNames { craftingToolProPick, craftingToolElectricProPick, - craftingToolPortableCharger, - craftingRepairTool + craftingToolPortableCharger } diff --git a/src/main/java/com/detrav/enums/Textures01.java b/src/main/java/com/detrav/enums/Textures01.java index 5ba619c090..4cfb866ba1 100644 --- a/src/main/java/com/detrav/enums/Textures01.java +++ b/src/main/java/com/detrav/enums/Textures01.java @@ -18,7 +18,6 @@ public class Textures01 { new Textures.ItemIcons.CustomIcon("gt.detrav.metatool.01/ELECTRIC_MV_PRO_PICK_HEAD"), new Textures.ItemIcons.CustomIcon("gt.detrav.metatool.01/ELECTRIC_HV_PRO_PICK_HEAD"), new Textures.ItemIcons.CustomIcon("gt.detrav.metatool.01/PORTABE_CHARGER"), - new Textures.ItemIcons.CustomIcon("gt.detrav.metatool.01/PORTABE_CHARGER_BORDER"), - new Textures.ItemIcons.CustomIcon("gt.detrav.metatool.01/REPAIR_TOOL") + new Textures.ItemIcons.CustomIcon("gt.detrav.metatool.01/PORTABE_CHARGER_BORDER") }; }
\ No newline at end of file diff --git a/src/main/java/com/detrav/events/DetravCraftingEventHandler.java b/src/main/java/com/detrav/events/DetravCraftingEventHandler.java new file mode 100644 index 0000000000..0350b9b7b7 --- /dev/null +++ b/src/main/java/com/detrav/events/DetravCraftingEventHandler.java @@ -0,0 +1,46 @@ +package com.detrav.events; + +import com.detrav.utils.DetravRepairRecipe; +import cpw.mods.fml.common.FMLCommonHandler; +import cpw.mods.fml.common.eventhandler.SubscribeEvent; +import cpw.mods.fml.common.gameevent.PlayerEvent; +import gregtech.api.util.GT_Utility; +import net.minecraft.inventory.InventoryCrafting; +import net.minecraft.item.ItemStack; +import net.minecraftforge.common.MinecraftForge; + +/** + * Created by Detrav on 02.10.2016. + */ +public class DetravCraftingEventHandler { + @SubscribeEvent + public void onCrafting(PlayerEvent.ItemCraftedEvent e) { + if(DetravRepairRecipe.INSTANCE == null) return; + if(!(e.craftMatrix instanceof InventoryCrafting)) return; + if(DetravRepairRecipe.INSTANCE.matches((InventoryCrafting) e.craftMatrix,null)) + { + if(!GT_Utility.areStacksEqual(e.crafting, e.craftMatrix.getStackInSlot(4),true)) return; + for(int i =0; i<e.craftMatrix.getSizeInventory(); i++) { + ItemStack stack = e.craftMatrix.getStackInSlot(i); + if(stack == null) continue; + if (stack.stackSize < 2) + e.craftMatrix.setInventorySlotContents(i, null); + else { + //stack.stackSize -= 1; + //e.craftMatrix.setInventorySlotContents(i,stack); + } + } + } + } + + static boolean inited = false; + + public static void register() { + if (!inited) { + inited = true; + DetravCraftingEventHandler handler = new DetravCraftingEventHandler(); + MinecraftForge.EVENT_BUS.register(handler); + FMLCommonHandler.instance().bus().register(handler); + } + } +} diff --git a/src/main/java/com/detrav/events/DetravEntityDropEvent.java b/src/main/java/com/detrav/events/DetravEntityDropEvent.java new file mode 100644 index 0000000000..ff733bf7ad --- /dev/null +++ b/src/main/java/com/detrav/events/DetravEntityDropEvent.java @@ -0,0 +1,86 @@ +package com.detrav.events; + +import cpw.mods.fml.common.FMLCommonHandler; +import cpw.mods.fml.common.eventhandler.SubscribeEvent; +import gregtech.api.enums.ItemList; +import gregtech.api.items.GT_MetaGenerated_Item_X01; +import ic2.core.Ic2Items; +import net.minecraft.entity.EnumCreatureType; +import net.minecraft.entity.item.EntityItem; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; +import net.minecraft.util.ChatComponentText; +import net.minecraftforge.common.MinecraftForge; +import net.minecraftforge.event.entity.living.LivingDropsEvent; + +import java.util.Random; + +/** + * Created by Detrav on 02.10.2016. + */ +public class DetravEntityDropEvent { + + final static int baseShance = 40; + static Random random = new Random(); + + @SubscribeEvent + public void onLivingDropsEvent(LivingDropsEvent event) { + if(event.entity.isCreatureType(EnumCreatureType.monster, false)) { + float shance = (baseShance + event.entityLiving.getMaxHealth()); + int count = 0; + while (shance > 100) { + count++; + shance -= 100; + } + + if(count>0) + { + count = (int)Math.pow(count,event.lootingLevel+1) + 1; + + while (count>Ic2Items.coin.getMaxStackSize()) { + ItemStack itemStackToDrop = Ic2Items.coin.copy(); + itemStackToDrop.stackSize = itemStackToDrop.getMaxStackSize(); + event.drops.add(new EntityItem(event.entity.worldObj, event.entity.posX, + event.entity.posY, event.entity.posZ, itemStackToDrop)); + count -= itemStackToDrop.getMaxStackSize(); + } + ItemStack itemStackToDrop = Ic2Items.coin.copy(); + itemStackToDrop.stackSize = count; + event.drops.add(new EntityItem(event.entity.worldObj, event.entity.posX, + event.entity.posY, event.entity.posZ, itemStackToDrop)); + } + + count = 0; + + shance = shance*(event.lootingLevel +1); + while (shance > 100) { + count++; + shance -= 100; + } + if(random.nextInt(100) < shance) count ++; + ItemStack itemStackToDrop = ItemList.Credit_Copper.get(count); + event.drops.add(new EntityItem(event.entity.worldObj, event.entity.posX, + event.entity.posY, event.entity.posZ, itemStackToDrop)); + } + /*if(event.source.getEntity() instanceof EntityPlayer) + { + + ((EntityPlayer)event.source.getEntity()).addChatComponentMessage( + new ChatComponentText(event.entity.toString()) + ); + }*/ + } + + + static boolean inited = false; + + public static void register() { + if (!inited) { + inited = true; + DetravEntityDropEvent handler = new DetravEntityDropEvent(); + MinecraftForge.EVENT_BUS.register(handler); + FMLCommonHandler.instance().bus().register(handler); + } + } +} diff --git a/src/main/java/com/detrav/gui/DetravRepairToolGui.java b/src/main/java/com/detrav/gui/DetravRepairToolGui.java deleted file mode 100644 index 8e55982aca..0000000000 --- a/src/main/java/com/detrav/gui/DetravRepairToolGui.java +++ /dev/null @@ -1,69 +0,0 @@ -package com.detrav.gui; - -import com.detrav.gui.containers.DetravPortableChargerContainer; -import com.detrav.gui.containers.DetravRepairToolContainer; -import com.detrav.items.DetravMetaGeneratedTool01; -import gregtech.api.GregTech_API; -import gregtech.api.util.GT_Utility; -import net.minecraft.client.gui.inventory.GuiContainer; -import net.minecraft.entity.player.InventoryPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.util.ResourceLocation; -import net.minecraft.world.World; -import org.lwjgl.opengl.GL11; - -import static gregtech.api.enums.GT_Values.RES_PATH_GUI; -import static gregtech.api.enums.GT_Values.V; - -/** - * Created by wital_000 on 08.04.2016. - */ -public class DetravRepairToolGui extends GuiContainer { - public static final int GUI_ID = 40; - - ResourceLocation location = null; - private String mName = "Repair tools"; - //public static long charge = 0; - //ItemStack mItem = null; - //DetravPortableChargerContainer container = null; - private ItemStack mItem; - - public DetravRepairToolGui(InventoryPlayer player, World aWorld, ItemStack aStack) { - super(new DetravRepairToolContainer(player, aWorld, aStack)); - //container = (DetravPortableChargerContainer) inventorySlots; - location = new ResourceLocation(RES_PATH_GUI + "1by1.png"); - mItem = aStack; - //if (mItem != null) { -// charge = DetravMetaGeneratedTool01.INSTANCE.getRealCharge(mItem); -// } - } - - @Override - protected void drawGuiContainerForegroundLayer(int par1, int par2) { - fontRendererObj.drawString(mName, 8, 4, 4210752); - fontRendererObj.drawString("Click with Tool to repair.", 8, 12, 4210752); - /*if (mItem != null) { - //GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); - //EnumChatFormatting.AQUA + "" + + EnumChatFormatting.GRAY); - - Long[] tStats = DetravMetaGeneratedTool01.INSTANCE.getElectricStats(mItem); - if (tStats == null) return; - //long tCharge = DetravMetaGeneratedTool01.INSTANCE.getRealCharge(mItem); - long loss = DetravMetaGeneratedTool01.INSTANCE.getElectricStatsLoss(mItem); - fontRendererObj.drawString(GT_Utility.formatNumbers(charge) + " / " + GT_Utility.formatNumbers(Math.abs(tStats[0])) + " EU", 8, 14, 4210752); - fontRendererObj.drawString("Voltage/Loss: " + V[(int) (tStats[2] >= 0 ? tStats[2] < V.length ? tStats[2] : V.length - 1 : 1)] + " / " + loss, 8, 24, 4210752); - }*/ - } - - @Override - protected void drawGuiContainerBackgroundLayer(float par1, int par2, int par3) { - mc.renderEngine.bindTexture(location); - if (GregTech_API.sColoredGUI && mItem != null && DetravMetaGeneratedTool01.getPrimaryMaterial(mItem) != null) { - short[] tColors = DetravMetaGeneratedTool01.getPrimaryMaterial(mItem).mColor.getRGBA(); - GL11.glColor4f(tColors[0] / 255F, tColors[1] / 255F, tColors[2] / 255F, 1F); - } else GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); - int x = (width - xSize) / 2; - int y = (height - ySize) / 2; - drawTexturedModalRect(x, y, 0, 0, xSize, ySize); - } -}
\ No newline at end of file diff --git a/src/main/java/com/detrav/gui/containers/DetravPortableChargerContainer.java b/src/main/java/com/detrav/gui/containers/DetravPortableChargerContainer.java index eeb6d0e4a3..3d5685ada8 100644 --- a/src/main/java/com/detrav/gui/containers/DetravPortableChargerContainer.java +++ b/src/main/java/com/detrav/gui/containers/DetravPortableChargerContainer.java @@ -89,7 +89,7 @@ public class DetravPortableChargerContainer extends Container { //GT_ModHandler.ch - for(int forTry = 0; forTry<4;forTry++){ + for(int forTry = 0; forTry<20;forTry++){ Long[] selfStats = DetravMetaGeneratedTool01.INSTANCE.getElectricStats(mItem); if (selfStats == null) return; diff --git a/src/main/java/com/detrav/gui/containers/DetravRepairToolContainer.java b/src/main/java/com/detrav/gui/containers/DetravRepairToolContainer.java deleted file mode 100644 index 95c48117de..0000000000 --- a/src/main/java/com/detrav/gui/containers/DetravRepairToolContainer.java +++ /dev/null @@ -1,107 +0,0 @@ -package com.detrav.gui.containers; - -import com.detrav.items.DetravMetaGeneratedTool01; -import forestry.core.gui.slots.SlotLocked; -import gregtech.api.items.GT_MetaBase_Item; -import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Maintenance; -import net.minecraft.entity.Entity; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.player.InventoryPlayer; -import net.minecraft.inventory.Container; -import net.minecraft.inventory.IInventory; -import net.minecraft.inventory.InventoryCrafting; -import net.minecraft.inventory.Slot; -import net.minecraft.item.ItemStack; -import net.minecraft.world.World; - -/** - * Created by wital_000 on 08.04.2016. - */ -public class DetravRepairToolContainer extends Container { - public IInventory slots = new InventoryCrafting(this, 1, 1); - public ItemStack mItem; - private World worldObj; - - public DetravRepairToolContainer(InventoryPlayer inventoryPlayer, World aWorld, ItemStack aStack) { - this.worldObj = aWorld; - this.addSlotToContainer(new Slot(slots, 0, 80, 35)); - mItem = aStack; - //new Slot() - bindPlayerInventory(inventoryPlayer); - - //DetravMetaGeneratedTool01.INSTANCE.getToolStats(mItem). - } - - protected void bindPlayerInventory(InventoryPlayer inventoryPlayer) { - for (int i = 0; i < 3; i++) { - for (int j = 0; j < 9; j++) { - addSlotToContainer(new Slot(inventoryPlayer, j + i * 9 + 9, - 8 + j * 18, 84 + i * 18)); - } - } - - - for (int i = 0; i < 9; i++) { - ItemStack stackInSlot = inventoryPlayer.getStackInSlot(i); - if (mItem!=null && stackInSlot!=null && mItem == stackInSlot) { - addSlotToContainer(new SlotLocked(inventoryPlayer, i, 8 + i * 18, 142)); - } else { - addSlotToContainer(new Slot(inventoryPlayer, i, 8 + i * 18, 142)); - } - } - } - - @Override - public boolean canInteractWith(EntityPlayer p_75145_1_) { - return true; - } - - public void onContainerClosed(EntityPlayer p_75134_1_) { - super.onContainerClosed(p_75134_1_); - if (!this.worldObj.isRemote) { - //for (int i = 0; i < 9; ++i) - //{ - ItemStack itemstack = this.slots.getStackInSlotOnClosing(0); - - if (itemstack != null) { - p_75134_1_.dropPlayerItemWithRandomChoice(itemstack, false); - } - //} - } - } - - @Override - public ItemStack transferStackInSlot(EntityPlayer par1EntityPlayer, int par2) { - return null; - } - - @Override - public ItemStack slotClick(int aSlotIndex, int aMouseclick, int aShifthold, EntityPlayer aPlayer) { - if (aSlotIndex != 0) return super.slotClick(aSlotIndex, aMouseclick, aShifthold, aPlayer); - if(DetravMetaGeneratedTool01.getToolDamage(mItem) >= DetravMetaGeneratedTool01.getToolMaxDamage(mItem)) - return null; - ItemStack tStack = aPlayer.inventory.getItemStack(); - if (tStack != null) { - if(tStack.getUnlocalizedName()!="gt.detrav.metatool.01.2") { - if (DetravMetaGeneratedTool01.getToolMaxDamage(tStack) > 0) { - long damage = DetravMetaGeneratedTool01.getToolDamage(tStack); - damage /= 10; - DetravMetaGeneratedTool01.setToolDamage(tStack, damage); - DetravMetaGeneratedTool01.INSTANCE.doDamage(mItem, 1000L); - } - //((GT_MetaTileEntity_Hatch_Maintenance) mTileEntity.getMetaTileEntity()).onToolClick(tStack, aPlayer); - //if (tStack.stackSize <= 0) aPlayer.inventory.setItemStack(null); - } - } - return null; - } - - - /*@Override - public ItemStack transferStackInSlot(EntityPlayer par1EntityPlayer, int par2) { - ItemStack result = super.transferStackInSlot(par1EntityPlayer,par2); - par1EntityPlayer.addChatMessage(new ChatComponentText(result.getDisplayName())); - - return result; - }*/ -} diff --git a/src/main/java/com/detrav/items/DetravMetaGeneratedTool01.java b/src/main/java/com/detrav/items/DetravMetaGeneratedTool01.java index cb0676a363..fb41a24a93 100644 --- a/src/main/java/com/detrav/items/DetravMetaGeneratedTool01.java +++ b/src/main/java/com/detrav/items/DetravMetaGeneratedTool01.java @@ -27,7 +27,6 @@ public class DetravMetaGeneratedTool01 extends GT_MetaGenerated_Tool { super("detrav.metatool.01"); INSTANCE = this; addTool(0, "Prospector's Pick", "", new DetravToolProPick(), new Object[]{DetravToolDictNames.craftingToolProPick, new TC_Aspects.TC_AspectStack(TC_Aspects.INSTRUMENTUM, 2L), new TC_Aspects.TC_AspectStack(TC_Aspects.METALLUM, 4L)}); - addTool(2, "Repair tools", "", new DetravRepairTool(), new Object[]{DetravToolDictNames.craftingRepairTool, new TC_Aspects.TC_AspectStack(TC_Aspects.INSTRUMENTUM, 8L)}); addTool(100, "Electric Prospector's Scanner (LV)", "", new DetravToolLVElectricProPick(), new Object[]{DetravToolDictNames.craftingToolElectricProPick, new TC_Aspects.TC_AspectStack(TC_Aspects.INSTRUMENTUM, 2L), new TC_Aspects.TC_AspectStack(TC_Aspects.METALLUM, 4L)}, new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 4L)); addTool(102, "Electric Prospector's Scanner (MV)", "", new DetravToolMVElectricProPick(), new Object[]{DetravToolDictNames.craftingToolElectricProPick, new TC_Aspects.TC_AspectStack(TC_Aspects.INSTRUMENTUM, 2L), new TC_Aspects.TC_AspectStack(TC_Aspects.METALLUM, 4L)}, new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 4L)); addTool(104, "Electric Prospector's Scanner (HV)", "", new DetravToolHVElectricProPick(), new Object[]{DetravToolDictNames.craftingToolElectricProPick, new TC_Aspects.TC_AspectStack(TC_Aspects.INSTRUMENTUM, 2L), new TC_Aspects.TC_AspectStack(TC_Aspects.METALLUM, 4L)}, new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 4L)); @@ -60,13 +59,6 @@ public class DetravMetaGeneratedTool01 extends GT_MetaGenerated_Tool { aList.add(tOffset + 7, "Large: 60-99"); aList.add(tOffset + 8, "Very large: 100-***"); break; - case 2: - aList.add(tOffset + 0, EnumChatFormatting.GRAY + "Can repair some tools"); - aList.add(tOffset + 1, EnumChatFormatting.WHITE + "Durability: " + EnumChatFormatting.GREEN + (tMaxDamage - getToolDamage(aStack)) + " / " + tMaxDamage + EnumChatFormatting.GRAY); - aList.add(tOffset + 2, EnumChatFormatting.WHITE + "Efficiency 90%" + EnumChatFormatting.GRAY); - aList.add(tOffset + 3, EnumChatFormatting.WHITE + "Cost 1k per operation" + EnumChatFormatting.GRAY); - aList.add(tOffset + 4, "Right click to open GUI"); - break; case 100: case 101: case 102: diff --git a/src/main/java/com/detrav/items/behaviours/BehaviourDetravRepairTool.java b/src/main/java/com/detrav/items/behaviours/BehaviourDetravRepairTool.java deleted file mode 100644 index ab23490fa3..0000000000 --- a/src/main/java/com/detrav/items/behaviours/BehaviourDetravRepairTool.java +++ /dev/null @@ -1,31 +0,0 @@ -package com.detrav.items.behaviours; - -import com.detrav.DetravScannerMod; -import com.detrav.items.DetravMetaGeneratedTool01; -import gregtech.api.enums.SubTag; -import gregtech.api.interfaces.IItemBehaviour; -import gregtech.api.items.GT_MetaBase_Item; -import gregtech.common.items.behaviors.Behaviour_None; -import net.minecraft.dispenser.IBlockSource; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.projectile.EntityArrow; -import net.minecraft.item.ItemStack; -import net.minecraft.world.World; - -import java.util.List; - -/** - * Created by wital_000 on 08.04.2016. - */ -public class BehaviourDetravRepairTool extends Behaviour_None { - public ItemStack onItemRightClick(GT_MetaBase_Item aItem, ItemStack aStack, World aWorld, EntityPlayer aPlayer) { - if(DetravMetaGeneratedTool01.getToolDamage(aStack)< DetravMetaGeneratedTool01.INSTANCE.getToolMaxDamage(aStack)-1) { - DetravScannerMod.proxy.openRepairToolGui(aPlayer); - } else DetravMetaGeneratedTool01.INSTANCE.doDamage(aStack,1000); - - return super.onItemRightClick(aItem, aStack, aWorld, aPlayer); - //aPlayer.openContainer - } -} diff --git a/src/main/java/com/detrav/items/behaviours/BehaviourDetravToolElectricProPick.java b/src/main/java/com/detrav/items/behaviours/BehaviourDetravToolElectricProPick.java index d14323139f..1fe38299b8 100644 --- a/src/main/java/com/detrav/items/behaviours/BehaviourDetravToolElectricProPick.java +++ b/src/main/java/com/detrav/items/behaviours/BehaviourDetravToolElectricProPick.java @@ -35,12 +35,20 @@ public class BehaviourDetravToolElectricProPick extends BehaviourDetravToolProPi long data = DetravMetaGeneratedTool01.INSTANCE.getToolGTDetravData(aStack); //Проверяем если нажат шифт if (aPlayer.isSneaking()) { - if (data == 0) { - aPlayer.addChatMessage(new ChatComponentText("Set Mode: Oil, Any Block")); - DetravMetaGeneratedTool01.INSTANCE.setToolGTDetravData(aStack, 1); - } else { - aPlayer.addChatMessage(new ChatComponentText("Set Mode: Ore, Any Rock Block")); - DetravMetaGeneratedTool01.INSTANCE.setToolGTDetravData(aStack, 0); + switch ((int)data) + { + case 0: + aPlayer.addChatMessage(new ChatComponentText("Set Mode: Ore (with small), Any Rock Block")); + DetravMetaGeneratedTool01.INSTANCE.setToolGTDetravData(aStack, 1); + break; + case 1: + aPlayer.addChatMessage(new ChatComponentText("Set Mode: Oil, Any Block")); + DetravMetaGeneratedTool01.INSTANCE.setToolGTDetravData(aStack, 2); + break; + default: + aPlayer.addChatMessage(new ChatComponentText("Set Mode: Ore, Any Rock Block")); + DetravMetaGeneratedTool01.INSTANCE.setToolGTDetravData(aStack, 0); + break; } return super.onItemRightClick(aItem, aStack, aWorld, aPlayer); } @@ -69,7 +77,7 @@ public class BehaviourDetravToolElectricProPick extends BehaviourDetravToolProPi for (int z = 0; z < 16; z++) { int ySize = c.getHeightValue(x, z); for (int y = 1; y < ySize; y++) { - if(data == 0) { + if(data < 2) { Block b = c.getBlock(x, y, z); if (b == GregTech_API.sBlockOres1) { TileEntity entity = c.getTileEntityUnsafe(x, y, z); @@ -77,7 +85,7 @@ public class BehaviourDetravToolElectricProPick extends BehaviourDetravToolProPi 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 (name.startsWith("Small")) if(data!=1) continue; packet.addBlock(c.xPosition * 16 + x, y, c.zPosition * 16 + z, gt_entity.getMetaData()); } } @@ -110,7 +118,7 @@ public class BehaviourDetravToolElectricProPick extends BehaviourDetravToolProPi 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 == 0) + if (data < 2) return super.onItemUse(aItem, aStack, aPlayer, aWorld, aX, aY, aZ, aSide, hitX, hitY, hitZ); if (!aWorld.isRemote) { FluidStack fStack = getUndergroundOil(aWorld,aX,aZ); diff --git a/src/main/java/com/detrav/items/behaviours/BehaviourDetravToolProPick.java b/src/main/java/com/detrav/items/behaviours/BehaviourDetravToolProPick.java index 9e7a97752a..f33d88555d 100644 --- a/src/main/java/com/detrav/items/behaviours/BehaviourDetravToolProPick.java +++ b/src/main/java/com/detrav/items/behaviours/BehaviourDetravToolProPick.java @@ -79,6 +79,7 @@ public class BehaviourDetravToolProPick extends Behaviour_None { return; } } else if (aRandom.nextInt(10) < 4) { + long data = DetravMetaGeneratedTool01.INSTANCE.getToolGTDetravData(aStack); HashMap<String, Integer> ores = new HashMap<String, Integer>(); for (int x = 0; x < 16; x++) for (int z = 0; z < 16; z++) { @@ -91,7 +92,7 @@ public class BehaviourDetravToolProPick extends Behaviour_None { 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 (name.startsWith("Small")) if(data!=1) continue; if (!ores.containsKey(name)) ores.put(name, 1); else { @@ -102,10 +103,13 @@ public class BehaviourDetravToolProPick extends Behaviour_None { } } } + int total = 0; for (String key : ores.keySet()) { int value = ores.get(key); + total+=value; addChatMassageByValue(aPlayer,value,key); } + addChatMassageByValue(aPlayer,total,"Total"); if (!aPlayer.capabilities.isCreativeMode) aItem.doDamage(aStack, this.mCosts); return; @@ -114,6 +118,7 @@ public class BehaviourDetravToolProPick extends Behaviour_None { } void addChatMassageByValue(EntityPlayer aPlayer, int value, String name) { + if(name == "Total") return; if (value < 0) { aPlayer.addChatMessage(new ChatComponentText(foundTexts[6] + name)); } else if (value < 1) { diff --git a/src/main/java/com/detrav/items/tools/DetravRepairTool.java b/src/main/java/com/detrav/items/tools/DetravRepairTool.java deleted file mode 100644 index 65868ce963..0000000000 --- a/src/main/java/com/detrav/items/tools/DetravRepairTool.java +++ /dev/null @@ -1,180 +0,0 @@ -package com.detrav.items.tools; - -import com.detrav.enums.Textures01; -import com.detrav.items.behaviours.BehaviourDetravRepairTool; -import gregtech.api.GregTech_API; -import gregtech.api.damagesources.GT_DamageSources; -import gregtech.api.interfaces.IIconContainer; -import gregtech.api.interfaces.IToolStats; -import gregtech.api.items.GT_MetaGenerated_Tool; -import net.minecraft.block.Block; -import net.minecraft.enchantment.Enchantment; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.stats.AchievementList; -import net.minecraft.util.ChatComponentText; -import net.minecraft.util.DamageSource; -import net.minecraft.util.EnumChatFormatting; -import net.minecraft.util.IChatComponent; -import net.minecraftforge.event.world.BlockEvent; - -import java.util.List; - -/** - * Created by wital_000 on 08.04.2016. - */ -public class DetravRepairTool implements IToolStats { - public int getToolDamagePerBlockBreak() { - return 100; - } - - public int getToolDamagePerDropConversion() { - return 100; - } - - public int getToolDamagePerContainerCraft() { - return 100; - } - - public int getToolDamagePerEntityAttack() { - return 100; - } - - public int getBaseQuality() { - return 0; - } - - public float getBaseDamage() { - return 1.0F; - } - - @Override - public int getHurtResistanceTime(int i, Entity entity) { - return i; - } - - public float getSpeedMultiplier() { - return 0.5F; - } - - public float getMaxDurabilityMultiplier() { - return 0.5F; - } - - @Override - public DamageSource getDamageSource(EntityLivingBase aPlayer, Entity aEntity) { - return GT_DamageSources.getCombatDamage((aPlayer instanceof EntityPlayer) ? "player" : "mob", aPlayer, (aEntity instanceof EntityLivingBase) ? getDeathMessage(aPlayer, (EntityLivingBase) aEntity) : null); - } - - public String getCraftingSound() { - return null; |
