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")); user.sendMessage(_("noGodWorldWarning"));
} }
if (!event.getPlayer().getWorld().getName().equals(newWorld)) if (!user.getWorld().getName().equals(newWorld))
{ {
user.sendMessage(_("currentWorld", newWorld)); user.sendMessage(_("currentWorld", newWorld));
} }
if (user.isVanished())
{
user.setVanished(user.isAuthorized("essentials.vanish"));
}
} }
@EventHandler(priority = EventPriority.NORMAL) @EventHandler(priority = EventPriority.NORMAL)

View File

@ -3,6 +3,7 @@ package com.earth2me.essentials.commands;
import static com.earth2me.essentials.I18n._; import static com.earth2me.essentials.I18n._;
import com.earth2me.essentials.MetaItemStack; import com.earth2me.essentials.MetaItemStack;
import com.earth2me.essentials.User; import com.earth2me.essentials.User;
import com.earth2me.essentials.Util;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
import java.util.regex.Pattern; import java.util.regex.Pattern;
@ -14,7 +15,23 @@ import org.bukkit.entity.EntityType;
import org.bukkit.entity.Firework; import org.bukkit.entity.Firework;
import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.FireworkMeta; 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 public class Commandfirework extends EssentialsCommand
{ {
@ -71,8 +88,9 @@ public class Commandfirework extends EssentialsCommand
else if ((args[0].equalsIgnoreCase("fire") || (args[0].equalsIgnoreCase("p"))) else if ((args[0].equalsIgnoreCase("fire") || (args[0].equalsIgnoreCase("p")))
&& user.isAuthorized("essentials.firework.fire")) && user.isAuthorized("essentials.firework.fire"))
{ {
int amount; int amount = 1;
try boolean direction = false;
if (Util.isInt(args[1]))
{ {
final int serverLimit = ess.getSettings().getSpawnMobLimit(); final int serverLimit = ess.getSettings().getSpawnMobLimit();
amount = Integer.parseInt(args[1]); amount = Integer.parseInt(args[1]);
@ -82,14 +100,23 @@ public class Commandfirework extends EssentialsCommand
user.sendMessage(_("mobSpawnLimit")); user.sendMessage(_("mobSpawnLimit"));
} }
} }
catch (Exception e) else
{ {
amount = 1; direction = true;
} }
for (int i = 0; i < amount; i++) for (int i = 0; i < amount; i++)
{ {
Firework firework = (Firework)user.getWorld().spawnEntity(user.getLocation(), EntityType.FIREWORK); Firework firework = (Firework)user.getWorld().spawnEntity(user.getLocation(), EntityType.FIREWORK);
FireworkMeta fmeta = (FireworkMeta)stack.getItemMeta(); 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); 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); player.setHealth(player.getMaxHealth());
p.setFoodLevel(20); player.setFoodLevel(20);
p.sendMessage(_("heal")); player.setFireTicks(0);
for (PotionEffect effect : p.getActivePotionEffects()) 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) public void onPlayerChat(final AsyncPlayerChatEvent event)
{ {
final ChatStore chatStore = delChatStore(event); final ChatStore chatStore = delChatStore(event);
if (isAborted(event)) if (isAborted(event) || chatStore == null)
{ {
return; return;
} }