Work on making wireless grid an RF item
This commit is contained in:
		| @@ -1,5 +1,6 @@ | ||||
| package refinedstorage.item; | ||||
|  | ||||
| import cofh.api.energy.ItemEnergyContainer; | ||||
| import net.minecraft.block.Block; | ||||
| import net.minecraft.entity.player.EntityPlayer; | ||||
| import net.minecraft.item.ItemStack; | ||||
| @@ -13,13 +14,14 @@ import net.minecraft.util.math.BlockPos; | ||||
| import net.minecraft.util.text.TextComponentString; | ||||
| import net.minecraft.util.text.translation.I18n; | ||||
| import net.minecraft.world.World; | ||||
| import refinedstorage.RefinedStorage; | ||||
| import refinedstorage.RefinedStorageBlocks; | ||||
| import refinedstorage.tile.TileController; | ||||
| import refinedstorage.tile.grid.TileGrid; | ||||
|  | ||||
| import java.util.List; | ||||
|  | ||||
| public class ItemWirelessGrid extends ItemBase { | ||||
| public class ItemWirelessGrid extends ItemEnergyContainer { | ||||
|     public static final String NBT_CONTROLLER_X = "ControllerX"; | ||||
|     public static final String NBT_CONTROLLER_Y = "ControllerY"; | ||||
|     public static final String NBT_CONTROLLER_Z = "ControllerZ"; | ||||
| @@ -28,9 +30,36 @@ public class ItemWirelessGrid extends ItemBase { | ||||
|     public static final String NBT_SEARCH_BOX_MODE = "SearchBoxMode"; | ||||
|  | ||||
|     public ItemWirelessGrid() { | ||||
|         super("wireless_grid"); | ||||
|         super(3200); | ||||
|  | ||||
|         setMaxStackSize(1); | ||||
|         setMaxDamage(3200); | ||||
|         setHasSubtypes(false); | ||||
|         setCreativeTab(RefinedStorage.TAB); | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public boolean isDamageable() { | ||||
|         return true; | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public boolean isRepairable() { | ||||
|         return false; | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public double getDurabilityForDisplay(ItemStack stack) { | ||||
|         return 1 - (getEnergyStored(stack) / getMaxEnergyStored(stack)); | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public boolean isDamaged(ItemStack stack) { | ||||
|         return true; | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public void setDamage(ItemStack stack, int damage) { | ||||
|         // NO OP | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
| @@ -120,4 +149,14 @@ public class ItemWirelessGrid extends ItemBase { | ||||
|     public static boolean isValid(ItemStack stack) { | ||||
|         return stack.hasTagCompound() && stack.getTagCompound().hasKey(NBT_CONTROLLER_X) && stack.getTagCompound().hasKey(NBT_CONTROLLER_Y) && stack.getTagCompound().hasKey(NBT_CONTROLLER_Z); | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public String getUnlocalizedName() { | ||||
|         return "item." + RefinedStorage.ID + ":wireless_grid"; | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public String getUnlocalizedName(ItemStack stack) { | ||||
|         return getUnlocalizedName(); | ||||
|     } | ||||
| } | ||||
|   | ||||
| @@ -100,6 +100,8 @@ public class MessageStoragePull extends MessageHandlerPlayerToServer<MessageStor | ||||
|                         player.inventory.setItemStack(took); | ||||
|                         player.updateHeldItem(); | ||||
|                     } | ||||
|  | ||||
|                     controller.drainEnergyFromWirelessGrid(player, 300); | ||||
|                 } | ||||
|             } | ||||
|         } | ||||
|   | ||||
| @@ -13,8 +13,10 @@ import net.minecraft.util.math.BlockPos; | ||||
| import refinedstorage.RefinedStorage; | ||||
| import refinedstorage.RefinedStorageBlocks; | ||||
| import refinedstorage.RefinedStorageGui; | ||||
| import refinedstorage.RefinedStorageItems; | ||||
| import refinedstorage.block.BlockController; | ||||
| import refinedstorage.block.EnumControllerType; | ||||
| import refinedstorage.item.ItemWirelessGrid; | ||||
| import refinedstorage.storage.IStorage; | ||||
| import refinedstorage.storage.IStorageProvider; | ||||
| import refinedstorage.storage.StorageItem; | ||||
| @@ -271,8 +273,8 @@ public class TileController extends TileBase implements IEnergyReceiver, INetwor | ||||
|  | ||||
|     public void onOpenWirelessGrid(EntityPlayer player, EnumHand hand) { | ||||
|         wirelessGridConsumers.add(new WirelessGridConsumer(player, hand, player.getHeldItem(hand))); | ||||
|  | ||||
|         player.openGui(RefinedStorage.INSTANCE, RefinedStorageGui.WIRELESS_GRID, worldObj, HandUtils.getIdFromHand(hand), 0, 0); | ||||
|         drainEnergyFromWirelessGrid(player, 100); | ||||
|     } | ||||
|  | ||||
|     public void onCloseWirelessGrid(EntityPlayer player) { | ||||
| @@ -283,6 +285,22 @@ public class TileController extends TileBase implements IEnergyReceiver, INetwor | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     public void drainEnergyFromWirelessGrid(EntityPlayer player, int energy) { | ||||
|         WirelessGridConsumer consumer = getWirelessGridConsumer(player); | ||||
|  | ||||
|         if (consumer != null) { | ||||
|             ItemWirelessGrid item = RefinedStorageItems.WIRELESS_GRID; | ||||
|             ItemStack held = consumer.getPlayer().getHeldItem(consumer.getHand()); | ||||
|  | ||||
|             item.extractEnergy(held, energy, false); | ||||
|  | ||||
|             if (item.getEnergyStored(held) <= 0) { | ||||
|                 onCloseWirelessGrid(player); | ||||
|                 consumer.getPlayer().closeScreen(); | ||||
|             } | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     public WirelessGridConsumer getWirelessGridConsumer(EntityPlayer player) { | ||||
|         Iterator<WirelessGridConsumer> it = wirelessGridConsumers.iterator(); | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Raoul Van den Berge
					Raoul Van den Berge