85 lines
2.2 KiB
Java
85 lines
2.2 KiB
Java
package com.legacy.aether.world;
|
|
|
|
import com.legacy.aether.Aether;
|
|
import net.minecraft.nbt.NBTTagCompound;
|
|
import net.minecraft.world.World;
|
|
import net.minecraft.world.WorldSavedData;
|
|
import net.minecraft.world.storage.MapStorage;
|
|
|
|
public class AetherData extends WorldSavedData
|
|
{
|
|
final static String key = Aether.MOD_ID;
|
|
|
|
private NBTTagCompound data = new NBTTagCompound();
|
|
|
|
private boolean eternalDay;
|
|
private boolean shouldCycleCatchup;
|
|
private long aetherTime;
|
|
|
|
public AetherData (String tagName) {
|
|
super(tagName);
|
|
}
|
|
|
|
public static AetherData getInstance(World world) {
|
|
MapStorage storage = world.mapStorage;
|
|
AetherData result = (AetherData) storage.loadData(AetherData.class, key);
|
|
if (result == null) {
|
|
result = new AetherData(key);
|
|
storage.setData(key, result);
|
|
}
|
|
return result;
|
|
}
|
|
@Override
|
|
public void readFromNBT(NBTTagCompound compound) {
|
|
data = compound.getCompoundTag(key);
|
|
}
|
|
|
|
@Override
|
|
public void writeToNBT(NBTTagCompound compound) {
|
|
compound.setTag(key, data);
|
|
}
|
|
|
|
public NBTTagCompound getData() {
|
|
return data;
|
|
}
|
|
|
|
public boolean isEternalDay()
|
|
{
|
|
this.eternalDay = data.getBoolean("EternalDay");
|
|
return this.eternalDay;
|
|
}
|
|
|
|
public void setEternalDay(boolean eternalDay)
|
|
{
|
|
this.eternalDay = eternalDay;
|
|
data.setBoolean("EternalDay", this.eternalDay);
|
|
this.markDirty();
|
|
}
|
|
|
|
public boolean isShouldCycleCatchup()
|
|
{
|
|
this.shouldCycleCatchup = data.getBoolean("ShouldCycleCatchup");
|
|
return this.shouldCycleCatchup;
|
|
}
|
|
|
|
public void setShouldCycleCatchup(boolean shouldCycleCatchup)
|
|
{
|
|
this.shouldCycleCatchup = shouldCycleCatchup;
|
|
data.setBoolean("ShouldCycleCatchup", this.shouldCycleCatchup);
|
|
this.markDirty();
|
|
}
|
|
|
|
public long getAetherTime()
|
|
{
|
|
this.aetherTime = data.getLong("Time");
|
|
return this.aetherTime;
|
|
}
|
|
|
|
public void setAetherTime(long aetherTime)
|
|
{
|
|
this.aetherTime = aetherTime;
|
|
data.setLong("Time", this.aetherTime);
|
|
this.markDirty();
|
|
}
|
|
}
|