mirror of
https://github.com/webbukkit/dynmap.git
synced 2024-11-23 18:55:14 +01:00
We're rendering now on Spigot 1.18 - still more to do, but progress
This commit is contained in:
parent
d52f02d88e
commit
039ff30f61
@ -164,7 +164,7 @@ public class BukkitVersionHelperSpigot118 extends BukkitVersionHelper {
|
|||||||
}
|
}
|
||||||
net.minecraft.world.level.material.Material mat = bd.c();
|
net.minecraft.world.level.material.Material mat = bd.c();
|
||||||
DynmapBlockState bs = new DynmapBlockState(lastbs, idx, bname, sb, mat.toString());
|
DynmapBlockState bs = new DynmapBlockState(lastbs, idx, bname, sb, mat.toString());
|
||||||
if ((!bd.n().b()) && ((bd.b() instanceof BlockFluids) == false)) { // Test if fluid type for block is not empty
|
if ((!bd.n().c()) && ((bd.b() instanceof BlockFluids) == false)) { // Test if fluid type for block is not empty
|
||||||
bs.setWaterlogged();
|
bs.setWaterlogged();
|
||||||
}
|
}
|
||||||
if (mat == net.minecraft.world.level.material.Material.a) { // AIR
|
if (mat == net.minecraft.world.level.material.Material.a) { // AIR
|
||||||
|
@ -16,6 +16,7 @@ import org.dynmap.utils.DataBitsPacked;
|
|||||||
import org.dynmap.utils.DynIntHashMap;
|
import org.dynmap.utils.DynIntHashMap;
|
||||||
import org.dynmap.utils.VisibilityLimit;
|
import org.dynmap.utils.VisibilityLimit;
|
||||||
|
|
||||||
|
import jline.internal.Log;
|
||||||
import net.minecraft.nbt.NBTTagCompound;
|
import net.minecraft.nbt.NBTTagCompound;
|
||||||
import net.minecraft.nbt.NBTTagList;
|
import net.minecraft.nbt.NBTTagList;
|
||||||
import net.minecraft.util.DataBits;
|
import net.minecraft.util.DataBits;
|
||||||
@ -171,7 +172,7 @@ public class MapChunkCache118 extends AbstractMapChunkCache {
|
|||||||
this.captureFulltime = 0;
|
this.captureFulltime = 0;
|
||||||
this.hmap = nbt.n("HeightMap");
|
this.hmap = nbt.n("HeightMap");
|
||||||
this.sectionCnt = worldheight / 16;
|
this.sectionCnt = worldheight / 16;
|
||||||
if (nbt.b("InhabitedTime")) {
|
if (nbt.e("InhabitedTime")) {
|
||||||
this.inhabitedTicks = nbt.i("InhabitedTime");
|
this.inhabitedTicks = nbt.i("InhabitedTime");
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
@ -186,9 +187,11 @@ public class MapChunkCache118 extends AbstractMapChunkCache {
|
|||||||
sections.add(empty_section);
|
sections.add(empty_section);
|
||||||
sectcnt++;
|
sectcnt++;
|
||||||
}
|
}
|
||||||
|
//System.out.println("nbt.keys()=" + nbt.d().toString());
|
||||||
StdSection lastsectwithbiome = null;
|
StdSection lastsectwithbiome = null;
|
||||||
/* Get sections */
|
/* Get sections */
|
||||||
NBTTagList sect = nbt.c("Sections", 10);
|
|
||||||
|
NBTTagList sect = nbt.e("sections") ? nbt.c("sections", 10) : nbt.c("Sections", 10);
|
||||||
for (int i = 0; i < sect.size(); i++) {
|
for (int i = 0; i < sect.size(); i++) {
|
||||||
NBTTagCompound sec = sect.a(i);
|
NBTTagCompound sec = sect.a(i);
|
||||||
int secnum = sec.h("Y");
|
int secnum = sec.h("Y");
|
||||||
@ -203,7 +206,7 @@ public class MapChunkCache118 extends AbstractMapChunkCache {
|
|||||||
sectoff++;
|
sectoff++;
|
||||||
sectcnt++;
|
sectcnt++;
|
||||||
}
|
}
|
||||||
//System.out.println("section(" + secnum + ")=" + sec.asString());
|
//System.out.println("section(" + secnum + ")=" + sec.toString());
|
||||||
// Create normal section to initialize
|
// Create normal section to initialize
|
||||||
StdSection cursect = new StdSection();
|
StdSection cursect = new StdSection();
|
||||||
sections.set(secnum + sectoff, cursect);
|
sections.set(secnum + sectoff, cursect);
|
||||||
@ -217,7 +220,7 @@ public class MapChunkCache118 extends AbstractMapChunkCache {
|
|||||||
for (int pi = 0; pi < plist.size(); pi++) {
|
for (int pi = 0; pi < plist.size(); pi++) {
|
||||||
NBTTagCompound tc = plist.a(pi);
|
NBTTagCompound tc = plist.a(pi);
|
||||||
String pname = tc.l("Name");
|
String pname = tc.l("Name");
|
||||||
if (tc.b("Properties")) {
|
if (tc.e("Properties")) {
|
||||||
StringBuilder statestr = new StringBuilder();
|
StringBuilder statestr = new StringBuilder();
|
||||||
NBTTagCompound prop = tc.p("Properties");
|
NBTTagCompound prop = tc.p("Properties");
|
||||||
for (String pid : prop.d()) {
|
for (String pid : prop.d()) {
|
||||||
@ -256,7 +259,7 @@ public class MapChunkCache118 extends AbstractMapChunkCache {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (sec.b("block_states")) { // 1.18
|
else if (sec.e("block_states")) { // 1.18
|
||||||
NBTTagCompound block_states = sec.p("block_states");
|
NBTTagCompound block_states = sec.p("block_states");
|
||||||
// If we've block state data, process non-empty section
|
// If we've block state data, process non-empty section
|
||||||
if (block_states.b("data", 12)) {
|
if (block_states.b("data", 12)) {
|
||||||
@ -266,7 +269,7 @@ public class MapChunkCache118 extends AbstractMapChunkCache {
|
|||||||
for (int pi = 0; pi < plist.size(); pi++) {
|
for (int pi = 0; pi < plist.size(); pi++) {
|
||||||
NBTTagCompound tc = plist.a(pi);
|
NBTTagCompound tc = plist.a(pi);
|
||||||
String pname = tc.l("Name");
|
String pname = tc.l("Name");
|
||||||
if (tc.b("Properties")) {
|
if (tc.e("Properties")) {
|
||||||
StringBuilder statestr = new StringBuilder();
|
StringBuilder statestr = new StringBuilder();
|
||||||
NBTTagCompound prop = tc.p("Properties");
|
NBTTagCompound prop = tc.p("Properties");
|
||||||
for (String pid : prop.d()) {
|
for (String pid : prop.d()) {
|
||||||
@ -309,14 +312,14 @@ public class MapChunkCache118 extends AbstractMapChunkCache {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (sec.b("BlockLight")) {
|
if (sec.e("BlockLight")) {
|
||||||
cursect.emitlight = dataCopy(sec.m("BlockLight"));
|
cursect.emitlight = dataCopy(sec.m("BlockLight"));
|
||||||
}
|
}
|
||||||
if (sec.b("SkyLight")) {
|
if (sec.e("SkyLight")) {
|
||||||
cursect.skylight = dataCopy(sec.m("SkyLight"));
|
cursect.skylight = dataCopy(sec.m("SkyLight"));
|
||||||
}
|
}
|
||||||
// If section biome palette
|
// If section biome palette
|
||||||
if (sec.b("biomes")) {
|
if (sec.e("biomes")) {
|
||||||
NBTTagCompound nbtbiomes = sec.p("biomes");
|
NBTTagCompound nbtbiomes = sec.p("biomes");
|
||||||
long[] bdataPacked = nbtbiomes.o("data");
|
long[] bdataPacked = nbtbiomes.o("data");
|
||||||
NBTTagList bpalette = nbtbiomes.c("palette", 8);
|
NBTTagList bpalette = nbtbiomes.c("palette", 8);
|
||||||
@ -334,7 +337,7 @@ public class MapChunkCache118 extends AbstractMapChunkCache {
|
|||||||
this.biome = new int[COLUMNS_PER_CHUNK];
|
this.biome = new int[COLUMNS_PER_CHUNK];
|
||||||
this.biomebase = new Object[COLUMNS_PER_CHUNK];
|
this.biomebase = new Object[COLUMNS_PER_CHUNK];
|
||||||
Object[] bbl = BukkitVersionHelper.helper.getBiomeBaseList();
|
Object[] bbl = BukkitVersionHelper.helper.getBiomeBaseList();
|
||||||
if (nbt.b("Biomes")) {
|
if (nbt.e("Biomes")) {
|
||||||
int[] bb = nbt.n("Biomes");
|
int[] bb = nbt.n("Biomes");
|
||||||
if (bb != null) {
|
if (bb != null) {
|
||||||
// If v1.15+ format
|
// If v1.15+ format
|
||||||
@ -448,7 +451,9 @@ public class MapChunkCache118 extends AbstractMapChunkCache {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (nbt != null) {
|
if (nbt != null) {
|
||||||
nbt = nbt.p("Level");
|
if (nbt.e("Level")) {
|
||||||
|
nbt = nbt.p("Level");
|
||||||
|
}
|
||||||
if (nbt != null) {
|
if (nbt != null) {
|
||||||
String stat = nbt.l("Status");
|
String stat = nbt.l("Status");
|
||||||
ChunkStatus cs = ChunkStatus.a(stat);
|
ChunkStatus cs = ChunkStatus.a(stat);
|
||||||
@ -461,6 +466,7 @@ public class MapChunkCache118 extends AbstractMapChunkCache {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private NBTTagCompound loadChunkNBT(World w, int x, int z) {
|
private NBTTagCompound loadChunkNBT(World w, int x, int z) {
|
||||||
|
//.info("loadChunkNBT(" + w.getName() + "," + x + "," + z);
|
||||||
CraftWorld cw = (CraftWorld) w;
|
CraftWorld cw = (CraftWorld) w;
|
||||||
NBTTagCompound nbt = null;
|
NBTTagCompound nbt = null;
|
||||||
ChunkCoordIntPair cc = new ChunkCoordIntPair(x, z);
|
ChunkCoordIntPair cc = new ChunkCoordIntPair(x, z);
|
||||||
@ -469,7 +475,10 @@ public class MapChunkCache118 extends AbstractMapChunkCache {
|
|||||||
} catch (IOException iox) {
|
} catch (IOException iox) {
|
||||||
}
|
}
|
||||||
if (nbt != null) {
|
if (nbt != null) {
|
||||||
nbt = nbt.p("Level");
|
// See if we have Level - unwrap this if so
|
||||||
|
if (nbt.e("Level")) {
|
||||||
|
nbt = nbt.p("Level");
|
||||||
|
}
|
||||||
if (nbt != null) {
|
if (nbt != null) {
|
||||||
String stat = nbt.l("Status");
|
String stat = nbt.l("Status");
|
||||||
if ((stat == null) || (stat.equals("full") == false)) {
|
if ((stat == null) || (stat.equals("full") == false)) {
|
||||||
|
Loading…
Reference in New Issue
Block a user