aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--build.properties2
-rw-r--r--src/main/java/com/detrav/DetravScannerMod.java6
-rw-r--r--src/main/java/com/detrav/Detrav_AfterGTPreload_Loader.java5
-rw-r--r--src/main/java/com/detrav/enums/DetravToolDictNames.java3
-rw-r--r--src/main/java/com/detrav/enums/Textures01.java3
-rw-r--r--src/main/java/com/detrav/events/DetravCraftingEventHandler.java46
-rw-r--r--src/main/java/com/detrav/events/DetravEntityDropEvent.java86
-rw-r--r--src/main/java/com/detrav/gui/DetravRepairToolGui.java69
-rw-r--r--src/main/java/com/detrav/gui/containers/DetravPortableChargerContainer.java2
-rw-r--r--src/main/java/com/detrav/gui/containers/DetravRepairToolContainer.java107
-rw-r--r--src/main/java/com/detrav/items/DetravMetaGeneratedTool01.java8
-rw-r--r--src/main/java/com/detrav/items/behaviours/BehaviourDetravRepairTool.java31
-rw-r--r--src/main/java/com/detrav/items/behaviours/BehaviourDetravToolElectricProPick.java26
-rw-r--r--src/main/java/com/detrav/items/behaviours/BehaviourDetravToolProPick.java7
-rw-r--r--src/main/java/com/detrav/items/tools/DetravRepairTool.java180
-rw-r--r--src/main/java/com/detrav/proxies/ClientProxy.java4
-rw-r--r--src/main/java/com/detrav/proxies/CommonProxy.java20
-rw-r--r--src/main/java/com/detrav/tileentities/Detrav_MetaTileEntity_Boiler_Solar_High.java15
-rw-r--r--src/main/java/com/detrav/tileentities/Detrav_MetaTileEntity_Boiler_Solar_Low.java15
-rw-r--r--src/main/java/com/detrav/tileentities/Detrav_MetaTileEntity_Boiler_Solar_Medium.java15
-rw-r--r--src/main/java/com/detrav/utils/DetravRepairRecipe.java125
21 files changed, 329 insertions, 446 deletions
diff --git a/build.properties b/build.properties
index 9a44a2cdea..1671602e1e 100644
--- a/build.properties
+++ b/build.properties
@@ -1,7 +1,7 @@
minecraft.version=1.7.10
forge.version=10.13.4.1614-1.7.10
-detravscanner.version=0.15.1
+detravscanner.version=0.22.0
ae2.version=rv2-beta-33
applecore.version=1.7.10-1.2.1+107.59407
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;
- }
-
- public String getEntityHitSound() {
- return null;
- }
-
- public String getBreakingSound() {
- return (String) GregTech_API.sSoundList.get(Integer.valueOf(0));
- }
-
- @Override
- public Enchantment[] getEnchantments(ItemStack itemStack) {
- return new Enchantment[0];
- }
-
- @Override
- public int[] getEnchantmentLevels(ItemStack itemStack) {
- return new int[0];
- }
-
- public String getMiningSound() {
- return null;
- }
-
- public boolean canBlock() {
- return false;
- }
-
- public boolean isCrowbar() {
- return false;
- }
-
- @Override
- public boolean isGrafter() {
- return false;
- }
-
- @Override
- public boolean isChainsaw() {
- return false;
- }
-
- @Override
- public boolean isWrench() {
- return false;
- }
-
- @Override
- public boolean isWeapon() {
- return false;
- }
-
- @Override
- public boolean isRangedWeapon() {
- return false;
- }
-
- @Override
- public boolean isMiningTool() {
- return false;
- }
-
- public boolean isMinableBlock(Block aBlock, byte aMetaData) {
- return false;
- }
-
- @Override
- public int convertBlockDrops(List<ItemStack> list, ItemStack itemStack, EntityPlayer entityPlayer, Block block, int i, int i1, int i2, byte b, int i3, boolean b1, BlockEvent.HarvestDropsEvent harvestDropsEvent) {
- return 0;
- }
-
- public ItemStack getBrokenItem(ItemStack aStack) {
- return null;
- }
-
- @Override
- public float getNormalDamageAgainstEntity(float v, Entity entity, ItemStack itemStack, EntityPlayer entityPlayer) {
- return v;
- }
-
- @Override
- public float getMagicDamageAgainstEntity(float v, Entity entity, ItemStack itemStack, EntityPlayer entityPlayer) {
- return v;
- }
-
- public IIconContainer getIcon(boolean aIsToolHead, ItemStack aStack) {
- return Textures01.mTextures[6];
- }
-
- public short[] getRGBa(boolean aIsToolHead, ItemStack aStack) {
- return aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mRGBa : GT_MetaGenerated_Tool.getSecondaryMaterial(aStack).mRGBa;
- }
-
- public void onStatsAddedToTool(GT_MetaGenerated_Tool aItem, int aID) {
- aItem.addItemBehavior(aID, new BehaviourDetravRepairTool());
- }
-
- public void onToolCrafted(ItemStack aStack, EntityPlayer aPlayer) {
-
- aPlayer.triggerAchievement(AchievementList.openInventory);
- aPlayer.triggerAchievement(AchievementList.mineWood);
- aPlayer.triggerAchievement(AchievementList.buildWorkBench);
- }
-
- public IChatComponent getDeathMessage(EntityLivingBase aPlayer, EntityLivingBase aEntity) {
- return new ChatComponentText(EnumChatFormatting.RED + aEntity.getCommandSenderName() + EnumChatFormatting.WHITE + " got ProPicked by " + EnumChatFormatting.GREEN + aPlayer.getCommandSenderName() + EnumChatFormatting.WHITE);
- }
-}
diff --git a/src/main/java/com/detrav/proxies/ClientProxy.java b/src/main/java/com/detrav/proxies/ClientProxy.java
index 2f78f8c739..6eccd8738c 100644
--- a/src/main/java/com/detrav/proxies/ClientProxy.java
+++ b/src/main/java/com/detrav/proxies/ClientProxy.java
@@ -23,7 +23,7 @@ public class ClientProxy extends CommonProxy {
@Override
public void onPostLoad() {
super.onPostLoad();
- DetravDrawBlockHighlightEventHandler.register();
+ //DetravDrawBlockHighlightEventHandler.register();
//Textures.ItemIcons.CustomIcon test = new Textures.ItemIcons.CustomIcon("iconsets/PRO_PICK_HEAD");
//test.run();
@@ -44,6 +44,6 @@ public class ClientProxy extends CommonProxy {
public void onPreInit()
{
super.onPreInit();
- DetravKeyHandler.register();
+ //DetravKeyHandler.register();
}
}
diff --git a/src/main/java/com/detrav/proxies/CommonProxy.java b/src/main/java/com/detrav/proxies/CommonProxy.java
index 1cea1bb3f9..70a6dd8ecd 100644
--- a/src/main/java/com/detrav/proxies/CommonProxy.java
+++ b/src/main/java/com/detrav/proxies/CommonProxy.java
@@ -3,11 +3,11 @@ package com.detrav.proxies;
import com.detrav.DetravScannerMod;
import com.detrav.enums.DetravItemList;
import com.detrav.enums.DetravSimpleItems;
+import com.detrav.events.DetravCraftingEventHandler;
+import com.detrav.events.DetravEntityDropEvent;
import com.detrav.gui.DetravGuiProPick;
-import com.detrav.gui.DetravRepairToolGui;
import com.detrav.gui.containers.DetravPortableChargerContainer;
import com.detrav.gui.DetravPortableChargerGui;
-import com.detrav.gui.containers.DetravRepairToolContainer;
import com.detrav.items.DetravMetaGeneratedTool01;
import cpw.mods.fml.common.network.IGuiHandler;
import gregtech.api.GregTech_API;
@@ -40,11 +40,6 @@ public class CommonProxy implements IGuiHandler {
}
}
}
- ;
- GT_ModHandler.addCraftingRecipe(
- DetravMetaGeneratedTool01.INSTANCE.getToolWithStatsPlus(2,1,Materials._NULL,Materials._NULL,null,0),
- GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE | GT_ModHandler.RecipeBits.BUFFERED,
- new Object[]{"dwx", "hMc", "fsr", Character.valueOf('M'), OrePrefixes.ingot.get(Materials.Steel)});
if (!GregTech_API.sSpecialFile.get(ConfigCategories.general, "DisableFlintTools", false)) {
GT_ModHandler.addCraftingRecipe(DetravMetaGeneratedTool01.INSTANCE.getToolWithStats(0, 1, Materials.Flint, Materials.Wood, null), GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[]{"FF", "SS", Character.valueOf('S'), OrePrefixes.stick.get(Materials.Wood), Character.valueOf('F'), new ItemStack(Items.flint, 1)});
@@ -58,6 +53,8 @@ public class CommonProxy implements IGuiHandler {
GT_ModHandler.addCraftingRecipe(DetravItemList.Solar_Boiler_Medium.get(1L, new Object[0]), GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE | GT_ModHandler.RecipeBits.BUFFERED, new Object[]{"GGG", "NNN", "PMP", Character.valueOf('M'), ItemList.Machine_Steel_Boiler, Character.valueOf('P'), OrePrefixes.pipeSmall.get(Materials.Steel), Character.valueOf('N'), OrePrefixes.dust.get(Materials.Nickel), Character.valueOf('G'), new ItemStack(Blocks.glass, 1)});
GT_ModHandler.addCraftingRecipe(DetravItemList.Solar_Boiler_High.get(1L, new Object[0]), GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE | GT_ModHandler.RecipeBits.BUFFERED, new Object[]{"GGG", "RRR", "PMP", Character.valueOf('M'), ItemList.Casing_HV, Character.valueOf('P'), OrePrefixes.pipeSmall.get(Materials.StainlessSteel), Character.valueOf('R'), OrePrefixes.dust.get(Materials.Rutile), Character.valueOf('G'), new ItemStack(Blocks.glass, 1)});
+ DetravCraftingEventHandler.register();
+ DetravEntityDropEvent.register();
}
@Override
@@ -67,8 +64,6 @@ public class CommonProxy implements IGuiHandler {
return null;
case DetravPortableChargerGui.GUI_ID:
return new DetravPortableChargerContainer(player.inventory,world,player.getCurrentEquippedItem());
- case DetravRepairToolGui.GUI_ID:
- return new DetravRepairToolContainer(player.inventory,world,player.getCurrentEquippedItem());
default:
return null;
}
@@ -81,8 +76,6 @@ public class CommonProxy implements IGuiHandler {
return new DetravGuiProPick();
case DetravPortableChargerGui.GUI_ID:
return new DetravPortableChargerGui(player.inventory,world,player.getCurrentEquippedItem());
- case DetravRepairToolGui.GUI_ID:
- return new DetravRepairToolGui(player.inventory,world,player.getCurrentEquippedItem());
default:
return null;
}
@@ -99,10 +92,7 @@ public class CommonProxy implements IGuiHandler {
player.openGui(DetravScannerMod.instance, DetravPortableChargerGui.GUI_ID,player.worldObj,(int)player.posX,(int)player.posY,(int)player.posZ);
}
- public void openRepairToolGui(EntityPlayer player)
- {
- player.openGui(DetravScannerMod.instance, DetravRepairToolGui.GUI_ID,player.worldObj,(int)player.posX,(int)player.posY,(int)player.posZ);
- }
+
public void onPreInit()
{
diff --git a/src/main/java/com/detrav/tileentities/Detrav_MetaTileEntity_Boiler_Solar_High.java b/src/main/java/com/detrav/tileentities/Detrav_MetaTileEntity_Boiler_Solar_High.java
index 65650d616f..28327439fd 100644
--- a/src/main/java/com/detrav/tileentities/Detrav_MetaTileEntity_Boiler_Solar_High.java
+++ b/src/main/java/com/detrav/tileentities/Detrav_MetaTileEntity_Boiler_Solar_High.java
@@ -29,6 +29,11 @@ public class Detrav_MetaTileEntity_Boiler_Solar_High extends GT_MetaTileEntity_B
super(aName, aTier, aDescription, aTextures);
}
+ @Override
+ public String[] getDescription() {
+ return new String[]{mDescription, "This machine can not explode!"};
+ }
+
public ITexture[][][] getTextureSet(ITexture[] aTextures) {
ITexture[][][] rTextures = new ITexture[4][17][];
for (byte i = -1; i < 16; i = (byte) (i + 1)) {
@@ -49,7 +54,7 @@ public class Detrav_MetaTileEntity_Boiler_Solar_High extends GT_MetaTileEntity_B
}
public int maxProgresstime() {
- return 500;
+ return 200;
}
public Object getServerGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) {
@@ -85,7 +90,7 @@ public class Detrav_MetaTileEntity_Boiler_Solar_High extends GT_MetaTileEntity_B
this.mLossTimer = 0;
}
if (++this.mLossTimer > 45) {
- this.mTemperature -= 1;
+ this.mTemperature -= 5;
this.mLossTimer = 0;
}
if (this.mSteam != null) {
@@ -107,7 +112,7 @@ public class Detrav_MetaTileEntity_Boiler_Solar_High extends GT_MetaTileEntity_B
this.mHadNoWater = true;
} else {
if (this.mHadNoWater) {
- aBaseMetaTileEntity.doExplosion(2048L);
+ //aBaseMetaTileEntity.doExplosion(2048L);
return;
}
this.mFluid.amount -= 1;
@@ -137,9 +142,9 @@ public class Detrav_MetaTileEntity_Boiler_Solar_High extends GT_MetaTileEntity_B
boolean bRain = aBaseMetaTileEntity.getWorld().isRaining() && aBaseMetaTileEntity.getBiome().rainfall > 0.0F;
mProcessingEnergy += bRain && aBaseMetaTileEntity.getWorld().skylightSubtracted >= 4 || !aBaseMetaTileEntity.getSkyAtSide((byte) 1) ? 0 : !bRain && aBaseMetaTileEntity.getWorld().isDaytime() ? 8 : 1;
}
- if ((this.mTemperature < 500) && (this.mProcessingEnergy > 0) && (aTick % 12L == 0L)) {
+ if ((this.mTemperature < 200) && (this.mProcessingEnergy > 0) && (aTick % 12L == 0L)) {
this.mProcessingEnergy -= 1;
- this.mTemperature += 1;
+ this.mTemperature += 5;
}
aBaseMetaTileEntity.setActive(this.mProcessingEnergy > 0);
}
diff --git a/src/main/java/com/detrav/tileentities/Detrav_MetaTileEntity_Boiler_Solar_Low.java b/src/main/java/com/detrav/tileentities/Detrav_MetaTileEntity_Boiler_Solar_Low.java
index 6d1cfc0ca4..742f008dce 100644
--- a/src/main/java/com/detrav/tileentities/Detrav_MetaTileEntity_Boiler_Solar_Low.java
+++ b/src/main/java/com/detrav/tileentities/Detrav_MetaTileEntity_Boiler_Solar_Low.java
@@ -29,6 +29,11 @@ public class Detrav_MetaTileEntity_Boiler_Solar_Low extends GT_MetaTileEntity_Bo
super(aName, aTier, aDescription, aTextures);
}
+ @Override
+ public String[] getDescription() {
+ return new String[]{mDescription, "This machine can not explode!"};
+ }
+
public ITexture[][][] getTextureSet(ITexture[] aTextures) {
ITexture[][][] rTextures = new ITexture[4][17][];
for (byte i = -1; i < 16; i = (byte) (i + 1)) {
@@ -49,7 +54,7 @@ public class Detrav_MetaTileEntity_Boiler_Solar_Low extends GT_MetaTileEntity_Bo
}
public int maxProgresstime() {
- return 500;
+ return 200;
}
public Object getServerGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) {
@@ -85,7 +90,7 @@ public class Detrav_MetaTileEntity_Boiler_Solar_Low extends GT_MetaTileEntity_Bo
this.mLossTimer = 0;
}
if (++this.mLossTimer > 45) {
- this.mTemperature -= 1;
+ this.mTemperature -= 5;
this.mLossTimer = 0;
}
if (this.mSteam != null) {
@@ -107,7 +112,7 @@ public class Detrav_MetaTileEntity_Boiler_Solar_Low extends GT_MetaTileEntity_Bo
this.mHadNoWater = true;
} else {
if (this.mHadNoWater) {
- aBaseMetaTileEntity.doExplosion(2048L);
+ //aBaseMetaTileEntity.doExplosion(2048L);
return;
}
this.mFluid.amount -= 1;
@@ -137,9 +142,9 @@ public class Detrav_MetaTileEntity_Boiler_Solar_Low extends GT_MetaTileEntity_Bo
boolean bRain = aBaseMetaTileEntity.getWorld().isRaining() && aBaseMetaTileEntity.getBiome().rainfall > 0.0F;
mProcessingEnergy += bRain && aBaseMetaTileEntity.getWorld().skylightSubtracted >= 4 || !aBaseMetaTileEntity.getSkyAtSide((byte) 1) ? 0 : !bRain && aBaseMetaTileEntity.getWorld().isDaytime() ? 8 : 1;
}
- if ((this.mTemperature < 500) && (this.mProcessingEnergy > 0) && (aTick % 12L == 0L)) {
+ if ((this.mTemperature < 200) && (this.mProcessingEnergy > 0) && (aTick % 12L == 0L)) {
this.mProcessingEnergy -= 1;
- this.mTemperature += 1;
+ this.mTemperature += 5;
}
aBaseMetaTileEntity.setActive(this.mProcessingEnergy > 0);
}
diff --git a/src/main/java/com/detrav/tileentities/Detrav_MetaTileEntity_Boiler_Solar_Medium.java b/src/main/java/com/detrav/tileentities/Detrav_MetaTileEntity_Boiler_Solar_Medium.java
index 0d04ded00f..f538586447 100644
--- a/src/main/java/com/detrav/tileentities/Detrav_MetaTileEntity_Boiler_Solar_Medium.java
+++ b/src/main/java/com/detrav/tileentities/Detrav_MetaTileEntity_Boiler_Solar_Medium.java
@@ -29,6 +29,11 @@ public class Detrav_MetaTileEntity_Boiler_Solar_Medium extends GT_MetaTileEntity
super(aName, aTier, aDescription, aTextures);
}
+ @Override
+ public String[] getDescription() {
+ return new String[]{mDescription, "This machine can not explode!"};
+ }
+
public ITexture[][][] getTextureSet(ITexture[] aTextures) {
ITexture[][][] rTextures = new ITexture[4][17][];
for (byte i = -1; i < 16; i = (byte) (i + 1)) {
@@ -49,7 +54,7 @@ public class Detrav_MetaTileEntity_Boiler_Solar_Medium extends GT_MetaTileEntity
}
public int maxProgresstime() {
- return 500;
+ return 200;
}
public Object getServerGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) {
@@ -85,7 +90,7 @@ public class Detrav_MetaTileEntity_Boiler_Solar_Medium extends GT_MetaTileEntity
this.mLossTimer = 0;
}
if (++this.mLossTimer > 45) {
- this.mTemperature -= 1;
+ this.mTemperature -= 5;
this.mLossTimer = 0;
}
if (this.mSteam != null) {
@@ -107,7 +112,7 @@ public class Detrav_MetaTileEntity_Boiler_Solar_Medium extends GT_MetaTileEntity
this.mHadNoWater = true;
} else {
if (this.mHadNoWater) {
- aBaseMetaTileEntity.doExplosion(2048L);
+ //aBaseMetaTileEntity.doExplosion(2048L);
return;
}
this.mFluid.amount -= 1;
@@ -137,9 +142,9 @@ public class Detrav_MetaTileEntity_Boiler_Solar_Medium extends GT_MetaTileEntity
boolean bRain = aBaseMetaTileEntity.getWorld().isRaining() && aBaseMetaTileEntity.getBiome().rainfall > 0.0F;
mProcessingEnergy += bRain && aBaseMetaTileEntity.getWorld().skylightSubtracted >= 4 || !aBaseMetaTileEntity.getSkyAtSide((byte) 1) ? 0 : !bRain && aBaseMetaTileEntity.getWorld().isDaytime() ? 8 : 1;
}
- if ((this.mTemperature < 500) && (this.mProcessingEnergy > 0) && (aTick % 12L == 0L)) {
+ if ((this.mTemperature < 200) && (this.mProcessingEnergy > 0) && (aTick % 12L == 0L)) {
this.mProcessingEnergy -= 1;
- this.mTemperature += 1;
+ this.mTemperature += 5;
}
aBaseMetaTileEntity.setActive(this.mProcessingEnergy > 0);
}
diff --git a/src/main/java/com/detrav/utils/DetravRepairRecipe.java b/src/main/java/com/detrav/utils/DetravRepairRecipe.java
new file mode 100644
index 0000000000..9645142e84
--- /dev/null
+++ b/src/main/java/com/detrav/utils/DetravRepairRecipe.java
@@ -0,0 +1,125 @@
+package com.detrav.utils;
+
+import appeng.recipes.game.ShapelessRecipe;
+import com.detrav.items.DetravMetaGeneratedTool01;
+import com.enderio.core.common.OreDict;
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
+import gregtech.api.enums.GT_Values;
+import gregtech.api.enums.Materials;
+import gregtech.api.enums.OrePrefixes;
+import gregtech.api.interfaces.internal.IGT_CraftingRecipe;
+import gregtech.api.items.GT_MetaGenerated_Tool;
+import gregtech.api.util.GT_ModHandler;
+import gregtech.api.util.GT_OreDictUnificator;
+import gregtech.api.util.GT_Recipe;
+import gregtech.api.util.GT_Utility;
+import gregtech.common.items.GT_MetaGenerated_Tool_01;
+import net.minecraft.creativetab.CreativeTabs;
+import net.minecraft.enchantment.Enchantment;
+import net.minecraft.init.Items;
+import net.minecraft.inventory.InventoryCrafting;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+import net.minecraft.item.crafting.IRecipe;
+import net.minecraft.world.World;
+import net.minecraftforge.fluids.FluidStack;
+import net.minecraftforge.oredict.OreDictionary;
+import net.minecraftforge.oredict.ShapedOreRecipe;
+
+import java.util.Iterator;
+import java.util.List;
+
+/**
+ * Created by Detrav on 02.10.2016.
+ */
+public class DetravRepairRecipe extends ShapelessRecipe {
+
+ public static DetravRepairRecipe INSTANCE;
+
+ //int recipeSize;
+ public DetravRepairRecipe()
+ {
+ super(DetravMetaGeneratedTool01.INSTANCE.getToolWithStats(0, 1, Materials._NULL, Materials._NULL, null));
+ INSTANCE = this;
+ //recipeSize = aRecipeSize;
+ }
+
+
+ @Override
+ public boolean matches(InventoryCrafting inv, World world) {
+ ItemStack stack = inv.getStackInSlot(4);
+ int iStack = -1;
+ if(stack == null) return false;
+ if(stack.getItem() instanceof GT_MetaGenerated_Tool)
+ iStack = 4;
+ /*
+ for (int i = 0; i < inv.getSizeInventory(); i++) {
+ stack = inv.getStackInSlot(i);
+ if (stack == null) continue;
+ if (stack.getItem() instanceof GT_MetaGenerated_Tool) {
+ iStack = i;
+ break;
+ }
+ }*/
+ if (iStack < 0) return false;
+ Materials mat = GT_MetaGenerated_Tool_01.getPrimaryMaterial(stack);
+ FluidStack fstack = mat.getMolten(1);
+ if(fstack == null) fstack = mat.getFluid(1);
+ if(fstack == null) return false;
+ int fluidID = fstack.getFluidID();
+ for (int i = 0; i < inv.getSizeInventory(); i++) {
+ ItemStack tStack = inv.getStackInSlot(i);
+ if (tStack == null) continue;
+ if (i == iStack) continue;
+ GT_Recipe recipe = GT_Recipe.GT_Recipe_Map.sFluidExtractionRecipes.findRecipe(null, false, 524288L, null, tStack);
+ if (recipe == null)
+ return false;
+ FluidStack fStack = recipe.getFluidOutput(0);
+ if (fStack.getFluidID() != fluidID)
+ return false;
+ }
+ return true;
+ }
+
+ @Override
+ public ItemStack getCraftingResult(InventoryCrafting inv) {
+ ItemStack stack = inv.getStackInSlot(4).copy();
+ int iStack = 4;
+ /*for(int i =0; i<inv.getSizeInventory(); i++)
+ {
+ stack = inv.getStackInSlot(i);
+ if(stack == null) continue;
+ if(stack.getItem() instanceof GT_MetaGenerated_Tool)
+ {
+ iStack = i;
+ break;
+ }
+ }*/
+ float amount = 0;
+ for (int i = 0; i < inv.getSizeInventory(); i++) {
+ ItemStack tStack = inv.getStackInSlot(i);
+ if (tStack == null) continue;
+ if (i == iStack) continue;
+ GT_Recipe recipe = GT_Recipe.GT_Recipe_Map.sFluidExtractionRecipes.findRecipe(null, false, 524288L, null, tStack);
+ FluidStack fStack = recipe.getFluidOutput(0);
+ amount += fStack.amount;
+ }
+
+ amount /= 1000;
+
+ long maxDamage = GT_MetaGenerated_Tool.getToolMaxDamage(stack);
+ long damage = GT_MetaGenerated_Tool.getToolDamage(stack);
+ maxDamage = (long)(maxDamage * amount);
+ damage -= maxDamage;
+ if(damage<0) damage = 0;
+ GT_MetaGenerated_Tool.setToolDamage(stack,damage);
+ //inv.setInventorySlotContents(iStack,null);
+ return stack;
+ }
+
+ @Override
+ public int getRecipeSize() {
+ return 9;
+ }
+} \ No newline at end of file