Advertisement
Guest User

Untitled

a guest
Apr 4th, 2017
268
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.56 KB | None | 0 0
  1. package resourcepack;
  2.  
  3. import com.comphenix.protocol.PacketType;
  4. import com.comphenix.protocol.ProtocolLibrary;
  5. import com.comphenix.protocol.events.PacketContainer;
  6. import com.zeshanaslam.crimering.Main;
  7. import org.bukkit.ChatColor;
  8. import org.bukkit.entity.Player;
  9. import org.bukkit.event.EventHandler;
  10. import org.bukkit.event.Listener;
  11. import org.bukkit.event.player.PlayerJoinEvent;
  12. import org.bukkit.event.player.PlayerMoveEvent;
  13. import org.bukkit.event.player.PlayerQuitEvent;
  14. import org.bukkit.event.player.PlayerResourcePackStatusEvent;
  15.  
  16. import java.lang.reflect.InvocationTargetException;
  17.  
  18. public class ResourceListener implements Listener {
  19.  
  20. private final Main plugin;
  21.  
  22. public ResourceListener(Main plugin) {
  23. this.plugin = plugin;
  24. }
  25.  
  26. @EventHandler
  27. public void onJoin(PlayerJoinEvent event) {
  28. plugin.getServer().getScheduler().runTaskLater(plugin, () -> {
  29. Player player = event.getPlayer();
  30.  
  31. PacketContainer packetContainer = new PacketContainer(PacketType.Play.Server.RESOURCE_PACK_SEND);
  32. packetContainer.getStrings().write(0, plugin.getConfig().getString("Resource-pack"));
  33. packetContainer.getStrings().write(1, plugin.getConfig().getString("Resource-hash"));
  34.  
  35. try {
  36. ProtocolLibrary.getProtocolManager().sendServerPacket(player, packetContainer);
  37. } catch (InvocationTargetException e) {
  38. e.printStackTrace();
  39. }
  40. }, 80L);
  41. }
  42.  
  43. @EventHandler
  44. public void onMove(PlayerMoveEvent event) {
  45. Player player = event.getPlayer();
  46.  
  47. if (event.getFrom().getZ() != event.getTo().getZ() && event.getFrom().getX() != event.getTo().getX()) {
  48. if (!(plugin.resourcepack.contains(player.getUniqueId()))) {
  49. event.setCancelled(true);
  50. player.sendMessage(ChatColor.translateAlternateColorCodes('&', plugin.getConfig().getString("Resource-kick")));
  51. }
  52. }
  53. }
  54.  
  55. @EventHandler
  56. public void onLeave(PlayerQuitEvent event) {
  57. plugin.resourcepack.remove(event.getPlayer().getUniqueId());
  58. }
  59.  
  60. @EventHandler
  61. public void onStatus(PlayerResourcePackStatusEvent event) {
  62. plugin.getServer().getScheduler().runTask(plugin, () -> {
  63. if (event.getStatus() == PlayerResourcePackStatusEvent.Status.ACCEPTED || event.getStatus() == PlayerResourcePackStatusEvent.Status.SUCCESSFULLY_LOADED) {
  64. plugin.resourcepack.add(event.getPlayer().getUniqueId());
  65. }
  66. });
  67. }
  68. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement