Hub Gadgets

Hub Dragon (Hero Only)
XMAS block efficiency
This commit is contained in:
Chiss 2013-12-21 20:05:42 +11:00
parent c969775df3
commit 0585116e78
19 changed files with 401 additions and 176 deletions

View File

@ -78,6 +78,8 @@ public class HubManager extends MiniClientPlugin<HubClient>
private PartyManager _partyManager; private PartyManager _partyManager;
private Portal _portal; private Portal _portal;
private StatsManager _statsManager; private StatsManager _statsManager;
private GadgetManager _gadgetManager;
private MountManager _mountManager;
private VisibilityManager _visibilityManager; private VisibilityManager _visibilityManager;
private TutorialManager _tutorialManager; private TutorialManager _tutorialManager;
@ -120,7 +122,8 @@ public class HubManager extends MiniClientPlugin<HubClient>
new JumpManager(this); new JumpManager(this);
new NewsManager(this); new NewsManager(this);
new GadgetManager(this, new MountManager(this)); _mountManager = new MountManager(this);
_gadgetManager = new GadgetManager(this, _mountManager);
_partyManager = partyManager; _partyManager = partyManager;
_tutorialManager = new TutorialManager(this, donationManager, taskManager, _textCreator); _tutorialManager = new TutorialManager(this, donationManager, taskManager, _textCreator);
@ -672,6 +675,16 @@ public class HubManager extends MiniClientPlugin<HubClient>
return _disguiseManager; return _disguiseManager;
} }
public GadgetManager GetGadget()
{
return _gadgetManager;
}
public MountManager GetMount()
{
return _mountManager;
}
public ParkourManager GetParkour() public ParkourManager GetParkour()
{ {
return _parkour; return _parkour;
@ -746,6 +759,4 @@ public class HubManager extends MiniClientPlugin<HubClient>
} }
} }
} }
} }

View File

@ -22,11 +22,7 @@ import mineplex.core.common.util.UtilAction;
import mineplex.core.common.util.UtilAlg; import mineplex.core.common.util.UtilAlg;
import mineplex.core.itemstack.ItemStackFactory; import mineplex.core.itemstack.ItemStackFactory;
import mineplex.hub.HubManager; import mineplex.hub.HubManager;
import mineplex.hub.gadget.gadgets.Christmas2013_Helmet; import mineplex.hub.gadget.gadgets.*;
import mineplex.hub.gadget.gadgets.Christmas2013_SnowCannon;
import mineplex.hub.gadget.gadgets.Halloween2013_BatGun;
import mineplex.hub.gadget.gadgets.Halloween2013_Helmet;
import mineplex.hub.gadget.gadgets.PaintballGun;
import mineplex.hub.gadget.types.ArmorGadget; import mineplex.hub.gadget.types.ArmorGadget;
import mineplex.hub.gadget.types.ArmorGadget.ArmorSlot; import mineplex.hub.gadget.types.ArmorGadget.ArmorSlot;
import mineplex.hub.gadget.types.Gadget; import mineplex.hub.gadget.types.Gadget;

View File

@ -3,6 +3,7 @@ package mineplex.hub.gadget.ui;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import mineplex.core.shop.item.IButton; import mineplex.core.shop.item.IButton;
import mineplex.hub.mount.HorseMount;
import mineplex.hub.mount.Mount; import mineplex.hub.mount.Mount;
public class ActivateMountButton implements IButton public class ActivateMountButton implements IButton

View File

@ -3,6 +3,7 @@ package mineplex.hub.gadget.ui;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import mineplex.core.shop.item.IButton; import mineplex.core.shop.item.IButton;
import mineplex.hub.mount.HorseMount;
import mineplex.hub.mount.Mount; import mineplex.hub.mount.Mount;
public class DeactivateMountButton implements IButton public class DeactivateMountButton implements IButton

View File

