Fix NPE, actually call PetSpawnEvent when spawning a pet
This commit is contained in:
parent
fc5c420176
commit
b8d2f784c7
@ -36,6 +36,7 @@ import mineplex.core.gadget.gadgets.particle.king.types.Peasant;
|
|||||||
import mineplex.core.hologram.Hologram;
|
import mineplex.core.hologram.Hologram;
|
||||||
import mineplex.core.hologram.HologramManager;
|
import mineplex.core.hologram.HologramManager;
|
||||||
import mineplex.core.mount.event.MountActivateEvent;
|
import mineplex.core.mount.event.MountActivateEvent;
|
||||||
|
import mineplex.core.pet.event.PetSpawnEvent;
|
||||||
import mineplex.core.updater.UpdateType;
|
import mineplex.core.updater.UpdateType;
|
||||||
import mineplex.core.updater.event.UpdateEvent;
|
import mineplex.core.updater.event.UpdateEvent;
|
||||||
|
|
||||||
@ -664,6 +665,10 @@ public class CastleManager extends MiniPlugin
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Stops players from using mounts inside the castle
|
||||||
|
* @param event
|
||||||
|
*/
|
||||||
@EventHandler
|
@EventHandler
|
||||||
public void onMount(MountActivateEvent event)
|
public void onMount(MountActivateEvent event)
|
||||||
{
|
{
|
||||||
@ -673,4 +678,14 @@ public class CastleManager extends MiniPlugin
|
|||||||
if (isInsideCastle(event.getPlayer().getLocation()))
|
if (isInsideCastle(event.getPlayer().getLocation()))
|
||||||
event.setCancelled(true);
|
event.setCancelled(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@EventHandler
|
||||||
|
public void onPetSpawn(PetSpawnEvent event)
|
||||||
|
{
|
||||||
|
if (!isHub())
|
||||||
|
return;
|
||||||
|
|
||||||
|
if (isInsideCastle(event.getLocation()))
|
||||||
|
event.setCancelled(true);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -70,9 +70,9 @@ import mineplex.core.disguise.disguises.DisguiseVillager;
|
|||||||
import mineplex.core.disguise.disguises.DisguiseWither;
|
import mineplex.core.disguise.disguises.DisguiseWither;
|
||||||
import mineplex.core.disguise.disguises.DisguiseZombie;
|
import mineplex.core.disguise.disguises.DisguiseZombie;
|
||||||
import mineplex.core.donation.DonationManager;
|
import mineplex.core.donation.DonationManager;
|
||||||
import mineplex.core.gadget.gadgets.particle.king.CastleManager;
|
|
||||||
import mineplex.core.inventory.InventoryManager;
|
import mineplex.core.inventory.InventoryManager;
|
||||||
import mineplex.core.itemstack.ItemStackFactory;
|
import mineplex.core.itemstack.ItemStackFactory;
|
||||||
|
import mineplex.core.pet.event.PetSpawnEvent;
|
||||||
import mineplex.core.pet.repository.PetRepository;
|
import mineplex.core.pet.repository.PetRepository;
|
||||||
import mineplex.core.pet.repository.token.ClientPetTokenWrapper;
|
import mineplex.core.pet.repository.token.ClientPetTokenWrapper;
|
||||||
import mineplex.core.updater.UpdateType;
|
import mineplex.core.updater.UpdateType;
|
||||||
@ -97,7 +97,6 @@ public class PetManager extends MiniClientPlugin<PetClient>
|
|||||||
private DonationManager _donationManager;
|
private DonationManager _donationManager;
|
||||||
private CoreClientManager _clientManager;
|
private CoreClientManager _clientManager;
|
||||||
private InventoryManager _inventoryManager;
|
private InventoryManager _inventoryManager;
|
||||||
private CastleManager _castleManager;
|
|
||||||
|
|
||||||
private Map<Entity, FlyingPetManager> _flyingPets = new HashMap<>();
|
private Map<Entity, FlyingPetManager> _flyingPets = new HashMap<>();
|
||||||
private Map<Entity, TrueLoveData> _trueLovePets = new HashMap<>();
|
private Map<Entity, TrueLoveData> _trueLovePets = new HashMap<>();
|
||||||
@ -110,8 +109,7 @@ public class PetManager extends MiniClientPlugin<PetClient>
|
|||||||
private ShapeWings _cupidWingsEdge = new ShapeWings(UtilParticle.ParticleType.RED_DUST.particleName, new Vector(0, 0, 0), 1, 0, true, ShapeWings.DEFAULT_ROTATION, ShapeWings.SMALL_HEART_WING_PATTERN);
|
private ShapeWings _cupidWingsEdge = new ShapeWings(UtilParticle.ParticleType.RED_DUST.particleName, new Vector(0, 0, 0), 1, 0, true, ShapeWings.DEFAULT_ROTATION, ShapeWings.SMALL_HEART_WING_PATTERN);
|
||||||
|
|
||||||
public PetManager(JavaPlugin plugin, CoreClientManager clientManager, DonationManager donationManager
|
public PetManager(JavaPlugin plugin, CoreClientManager clientManager, DonationManager donationManager
|
||||||
, InventoryManager inventoryManager, DisguiseManager disguiseManager, mineplex.core.creature.Creature creatureModule, BlockRestore restore,
|
, InventoryManager inventoryManager, DisguiseManager disguiseManager, mineplex.core.creature.Creature creatureModule, BlockRestore restore)
|
||||||
CastleManager castleManager)
|
|
||||||
{
|
{
|
||||||
super("Pet Manager", plugin);
|
super("Pet Manager", plugin);
|
||||||
|
|
||||||
@ -216,11 +214,11 @@ public class PetManager extends MiniClientPlugin<PetClient>
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (_castleManager.isInsideCastle(location))
|
PetSpawnEvent petSpawnEvent = new PetSpawnEvent(player, petType.getEntityType(), location);
|
||||||
{
|
Bukkit.getPluginManager().callEvent(petSpawnEvent);
|
||||||
UtilPlayer.message(player, F.main("Pets", "You cannot spawn a pet inside the castle!"));
|
|
||||||
|
if (petSpawnEvent.isCancelled())
|
||||||
return;
|
return;
|
||||||
}
|
|
||||||
|
|
||||||
Entity pet;
|
Entity pet;
|
||||||
EntityType entityType = petType.getEntityType();
|
EntityType entityType = petType.getEntityType();
|
||||||
|
@ -23,17 +23,17 @@ public class PetSpawnEvent extends Event implements Cancellable
|
|||||||
_location = location;
|
_location = location;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Player GetPlayer()
|
public Player getPlayer()
|
||||||
{
|
{
|
||||||
return _player;
|
return _player;
|
||||||
}
|
}
|
||||||
|
|
||||||
public EntityType GetEntityType()
|
public EntityType getEntityType()
|
||||||
{
|
{
|
||||||
return _entityType;
|
return _entityType;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Location GetLocation()
|
public Location getLocation()
|
||||||
{
|
{
|
||||||
return _location;
|
return _location;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user