Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package us.hcrealms.hcf.listener.fixes;
- import us.hcrealms.hcf.*;
- import net.minecraft.util.com.google.common.collect.*;
- import org.bukkit.event.block.*;
- import org.bukkit.inventory.*;
- import org.bukkit.block.*;
- import us.hcrealms.hcf.faction.type.*;
- import org.bukkit.entity.*;
- import org.bukkit.event.*;
- import org.bukkit.event.player.*;
- import org.bukkit.*;
- public class PearlGlitchListener implements Listener
- {
- private final ImmutableSet<Material> blockedPearlTypes;
- private final Base plugin;
- Location previous;
- public PearlGlitchListener(final Base plugin) {
- this.blockedPearlTypes = (ImmutableSet<Material>)Sets.immutableEnumSet((Enum)Material.THIN_GLASS, (Enum[])new Material[] { Material.STEP, Material.IRON_FENCE, Material.FENCE, Material.NETHER_FENCE, Material.ACACIA_STAIRS, Material.BIRCH_WOOD_STAIRS, Material.BRICK_STAIRS, Material.COBBLESTONE_STAIRS, Material.DARK_OAK_STAIRS, Material.JUNGLE_WOOD_STAIRS, Material.NETHER_BRICK_STAIRS, Material.QUARTZ_STAIRS, Material.SANDSTONE_STAIRS, Material.SMOOTH_STAIRS, Material.SPRUCE_WOOD_STAIRS, Material.WOOD_STAIRS });
- this.plugin = plugin;
- }
- @EventHandler(ignoreCancelled = true, priority = EventPriority.NORMAL)
- public void onPlayerInteract(final PlayerInteractEvent event) {
- if (event.getAction() == Action.RIGHT_CLICK_BLOCK && event.hasItem() && event.getItem().getType() == Material.ENDER_PEARL) {
- final Block block = event.getClickedBlock();
- if (block.getType().isSolid() && !(block.getState() instanceof InventoryHolder)) {
- final Faction factionAt = Base.getPlugin().getFactionManager().getFactionAt(block.getLocation());
- if (!(factionAt instanceof ClaimableFaction)) {
- return;
- }
- event.setCancelled(false);
- final Player player = event.getPlayer();
- player.setItemInHand(event.getItem());
- }
- }
- }
- @EventHandler
- public void onCommand(final PlayerCommandPreprocessEvent e) {
- if ((e.getMessage().startsWith("/minecraft:") || e.getMessage().startsWith("/bukkit:")) && !e.getPlayer().isOp()) {
- e.setCancelled(true);
- }
- }
- @EventHandler(priority = EventPriority.NORMAL, ignoreCancelled = true)
- public void disableCommand23(final PlayerCommandPreprocessEvent event) {
- event.getPlayer();
- final String message = event.getMessage().toLowerCase();
- final String c = "/me";
- if (message.equals(c) || message.startsWith(String.valueOf(c) + " ")) {
- event.setCancelled(true);
- }
- }
- @EventHandler
- public void onPlayerTeleport(final PlayerTeleportEvent e) {
- final Player p = e.getPlayer();
- if (e.isCancelled() || e.getCause() != PlayerTeleportEvent.TeleportCause.ENDER_PEARL) {
- return;
- }
- e.getTo();
- if (e.getTo().getBlock().getType() == Material.FENCE_GATE) {
- p.sendMessage(ChatColor.RED + "Invalid Pearl! Please try again");
- this.plugin.getTimerManager().enderPearlTimer.refund(p);
- e.setCancelled(true);
- }
- final Location target = e.getTo();
- target.setX(target.getBlockX() + 0.5);
- target.setZ(target.getBlockZ() + 0.5);
- e.setTo(target);
- }
- @EventHandler
- public void onMove(final PlayerInteractEvent e) {
- if (e.getPlayer().getLocation().getBlock() != null && e.getPlayer().getLocation().getBlock().getType() == Material.TRAP_DOOR && !Base.getPlugin().getFactionManager().getFactionAt(e.getPlayer().getLocation()).equals(Base.getPlugin().getFactionManager().getPlayerFaction(e.getPlayer().getUniqueId()))) {
- e.getPlayer().teleport(e.getPlayer().getLocation().add(0.0, 1.0, 0.0));
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement