TF-EssentialsX/Essentials/src/com/earth2me/essentials/signs/SignFree.java

52 lines
1.4 KiB
Java
Raw Normal View History

package com.earth2me.essentials.signs;
import static com.earth2me.essentials.I18n._;
import net.ess3.api.IEssentials;
import com.earth2me.essentials.Trade;
import com.earth2me.essentials.User;
2011-11-14 10:11:23 +00:00
import org.bukkit.Material;
2012-03-01 15:15:37 +00:00
import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.ItemStack;
public class SignFree extends EssentialsSign
{
public SignFree()
{
super("Free");
}
@Override
protected boolean onSignCreate(final ISign sign, final User player, final String username, final IEssentials ess) throws SignException
{
2012-09-23 23:19:39 +00:00
try {
getItemStack(sign.getLine(1), 1, ess);
}
catch (SignException ex)
{
sign.setLine(1, "§c<item>");
throw new SignException(ex.getMessage(), ex);
}
return true;
}
@Override
protected boolean onSignInteract(final ISign sign, final User player, final String username, final IEssentials ess) throws SignException
{
final ItemStack item = getItemStack(sign.getLine(1), 1, ess);
2011-11-14 10:11:23 +00:00
if (item.getType() == Material.AIR)
{
throw new SignException(_("cantSpawnItem", "Air"));
2011-11-14 10:11:23 +00:00
}
item.setAmount(item.getType().getMaxStackSize());
2013-07-07 11:11:57 +00:00
Inventory invent = ess.getServer().createInventory(player.getBase(), 36);
for (int i = 0; i < 36; i++) {
invent.addItem(item);
}
player.openInventory(invent);
2011-07-18 02:49:38 +00:00
Trade.log("Sign", "Free", "Interact", username, null, username, new Trade(item, ess), sign.getBlock().getLocation(), ess);
return true;
}
}