org.bukkit.event.block.SignChangeEvent#setLine ( )源码实例Demo

下面列出了org.bukkit.event.block.SignChangeEvent#setLine ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: ProRecipes   文件: Recipes.java
@EventHandler
public void onSignChangeEvent(SignChangeEvent event){
	
	if(event.getLine(0).equalsIgnoreCase("mTable")){
		Sign s = (Sign) event.getBlock().getState().getData();
		if(event.getBlock().getRelative(s.getFacing().getOppositeFace()).getRelative(BlockFace.UP).getType().equals(Material.AIR)){
			event.getPlayer().sendMessage("There must be a block above the sign!");
			event.setCancelled(true);
			return;
		}
		if(event.getPlayer().hasPermission("prorecipes.createtable")){
			event.setLine(1, ProRecipes.getPlugin().ms.getMessage("Multi_Craft", ChatColor.GOLD + "Multi-Craft"));
			event.setLine(0, "");
			event.getPlayer().sendMessage(ChatColor.GREEN + "Successfully created Mutli-Craft Table!");
		}else{
			event.setCancelled(true);
			event.getPlayer().sendMessage(ChatColor.RED + "You do not have permission to create an multi-craft table");
		}
	}
}
 
源代码2 项目: ChestCommands   文件: SignListener.java
@EventHandler(priority = EventPriority.HIGH, ignoreCancelled = true)
public void onSignChange(SignChangeEvent event) {
	if (event.getLine(0).equalsIgnoreCase("[menu]") && event.getPlayer().hasPermission(Permissions.SIGN_CREATE)) {

		if (event.getLine(1).isEmpty()) {
			event.setLine(0, ChatColor.RED + event.getLine(0));
			event.getPlayer().sendMessage(ChatColor.RED + "You must set a valid menu name in the second line.");
			return;
		}

		IconMenu iconMenu = ChestCommands.getFileNameToMenuMap().get(BukkitUtils.addYamlExtension(event.getLine(1)));
		if (iconMenu == null) {
			event.setLine(0, ChatColor.RED + event.getLine(0));
			event.getPlayer().sendMessage(ChatColor.RED + "That menu was not found.");
			return;
		}

		event.setLine(0, ChatColor.DARK_BLUE + event.getLine(0));
		event.getPlayer().sendMessage(ChatColor.GREEN + "Successfully created a sign for the menu " + BukkitUtils.addYamlExtension(event.getLine(1)) + ".");
	}
}
 
源代码3 项目: factions-top   文件: SignManager.java
@EventHandler(priority = EventPriority.HIGH, ignoreCancelled = true)
public void registerSign(SignChangeEvent event) {
    // Do nothing if the sign should not be registered.
    if (!event.getPlayer().hasPermission("factionstop.sign.create") ||
            !signRegex.matcher(event.getLine(0).toLowerCase()).find()) {
        return;
    }

    // Attempt to parse the rank for this sign.
    int rank;
    try {
        rank = Integer.parseInt(event.getLine(1));
    } catch (NumberFormatException e) {
        event.getPlayer().sendMessage(ChatColor.RED + "Invalid rank number on line 2!");
        event.setLine(0, ChatColor.DARK_RED + "[FactionsTop]");
        return;
    }

    event.setLine(0, ChatColor.DARK_BLUE + "[FactionsTop]");
    event.setLine(1, "#" + Math.max(rank, 1));

    rank = Math.max(rank - 1, 0);
    SplaySet<FactionWorth> factions = plugin.getWorthManager().getOrderedFactions();

    if (factions.size() > rank) {
        FactionWorth worth = factions.byIndex(rank);
        event.setLine(2, worth.getName());
        event.setLine(3, plugin.getSettings().getCurrencyFormat().format(worth.getTotalWorth()));
    } else {
        event.setLine(2, "-");
        event.setLine(3, "$0.00");
    }

    saveSign(BlockPos.of(event.getBlock()), rank);
}
 
源代码4 项目: WildernessTp   文件: SignChange.java
@EventHandler
public void onSignChange(SignChangeEvent e) {
    String noPermMsg = wild.getConfig().getString("No-Perm");
    Checks check = new Checks(wild);
    if (e.getLine(1).equalsIgnoreCase("[wild]") &&
            e.getLine(0).equalsIgnoreCase("wildtp")) {
        if (e.getPlayer().hasPermission("wild.wildtp.create.sign")) {
            if (check.world(e.getPlayer())) {
                if(e.getLine(2)!=null)
                    e.setLine(3, e.getLine(2));
                e.setLine(0, "§4====================");
                e.setLine(1, "[§1Wild§0]");
                e.setLine(2, "§4====================");
                e.getPlayer().sendMessage(ChatColor.GREEN + "Successfully made a new WildTP sign");
            } else {
                e.getPlayer().sendMessage(ChatColor.RED + "Signs cannot be placed in this world as the command isnt allowed in this world");
                e.getBlock().breakNaturally();
                e.setCancelled(true);
            }
        } else {
            e.getPlayer().sendMessage(ChatColor.translateAlternateColorCodes((char) '&', noPermMsg));
            e.setCancelled(true);
        }
    }


}
 
