All pastes #2074246 Raw Edit

Something

public text v1 · immutable
#2074246 ·published 2011-06-03 19:54 UTC
rendered paste body
package classsign;

import org.bukkit.Bukkit;
import org.bukkit.event.player.PlayerListener;
import org.bukkit.event.block.Action;
import org.bukkit.event.player.PlayerInteractEvent;
import org.bukkit.entity.Player;
import org.bukkit.block.Sign;
import org.bukkit.ChatColor;
import org.bukkit.inventory.ItemStack;

public class CSPlayerListener extends PlayerListener {
    private final ClassSign plugin;
    
    CSProps props;
    
    Player player;
    Boolean classExists = false;
    
    public CSPlayerListener(ClassSign instance, CSProps props) {
        plugin = instance;
        this.props = props;
    }
    
    @Override
    public void onPlayerInteract(PlayerInteractEvent event) {
        player = event.getPlayer();
        if ((event.getAction() != Action.RIGHT_CLICK_BLOCK) &&
            (!(event.getClickedBlock().getState() instanceof Sign))) {
            return;
        }
        
        Sign sign = (Sign)event.getClickedBlock().getState();
        if (!sign.getLine(0).equals("[Class]")) {
            return;
        }
        
        for (int i = 0; i < props.numOfClasses; i++) {
            if (sign.getLine(1).equals(props.classes.get(i))) {
                classExists = true;
            }
        }
        
        if (!classExists) {
            sign.setLine(3, ChatColor.RED + "[INACTIVE]");
            player.sendMessage(ChatColor.BLUE + "[ClassSign] Oh dear, that class doesn't exist anymore.");
            return;
        }
        
        if (props.emptyInventory == true) {
            player.getInventory().clear();
        }
        
        String items = props.file.getString("classes." + sign.getLine(1) + ".items", null);
        String[] itemarr = items.split("[,]");
        for (int i = 0; i < itemarr.length; i++) {
            if (itemarr[i].contains(":")) {
                String[] item = itemarr[i].split("[:]");
                System.out.println(item[0]);
                if (!item[1].matches("[0-9]*") || !item[0].matches("[1-9]*") || Integer.parseInt(item[1]) != 0) {
                    continue;
                }
                
                if (Integer.parseInt(item[1]) > 1) {
                    for (int x = 1; x < Integer.parseInt(item[1]); x++) {
                        player.getInventory().addItem(new ItemStack(Integer.parseInt(item[0]), 1));
                    }
                } else {
                    player.getInventory().addItem(new ItemStack(Integer.parseInt(item[0]), 1));
                }
            } else {
                if (!itemarr[i].matches("[1-9]*" || Integer.parseInt(itemarr[i]) == 0)) {
                    continue;
                }
                
                player.getInventory().addItem(new ItemStack(Integer.parseInt(itemarr[i]), 1));
            }
        }
    }
}