|
@@ -1,23 +1,16 @@
|
|
|
package me.km.world;
|
|
|
|
|
|
-import java.util.UUID;
|
|
|
-import net.minecraft.command.TimerCallbackManager;
|
|
|
-import net.minecraft.server.MinecraftServer;
|
|
|
-import net.minecraft.world.Difficulty;
|
|
|
+import me.km.utils.ReflectionUtils;
|
|
|
import net.minecraft.world.GameRules;
|
|
|
-import net.minecraft.world.GameType;
|
|
|
-import net.minecraft.world.border.WorldBorder;
|
|
|
-import net.minecraft.world.storage.IServerWorldInfo;
|
|
|
+import net.minecraft.world.storage.DerivedWorldInfo;
|
|
|
|
|
|
-public class ModWorldInfo implements IServerWorldInfo {
|
|
|
- private final IServerWorldInfo parent;
|
|
|
+public class ModWorldInfo extends DerivedWorldInfo {
|
|
|
private boolean thundering;
|
|
|
private int rainTime = 0;
|
|
|
private int thunderTime = 0;
|
|
|
private int clearWeatherTime = 0;
|
|
|
private int traderDelay = 0;
|
|
|
private int traderSpawnChance = 0;
|
|
|
- private long gameTime = 0;
|
|
|
private long dayTime = 0;
|
|
|
private int spawnX = 0;
|
|
|
private int spawnY = 0;
|
|
@@ -26,13 +19,9 @@ public class ModWorldInfo implements IServerWorldInfo {
|
|
|
private boolean raining = false;
|
|
|
private final GameRules rules = new GameRules();
|
|
|
|
|
|
- public ModWorldInfo(IServerWorldInfo parent) {
|
|
|
- this.parent = parent;
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- public String getWorldName() {
|
|
|
- return parent.getWorldName();
|
|
|
+ public ModWorldInfo(DerivedWorldInfo parent) {
|
|
|
+ super(ReflectionUtils.getDerivedWorldInfoConfiguration(parent),
|
|
|
+ ReflectionUtils.getDerivedWorldInfoDelegate(parent));
|
|
|
}
|
|
|
|
|
|
@Override
|
|
@@ -90,55 +79,6 @@ public class ModWorldInfo implements IServerWorldInfo {
|
|
|
traderSpawnChance = i;
|
|
|
}
|
|
|
|
|
|
- @Override
|
|
|
- public void setWanderingTraderID(UUID uuid) {
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- public GameType getGameType() {
|
|
|
- return parent.getGameType();
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- public void setWorldBorderSerializer(WorldBorder.Serializer srlzr) {
|
|
|
- parent.setWorldBorderSerializer(srlzr);
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- public WorldBorder.Serializer getWorldBorderSerializer() {
|
|
|
- return parent.getWorldBorderSerializer();
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- public boolean isInitialized() {
|
|
|
- return parent.isInitialized();
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- public void setInitialized(boolean bln) {
|
|
|
- parent.setInitialized(bln);
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- public boolean areCommandsAllowed() {
|
|
|
- return parent.areCommandsAllowed();
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- public void setGameType(GameType gt) {
|
|
|
- parent.setGameType(gt);
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- public TimerCallbackManager<MinecraftServer> getScheduledEvents() {
|
|
|
- return parent.getScheduledEvents();
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- public void setGameTime(long l) {
|
|
|
- gameTime = l;
|
|
|
- }
|
|
|
-
|
|
|
@Override
|
|
|
public void setDayTime(long l) {
|
|
|
dayTime = l;
|
|
@@ -184,11 +124,6 @@ public class ModWorldInfo implements IServerWorldInfo {
|
|
|
return spawnAngle;
|
|
|
}
|
|
|
|
|
|
- @Override
|
|
|
- public long getGameTime() {
|
|
|
- return gameTime;
|
|
|
- }
|
|
|
-
|
|
|
@Override
|
|
|
public long getDayTime() {
|
|
|
return dayTime;
|
|
@@ -208,24 +143,9 @@ public class ModWorldInfo implements IServerWorldInfo {
|
|
|
public void setRaining(boolean bln) {
|
|
|
raining = bln;
|
|
|
}
|
|
|
-
|
|
|
- @Override
|
|
|
- public boolean isHardcore() {
|
|
|
- return parent.isHardcore();
|
|
|
- }
|
|
|
-
|
|
|
+
|
|
|
@Override
|
|
|
public GameRules getGameRulesInstance() {
|
|
|
return rules;
|
|
|
}
|
|
|
-
|
|
|
- @Override
|
|
|
- public Difficulty getDifficulty() {
|
|
|
- return parent.getDifficulty();
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- public boolean isDifficultyLocked() {
|
|
|
- return parent.isDifficultyLocked();
|
|
|
- }
|
|
|
}
|