源代码5 项目: NyaaUtils   文件: SignEditListener.java
@EventHandler(priority = EventPriority.LOWEST, ignoreCancelled = true)
public void onSignChange(SignChangeEvent event) {
    UUID uuid = event.getPlayer().getUniqueId();
    if (signContents.containsKey(uuid)) {
        SignContent c = signContents.get(uuid);
        for (int i = 0; i < 4; i++) {
            event.setLine(i, c.getLine(i));
        }
        signContents.remove(uuid);
    }
}
 
源代码6 项目: SaneEconomy   文件: SignChangeListener.java
@EventHandler
public void onSignChange(SignChangeEvent evt) {
    if (!evt.getPlayer().hasPermission("saneeconomy.signshop.create.admin")) {
        return;
    }

    ParsedSignShop pss = this.parseSignShop(evt);

    if (pss.error != null) {
        this.plugin.getMessenger().sendMessage(evt.getPlayer(), "Cannot create shop: {1}", pss.error);
        return;
    }

    if (pss.shop == null) {
        return;
    }

    SignShop signShop = pss.shop;
    this.plugin.getSignShopManager().addSignShop(signShop);
    evt.setLine(0, ChatColor.translateAlternateColorCodes('&', this.plugin.getConfig().getString("admin-shop-title")));
    this.plugin.getMessenger().sendMessage(evt.getPlayer(), "Sign shop created!");
    this.plugin.getMessenger().sendMessage(evt.getPlayer(), "Item: {1} x {2}", signShop.getQuantity(), signShop.getItemStack());

    if (signShop.canBuy()) { // The player be buying from the shop, not the other way around.
        this.plugin.getMessenger().sendMessage(evt.getPlayer(), "Will sell to players for {1}.",
                this.plugin.getSaneEconomy().getEconomyManager().getCurrency().formatAmount(signShop.getBuyPrice())
                                              );
    }

    if (signShop.canSell()) { // The player be selling to the shop, not the other way around.
        this.plugin.getMessenger().sendMessage(evt.getPlayer(), "Will buy from players for {1}.",
                this.plugin.getSaneEconomy().getEconomyManager().getCurrency().formatAmount(signShop.getSellPrice())
                                              );
    }
}
 
源代码7 项目: BedwarsRel   文件: SignListener.java
@EventHandler
public void onSignChange(SignChangeEvent sce) {
  String firstLine = sce.getLine(0).trim();
  if (!"[bw]".equals(firstLine)) {
    return;
  }

  Player player = sce.getPlayer();
  if (!player.hasPermission("bw.setup")) {
    return;
  }

  String gameName = sce.getLine(1).trim();
  Game game = BedwarsRel.getInstance().getGameManager().getGame(gameName);

  if (game == null) {
    String notfound = BedwarsRel._l("errors.gamenotfoundsimple");
    if (notfound.length() > 16) {
      String[] splitted = notfound.split(" ", 4);
      for (int i = 0; i < splitted.length; i++) {
        sce.setLine(i, ChatColor.RED + splitted[i]);
      }
    } else {
      sce.setLine(0, ChatColor.RED + notfound);
      sce.setLine(1, "");
      sce.setLine(2, "");
      sce.setLine(3, "");
    }

    return;
  }

  sce.setCancelled(true);
  game.addJoinSign(sce.getBlock().getLocation());
  game.updateSigns();
}
 
源代码8 项目: ChestCommands   文件: SignListener.java
@EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)
public void onSignChangeMonitor(SignChangeEvent event) {
	// Prevent players with permissions for creating colored signs from creating menu signs
	if (event.getLine(0).equalsIgnoreCase(ChatColor.DARK_BLUE + "[menu]") && !event.getPlayer().hasPermission(Permissions.SIGN_CREATE)) {
		event.setLine(0, ChatColor.stripColor(event.getLine(0)));
	}
}
 
源代码9 项目: askyblock   文件: WarpSigns.java
/**
 * Event handler for Sign Changes
 * 
 * @param e - event
 */