@ -20,6 +20,7 @@ import mineplex.hub.gadget.GadgetManager;
import mineplex.hub.gadget.types.ArmorGadget; import mineplex.hub.gadget.types.ArmorGadget;
import mineplex.hub.gadget.types.Gadget; import mineplex.hub.gadget.types.Gadget;
import mineplex.hub.gadget.types.ItemGadget; import mineplex.hub.gadget.types.ItemGadget;
import mineplex.hub.mount.HorseMount;
import mineplex.hub.mount.Mount; import mineplex.hub.mount.Mount;
import mineplex.hub.mount.MountManager; import mineplex.hub.mount.MountManager;
@ -204,7 +205,7 @@ public class GadgetPage extends ShopPageBase<GadgetManager, GadgetShop>
Player.closeInventory(); Player.closeInventory();
} }
public void PurchaseMount(final Player player, final Mount mount) public void PurchaseMount(final Player player, final Mount _mount)
{ {
Shop.OpenPageForPlayer(Player, new ConfirmationPage<GadgetManager, GadgetShop>(Plugin, Shop, ClientManager, DonationManager, new Runnable() Shop.OpenPageForPlayer(Player, new ConfirmationPage<GadgetManager, GadgetShop>(Plugin, Shop, ClientManager, DonationManager, new Runnable()
{ {
@ -212,20 +213,20 @@ public class GadgetPage extends ShopPageBase<GadgetManager, GadgetShop>
{ {
Player.closeInventory(); Player.closeInventory();
} }
}, null, mount, CurrencyType.Gems, Player)); }, null, _mount, CurrencyType.Gems, Player));
} }
public void ActivateMount(Player player, Mount mount) public void ActivateMount(Player player, Mount _mount)
{ {
PlayAcceptSound(player); PlayAcceptSound(player);
mount.Enable(player); _mount.Enable(player);
Player.closeInventory(); Player.closeInventory();
} }
public void DeactivateMount(Player player, Mount mount) public void DeactivateMount(Player player, Mount _mount)
{ {
PlayAcceptSound(player); PlayAcceptSound(player);
mount.Disable(player); _mount.Disable(player);
Player.closeInventory(); Player.closeInventory();
} }
} }

View File

@ -3,6 +3,7 @@ package mineplex.hub.gadget.ui;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import mineplex.core.shop.item.IButton; import mineplex.core.shop.item.IButton;
import mineplex.hub.mount.HorseMount;
import mineplex.hub.mount.Mount; import mineplex.hub.mount.Mount;
public class MountButton implements IButton public class MountButton implements IButton

View File

@ -12,6 +12,8 @@ import mineplex.core.common.util.UtilTime;
import mineplex.core.updater.UpdateType; import mineplex.core.updater.UpdateType;
import mineplex.core.updater.event.UpdateEvent; import mineplex.core.updater.event.UpdateEvent;
import mineplex.hub.HubManager; import mineplex.hub.HubManager;
import mineplex.hub.mount.Mount;
import mineplex.hub.mount.types.Dragon;
public class NewsManager extends MiniPlugin public class NewsManager extends MiniPlugin
{ {
@ -65,6 +67,13 @@ public class NewsManager extends MiniPlugin
for (Player player : UtilServer.getPlayers()) for (Player player : UtilServer.getPlayers())
UtilDisplay.displayTextBar(Manager.GetPlugin(), player, (double)_newsIndex/(double)(_news.length-1), text); UtilDisplay.displayTextBar(Manager.GetPlugin(), player, (double)_newsIndex/(double)(_news.length-1), text);
}
for (Mount mount : Manager.GetMount().getMounts())
{
if (mount instanceof Dragon)
{
((Dragon)mount).SetName(text);
}
}
}
} }

View File

