Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package me.rida.bookjoin;
- import org.bukkit.Material;
- import org.bukkit.craftbukkit.v1_8_R3.entity.CraftPlayer;
- import org.bukkit.entity.Player;
- import org.bukkit.event.EventHandler;
- import org.bukkit.event.EventPriority;
- import org.bukkit.event.Listener;
- import org.bukkit.event.player.PlayerJoinEvent;
- import org.bukkit.inventory.Inventory;
- import org.bukkit.inventory.ItemStack;
- import org.bukkit.plugin.Plugin;
- import org.bukkit.plugin.java.JavaPlugin;
- import io.netty.buffer.ByteBuf;
- import io.netty.buffer.Unpooled;
- import net.minecraft.server.v1_8_R3.PacketDataSerializer;
- import net.minecraft.server.v1_8_R3.PacketPlayOutCustomPayload;
- public class BookJoin extends JavaPlugin implements Listener {
- public static BookJoin Instance;
- public static Plugin plugin = Instance;
- @Override
- public void onEnable() {
- getServer().getPluginManager().registerEvents(this, this);
- }
- @Override
- public void onDisable() {
- }
- @EventHandler(ignoreCancelled = true, priority = EventPriority.MONITOR)
- public void onJoin(PlayerJoinEvent e) {
- Player p = e.getPlayer();
- if (!p.hasPlayedBefore()) {
- this.getServer().getScheduler().scheduleSyncDelayedTask(this, new Runnable() {
- public void run() {
- openBook(p);
- }
- }, 10L);
- }
- }
- public void openBook(Player p) {
- ItemStack book = new ItemStack(Material.WRITTEN_BOOK);
- Inventory inv = p.getInventory();for (int i=0; i <= 35; i+=1){
- if(inv.contains(Material.WRITTEN_BOOK)){
- int slot = inv.first(Material.WRITTEN_BOOK) +1;
- ItemStack old = p.getInventory().getItem(slot);
- p.getInventory().setItem(slot, book);
- ByteBuf buf = Unpooled.buffer(256);
- buf.setByte(0, (byte)0);
- buf.writerIndex(1);
- PacketPlayOutCustomPayload packet = new PacketPlayOutCustomPayload("MC|BOpen", new PacketDataSerializer(buf));
- ((CraftPlayer)p).getHandle().playerConnection.sendPacket(packet);
- p.getInventory().setItem(slot, old);
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment