Skip to content

Instantly share code, notes, and snippets.

@Edoxile
Created September 2, 2011 15:47
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Edoxile/1188973 to your computer and use it in GitHub Desktop.
Save Edoxile/1188973 to your computer and use it in GitHub Desktop.
CFBanner updated by me
package me.cain.cfbanner;
import com.nijiko.permissions.PermissionHandler;
import com.nijikokun.bukkit.Permissions.Permissions;
import org.bukkit.ChatColor;
import org.bukkit.entity.Player;
import org.bukkit.event.Event;
import org.bukkit.event.player.PlayerJoinEvent;
import org.bukkit.event.player.PlayerListener;
import org.bukkit.plugin.Plugin;
import org.bukkit.plugin.PluginDescriptionFile;
import org.bukkit.plugin.PluginManager;
import org.bukkit.plugin.java.JavaPlugin;
import java.util.logging.Logger;
/**
* Created by IntelliJ IDEA.
*
* @author Cain, Edoxile
*/
public class CFBanner extends JavaPlugin {
private static Logger log = Logger.getLogger("Minecraft");
private static PermissionHandler permissionHandler;
private static String noFlyFingerprint = "§f §f §1 §0 §2 §4 §3 §9 §2 §0 §0 §1 ";
private static String noCheatFingerprint = "§f §f §2 §0 §4 §8 §3 §9 §2 §0 §0 §2 §3 §9 §2 §0 §0 §3 ";
private PluginDescriptionFile pdf = this.getDescription();
public void onEnable() {
PluginManager pm = getServer().getPluginManager();
log.info("[" + pdf.getName() + "] Enabled! Version: " + pdf.getVersion());
setupPerms();
pm.registerEvent(Event.Type.PLAYER_JOIN, new CFListener(this), Event.Priority.Normal, this);
}
public void onDisable() {
log.info("[" + pdf.getName() + "] Disabled!");
}
private void setupPerms() {
Plugin permissionsPlugin = getServer().getPluginManager().getPlugin("Permissions");
if (permissionsPlugin == null) {
log.info("[" + pdf.getName() + "] Permissions not detected. Defaulting to OP!");
return;
}
permissionHandler = ((Permissions) permissionsPlugin).getHandler();
}
public boolean permCheck(String node, Player player) {
if (permissionHandler == null)
return player.isOp();
else
return player.isOp() || permissionHandler.has(player, "cf." + node);
}
private class CFListener extends PlayerListener {
private CFBanner plugin;
public CFListener(CFBanner instance) {
plugin = instance;
}
public void onPlayerJoin(PlayerJoinEvent event) {
Player player = event.getPlayer();
if (!plugin.permCheck("allowfly", player)) {
player.sendMessage(CFBanner.noFlyFingerprint);
} else {
if (plugin.permCheck("display", player)) {
player.sendMessage(ChatColor.GREEN + "[" + pdf.getName() + "] " + ChatColor.WHITE + "You're allowed to fly!");
}
}
if (!plugin.permCheck("allowcheat", player)) {
player.sendMessage(CFBanner.noCheatFingerprint);
} else {
if (plugin.permCheck("display", player)) {
player.sendMessage(ChatColor.GREEN + "[" + pdf.getName() + "] " + ChatColor.WHITE + "You're allowed to cheat!");
}
if (!plugin.permCheck("allowfly", player) && !plugin.permCheck("allowcheat", player) && plugin.permCheck("display", player))
player.sendMessage(ChatColor.DARK_RED + "CFBanner has stopped you from using mods.");
}
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment