This commit is contained in:
GunfighterJ 2013-01-27 10:44:13 -06:00
commit 2a7f3c6525
4 changed files with 44 additions and 12 deletions

View file

@ -425,10 +425,14 @@ public class EssentialsPlayerListener implements Listener
user.sendMessage(_("noGodWorldWarning"));
}
if (!event.getPlayer().getWorld().getName().equals(newWorld))
if (!user.getWorld().getName().equals(newWorld))
{
user.sendMessage(_("currentWorld", newWorld));
}
if (user.isVanished())
{
user.setVanished(user.isAuthorized("essentials.vanish"));
}
}
@EventHandler(priority = EventPriority.NORMAL)

View file

@ -3,6 +3,7 @@ package com.earth2me.essentials.commands;
import static com.earth2me.essentials.I18n._;
import com.earth2me.essentials.MetaItemStack;
import com.earth2me.essentials.User;
import com.earth2me.essentials.Util;
import java.util.HashMap;
import java.util.Map;
import java.util.regex.Pattern;
@ -14,7 +15,23 @@ import org.bukkit.entity.EntityType;
import org.bukkit.entity.Firework;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.FireworkMeta;
import org.bukkit.util.Vector;
//This command has quite a complicated syntax, in theory it has 4 seperate syntaxes which are all variable:
//
//1: /firework clear - This clears all of the effects on a firework stack
//
//2: /firework power <int> - This changes the base power of a firework
//
//3: /firework fire - This 'fires' a copy of the firework held.
//3: /firework fire <int> - This 'fires' a number of copies of the firework held.
//3: /firework fire <other> - This 'fires' a copy of the firework held, in the direction you are looking, #easteregg
//
//4: /firework [meta] - This will add an effect to the firework stack held
//4: /firework color:<color> - The minimum you need to set an effect is 'color'
//4: Full Syntax: color:<color[,color,..]> [fade:<color[,color,..]>] [shape:<shape>] [effect:<effect[,effect]>]
//4: Possible Shapes: star, ball, large, creeper, burst
//4: Possible Effects trail, twinkle
public class Commandfirework extends EssentialsCommand
{
@ -71,8 +88,9 @@ public class Commandfirework extends EssentialsCommand
else if ((args[0].equalsIgnoreCase("fire") || (args[0].equalsIgnoreCase("p")))
&& user.isAuthorized("essentials.firework.fire"))
{
int amount;
try
int amount = 1;
boolean direction = false;
if (Util.isInt(args[1]))
{
final int serverLimit = ess.getSettings().getSpawnMobLimit();
amount = Integer.parseInt(args[1]);
@ -82,14 +100,23 @@ public class Commandfirework extends EssentialsCommand
user.sendMessage(_("mobSpawnLimit"));
}
}
catch (Exception e)
else
{
amount = 1;
direction = true;
}
for (int i = 0; i < amount; i++)
{
Firework firework = (Firework)user.getWorld().spawnEntity(user.getLocation(), EntityType.FIREWORK);
FireworkMeta fmeta = (FireworkMeta)stack.getItemMeta();
if (direction)
{
final Vector vector = user.getEyeLocation().getDirection().multiply(0.075);
if (fmeta.getPower() > 1)
{
fmeta.setPower(1);
}
firework.setVelocity(vector);
}
firework.setFireworkMeta(fmeta);
}
}

View file

@ -68,14 +68,15 @@ public class Commandheal extends EssentialsCommand
}
}
private void healPlayer(final Player p)
private void healPlayer(final Player player)
{
p.setHealth(20);
p.setFoodLevel(20);
p.sendMessage(_("heal"));
for (PotionEffect effect : p.getActivePotionEffects())
player.setHealth(player.getMaxHealth());
player.setFoodLevel(20);
player.setFireTicks(0);
player.sendMessage(_("heal"));
for (PotionEffect effect : player.getActivePotionEffects())
{
p.removePotionEffect(effect.getType());
player.removePotionEffect(effect.getType());
}
}
}

View file

@ -23,7 +23,7 @@ public class EssentialsChatPlayerListenerHighest extends EssentialsChatPlayer
public void onPlayerChat(final AsyncPlayerChatEvent event)
{
final ChatStore chatStore = delChatStore(event);
if (isAborted(event))
if (isAborted(event) || chatStore == null)
{
return;
}