Package com.bekvon.bukkit.residence.spout

Source Code of com.bekvon.bukkit.residence.spout.ResidenceSpoutListener

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/

package com.bekvon.bukkit.residence.spout;
import org.bukkit.ChatColor;

import com.bekvon.bukkit.residence.Residence;
import com.bekvon.bukkit.residence.protection.ClaimedResidence;
import com.bekvon.bukkit.residence.spout.ResidencePopup.PopupType;
import java.util.HashMap;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority;
import org.bukkit.event.Listener;
import org.getspout.spoutapi.event.screen.ButtonClickEvent;
import org.getspout.spoutapi.gui.Button;
import org.getspout.spoutapi.gui.GenericLabel;
import org.getspout.spoutapi.gui.GenericPopup;
import org.getspout.spoutapi.gui.GenericTextField;
/**
*
* @author Administrator
*/
public class ResidenceSpoutListener implements Listener {

    protected HashMap<Player,GenericPopup> popups;

    @EventHandler(priority = EventPriority.NORMAL)
    public void onButtonClick(ButtonClickEvent event) {
        Player p = event.getPlayer();
        if (event.getScreen() instanceof ResidencePopup) {
            ResidencePopup screen = (ResidencePopup) event.getScreen();
            PopupType type = PopupType.valueOf(screen.getPopupType());
            if (type == PopupType.FLAG_GUI) {
                ResidencePopup popup = (ResidencePopup) screen;
                String flagval = null;
                String flag = null;
                String player = null;
                ClaimedResidence res = null;
                String group = null;
                boolean resadmin = (Boolean)popup.getMetaData().get("admin");
                Button button = event.getButton();
                if (button.getText().equalsIgnoreCase("Close")) {
                    event.getPlayer().getMainScreen().removeWidget(screen);
                    return;
                } else if (button.getText().equalsIgnoreCase("RemoveAll")) {
                    flagval = "removeall";
                } else if (button.getText().equalsIgnoreCase("SetTrue")) {
                    flagval = "true";
                } else if (button.getText().equalsIgnoreCase("SetFalse")) {
                    flagval = "false";
                } else if (button.getText().equalsIgnoreCase("Remove")) {
                    flagval = "remove";
                }
                player = ((GenericTextField) popup.getWidget("PlayerName")).getText();
                group = ((GenericTextField)popup.getWidget("GroupName")).getText();
                flag = ((GenericTextField) popup.getWidget("FlagName")).getText();
                res = Residence.getResidenceManager().getByName(((GenericLabel) popup.getWidget("ResidenceName")).getText());
                if(res==null || flagval == null || flagval.equalsIgnoreCase("") || ((flag == null || flag.equalsIgnoreCase("")) && !flagval.equalsIgnoreCase("removeall")))
                    return;
                if((player==null || player.equalsIgnoreCase("")) && (group == null || group.equalsIgnoreCase("")))
                {
                    res.getPermissions().setFlag(p, flag, flagval, resadmin);
                }
                else if(group!=null && !group.equalsIgnoreCase("")) {
                    if(flagval.equalsIgnoreCase("removeall"))
                        res.getPermissions().removeAllGroupFlags(p, group, resadmin);
                    else
                        res.getPermissions().setGroupFlag(p, group, flag, flagval, resadmin);
                }
                else if(player!=null && !player.equalsIgnoreCase(""))
                {
                    if(flagval.equalsIgnoreCase("removeall"))
                        res.getPermissions().removeAllPlayerFlags(p, player, resadmin);
                    else
                        res.getPermissions().setPlayerFlag(p, player, flag, flagval, resadmin);
                }
            }
        }
    }
}
TOP

Related Classes of com.bekvon.bukkit.residence.spout.ResidenceSpoutListener

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.