org.bukkit.Material#WALL_SIGN源码实例Demo

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

源代码1 项目: AnnihilationPro   文件: Signs.java
private void placeSignInWorld(AnniSign asign, String[] lore)
{
	Location loc = asign.getLocation().toLocation();
	Block block = loc.getWorld().getBlockAt(loc);//asign.getLocation().toLocation().getBlock();
	if(block.getType() != Material.WALL_SIGN && block.getType() != Material.SIGN_POST)
		block.getWorld().getBlockAt(loc).setType(asign.isSignPost() ? Material.SIGN_POST : Material.WALL_SIGN);
	
	Sign sign = (Sign)block.getState();
	if(sign != null)
	{
		for(int x = 0; x < lore.length; x++)
			sign.setLine(x, lore[x]);
		org.bukkit.material.Sign matSign = new org.bukkit.material.Sign(block.getType());
		matSign.setFacingDirection(asign.getFacingDirection());
		sign.setData(matSign);
		sign.update(true);
	}
}
 
源代码2 项目: ZombieEscape   文件: Game.java
/**
 * Creates a door with a given time in seconds.
 *
 * @param player the player who is setting the arena up
 * @param input  the time, in seconds, the door will take to open
 */
private void addDoor(Player player, String input) {
    Block block = player.getEyeLocation().getBlock();
    Material material = block.getType();
    if (material != Material.SIGN_POST && material != Material.WALL_SIGN) {
        Messages.BLOCK_NOT_SIGN.send(player);
        return;
    }

    int seconds = Utils.getNumber(player, input);

    if (seconds < 0) {
        Messages.BAD_SECONDS.send(player);
        return;
    }

    int signID = editedFile.createListLocation(player, block.getLocation(), "Doors");
    editedFile.getConfig().set("Doors." + signID + ".Timer", seconds);
    editedFile.saveFile();
    Messages.CREATED_SIGN.send(player, signID, seconds);
}
 
源代码3 项目: SkyWarsReloaded   文件: LobbyListener.java
@EventHandler
public void signRemoved(BlockBreakEvent event) {
	if (Util.get().isSpawnWorld(event.getBlock().getWorld())) {
		 Location blockLocation = event.getBlock().getLocation();
	        World w = blockLocation.getWorld();
	    	Block b = w.getBlockAt(blockLocation);
			if(b.getType() == Material.WALL_SIGN || b.getType() == SkyWarsReloaded.getNMS().getMaterial("SIGN_POST").getType()){
		    	Sign sign = (Sign) b.getState();
		    	Location loc = sign.getLocation();
		    	boolean removed = false;
		    	for (GameMap gMap : GameMap.getMaps()) {
		    		if (!removed) {
			    		removed = gMap.removeSign(loc);
		    		}
		    	}
		    	if (!removed) {
		    		removed = SkyWarsReloaded.getLB().removeLeaderSign(loc);
		    	}
		    	if (removed) {
			    	event.getPlayer().sendMessage(new Messaging.MessageFormatter().format("signs.remove"));
		    	}
			}
	}
}
 
源代码4 项目: SkyWarsReloaded   文件: SignListener.java
@EventHandler
public void signPlaced(SignChangeEvent event) {
    String[] lines = event.getLines();
    if (lines[0].equalsIgnoreCase("[sw]") && lines.length >= 2) {
    	if (event.getPlayer().hasPermission("sw.signs")) {
    			Location signLocation = event.getBlock().getLocation();
                World w = signLocation.getWorld();
            	Block b = w.getBlockAt(signLocation);
            	if(b.getType() == Material.WALL_SIGN || b.getType() == SkyWarsReloaded.getNMS().getMaterial("SIGN_POST").getType()) {
           			event.setCancelled(true);
           			String serverName = lines[1];
           			SWRServer server = SWRServer.getServer(serverName);
           			if (server != null) {
           				server.addSign(signLocation);
                   		event.getPlayer().sendMessage(new Messaging.MessageFormatter().format("signs.added"));
                   	} else {
                   		event.getPlayer().sendMessage(new Messaging.MessageFormatter().format("signs.no-map"));
                   	}
            	}
        	} else {
        		event.getPlayer().sendMessage(new Messaging.MessageFormatter().format("error.signs-no-perm"));
    			event.setCancelled(true);
        } 
   }
}
 
源代码5 项目: SkyWarsReloaded   文件: SignListener.java
@EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = false)
public void onPlayerInteract(PlayerInteractEvent e) {
	Player player = e.getPlayer();
   	if (e.getAction() == Action.RIGHT_CLICK_BLOCK) {
   		 if (e.getClickedBlock().getType() == Material.WALL_SIGN || e.getClickedBlock().getType() == SkyWarsReloaded.getNMS().getMaterial("SIGN_POST").getType()) {
   				Sign s = (Sign) e.getClickedBlock().getState();
   			    Location loc = s.getLocation();
   			    SWRServer server = SWRServer.getSign(loc);
   			    if (server != null) {
   			    	if (server.getMatchState().equals(MatchState.WAITINGSTART) && server.getPlayerCount() < server.getMaxPlayers()) {
   			    		server.setPlayerCount(server.getPlayerCount() + 1);
       			    	server.updateSigns();
   			    		SkyWarsReloaded.get().sendBungeeMsg(player, "Connect", server.getServerName());
   					}
   			    }
   		 }
   	}
}
 
