mirror of
https://github.com/sekwah41/Advanced-Portals.git
synced 2024-11-23 02:55:39 +01:00
Merge pull request #101 from sekwah41/mob-spawning
Added anti pigman spawning
This commit is contained in:
commit
bfc473ec85
@ -16,6 +16,7 @@ import org.bukkit.event.EventHandler;
|
|||||||
import org.bukkit.event.EventPriority;
|
import org.bukkit.event.EventPriority;
|
||||||
import org.bukkit.event.Listener;
|
import org.bukkit.event.Listener;
|
||||||
import org.bukkit.event.block.Action;
|
import org.bukkit.event.block.Action;
|
||||||
|
import org.bukkit.event.entity.CreatureSpawnEvent;
|
||||||
import org.bukkit.event.entity.EntityCombustEvent;
|
import org.bukkit.event.entity.EntityCombustEvent;
|
||||||
import org.bukkit.event.entity.EntityDamageEvent;
|
import org.bukkit.event.entity.EntityDamageEvent;
|
||||||
import org.bukkit.event.player.*;
|
import org.bukkit.event.player.*;
|
||||||
@ -84,6 +85,13 @@ public class Listeners implements Listener {
|
|||||||
Portal.cooldown.put(event.getPlayer().getName(), System.currentTimeMillis());
|
Portal.cooldown.put(event.getPlayer().getName(), System.currentTimeMillis());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@EventHandler
|
||||||
|
public void spawnMobEvent(CreatureSpawnEvent event) {
|
||||||
|
if(event.getSpawnReason() == CreatureSpawnEvent.SpawnReason.NETHER_PORTAL && Portal.inPortalRegion(event.getLocation(), Portal.getPortalProtectionRadius())) {
|
||||||
|
event.setCancelled(true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@EventHandler
|
@EventHandler
|
||||||
public void onLeaveEvent(PlayerQuitEvent event) {
|
public void onLeaveEvent(PlayerQuitEvent event) {
|
||||||
Portal.cooldown.remove(event.getPlayer().getName());
|
Portal.cooldown.remove(event.getPlayer().getName());
|
||||||
|
@ -16,8 +16,6 @@ public class PortalPlacer implements Listener {
|
|||||||
@SuppressWarnings("unused")
|
@SuppressWarnings("unused")
|
||||||
private final AdvancedPortalsPlugin plugin;
|
private final AdvancedPortalsPlugin plugin;
|
||||||
|
|
||||||
private final int PortalProtectionRadius;
|
|
||||||
|
|
||||||
// The needed config values will be stored so they are easier to access later
|
// The needed config values will be stored so they are easier to access later
|
||||||
// an example is in the interact event in this if statement if((!UseOnlyServerAxe || event.getItem().getItemMeta().getDisplayName().equals("<EFBFBD>eP...
|
// an example is in the interact event in this if statement if((!UseOnlyServerAxe || event.getItem().getItemMeta().getDisplayName().equals("<EFBFBD>eP...
|
||||||
private boolean PortalPlace = true;
|
private boolean PortalPlace = true;
|
||||||
@ -28,8 +26,6 @@ public class PortalPlacer implements Listener {
|
|||||||
ConfigAccessor config = new ConfigAccessor(plugin, "config.yml");
|
ConfigAccessor config = new ConfigAccessor(plugin, "config.yml");
|
||||||
this.PortalPlace = config.getConfig().getBoolean("CanBuildPortalBlock");
|
this.PortalPlace = config.getConfig().getBoolean("CanBuildPortalBlock");
|
||||||
|
|
||||||
this.PortalProtectionRadius = config.getConfig().getInt("PortalProtectionRadius");
|
|
||||||
|
|
||||||
if (PortalPlace) {
|
if (PortalPlace) {
|
||||||
plugin.getServer().getPluginManager().registerEvents(this, plugin);
|
plugin.getServer().getPluginManager().registerEvents(this, plugin);
|
||||||
}
|
}
|
||||||
@ -60,7 +56,7 @@ public class PortalPlacer implements Listener {
|
|||||||
public void onBlockPhysics(BlockPhysicsEvent event) {
|
public void onBlockPhysics(BlockPhysicsEvent event) {
|
||||||
Block block = event.getBlock();
|
Block block = event.getBlock();
|
||||||
Material material = block.getType();
|
Material material = block.getType();
|
||||||
if (material == Material.PORTAL && Portal.inPortalRegion(block.getLocation(), PortalProtectionRadius))
|
if (material == Material.PORTAL && Portal.inPortalRegion(block.getLocation(), Portal.getPortalProtectionRadius()))
|
||||||
event.setCancelled(true);
|
event.setCancelled(true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -33,8 +33,6 @@ public class PortalProtect implements Listener {
|
|||||||
ConfigAccessor config = new ConfigAccessor(plugin, "config.yml");
|
ConfigAccessor config = new ConfigAccessor(plugin, "config.yml");
|
||||||
this.PortalProtect = config.getConfig().getBoolean("PortalProtection");
|
this.PortalProtect = config.getConfig().getBoolean("PortalProtection");
|
||||||
|
|
||||||
this.PortalProtectionRadius = config.getConfig().getInt("PortalProtectionRadius");
|
|
||||||
|
|
||||||
if (PortalProtect) {
|
if (PortalProtect) {
|
||||||
plugin.getServer().getPluginManager().registerEvents(this, plugin);
|
plugin.getServer().getPluginManager().registerEvents(this, plugin);
|
||||||
}
|
}
|
||||||
|
@ -36,25 +36,13 @@ import org.bukkit.plugin.Plugin;
|
|||||||
import org.bukkit.plugin.PluginDescriptionFile;
|
import org.bukkit.plugin.PluginDescriptionFile;
|
||||||
import org.bukkit.scheduler.BukkitTask;
|
import org.bukkit.scheduler.BukkitTask;
|
||||||
|
|
||||||
import java.io.BufferedReader;
|
import java.io.*;
|
||||||
import java.io.ByteArrayOutputStream;
|
|
||||||
import java.io.File;
|
|
||||||
import java.io.IOException;
|
|
||||||
import java.io.InputStreamReader;
|
|
||||||
import java.io.OutputStream;
|
|
||||||
import java.io.UnsupportedEncodingException;
|
|
||||||
import java.lang.reflect.Method;
|
import java.lang.reflect.Method;
|
||||||
import java.net.Proxy;
|
import java.net.Proxy;
|
||||||
import java.net.URL;
|
import java.net.URL;
|
||||||
import java.net.URLConnection;
|
import java.net.URLConnection;
|
||||||
import java.net.URLEncoder;
|
import java.net.URLEncoder;
|
||||||
import java.util.Collection;
|
import java.util.*;
|
||||||
import java.util.Collections;
|
|
||||||
import java.util.HashSet;
|
|
||||||
import java.util.Iterator;
|
|
||||||
import java.util.LinkedHashSet;
|
|
||||||
import java.util.Set;
|
|
||||||
import java.util.UUID;
|
|
||||||
import java.util.logging.Level;
|
import java.util.logging.Level;
|
||||||
import java.util.zip.GZIPOutputStream;
|
import java.util.zip.GZIPOutputStream;
|
||||||
|
|
||||||
|
@ -32,12 +32,16 @@ public class Portal {
|
|||||||
private static int cooldelay;
|
private static int cooldelay;
|
||||||
private static double throwback;
|
private static double throwback;
|
||||||
private static Sound portalSound;
|
private static Sound portalSound;
|
||||||
|
private static int portalProtectionRadius;
|
||||||
|
|
||||||
public Portal(AdvancedPortalsPlugin plugin) {
|
public Portal(AdvancedPortalsPlugin plugin) {
|
||||||
ConfigAccessor config = new ConfigAccessor(plugin, "config.yml");
|
ConfigAccessor config = new ConfigAccessor(plugin, "config.yml");
|
||||||
showBungeeMessage = config.getConfig().getBoolean("ShowBungeeWarpMessage");
|
this.showBungeeMessage = config.getConfig().getBoolean("ShowBungeeWarpMessage");
|
||||||
cooldelay = config.getConfig().getInt("PortalCooldown", 5);
|
this.cooldelay = config.getConfig().getInt("PortalCooldown", 5);
|
||||||
throwback = config.getConfig().getDouble("ThrowbackAmount", 0.7);
|
|
||||||
|
this.portalProtectionRadius = config.getConfig().getInt("PortalProtectionRadius");
|
||||||
|
|
||||||
|
this.throwback = config.getConfig().getDouble("ThrowbackAmount", 0.7);
|
||||||
|
|
||||||
this.portalSound = WarpEffects.findSound(plugin, "BLOCK_PORTAL_TRAVEL", "PORTAL_TRAVEL");
|
this.portalSound = WarpEffects.findSound(plugin, "BLOCK_PORTAL_TRAVEL", "PORTAL_TRAVEL");
|
||||||
|
|
||||||
@ -566,4 +570,8 @@ public class Portal {
|
|||||||
player.setVelocity(velocity.setY(0).normalize().multiply(-1).setY(throwback));
|
player.setVelocity(velocity.setY(0).normalize().multiply(-1).setY(throwback));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static int getPortalProtectionRadius() {
|
||||||
|
return portalProtectionRadius;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user