forked from cybertiger/Bukkit-LibNBT
-
Notifications
You must be signed in to change notification settings - Fork 0
/
InstanceTools.java
75 lines (64 loc) · 2.88 KB
/
InstanceTools.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package org.cyberiantiger.minecraft.unsafe.v1_13_R2;
import java.io.File;
import org.bukkit.Difficulty;
import org.bukkit.World;
import org.bukkit.plugin.Plugin;
import org.cyberiantiger.minecraft.unsafe.AbstractInstanceTools;
/**
*
* @author antony
*/
public final class InstanceTools extends AbstractInstanceTools {
@Override
public void unloadWorld(Plugin plugin, World world) {
plugin.getServer().unloadWorld(world, false);
}
@Override
public org.bukkit.World createInstance(final Plugin plugin, String instanceName, World.Environment env, Difficulty difficulty, File source, File destination) {
// checkDirectories(source, destination);
//
// MinecraftServer console = ((CraftServer) plugin.getServer()).getServer();
// if (console == null) {
// throw new IllegalStateException("Minecraft console was null");
// }
//
// CraftServer craftServer = (CraftServer) plugin.getServer();
//
// IDataManager dataManager = new InstanceDataManager(plugin, instanceName, source, destination, craftServer.getServer(), craftServer.getServer().dataConverterManager);
// XXX: Copy paste from craftbukkit.
// int dimension = 10 + console.getWorlds().size();
//
// boolean used = false;
// do {
// for (WorldServer server : console.worlds) {
// used = server.dimension == dimension;
// if (used) {
// dimension++;
// break;
// }
// }
// } while (used);
// MethodProfiler profiler = console.methodProfiler;
// WorldData wd = dataManager.getWorldData();
// ChunkGenerator generator = new VoidGenerator(Biome.PLAINS, new Coord(wd.b(), wd.c(), wd.d()));
// WorldServer instanceWorld = (WorldServer) new WorldServer(console, dataManager, wd, dimension, console.methodProfiler, env, generator).b();
// instanceWorld.tracker = new EntityTracker(instanceWorld);
// instanceWorld.addIWorldAccess(new WorldManager(console, instanceWorld));
// // EnumDifficulty and Difficulty have same order of enum values.
// instanceWorld.getWorldData().setDifficulty(EnumDifficulty.values()[difficulty.ordinal()]);
// instanceWorld.setSpawnFlags(true, true);
// instanceWorld.keepSpawnInMemory = false;
// console.worlds.add(instanceWorld);
// instanceWorld.getWorld().getPopulators().addAll(generator.getDefaultPopulators(instanceWorld.getWorld()));
//
// plugin.getServer().getPluginManager().callEvent(new WorldInitEvent(instanceWorld.getWorld()));
// plugin.getServer().getPluginManager().callEvent(new WorldLoadEvent(instanceWorld.getWorld()));
//
// return instanceWorld.getWorld();
return null;
}
}