源代码6 项目: AnnihilationPro   文件: Signs.java
@EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
public void signClickCheck(PlayerInteractEvent event)
{
	if(event.getAction() == Action.RIGHT_CLICK_BLOCK)
	{
		Block b = event.getClickedBlock();
		if(b != null)
		{
			if(b.getType() == Material.WALL_SIGN || b.getType() == Material.SIGN_POST)
			{
				final Location loc = b.getLocation();
				final Player p = event.getPlayer();
				AnniSign sign = this.signs.get(MapKey.getKey(loc));
				if(sign != null)
				{
					event.setCancelled(true);
					if(sign.getType().equals(SignType.Team))
					{
						AnniTeam team = sign.getType().getTeam();
						if(team != null)
						{
							p.performCommand("team "+team.getName());
						}
					}
					else if(sign.getType().equals(SignType.Brewing))
					{
						ShopMenu.openBrewingShop(p);
					}
					else if(sign.getType().equals(SignType.Weapon))
					{
						ShopMenu.openWeaponShop(p);
					}
				}
			}
		}
	}
}
 
源代码7 项目: AnnihilationPro   文件: Signs.java
@EventHandler(priority = EventPriority.LOW,ignoreCancelled = true)
public void signBreakCheck(BlockBreakEvent event)
{
	if(event.getBlock() != null && event.getPlayer().getGameMode() != GameMode.CREATIVE)
	{
		if(event.getBlock().getType() == Material.WALL_SIGN || event.getBlock().getType() == Material.SIGN_POST)
		{
			MapKey key = MapKey.getKey(event.getBlock().getLocation());
			if(this.signs.containsKey(key))
				event.setCancelled(true);
		}
	}
}
 
源代码8 项目: SkyWarsReloaded   文件: SignListener.java
@EventHandler
  public void signRemoved(BlockBreakEvent event) {
      Location blockLocation = event.getBlock().getLocation();
      World w = blockLocation.getWorld();
  	Block b = w.getBlockAt(blockLocation);
if(b.getType() == Material.WALL_SIGN || b.getType() == SkyWarsReloaded.getNMS().getMaterial("SIGN_POST").getType()){
   	Sign sign = (Sign) b.getState();
   	Location loc = sign.getLocation();
   	SWRServer server = SWRServer.getSign(loc);
   	if (server != null) {
   		server.removeSign(loc);
   		event.getPlayer().sendMessage(new Messaging.MessageFormatter().format("signs.remove"));
   	}
}
  }
 
源代码9 项目: ServerTutorial   文件: TutorialListener.java
@EventHandler
public void onPlayerInteract(PlayerInteractEvent event) {
    Player player = event.getPlayer();
    String name = player.getName();
    if (event.getAction() != Action.PHYSICAL) {
        if (TutorialManager.getManager().isInTutorial(name) && TutorialManager.getManager().getCurrentTutorial
                (name).getViewType() != ViewType.TIME) {
            if (TutorialManager.getManager().getCurrentTutorial(name).getTotalViews() == TutorialManager
                    .getManager().getCurrentView(name)) {
                plugin.getEndTutorial().endTutorial(player);
            } else {
                plugin.incrementCurrentView(name);
                TutorialUtils.getTutorialUtils().messageUtils(player);
                Caching.getCaching().setTeleport(player, true);
                player.teleport(TutorialManager.getManager().getTutorialView(name).getLocation());
            }
        }
    }
    if ((event.getAction() == Action.RIGHT_CLICK_BLOCK || event.getAction() == Action.LEFT_CLICK_BLOCK) &&
            !TutorialManager.getManager().isInTutorial(name)) {
        Block block = event.getClickedBlock();
        if (block.getType() == Material.SIGN || block.getType() == Material.WALL_SIGN) {
            Sign sign = (Sign) block.getState();
            String match = ChatColor.stripColor(TutorialUtils.color(TutorialManager.getManager().getConfigs()
                    .signSetting()));
            if (sign.getLine(0).equalsIgnoreCase(match) && sign.getLine(1) != null) {
                plugin.startTutorial(sign.getLine(1), player);
            }
        }
    }
}
 
源代码10 项目: ProjectAres   文件: Materials.java
public static boolean isSign(Material material) {
    return material == Material.SIGN_POST || material == Material.WALL_SIGN;
}
 
源代码11 项目: Shopkeepers   文件: Utils.java
public static boolean isSign(Material material) {
	return material == Material.WALL_SIGN || material == Material.SIGN_POST || material == Material.SIGN;
}
 
源代码12 项目: Kettle   文件: Sign.java
/**
 * Check if this sign is attached to a wall
 *
 * @return true if this sign is attached to a wall, false if set on top of
 * a block
 */
public boolean isWallSign() {
    return getItemType() == Material.WALL_SIGN;
}
 
 方法所在类
 同类方法