2013-04-17 02:48:49 +02:00
|
|
|
package StevenDimDoors.mod_pocketDim.items;
|
2013-02-18 03:46:16 +01:00
|
|
|
|
|
|
|
import java.util.List;
|
|
|
|
|
2013-03-29 23:19:27 +01:00
|
|
|
import net.minecraft.client.renderer.texture.IconRegister;
|
2013-02-18 03:46:16 +01:00
|
|
|
import net.minecraft.entity.player.EntityPlayer;
|
|
|
|
import net.minecraft.item.Item;
|
|
|
|
import net.minecraft.item.ItemStack;
|
|
|
|
import net.minecraft.world.World;
|
2013-08-31 18:58:35 +02:00
|
|
|
import StevenDimDoors.mod_pocketDim.mod_pocketDim;
|
2013-09-01 02:44:31 +02:00
|
|
|
import StevenDimDoors.mod_pocketDim.util.Point4D;
|
2013-02-18 03:46:16 +01:00
|
|
|
import cpw.mods.fml.relauncher.Side;
|
|
|
|
import cpw.mods.fml.relauncher.SideOnly;
|
|
|
|
|
2013-09-01 02:46:20 +02:00
|
|
|
public class ItemStabilizedRiftSignature extends ItemRiftSignature
|
2013-02-18 03:46:16 +01:00
|
|
|
{
|
2013-09-01 02:44:31 +02:00
|
|
|
public ItemStabilizedRiftSignature(int itemID)
|
2013-02-18 03:46:16 +01:00
|
|
|
{
|
2013-09-01 02:44:31 +02:00
|
|
|
super(itemID);
|
2013-02-18 03:46:16 +01:00
|
|
|
}
|
|
|
|
|
2013-03-29 23:19:27 +01:00
|
|
|
public void registerIcons(IconRegister par1IconRegister)
|
|
|
|
{
|
2013-05-09 23:16:27 +02:00
|
|
|
this.itemIcon = par1IconRegister.registerIcon(mod_pocketDim.modid + ":" + this.getUnlocalizedName().replace("item.", ""));
|
2013-03-29 23:19:27 +01:00
|
|
|
}
|
2013-02-18 03:46:16 +01:00
|
|
|
|
|
|
|
@Override
|
2013-09-01 02:44:31 +02:00
|
|
|
public boolean onItemUse(ItemStack stack, EntityPlayer player, World world, int x, int y, int z, int par7, float par8, float par9, float par10)
|
2013-02-18 03:46:16 +01:00
|
|
|
{
|
2013-09-01 02:44:31 +02:00
|
|
|
//Check if the Stabilized Rift Signature has been initialized
|
|
|
|
Point4D source = getSource(stack);
|
|
|
|
if (source != null)
|
2013-07-13 20:13:01 +02:00
|
|
|
{
|
2013-09-01 02:44:31 +02:00
|
|
|
//Yes, it's initialized. Check if the player can pay an Ender Pearl to create a rift.
|
|
|
|
if (player.inventory.hasItem(Item.enderPearl.itemID))
|
2013-02-18 03:46:16 +01:00
|
|
|
{
|
2013-09-01 02:44:31 +02:00
|
|
|
if (tryItemUse(stack, player, world, x, y, z) && !player.capabilities.isCreativeMode)
|
|
|
|
{
|
|
|
|
player.inventory.consumeInventoryItem(Item.enderPearl.itemID);
|
|
|
|
}
|
2013-02-18 03:46:16 +01:00
|
|
|
}
|
2013-07-13 20:13:01 +02:00
|
|
|
}
|
2013-09-01 02:44:31 +02:00
|
|
|
else
|
|
|
|
{
|
|
|
|
//Initialization doesn't cost any materials
|
|
|
|
tryItemUse(stack, player, world, x, y, z);
|
|
|
|
}
|
|
|
|
return true;
|
2013-02-18 03:46:16 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* allows items to add custom lines of information to the mouseover description
|
|
|
|
*/
|
2013-08-31 18:58:35 +02:00
|
|
|
@SuppressWarnings({ "rawtypes", "unchecked" })
|
|
|
|
@SideOnly(Side.CLIENT)
|
|
|
|
@Override
|
2013-02-18 03:46:16 +01:00
|
|
|
public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4)
|
|
|
|
{
|
2013-09-01 02:44:31 +02:00
|
|
|
Point4D source = getSource(par1ItemStack);
|
|
|
|
if (source != null)
|
|
|
|
{
|
|
|
|
par3List.add("Leads to (" + source.getX() + ", " + source.getY() + ", " + source.getZ() + ") at dimension #" + source.getDimension());
|
|
|
|
}
|
|
|
|
else
|
2013-02-18 03:46:16 +01:00
|
|
|
{
|
2013-08-31 18:58:35 +02:00
|
|
|
par3List.add("First click stores a location,");
|
|
|
|
par3List.add("second click creates two rifts");
|
|
|
|
par3List.add("that link the locations together.");
|
2013-02-18 03:46:16 +01:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|