@EventHandler(priority = EventPriority.NORMAL)
public void onSignWarpCreate(SignChangeEvent e) {
    //plugin.getLogger().info("DEBUG: SignChangeEvent called");
    String title = e.getLine(0);
    Player player = e.getPlayer();
    if (player.getWorld().equals(ASkyBlock.getIslandWorld()) || player.getWorld().equals(ASkyBlock.getNetherWorld())) {
        //plugin.getLogger().info("DEBUG: Correct world");
        if (e.getBlock().getType().equals(Material.SIGN_POST) || e.getBlock().getType().equals(Material.WALL_SIGN)) {

            //plugin.getLogger().info("DEBUG: The first line of the sign says " + title);
            // Check if someone is changing their own sign
            // This should never happen !!
            if (title.equalsIgnoreCase(plugin.myLocale().warpswelcomeLine)) {
                //plugin.getLogger().info("DEBUG: Welcome sign detected");
                // Welcome sign detected - check permissions
                if (!(VaultHelper.checkPerm(player, Settings.PERMPREFIX + "island.addwarp"))) {
                    Util.sendMessage(player, ChatColor.RED + plugin.myLocale(player.getUniqueId()).warpserrorNoPerm);
                    return;
                }
                if(Settings.warpLevelsRestriction > 0 && !(ASkyBlockAPI.getInstance().getLongIslandLevel(player.getUniqueId()) > Settings.warpLevelsRestriction)){
                    Util.sendMessage(player, ChatColor.RED + plugin.myLocale(player.getUniqueId()).warpserrorNotEnoughLevel);
                    return;
                }
                // Check that the player is on their island
                if (!(plugin.getGrid().playerIsOnIsland(player, Settings.coopsCanCreateWarps))) {
                    Util.sendMessage(player, ChatColor.RED + plugin.myLocale(player.getUniqueId()).warpserrorNoPlace);
                    e.setLine(0, ChatColor.RED + plugin.myLocale().warpswelcomeLine);
                    return;
                }
                // Check if the player already has a sign
                final Location oldSignLoc = getWarp(player.getUniqueId());
                if (oldSignLoc == null) {
                    //plugin.getLogger().info("DEBUG: Player does not have a sign already");
                    // First time the sign has been placed or this is a new
                    // sign
                    if (addWarp(player.getUniqueId(), e.getBlock().getLocation())) {
                        Util.sendMessage(player, ChatColor.GREEN + plugin.myLocale(player.getUniqueId()).warpssuccess);
                        e.setLine(0, ChatColor.GREEN + plugin.myLocale().warpswelcomeLine);
                        for (int i = 1; i<4; i++) {
                            e.setLine(i, ChatColor.translateAlternateColorCodes('&', e.getLine(i)));
                        }
                    } else {
                        Util.sendMessage(player, ChatColor.RED + plugin.myLocale(player.getUniqueId()).warpserrorDuplicate);
                        e.setLine(0, ChatColor.RED + plugin.myLocale().warpswelcomeLine);
                        for (int i = 1; i<4; i++) {
                            e.setLine(i, ChatColor.translateAlternateColorCodes('&', e.getLine(i)));
                        }
                    }
                } else {
                    //plugin.getLogger().info("DEBUG: Player already has a Sign");
                    // A sign already exists. Check if it still there and if
                    // so,
                    // deactivate it
                    Block oldSignBlock = oldSignLoc.getBlock();
                    if (oldSignBlock.getType().equals(Material.SIGN_POST) || oldSignBlock.getType().equals(Material.WALL_SIGN)) {
                        // The block is still a sign
                        //plugin.getLogger().info("DEBUG: The block is still a sign");
                        Sign oldSign = (Sign) oldSignBlock.getState();
                        if (oldSign != null) {
                            //plugin.getLogger().info("DEBUG: Sign block is a sign");
                            if (oldSign.getLine(0).equalsIgnoreCase(ChatColor.GREEN + plugin.myLocale().warpswelcomeLine)) {
                                //plugin.getLogger().info("DEBUG: Old sign had a green welcome");
                                oldSign.setLine(0, ChatColor.RED + plugin.myLocale().warpswelcomeLine);
                                oldSign.update(true, false);
                                Util.sendMessage(player, ChatColor.RED + plugin.myLocale(player.getUniqueId()).warpsdeactivate);
                                removeWarp(player.getUniqueId());
                                Bukkit.getPluginManager().callEvent(new WarpRemoveEvent(plugin, oldSign.getLocation(), player.getUniqueId()));
                            }
                        }
                    }
                    // Set up the warp
                    if (addWarp(player.getUniqueId(), e.getBlock().getLocation())) {
                        Util.sendMessage(player, ChatColor.GREEN + plugin.myLocale(player.getUniqueId()).warpssuccess);
                        e.setLine(0, ChatColor.GREEN + plugin.myLocale().warpswelcomeLine);
                    } else {
                        Util.sendMessage(player, ChatColor.RED + plugin.myLocale(player.getUniqueId()).warpserrorDuplicate);
                        e.setLine(0, ChatColor.RED + plugin.myLocale().warpswelcomeLine);
                    }
                }
            }
        }
    }
}