Add command syntax comment, for clarification.

Merge branch '2.9' of github.com:essentials/Essentials into 2.9
This commit is contained in:
KHobbits 2013-01-27 15:26:46 +00:00
parent addd55228b
commit 4f35a72174

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);
} }
} }