001package fr.aumgn.bukkitutils.command.args; 002 003import org.bukkit.ChatColor; 004import org.bukkit.Material; 005import org.bukkit.OfflinePlayer; 006import org.bukkit.World; 007import org.bukkit.enchantments.Enchantment; 008import org.bukkit.entity.EntityType; 009import org.bukkit.entity.Player; 010import org.bukkit.potion.PotionEffectType; 011 012import fr.aumgn.bukkitutils.command.CommandsMessages; 013import fr.aumgn.bukkitutils.command.arg.CommandArgFactory; 014import fr.aumgn.bukkitutils.command.arg.basic.ListArg; 015import fr.aumgn.bukkitutils.command.arg.basic.DoubleArg; 016import fr.aumgn.bukkitutils.command.arg.basic.IntegerArg; 017import fr.aumgn.bukkitutils.command.arg.basic.ShortArg; 018import fr.aumgn.bukkitutils.command.arg.basic.TimeArg; 019import fr.aumgn.bukkitutils.command.arg.basic.Vector2DArg; 020import fr.aumgn.bukkitutils.command.arg.basic.VectorArg; 021import fr.aumgn.bukkitutils.command.arg.bukkit.ChatColorArg; 022import fr.aumgn.bukkitutils.command.arg.bukkit.EnchantmentArg; 023import fr.aumgn.bukkitutils.command.arg.bukkit.EntityTypeArg; 024import fr.aumgn.bukkitutils.command.arg.bukkit.ItemTypeArg; 025import fr.aumgn.bukkitutils.command.arg.bukkit.MaterialArg; 026import fr.aumgn.bukkitutils.command.arg.bukkit.OfflinePlayerArg; 027import fr.aumgn.bukkitutils.command.arg.bukkit.PlayerArg; 028import fr.aumgn.bukkitutils.command.arg.bukkit.PotionEffectTypeArg; 029import fr.aumgn.bukkitutils.command.arg.bukkit.WorldArg; 030import fr.aumgn.bukkitutils.itemtype.ItemType; 031 032public class CommandArgs extends CommandArgsBase { 033 034 public CommandArgs(CommandsMessages messages, CommandArgsParser parser) { 035 super(messages, parser); 036 } 037 038 public IntegerArg getInteger(int index) { 039 return new IntegerArg(messages, getOrNull(index)); 040 } 041 042 public IntegerArg getInteger(char flag) { 043 return new IntegerArg(messages, getOrNull(flag)); 044 } 045 046 public ShortArg getShort(int index) { 047 return new ShortArg(messages, getOrNull(index)); 048 } 049 050 public ShortArg getShort(char flag) { 051 return new ShortArg(messages, getOrNull(flag)); 052 } 053 054 public DoubleArg getDouble(int index) { 055 return new DoubleArg(messages, getOrNull(index)); 056 } 057 058 public DoubleArg getDouble(char flag) { 059 return new DoubleArg(messages, getOrNull(flag)); 060 } 061 062 public TimeArg getTime(int index) { 063 return new TimeArg(messages, getOrNull(index)); 064 } 065 066 public TimeArg getTime(char flag) { 067 return new TimeArg(messages, getOrNull(flag)); 068 } 069 070 public ChatColorArg getChatColor(int index) { 071 return new ChatColorArg(messages, getOrNull(index)); 072 } 073 074 public ChatColorArg getChatColor(char flag) { 075 return new ChatColorArg(messages, getOrNull(flag)); 076 } 077 078 public ListArg<ChatColor, ChatColorArg> getChatColors(int index) { 079 return getList(index, new CommandArgFactory<ChatColorArg>() { 080 public ChatColorArg createCommandArg(String string) { 081 return new ChatColorArg(messages, string); 082 } 083 }); 084 } 085 086 public ListArg<ChatColor, ChatColorArg> getChatColors(char flag) { 087 return getList(flag, new CommandArgFactory<ChatColorArg>() { 088 public ChatColorArg createCommandArg(String string) { 089 return new ChatColorArg(messages, string); 090 } 091 }); 092 } 093 094 public VectorArg getVector(int index) { 095 return new VectorArg(messages, getOrNull(index)); 096 } 097 098 public VectorArg getVector(char flag) { 099 return new VectorArg(messages, getOrNull(flag)); 100 } 101 102 public Vector2DArg getVector2D(int index) { 103 return new Vector2DArg(messages, getOrNull(index)); 104 } 105 106 public Vector2DArg getVector2D(char flag) { 107 return new Vector2DArg(messages, getOrNull(flag)); 108 } 109 110 public WorldArg getWorld(int index) { 111 return new WorldArg(messages, getOrNull(index)); 112 } 113 114 public WorldArg getWorld(char flag) { 115 return new WorldArg(messages, getOrNull(flag)); 116 } 117 118 public ListArg<World, WorldArg> getWorlds(int index) { 119 return getList(index, new CommandArgFactory<WorldArg>() { 120 public WorldArg createCommandArg(String string) { 121 return new WorldArg(messages, string); 122 } 123 }); 124 } 125 126 public ListArg<World, WorldArg> getWorlds(char flag) { 127 return getList(flag, new CommandArgFactory<WorldArg>() { 128 public WorldArg createCommandArg(String string) { 129 return new WorldArg(messages, string); 130 } 131 }); 132 } 133 134 public PlayerArg getPlayer(int index) { 135 return new PlayerArg(messages, getOrNull(index)); 136 } 137 138 public PlayerArg getPlayer(char flag) { 139 return new PlayerArg(messages, getOrNull(flag)); 140 } 141 142 public ListArg<Player, PlayerArg> getPlayers(int index) { 143 return getList(index, new CommandArgFactory<PlayerArg>() { 144 public PlayerArg createCommandArg(String string) { 145 return new PlayerArg(messages, string); 146 } 147 }); 148 } 149 150 public ListArg<Player, PlayerArg> getPlayers(char flag) { 151 return getList(flag, new CommandArgFactory<PlayerArg>() { 152 public PlayerArg createCommandArg(String string) { 153 return new PlayerArg(messages, string); 154 } 155 }); 156 } 157 158 public OfflinePlayerArg getOfflinePlayer(int index) { 159 return new OfflinePlayerArg(messages, getOrNull(index)); 160 } 161 162 public OfflinePlayerArg getOfflinePlayer(char flag) { 163 return new OfflinePlayerArg(messages, getOrNull(flag)); 164 } 165 166 public ListArg<OfflinePlayer, OfflinePlayerArg> getOfflinePlayers( 167 int index) { 168 return getList(index, new CommandArgFactory<OfflinePlayerArg>() { 169 public OfflinePlayerArg createCommandArg(String string) { 170 return new OfflinePlayerArg(messages, string); 171 } 172 }); 173 } 174 175 public ListArg<OfflinePlayer, OfflinePlayerArg> getOfflinePlayers( 176 char flag) { 177 return getList(flag, new CommandArgFactory<OfflinePlayerArg>() { 178 public OfflinePlayerArg createCommandArg(String string) { 179 return new OfflinePlayerArg(messages, string); 180 } 181 }); 182 } 183 184 public MaterialArg getMaterial(int index) { 185 return new MaterialArg(messages, getOrNull(index)); 186 } 187 188 public MaterialArg getMaterial(char flag) { 189 return new MaterialArg(messages, getOrNull(flag)); 190 } 191 192 public ListArg<Material, MaterialArg> getMaterials(int index) { 193 return getList(index, new CommandArgFactory<MaterialArg>() { 194 public MaterialArg createCommandArg(String string) { 195 return new MaterialArg(messages, string); 196 } 197 }); 198 } 199 200 public ListArg<Material, MaterialArg> getMaterials(char flag) { 201 return getList(flag, new CommandArgFactory<MaterialArg>() { 202 public MaterialArg createCommandArg(String string) { 203 return new MaterialArg(messages, string); 204 } 205 }); 206 } 207 208 public ItemTypeArg getItemType(int index) { 209 return new ItemTypeArg(messages, getOrNull(index)); 210 } 211 212 public ItemTypeArg getItemType(char flag) { 213 return new ItemTypeArg(messages, getOrNull(flag)); 214 } 215 216 public ListArg<ItemType, ItemTypeArg> getItemTypes(int index) { 217 return getList(index, new CommandArgFactory<ItemTypeArg>() { 218 public ItemTypeArg createCommandArg(String string) { 219 return new ItemTypeArg(messages, string); 220 } 221 }); 222 } 223 224 public ListArg<ItemType, ItemTypeArg> getItemTypes(char flag) { 225 return getList(flag, new CommandArgFactory<ItemTypeArg>() { 226 public ItemTypeArg createCommandArg(String string) { 227 return new ItemTypeArg(messages, string); 228 } 229 }); 230 } 231 232 public PotionEffectTypeArg getPotionEffectType(int index) { 233 return new PotionEffectTypeArg(messages, getOrNull(index)); 234 } 235 236 public PotionEffectTypeArg getPotionEffectType(char flag) { 237 return new PotionEffectTypeArg(messages, getOrNull(flag)); 238 } 239 240 public ListArg<PotionEffectType, PotionEffectTypeArg> getPotionEffectTypes( 241 int index) { 242 return getList(index, new CommandArgFactory<PotionEffectTypeArg>() { 243 public PotionEffectTypeArg createCommandArg(String string) { 244 return new PotionEffectTypeArg(messages, string); 245 } 246 }); 247 } 248 249 public ListArg<PotionEffectType, PotionEffectTypeArg> getPotionEffectTypes( 250 char flag) { 251 return getList(flag, new CommandArgFactory<PotionEffectTypeArg>() { 252 public PotionEffectTypeArg createCommandArg(String string) { 253 return new PotionEffectTypeArg(messages, string); 254 } 255 }); 256 } 257 258 public EnchantmentArg getEnchantment(int index) { 259 return new EnchantmentArg(messages, getOrNull(index)); 260 } 261 262 public EnchantmentArg getEnchantment(char flag) { 263 return new EnchantmentArg(messages, getOrNull(flag)); 264 } 265 266 public ListArg<Enchantment, EnchantmentArg> getEnchantments(int index) { 267 return getList(index, new CommandArgFactory<EnchantmentArg>() { 268 public EnchantmentArg createCommandArg(String string) { 269 return new EnchantmentArg(messages, string); 270 } 271 }); 272 } 273 274 public ListArg<Enchantment, EnchantmentArg> getEnchantments(char flag) { 275 return getList(flag, new CommandArgFactory<EnchantmentArg>() { 276 public EnchantmentArg createCommandArg(String string) { 277 return new EnchantmentArg(messages, string); 278 } 279 }); 280 } 281 282 public EntityTypeArg getEntityType(int index) { 283 return new EntityTypeArg(messages, getOrNull(index)); 284 } 285 286 public EntityTypeArg getEntityType(char flag) { 287 return new EntityTypeArg(messages, getOrNull(flag)); 288 } 289 290 public ListArg<EntityType, EntityTypeArg> getEntityTypes(int index) { 291 return getList(index, new CommandArgFactory<EntityTypeArg>() { 292 public EntityTypeArg createCommandArg(String string) { 293 return new EntityTypeArg(messages, string); 294 } 295 }); 296 } 297 298 public ListArg<EntityType, EntityTypeArg> getEntityTypes(char flag) { 299 return getList(flag, new CommandArgFactory<EntityTypeArg>() { 300 public EntityTypeArg createCommandArg(String string) { 301 return new EntityTypeArg(messages, string); 302 } 303 }); 304 } 305}