--- dynmap-orig/spigot/src/main/java/org/dynmap/bukkit/DynmapPlugin.java 2019-06-05 00:35:48.000000000 +0200 +++ dynmap/spigot/src/main/java/org/dynmap/bukkit/DynmapPlugin.java 2019-06-05 00:26:32.000000000 +0200 @@ -28,6 +28,8 @@ import org.bukkit.block.Block; import org.bukkit.block.BlockFace; import org.bukkit.block.BlockState; +import org.bukkit.block.data.type.Sign; +import org.bukkit.block.data.type.WallSign; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; @@ -208,12 +210,29 @@ public int getBlockIDAt(String wname, int x, int y, int z) { World w = getServer().getWorld(wname); if((w != null) && w.isChunkLoaded(x >> 4, z >> 4)) { - return w.getBlockTypeIdAt(x, y, z); + return w.getBlockAt(x,y,z).getBlockData().getMaterial().getId(); } return -1; } @Override + public boolean isSignAt(String worldName, int x, int y, int z) { + + World world = getServer().getWorld(worldName); + + if ((world != null) && world.isChunkLoaded(x >> 4, z >> 4)) { + + Location loc = new Location(world, x, y, z); + Block blk = world.getBlockAt(loc); + + return (blk.getBlockData() instanceof Sign || blk.getBlockData() instanceof WallSign); + + } else { + return false; + } + } + + @Override public void scheduleServerTask(Runnable run, long delay) { getServer().getScheduler().scheduleSyncDelayedTask(DynmapPlugin.this, run, delay); } @@ -253,9 +272,10 @@ @Override public String getServerName() { try { - return getServer().getServerName(); + return getServer().getName(); } catch (NoSuchMethodError x) { // Missing in 1.14 spigot - no idea why removed... - return getServer().getName(); + return "Spigot/1.14.2-eidacz-dev"; + //return getServer().getName(); } } @Override @@ -799,7 +819,7 @@ /* Get MC version */ String bukkitver = getServer().getVersion(); - String mcver = "1.0.0"; + String mcver = "1.14.2"; int idx = bukkitver.indexOf("(MC: "); if(idx > 0) { mcver = bukkitver.substring(idx+5); @@ -1117,7 +1137,7 @@ World w = loc.getWorld(); if(!w.isChunkLoaded(loc.getBlockX()>>4, loc.getBlockZ()>>4)) continue; - int bt = w.getBlockTypeIdAt(loc); + int bt = w.getBlockAt(loc).getBlockData().getMaterial().getId(); /* Avoid stationary and moving water churn */ if(bt == 9) bt = 8; if(btt.typeid == 9) btt.typeid = 8; @@ -1144,7 +1164,8 @@ private void checkBlock(Block b, String trigger) { BlockToCheck btt = new BlockToCheck(); btt.loc = b.getLocation(); - btt.typeid = b.getTypeId(); + //btt.typeid = b.getTypeId(); + btt.typeid = b.getBlockData().getMaterial().getId(); btt.data = b.getData(); btt.trigger = trigger; blocks_to_check_accum.add(btt); /* Add to accumulator */ @@ -1251,9 +1272,9 @@ Material m = b.getType(); if(m == null) return; switch(m) { - case STATIONARY_WATER: + //case LEGACY_STATIONARY_WATER: case WATER: - case STATIONARY_LAVA: + //case LEGACY_STATIONARY_LAVA: case LAVA: case GRAVEL: case SAND: @@ -1273,11 +1294,11 @@ public void onBlockFromTo(BlockFromToEvent event) { Block b = event.getBlock(); Material m = b.getType(); - if((m != Material.WOOD_PLATE) && (m != Material.STONE_PLATE) && (m != null)) + if((m != Material.LEGACY_WOOD_PLATE) && (m != Material.LEGACY_STONE_PLATE) && (m != null)) checkBlock(b, "blockfromto"); b = event.getToBlock(); m = b.getType(); - if((m != Material.WOOD_PLATE) && (m != Material.STONE_PLATE) && (m != null)) + if((m != Material.LEGACY_WOOD_PLATE) && (m != Material.LEGACY_STONE_PLATE) && (m != null)) checkBlock(b, "blockfromto"); } };