package com.forgeessentials.teleport; import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.permission.PermissionLevel; import com.forgeessentials.api.APIRegistry; import com.forgeessentials.core.ForgeEssentials; import com.forgeessentials.core.misc.FECommandManager; import com.forgeessentials.core.misc.RespawnHandler; import com.forgeessentials.core.moduleLauncher.FEModule; import com.forgeessentials.teleport.portal.CommandPortal; import com.forgeessentials.teleport.portal.PortalManager; import com.forgeessentials.util.events.FEModuleEvent.FEModuleInitEvent; import com.forgeessentials.util.events.FEModuleEvent.FEModuleServerInitEvent; import cpw.mods.fml.common.FMLCommonHandler; import cpw.mods.fml.common.eventhandler.SubscribeEvent; @FEModule(name = "Teleport", parentMod = ForgeEssentials.class) public class TeleportModule { public static final String PERM_TP = "fe.teleport.tp"; public static final String PERM_TP_OTHERS = "fe.teleport.tp.others"; public static final String PERM_TPPOS = "fe.teleport.tppos"; public static final String PERM_TPA = "fe.teleport.tpa"; public static final String PERM_TPA_SENDREQUEST = "fe.teleport.tpa.sendrequest"; public static final String PERM_TPA_TIMEOUT = "fe.teleport.tpa.timeout"; public static final String PERM_TOP = "fe.teleport.top"; public static final String PERM_TOP_OTHERS = "fe.teleport.top.others"; public static final String PERM_SPAWN = "fe.teleport.spawn"; public static final String PERM_SPAWN_OTHERS = "fe.teleport.spawn.others"; public static final String PERM_HOME = "fe.teleport.home"; public static final String PERM_HOME_SET = PERM_HOME + ".set"; public static final String PERM_HOME_OTHER = PERM_HOME + ".other"; public static final String PERM_BED = "fe.teleport.bed"; public static final String PERM_BED_OTHERS = PERM_BED + ".others"; public static final String PERM_BACK = "fe.teleport.back"; public static final String PERM_BACK_ONTP = PERM_BACK + ".ontp"; public static final String PERM_BACK_ONDEATH = PERM_BACK + ".ondeath"; public static final String PERM_TPAHERE = "fe.teleport.tpahere"; public static final String PERM_TPAHERE_SENDREQUEST = "fe.teleport.tpahere.sendrequest"; public static final String PERM_TPHERE = "fe.teleport.tphere"; public static final String PERM_WARP = "fe.teleport.warp"; public static final String PERM_WARP_ADMIN = "fe.teleport.warp.admin"; private PortalManager portalManager; @SuppressWarnings("unused") private RespawnHandler respawnHandler; @SubscribeEvent public void load(FEModuleInitEvent e) { MinecraftForge.EVENT_BUS.register(this); FMLCommonHandler.instance().bus().register(this); respawnHandler = new RespawnHandler(); portalManager = new PortalManager(); } @SubscribeEvent public void serverStarting(FEModuleServerInitEvent e) { portalManager.load(); FECommandManager.registerCommand(new CommandBack()); FECommandManager.registerCommand(new CommandBed()); FECommandManager.registerCommand(new CommandHome()); FECommandManager.registerCommand(new CommandSpawn()); FECommandManager.registerCommand(new CommandTp()); FECommandManager.registerCommand(new CommandTppos()); FECommandManager.registerCommand(new CommandWarp()); FECommandManager.registerCommand(new CommandTPA()); FECommandManager.registerCommand(new CommandPersonalWarp()); FECommandManager.registerCommand(new CommandTop()); FECommandManager.registerCommand(new CommandPortal()); FECommandManager.registerCommand(new CommandSetSpawn()); FECommandManager.registerCommand(new CommandJump()); APIRegistry.perms.registerPermissionProperty(PERM_TPA_TIMEOUT, "20", "Amount of sec a user has to accept a TPA request"); APIRegistry.perms.registerPermission(PERM_BACK_ONDEATH, PermissionLevel.TRUE, "Allow returning to the last death location with back-command"); APIRegistry.perms .registerPermission(PERM_BACK_ONTP, PermissionLevel.TRUE, "Allow returning to the last location before teleport with back-command"); APIRegistry.perms.registerPermission(PERM_BED_OTHERS, PermissionLevel.OP, "Allow teleporting to other player's bed location"); APIRegistry.perms.registerPermission(PERM_HOME, PermissionLevel.TRUE, "Allow usage of /home"); APIRegistry.perms.registerPermission(PERM_HOME_SET, PermissionLevel.TRUE, "Allow setting of home location"); APIRegistry.perms.registerPermission(PERM_HOME_OTHER, PermissionLevel.OP, "Allow setting other players home location"); APIRegistry.perms.registerPermission(PERM_SPAWN_OTHERS, PermissionLevel.OP, "Allow setting other player's spawn"); APIRegistry.perms.registerPermission(PERM_TOP_OTHERS, PermissionLevel.OP); APIRegistry.perms.registerPermission(PERM_TPA_SENDREQUEST, PermissionLevel.TRUE, "Allow sending teleport-to requests"); APIRegistry.perms.registerPermission(PERM_TPAHERE_SENDREQUEST, PermissionLevel.TRUE, "Allow sending teleport-here requests"); APIRegistry.perms.registerPermission(PERM_WARP_ADMIN, PermissionLevel.OP); } }