Advertisement
Guest User

Untitled

a guest
Feb 7th, 2016
52
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.95 KB | None | 0 0
  1. package ---;
  2.  
  3. import org.bukkit.craftbukkit.v1_8_R1.entity.CraftPlayer;
  4. import org.bukkit.craftbukkit.v1_8_R1.inventory.CraftItemStack;
  5. import org.bukkit.entity.Player;
  6. import org.bukkit.inventory.ItemStack;
  7.  
  8. import net.minecraft.server.v1_8_R1.BlockPosition;
  9. import net.minecraft.server.v1_8_R1.ChatSerializer;
  10. import net.minecraft.server.v1_8_R1.ContainerEnchantTable;
  11. import net.minecraft.server.v1_8_R1.EntityHuman;
  12. import net.minecraft.server.v1_8_R1.EntityPlayer;
  13. import net.minecraft.server.v1_8_R1.PacketPlayOutOpenWindow;
  14.  
  15. public class EnchantingTable{
  16.  
  17. private EntityPlayer entityPlayer;
  18. private String title = "";
  19. private EnchantingTableContainer container;
  20.  
  21. public EnchantingTable(Player player){
  22. entityPlayer = ((CraftPlayer) player).getHandle();
  23. container = new EnchantingTableContainer(entityPlayer);
  24. }
  25.  
  26. public void open(){
  27. int c = entityPlayer.nextContainerCounter();
  28.  
  29. entityPlayer.playerConnection.sendPacket(new PacketPlayOutOpenWindow(c,"minecraft:enchanting_table", ChatSerializer.a("{'text':'"+title+"'}")));
  30. entityPlayer.activeContainer = container;
  31. entityPlayer.activeContainer.windowId = c;
  32. entityPlayer.activeContainer.addSlotListener(entityPlayer);
  33. }
  34. public void setTitle(String title){
  35. this.title = title;
  36. }
  37.  
  38. public void addItem(EnchantingSlot enchantingSlot, ItemStack stack){
  39. container.setItem(enchantingSlot.getSlot(), CraftItemStack.asNMSCopy(stack));
  40. }
  41.  
  42. public enum EnchantingSlot{
  43. TO_ENCHANT(0),
  44. LAPIS(1);
  45.  
  46. private int slot;
  47. private EnchantingSlot(int slot) {
  48. this.slot = slot;
  49. }
  50. public int getSlot() {
  51. return slot;
  52. }
  53. }
  54.  
  55. private class EnchantingTableContainer extends ContainerEnchantTable{
  56. public EnchantingTableContainer(EntityHuman entity) {
  57. super(entity.inventory, entity.world, new BlockPosition(0, 0, 0));
  58. }
  59.  
  60. @Override
  61. public boolean a(EntityHuman entityhuman) {
  62. return true;
  63. }
  64. }
  65. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement