mirror of
https://github.com/webbukkit/dynmap.git
synced 2024-09-27 13:22:34 +02:00
Iron out 1.13.2 biomes and chunk loading
This commit is contained in:
parent
0d937ce368
commit
151122a333
@ -552,8 +552,9 @@ public class DynmapCore implements DynmapCommonAPI {
|
||||
|
||||
/* Print version info */
|
||||
Log.info("version " + plugin_ver + " is enabled - core version " + version );
|
||||
Log.info("For support, visit https://forums.dynmap.us");
|
||||
Log.info("For support, visit https://reddit.com/r/Dynmap");
|
||||
Log.info("To report or track bugs, visit https://github.com/webbukkit/dynmap/issues");
|
||||
Log.info("If you'd like to donate, please visit https://www.patreon.com/dynmap or https://ko-fi.com/michaelprimm");
|
||||
|
||||
events.<Object>trigger("initialized", null);
|
||||
|
||||
|
@ -51,6 +51,8 @@ import net.minecraft.util.SoundCategory;
|
||||
import net.minecraft.util.SoundEvent;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.util.math.ChunkPos;
|
||||
import net.minecraft.util.registry.IRegistry;
|
||||
import net.minecraft.util.registry.RegistryNamespaced;
|
||||
import net.minecraft.util.text.ITextComponent;
|
||||
import net.minecraft.util.text.TextComponentString;
|
||||
import net.minecraft.world.IBlockReader;
|
||||
@ -72,6 +74,8 @@ import net.minecraftforge.fml.common.gameevent.PlayerEvent.PlayerChangedDimensio
|
||||
import net.minecraftforge.fml.common.gameevent.PlayerEvent.PlayerLoggedInEvent;
|
||||
import net.minecraftforge.fml.common.gameevent.PlayerEvent.PlayerLoggedOutEvent;
|
||||
import net.minecraftforge.fml.common.gameevent.PlayerEvent.PlayerRespawnEvent;
|
||||
import net.minecraftforge.registries.ForgeRegistries;
|
||||
import net.minecraftforge.registries.ForgeRegistry;
|
||||
import net.minecraftforge.registries.RegistryManager;
|
||||
import net.minecraftforge.fml.common.gameevent.TickEvent;
|
||||
import net.minecraftforge.fml.common.registry.GameRegistry;
|
||||
@ -258,10 +262,10 @@ public class DynmapPlugin
|
||||
public static final Biome[] getBiomeList() {
|
||||
if (biomelist == null) {
|
||||
biomelist = new Biome[256];
|
||||
Iterator<Biome> iter = Biome.MUTATION_TO_BASE_ID_MAP.iterator();
|
||||
Iterator<Biome> iter = ForgeRegistries.BIOMES.iterator();
|
||||
while (iter.hasNext()) {
|
||||
Biome b = iter.next();
|
||||
int bidx = Biome.MUTATION_TO_BASE_ID_MAP.get(b);
|
||||
Biome b = iter.next();
|
||||
int bidx = RegistryNamespaced.BIOME.getId(b);
|
||||
if (bidx >= biomelist.length) {
|
||||
biomelist = Arrays.copyOf(biomelist, bidx + biomelist.length);
|
||||
}
|
||||
@ -1361,16 +1365,23 @@ public class DynmapPlugin
|
||||
if(bb != null) {
|
||||
String id = bb.getRegistryName().getPath();
|
||||
float tmp = bb.getDefaultTemperature(), hum = bb.getDownfall();
|
||||
int watermult = bb.getWaterColor();
|
||||
Log.verboseinfo("biome[" + i + "]: hum=" + hum + ", tmp=" + tmp + ", mult=" + Integer.toHexString(watermult));
|
||||
|
||||
BiomeMap bmap = BiomeMap.byBiomeID(i);
|
||||
if (bmap.isDefault()) {
|
||||
BiomeMap m = new BiomeMap(i, id, tmp, hum);
|
||||
Log.verboseinfo("Add custom biome [" + m.toString() + "] (" + i + ")");
|
||||
bmap = new BiomeMap(i, id, tmp, hum);
|
||||
Log.verboseinfo("Add custom biome [" + bmap.toString() + "] (" + i + ")");
|
||||
cnt++;
|
||||
}
|
||||
else {
|
||||
bmap.setTemperature(tmp);
|
||||
bmap.setRainfall(hum);
|
||||
}
|
||||
if (watermult != -1) {
|
||||
bmap.setWaterColorMultiplier(watermult);
|
||||
Log.verboseinfo("Set watercolormult for " + bmap.toString() + " (" + i + ") to " + Integer.toHexString(watermult));
|
||||
}
|
||||
}
|
||||
}
|
||||
if(cnt > 0)
|
||||
|
@ -927,7 +927,7 @@ public class ForgeMapChunkCache extends MapChunkCache
|
||||
Class<?>[] p = m.getParameterTypes();
|
||||
if ((p.length == 3) && (p[0].equals(Chunk.class)) && (p[1].equals(World.class)) && (p[2].equals(NBTTagCompound.class))) {
|
||||
writechunktonbt = m;
|
||||
//Log.info("Found writechunktonbt- " + m.getName());
|
||||
Log.info("Found writechunktonbt- " + m.getName());
|
||||
m.setAccessible(true);
|
||||
break;
|
||||
}
|
||||
@ -1059,6 +1059,7 @@ public class ForgeMapChunkCache extends MapChunkCache
|
||||
NBTTagCompound rslt = null;
|
||||
ChunkPos coord = new ChunkPos(x, z);
|
||||
|
||||
//}
|
||||
// if (pendingcoords.contains(coord.asLong()) {
|
||||
// for (Object o : chunkstoremove.values()) {
|
||||
// if (chunkCoord == null) {
|
||||
@ -1095,8 +1096,14 @@ public class ForgeMapChunkCache extends MapChunkCache
|
||||
}
|
||||
rslt = CompressedStreamTools.read(str);
|
||||
}
|
||||
if(rslt != null)
|
||||
if(rslt != null) {
|
||||
rslt = rslt.getCompound("Level");
|
||||
// Don't load uncooked chunks
|
||||
String stat = rslt.getString("Status");
|
||||
if ((stat == null) || (stat.equals("full") == false)) {
|
||||
rslt = null;
|
||||
}
|
||||
}
|
||||
//Log.info(String.format("loadChunk(%d,%d)=%s", x, z, (rslt != null) ? rslt.toString() : "null"));
|
||||
return rslt;
|
||||
} catch (Exception exc) {
|
||||
|
Loading…
Reference in New Issue
Block a user