forked from embeddedt/ArchaicFix
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathChunkLightingDataManager.java
More file actions
66 lines (55 loc) · 1.89 KB
/
ChunkLightingDataManager.java
File metadata and controls
66 lines (55 loc) · 1.89 KB
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
package org.embeddedt.archaicfix.chunkapi;
import com.falsepattern.chunk.api.DataManager;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.world.chunk.Chunk;
import org.embeddedt.archaicfix.lighting.api.IChunkLightingData;
import org.embeddedt.archaicfix.lighting.world.lighting.LightingHooks;
public class ChunkLightingDataManager implements DataManager.ChunkDataManager
{
@Override
public String domain() {
return "archaicfix";
}
@Override
public String id() {
return "lighting";
}
@Override
public void writeChunkToNBT(Chunk chunk, NBTTagCompound nbt)
{
LightingHooks.writeNeighborLightChecksToNBT(chunk, nbt);
nbt.setBoolean("LightPopulated", ((IChunkLightingData) chunk).isLightInitialized());
}
@Override
public void readChunkFromNBT(Chunk chunk, NBTTagCompound nbt)
{
LightingHooks.readNeighborLightChecksFromNBT(chunk, nbt);
((IChunkLightingData) chunk).setLightInitialized(nbt.getBoolean("LightPopulated"));
}
@Override
public void cloneChunk(Chunk from, Chunk to) {
((IChunkLightingData) to).setNeighborLightChecks(((IChunkLightingData) from).getNeighborLightChecks());
((IChunkLightingData) to).setLightInitialized(((IChunkLightingData) from).isLightInitialized());
}
@Override
public String version() {
return "1.0";
}
@Override
public String newInstallDescription() {
return "Migrating the Light Initialization checks to a DataManager when ChunkAPI is installed.";
}
@Override
public String uninstallMessage() {
return "Removing Light Inititialization checks from a Datamanager. Shouldn't break anything.";
}
@Override
public String versionChangeMessage(String priorVersion)
{
return null;
}
@Override
public boolean chunkPrivilegedAccess() {
return true;
}
}