@ -8,6 +8,7 @@ import org.bukkit.Material;
import org.bukkit.Sound; import org.bukkit.Sound;
import org.bukkit.block.Block; import org.bukkit.block.Block;
import org.bukkit.block.BlockFace; import org.bukkit.block.BlockFace;
import org.bukkit.entity.EnderDragon;
import org.bukkit.entity.Entity; import org.bukkit.entity.Entity;
import org.bukkit.entity.LivingEntity; import org.bukkit.entity.LivingEntity;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
@ -137,7 +138,7 @@ public class ParkourManager extends MiniPlugin
{ {
if (InParkour(player)) if (InParkour(player))
{ {
if (player.getVehicle() != null || player.getPassenger() != null) if ((player.getVehicle() != null && !(player.getVehicle() instanceof EnderDragon)) || player.getPassenger() != null)
{ {
player.eject(); player.eject();
player.leaveVehicle(); player.leaveVehicle();

View File

@ -8,6 +8,7 @@ import org.bukkit.GameMode;
import org.bukkit.Material; import org.bukkit.Material;
import org.bukkit.Sound; import org.bukkit.Sound;
import org.bukkit.block.Block; import org.bukkit.block.Block;
import org.bukkit.entity.EnderDragon;
import org.bukkit.entity.Entity; import org.bukkit.entity.Entity;
import org.bukkit.entity.Horse; import org.bukkit.entity.Horse;
import org.bukkit.entity.LivingEntity; import org.bukkit.entity.LivingEntity;
@ -122,6 +123,9 @@ public class StackerManager extends MiniPlugin implements IThrown
if (stackee instanceof Horse) if (stackee instanceof Horse)
return; return;
if (stackee instanceof EnderDragon)
return;
if (stackee instanceof Player && ((Player)stackee).getGameMode() != GameMode.SURVIVAL) if (stackee instanceof Player && ((Player)stackee).getGameMode() != GameMode.SURVIVAL)
return; return;

View File

@ -0,0 +1,58 @@
package mineplex.hub.mount;
import mineplex.core.common.util.UtilAlg;
import mineplex.core.common.util.UtilEnt;
import org.bukkit.Location;
import org.bukkit.Sound;
import org.bukkit.craftbukkit.v1_6_R3.entity.CraftEnderDragon;
import org.bukkit.entity.EnderDragon;
import org.bukkit.entity.Entity;
import org.bukkit.entity.Player;
import org.bukkit.util.Vector;
public class DragonData
{
DragonMount Host;
public EnderDragon Dragon;
public Player Rider;
public Entity TargetEntity = null;
public Location Location = null;
public float Pitch = 0;
public Vector Velocity = new Vector(0,0,0);
public DragonData(DragonMount dragonMount, Player rider)
{
Host = dragonMount;
Rider = rider;
Velocity = rider.getLocation().getDirection().setY(0).normalize();
Pitch = UtilAlg.GetPitch(rider.getLocation().getDirection());
Location = rider.getLocation();
//Spawn Dragon
Dragon = rider.getWorld().spawn(rider.getLocation(), EnderDragon.class);
UtilEnt.Vegetate(Dragon);
UtilEnt.ghost(Dragon, true, false);
rider.getWorld().playSound(rider.getLocation(), Sound.ENDERDRAGON_GROWL, 20f, 1f);
Dragon.setPassenger(Rider);
}
public void Move()
{
((CraftEnderDragon)Dragon).getHandle().setTargetBlock(GetTarget().getBlockX(), GetTarget().getBlockY(), GetTarget().getBlockZ());
}
public Location GetTarget()
{
return Rider.getLocation().add(Rider.getLocation().getDirection().multiply(40));
}
}

View File

@ -0,0 +1,46 @@
package mineplex.hub.mount;
import org.bukkit.Material;
import org.bukkit.entity.Player;
import mineplex.core.common.util.F;
import mineplex.core.common.util.UtilPlayer;
public class DragonMount extends Mount<DragonData>
{
public DragonMount(MountManager manager, String name, String[] desc, Material displayMaterial, byte displayData, int cost)
{
super (manager, name, displayMaterial, displayData, desc, cost);
KnownPackage = false;
Manager.GetPlugin().getServer().getPluginManager().registerEvents(this, Manager.GetPlugin());
}
@Override
public void Enable(final Player player)
{
//Remove other mounts
Manager.DeregisterAll(player);
//Inform
UtilPlayer.message(player, F.main("Mount", "You spawned " + F.elem(GetName()) + "."));
//Store
_active.put(player, new DragonData(this, player));
}
@Override
public void Disable(Player player)
{
DragonData data = _active.remove(player);
if (data != null)
{
data.Dragon.remove();
//Inform
UtilPlayer.message(player, F.main("Mount", "You despawned " + F.elem(GetName()) + "."));
}
}
}

View File

@ -0,0 +1,142 @@
package mineplex.hub.mount;
import java.util.Iterator;
import mineplex.core.common.util.F;
import mineplex.core.common.util.UtilAlg;
import mineplex.core.common.util.UtilMath;
import mineplex.core.common.util.UtilPlayer;
import mineplex.core.updater.UpdateType;
import mineplex.core.updater.event.UpdateEvent;
import net.minecraft.server.v1_6_R3.EntityCreature;
import net.minecraft.server.v1_6_R3.Navigation;
import org.bukkit.Location;
import org.bukkit.Material;
import org.bukkit.craftbukkit.v1_6_R3.entity.CraftCreature;
import org.bukkit.entity.Horse.Variant;
import org.bukkit.entity.Horse;
import org.bukkit.entity.Player;
import org.bukkit.entity.Horse.Color;
import org.bukkit.entity.Horse.Style;
import org.bukkit.event.EventHandler;
import org.bukkit.inventory.ItemStack;
public class HorseMount extends Mount<Horse>
{
private Color _color;
private Style _style;
private Variant _variant;
private double _jump;
private Material _armor;
public HorseMount(MountManager manager, String name, String[] desc, Material displayMaterial, byte displayData, int cost, Color color, Style style, Variant variant, double jump, Material armor)
{
super (manager, name, displayMaterial, displayData, desc, cost);
KnownPackage = false;
_color = color;
_style = style;
_variant = variant;
_jump = jump;
_armor = armor;
Manager.GetPlugin().getServer().getPluginManager().registerEvents(this, Manager.GetPlugin());
}
@EventHandler
public void UpdateHorse(UpdateEvent event)
{
if (event.getType() != UpdateType.SEC)
return;
Iterator<Player> activeIterator = _active.keySet().iterator();
while (activeIterator.hasNext())
{
Player player = activeIterator.next();
Horse horse = _active.get(player);
//Invalid (dead)
if (!horse.isValid())
{
horse.remove();
activeIterator.remove();
continue;
}
//Parkour
if (Manager.Manager.GetParkour().InParkour(horse))
{
horse.remove();
activeIterator.remove();
continue;
}
//Move
EntityCreature ec = ((CraftCreature)horse).getHandle();
Navigation nav = ec.getNavigation();
Location target = player.getLocation().add(UtilAlg.getTrajectory(player, horse).multiply(2));
if (UtilMath.offset(horse.getLocation(), target) > 12)
{
target = horse.getLocation();
target.add(UtilAlg.getTrajectory(horse, player).multiply(12));
nav.a(target.getX(), target.getY(), target.getZ(), 1.4f);
}
else if (UtilMath.offset(horse, player) > 4)
{
nav.a(target.getX(), target.getY(), target.getZ(), 1.4f);
}
}
}
public void Enable(Player player)
{
//Parkour
if (Manager.Manager.GetParkour().InParkour(player))
{
UtilPlayer.message(player, F.main("Mount", "You cannot use Mounts near Parkour."));
return;
}
//Remove other mounts
Manager.DeregisterAll(player);
Horse horse = player.getWorld().spawn(player.getLocation(), Horse.class);
horse.setAdult();
horse.setAgeLock(true);
horse.setColor(_color);
horse.setStyle(_style);
horse.setVariant(_variant);
horse.setOwner(player);
horse.setMaxDomestication(1);
horse.setJumpStrength(_jump);
horse.getInventory().setSaddle(new ItemStack(Material.SADDLE));
if (_armor != null)
horse.getInventory().setArmor(new ItemStack(_armor));
horse.setCustomName(player.getName() + "'s " + GetName());
horse.setCustomNameVisible(true);
//Inform
UtilPlayer.message(player, F.main("Mount", "You spawned " + F.elem(GetName()) + "."));
//Store
_active.put(player, horse);
}
public void Disable(Player player)
{
Horse horse = _active.remove(player);
if (horse != null)
{
horse.remove();
//Inform
UtilPlayer.message(player, F.main("Mount", "You despawned " + F.elem(GetName()) + "."));
}
}
}

View File

@ -1,83 +1,40 @@
package mineplex.hub.mount; package mineplex.hub.mount;
import java.util.HashMap; import java.util.HashMap;
import java.util.HashSet; import java.util.HashSet;
import java.util.Iterator;
import mineplex.core.common.CurrencyType;
import mineplex.core.common.util.F;
import mineplex.core.common.util.UtilAlg;
import mineplex.core.common.util.UtilMath;
import mineplex.core.common.util.UtilPlayer;
import mineplex.core.shop.item.SalesPackageBase;
import mineplex.core.updater.UpdateType;
import mineplex.core.updater.event.UpdateEvent;
import net.minecraft.server.v1_6_R3.EntityCreature;
import net.minecraft.server.v1_6_R3.Navigation;
import org.bukkit.Location;
import org.bukkit.Material; import org.bukkit.Material;
import org.bukkit.craftbukkit.v1_6_R3.entity.CraftCreature;
import org.bukkit.entity.Horse.Variant;
import org.bukkit.entity.Horse;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.bukkit.entity.Horse.Color;
import org.bukkit.entity.Horse.Style;
import org.bukkit.event.EventHandler; import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener; import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerJoinEvent; import org.bukkit.event.player.PlayerJoinEvent;
import org.bukkit.event.player.PlayerQuitEvent; import org.bukkit.event.player.PlayerQuitEvent;
import org.bukkit.inventory.ItemStack;
public class Mount extends SalesPackageBase implements Listener import mineplex.core.common.CurrencyType;
import mineplex.core.shop.item.SalesPackageBase;
public abstract class Mount<T> extends SalesPackageBase implements Listener
{ {
private HashSet<Player> _owners = new HashSet<Player>(); protected HashSet<Player> _owners = new HashSet<Player>();
private HashMap<Player, Horse> _active = new HashMap<Player, Horse>(); protected HashMap<Player, T> _active = new HashMap<Player, T>();
public MountManager Manager; public MountManager Manager;
private Color _color; public Mount(MountManager manager, String name, Material material, byte displayData, String[] description, int gems)
private Style _style;
private Variant _variant;
private double _jump;
private Material _armor;
public Mount(MountManager manager, String name, String[] desc, Material displayMaterial, byte displayData, int cost, Color color, Style style, Variant variant, double jump, Material armor)
{ {
super (name, displayMaterial, displayData, desc, cost); super(name, material, displayData, description, gems);
KnownPackage = false;
Manager = manager; Manager = manager;
_color = color;
_style = style;
_variant = variant;
_jump = jump;
_armor = armor;
Manager.GetPlugin().getServer().getPluginManager().registerEvents(this, Manager.GetPlugin());
} }
public HashSet<Player> GetOwners() @Override
public void Sold(Player player, CurrencyType currencyType)
{ {
return _owners;
} }
public HashMap<Player, Horse> GetActive() public abstract void Enable(Player player);
{ public abstract void Disable(Player player);
return _active;
}
public boolean IsActive(Player player)
{
return _active.containsKey(player);
}
public boolean HasMount(Player player)
{
return _owners.contains(player);
}
@EventHandler @EventHandler
public void PlayerJoin(PlayerJoinEvent event) public void PlayerJoin(PlayerJoinEvent event)
@ -93,105 +50,23 @@ public class Mount extends SalesPackageBase implements Listener
Disable(event.getPlayer()); Disable(event.getPlayer());
} }
@EventHandler public HashSet<Player> GetOwners()
public void UpdateHorse(UpdateEvent event)
{ {
if (event.getType() != UpdateType.SEC) return _owners;
return;
Iterator<Player> activeIterator = _active.keySet().iterator();
while (activeIterator.hasNext())
{
Player player = activeIterator.next();
Horse horse = _active.get(player);
//Invalid (dead)
if (!horse.isValid())
{
horse.remove();
activeIterator.remove();
continue;
}
//Parkour
if (Manager.Manager.GetParkour().InParkour(horse))
{
horse.remove();
activeIterator.remove();
continue;
}
//Move
EntityCreature ec = ((CraftCreature)horse).getHandle();
Navigation nav = ec.getNavigation();
Location target = player.getLocation().add(UtilAlg.getTrajectory(player, horse).multiply(2));
if (UtilMath.offset(horse.getLocation(), target) > 12)
{
target = horse.getLocation();
target.add(UtilAlg.getTrajectory(horse, player).multiply(12));
nav.a(target.getX(), target.getY(), target.getZ(), 1.4f);
}
else if (UtilMath.offset(horse, player) > 4)
{
nav.a(target.getX(), target.getY(), target.getZ(), 1.4f);
}
}
} }
public void Enable(Player player) public HashMap<Player, T> GetActive()
{ {
//Parkour return _active;
if (Manager.Manager.GetParkour().InParkour(player))
{
UtilPlayer.message(player, F.main("Mount", "You cannot use Mounts near Parkour."));
return;
}
//Remove other mounts
Manager.DeregisterAll(player);
Horse horse = player.getWorld().spawn(player.getLocation(), Horse.class);
horse.setAdult();
horse.setAgeLock(true);
horse.setColor(_color);
horse.setStyle(_style);
horse.setVariant(_variant);
horse.setOwner(player);
horse.setMaxDomestication(1);
horse.setJumpStrength(_jump);
horse.getInventory().setSaddle(new ItemStack(Material.SADDLE));
if (_armor != null)
horse.getInventory().setArmor(new ItemStack(_armor));
horse.setCustomName(player.getName() + "'s " + GetName());
horse.setCustomNameVisible(true);
//Inform
UtilPlayer.message(player, F.main("Mount", "You spawned " + F.elem(GetName()) + "."));
//Store
_active.put(player, horse);
} }
public void Disable(Player player) public boolean IsActive(Player player)
{ {
Horse horse = _active.remove(player); return _active.containsKey(player);
if (horse != null)
{
horse.remove();
//Inform
UtilPlayer.message(player, F.main("Mount", "You despawned " + F.elem(GetName()) + "."));
}
} }
@Override public boolean HasMount(Player player)
public void Sold(Player player, CurrencyType currencyType)
{ {
return _owners.contains(player);
} }
} }

View File

@ -39,6 +39,7 @@ public class MountManager extends MiniPlugin
_types.add(new Undead(this)); _types.add(new Undead(this));
_types.add(new Frost(this)); _types.add(new Frost(this));
_types.add(new Mule(this)); _types.add(new Mule(this));
_types.add(new Dragon(this));
} }
public HashSet<Mount> getMounts() public HashSet<Mount> getMounts()
@ -51,9 +52,9 @@ public class MountManager extends MiniPlugin
{ {
if (Manager.GetClients().Get(event.getPlayer()).GetRank().Has(Rank.MODERATOR)) if (Manager.GetClients().Get(event.getPlayer()).GetRank().Has(Rank.MODERATOR))
{ {
for (Mount gadget : _types) for (Mount mount : _types)
{ {
Manager.GetDonation().Get(event.getPlayer().getName()).AddUnknownSalesPackagesOwned(gadget.GetName()); Manager.GetDonation().Get(event.getPlayer().getName()).AddUnknownSalesPackagesOwned(mount.GetName());
} }
} }
} }

View File

@ -0,0 +1,78 @@
package mineplex.hub.mount.types;
import java.util.HashSet;
import org.bukkit.Material;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.entity.EntityTargetEvent;
import mineplex.core.common.util.C;
import mineplex.core.updater.UpdateType;
import mineplex.core.updater.event.UpdateEvent;
import mineplex.hub.mount.DragonData;
import mineplex.hub.mount.DragonMount;
import mineplex.hub.mount.MountManager;
public class Dragon extends DragonMount
{
public Dragon(MountManager manager)
{
super(manager, "Ethereal Dragon", new String[]
{
C.cWhite + "From the distant ether realm,",
C.cWhite + "this prized dragon is said to",
C.cWhite + "obey only true Heroes!",
" ",
C.cDPurple + "Unlocked with Hero Rank",
},
Material.DRAGON_EGG,
(byte)0,
-1);
}
@EventHandler
public void DragonLocation(UpdateEvent event)
{
if (event.getType() != UpdateType.TICK)
return;
for (DragonData data : GetActive().values())
data.Move();
HashSet<Player> toRemove = new HashSet<Player>();
for (Player player : GetActive().keySet())
{
DragonData data = GetActive().get(player);
if (data == null)
{
toRemove.add(player);
continue;
}
if (!data.Dragon.isValid() || data.Dragon.getPassenger() == null)
{
data.Dragon.remove();
toRemove.add(player);
continue;
}
}
for (Player player : toRemove)
Disable(player);
}
@EventHandler
public void DragonTargetCancel(EntityTargetEvent event)
{
event.setCancelled(true);
}
public void SetName(String news)
{
for (DragonData dragon : GetActive().values())
dragon.Dragon.setCustomName(news);
}
}

View File

@ -18,10 +18,10 @@ import mineplex.core.common.util.UtilServer;
import mineplex.core.common.util.UtilParticle.ParticleType; import mineplex.core.common.util.UtilParticle.ParticleType;
import mineplex.core.updater.UpdateType; import mineplex.core.updater.UpdateType;
import mineplex.core.updater.event.UpdateEvent; import mineplex.core.updater.event.UpdateEvent;
import mineplex.hub.mount.Mount; import mineplex.hub.mount.HorseMount;
import mineplex.hub.mount.MountManager; import mineplex.hub.mount.MountManager;
public class Frost extends Mount public class Frost extends HorseMount
{ {
public Frost(MountManager manager) public Frost(MountManager manager)
{ {

View File

@ -6,10 +6,10 @@ import org.bukkit.entity.Horse.Color;
import org.bukkit.entity.Horse.Style; import org.bukkit.entity.Horse.Style;
import org.bukkit.entity.Horse.Variant; import org.bukkit.entity.Horse.Variant;
import mineplex.hub.mount.Mount; import mineplex.hub.mount.HorseMount;
import mineplex.hub.mount.MountManager; import mineplex.hub.mount.MountManager;
public class Mule extends Mount public class Mule extends HorseMount
{ {
public Mule(MountManager manager) public Mule(MountManager manager)
{ {

View File

@ -14,10 +14,10 @@ import mineplex.core.common.util.UtilServer;
import mineplex.core.common.util.UtilParticle.ParticleType; import mineplex.core.common.util.UtilParticle.ParticleType;
import mineplex.core.updater.UpdateType; import mineplex.core.updater.UpdateType;
import mineplex.core.updater.event.UpdateEvent; import mineplex.core.updater.event.UpdateEvent;
import mineplex.hub.mount.Mount; import mineplex.hub.mount.HorseMount;
import mineplex.hub.mount.MountManager; import mineplex.hub.mount.MountManager;
public class Undead extends Mount public class Undead extends HorseMount
{ {
public Undead(MountManager manager) public Undead(MountManager manager)
{ {

View File

@ -72,7 +72,7 @@ public class BossFloor
for (Location loc : _floor.keySet()) for (Location loc : _floor.keySet())
{ {
if (loc.getBlock().getType() == Material.AIR) if (loc.getBlock().getType() == Material.AIR)
loc.getBlock().setTypeIdAndData(35, _floor.get(loc), false); MapUtil.QuickChangeBlockAt(loc, 35, _floor.get(loc));
} }
} }