Bukkit broke this sign :(

This commit is contained in:
snowleo 2012-03-01 23:09:48 +01:00
parent 2e788802fe
commit c36ca65e09
2 changed files with 13 additions and 6 deletions

View file

@ -2,7 +2,6 @@ package com.earth2me.essentials.signs;
import com.earth2me.essentials.IEssentials;
import com.earth2me.essentials.User;
import org.bukkit.event.inventory.InventoryType;
public class SignDisposal extends EssentialsSign
@ -15,7 +14,10 @@ public class SignDisposal extends EssentialsSign
@Override
protected boolean onSignInteract(final ISign sign, final User player, final String username, final IEssentials ess)
{
player.getBase().openInventory(ess.getServer().createInventory(player, InventoryType.CHEST));
player.sendMessage("Bukkit broke this sign :(");
//TODO: wait for a fix in bukkit
//Problem: Items can be duplicated
//player.getBase().openInventory(ess.getServer().createInventory(player, 36));
return true;
}
}

View file

@ -4,6 +4,7 @@ import static com.earth2me.essentials.I18n._;
import com.earth2me.essentials.IEssentials;
import com.earth2me.essentials.Trade;
import com.earth2me.essentials.User;
import com.earth2me.essentials.craftbukkit.InventoryWorkaround;
import org.bukkit.Material;
import org.bukkit.event.inventory.InventoryType;
import org.bukkit.inventory.Inventory;
@ -33,10 +34,14 @@ public class SignFree extends EssentialsSign
throw new SignException(_("cantSpawnItem", "Air"));
}
item.setAmount(item.getType().getMaxStackSize() * 9 * 4);
Inventory i = ess.getServer().createInventory(player, InventoryType.CHEST);
i.addItem(item);
player.openInventory(i);
item.setAmount(item.getType().getMaxStackSize());
InventoryWorkaround.addItem(player.getInventory(), true, item);
player.sendMessage("Item added to your inventory.");
//TODO: wait for a fix in bukkit
//Problem: Items can be duplicated
//Inventory i = ess.getServer().createInventory(player, InventoryType.CHEST);
//i.addItem(item);
//player.openInventory(i);
Trade.log("Sign", "Free", "Interact", username, null, username, new Trade(item, ess), sign.getBlock().getLocation(), ess);
return true;
}