generated from tilera/1710mod
78 lines
2.6 KiB
Java
78 lines
2.6 KiB
Java
package mffs.item.card;
|
|
|
|
import icbm.api.IItemFrequency;
|
|
import java.util.List;
|
|
import mffs.base.TileEntityFrequency;
|
|
import mffs.card.ItemCard;
|
|
import net.minecraft.entity.player.EntityPlayer;
|
|
import net.minecraft.item.ItemStack;
|
|
import net.minecraft.nbt.NBTTagCompound;
|
|
import net.minecraft.tileentity.TileEntity;
|
|
import net.minecraft.util.ChatComponentText;
|
|
import net.minecraft.world.World;
|
|
|
|
public class ItemCardFrequency extends ItemCard implements IItemFrequency {
|
|
public ItemCardFrequency(final String name) { super(name); }
|
|
|
|
public ItemCardFrequency() { this("cardFrequency"); }
|
|
|
|
@Override
|
|
public void addInformation(final ItemStack itemStack,
|
|
final EntityPlayer par2EntityPlayer,
|
|
final List list, final boolean par4) {
|
|
list.add("Frequency: " + this.getFrequency(itemStack));
|
|
}
|
|
|
|
@Override
|
|
public int getFrequency(final ItemStack itemStack) {
|
|
if (itemStack != null) {
|
|
if (itemStack.getTagCompound() == null) {
|
|
itemStack.setTagCompound(new NBTTagCompound());
|
|
}
|
|
return itemStack.getTagCompound().getInteger("frequency");
|
|
}
|
|
return 0;
|
|
}
|
|
|
|
@Override
|
|
public void setFrequency(final int frequency, final ItemStack itemStack) {
|
|
if (itemStack != null) {
|
|
if (itemStack.getTagCompound() == null) {
|
|
itemStack.setTagCompound(new NBTTagCompound());
|
|
}
|
|
itemStack.getTagCompound().setInteger("frequency", frequency);
|
|
}
|
|
}
|
|
|
|
@Override
|
|
public ItemStack onItemRightClick(final ItemStack itemStack,
|
|
final World world,
|
|
final EntityPlayer player) {
|
|
if (!world.isRemote && player.isSneaking()) {
|
|
this.setFrequency(world.rand.nextInt(15), itemStack);
|
|
player.addChatMessage(new ChatComponentText(
|
|
"Generated random frequency: " + this.getFrequency(itemStack)));
|
|
}
|
|
return itemStack;
|
|
}
|
|
|
|
@Override
|
|
public boolean onItemUse(final ItemStack itemStack, final EntityPlayer player,
|
|
final World world, final int x, final int y,
|
|
final int z, final int side, final float hitX,
|
|
final float hitY, final float hitZ) {
|
|
final TileEntity tileEntity = world.getTileEntity(x, y, z);
|
|
if (tileEntity instanceof TileEntityFrequency) {
|
|
if (!world.isRemote) {
|
|
((TileEntityFrequency)tileEntity)
|
|
.setFrequency(this.getFrequency(itemStack));
|
|
world.markBlockForUpdate(x, y, z);
|
|
player.addChatMessage(new ChatComponentText(
|
|
"Frequency set to: " + this.getFrequency(itemStack)));
|
|
}
|
|
return true;
|
|
}
|
|
return false;
|
|
}
|
|
}
|