package be.isach.ultracosmetics.util; import be.isach.ultracosmetics.UltraCosmetics; import be.isach.ultracosmetics.command.SubCommand; import be.isach.ultracosmetics.cosmetics.type.HatType; import be.isach.ultracosmetics.cosmetics.type.CosmeticType; import be.isach.ultracosmetics.cosmetics.type.EmoteType; import be.isach.ultracosmetics.cosmetics.type.GadgetType; import be.isach.ultracosmetics.cosmetics.type.MorphType; import be.isach.ultracosmetics.cosmetics.type.MountType; import be.isach.ultracosmetics.cosmetics.type.ParticleEffectType; import be.isach.ultracosmetics.cosmetics.type.PetType; import be.isach.ultracosmetics.cosmetics.suits.ArmorSlot; import be.isach.ultracosmetics.cosmetics.type.SuitType; import java.io.File; import java.io.FileNotFoundException; import java.io.PrintWriter; import java.io.UnsupportedEncodingException; import java.text.SimpleDateFormat; import java.util.Date; /** * Created by Sacha on 24/12/15. */ public class GeneralUtil { /** * Print permissions in a permissions.txt file. */ public static void printPermissions(UltraCosmetics ultraCosmetics) { PrintWriter writer = null; try { writer = new PrintWriter(new File(ultraCosmetics.getDataFolder(), "permissions.yml"), "UTF-8"); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } SimpleDateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy"); Date date = new Date(); writer.println(); writer.println("UltraCosmetics v" + ultraCosmetics.getUpdateChecker().getCurrentVersion() + " permissions."); writer.println("Generated automatically on " + dateFormat.format(date)); writer.println(); writer.println(); writer.println("General permissions, enabled by default."); writer.println(" - ultracosmetics.receivechest"); writer.println(" - ultracosmetics.openmenu"); writer.println(""); writer.println("Commands:"); writer.println(" - ultracosmetics.command.*"); for (SubCommand subCommand : ultraCosmetics.getCommandManager().getCommands()) writer.println(" - " + subCommand.getPermission()); writer.println(""); writer.println("Gadgets:"); writer.println(" - ultracosmetics.gadgets.*"); for (GadgetType gadgetType : GadgetType.values()) writer.println(" - " + gadgetType.getPermission()); writer.println(""); writer.println("Pets:"); writer.println(" - ultracosmetics.pets.*"); for (PetType petType : PetType.values()) writer.println(" - " + petType.getPermission()); writer.println(""); writer.println("Mounts:"); writer.println(" - ultracosmetics.mounts.*"); for (MountType mountType : MountType.values()) writer.println(" - " + mountType.getPermission()); writer.println(""); writer.println("Morphs:"); writer.println(" - ultracosmetics.morphs.*"); for (MorphType morphType : MorphType.values()) writer.println(" - " + morphType.getPermission()); writer.println(""); writer.println("Hats:"); writer.println(" - ultracosmetics.hats.*"); for (HatType hat : HatType.values()) writer.println(" - " + hat.getPermission()); writer.println(""); writer.println("Particle Effects:"); writer.println(" - ultracosmetics.particleeffects.*"); for (ParticleEffectType effect : ParticleEffectType.values()) writer.println(" - " + effect.getPermission()); writer.println(""); writer.println("Suits:"); writer.println(" - ultracosmetics.suits.*"); for (CosmeticType cosmeticType : SuitType.values()) { SuitType suit = ((SuitType) cosmeticType); writer.println(" - ultracosmetics.suits." + suit.getConfigName().toLowerCase() + ".*"); for (ArmorSlot armorSlot : ArmorSlot.values()) writer.println(" - " + suit.getPermission(armorSlot)); } writer.println(""); writer.println("Emotes:"); writer.println(" - ultracosmetics.emotes.*"); for (EmoteType emoteType : EmoteType.values()) writer.println(" - " + emoteType.getPermission()); writer.println(""); writer.close(); } }