mirror of
https://github.com/Ellpeck/NaturesAura.git
synced 2024-12-22 14:59:22 +01:00
remove unloaded aura chunks
This commit is contained in:
parent
25b5ab0548
commit
ba6c274842
1 changed files with 15 additions and 0 deletions
|
@ -21,6 +21,7 @@ import net.minecraft.util.ResourceLocation;
|
|||
import net.minecraft.util.math.ChunkPos;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraft.world.chunk.Chunk;
|
||||
import net.minecraft.world.chunk.IChunk;
|
||||
import net.minecraft.world.gen.GenerationStage.Decoration;
|
||||
import net.minecraft.world.server.ChunkHolder;
|
||||
import net.minecraft.world.server.ChunkManager;
|
||||
|
@ -29,6 +30,7 @@ import net.minecraftforge.event.AttachCapabilitiesEvent;
|
|||
import net.minecraftforge.event.TickEvent;
|
||||
import net.minecraftforge.event.entity.player.PlayerInteractEvent;
|
||||
import net.minecraftforge.event.world.BiomeLoadingEvent;
|
||||
import net.minecraftforge.event.world.ChunkEvent;
|
||||
import net.minecraftforge.event.world.ChunkWatchEvent;
|
||||
import net.minecraftforge.eventbus.api.SubscribeEvent;
|
||||
import net.minecraftforge.fml.common.ObfuscationReflectionHelper;
|
||||
|
@ -74,6 +76,19 @@ public class CommonEvents {
|
|||
event.addCapability(new ResourceLocation(NaturesAura.MOD_ID, "data"), new WorldData());
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
public void onChunkUnload(ChunkEvent.Unload event) {
|
||||
IChunk iChunk = event.getChunk();
|
||||
if (iChunk instanceof Chunk) {
|
||||
Chunk chunk = (Chunk) iChunk;
|
||||
IAuraChunk auraChunk = chunk.getCapability(NaturesAuraAPI.capAuraChunk).orElse(null);
|
||||
if (auraChunk instanceof AuraChunk) {
|
||||
WorldData data = (WorldData) IWorldData.getWorldData(chunk.getWorld());
|
||||
data.auraChunksWithSpots.remove(chunk.getPos().asLong());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
public void onItemUse(PlayerInteractEvent.RightClickBlock event) {
|
||||
PlayerEntity player = event.getPlayer();
|
||||
|
|
Loading…
Reference in a new issue