Java 类org.bukkit.event.world.ChunkUnloadEvent 实例源码
项目:NeverLag
文件:RemoveEntityWhenChunkUnload.java
@EventHandler(ignoreCancelled = true, priority = EventPriority.MONITOR)
public void onChunkUnload(ChunkUnloadEvent e) {
if (!cm.removeEntityWhenChunkUnload) {
return;
}
for (Entity entity : e.getChunk().getEntities()) {
if (NeverLagUtils.checkCustomNpc(entity)) {
continue;
}
if (entity instanceof Monster && cm.removeMonsterWhenChunkUnload) {
entity.remove();
} else if (entity instanceof Animals && cm.removeAnimalsWhenChunkUnload) {
entity.remove();
} else if (entity instanceof Item && cm.removeItemWhenChunkUnload) {
entity.remove();
} else if (entity instanceof Arrow && cm.removeArrowWhenChunkUnload) {
entity.remove();
} else if (entity instanceof Squid && cm.removeSquidWhenChunkUnload) {
entity.remove();
}
}
}
项目:QuestManager
文件:QuestManager.java
@EventHandler
public void onChunkUnload(ChunkUnloadEvent e) {
if (QuestManagerPlugin.questManagerPlugin.getPluginConfiguration().getWorlds().contains(
e.getWorld().getName()))
for (Entity entity : e.getChunk().getEntities()) {
for (NPC npc : questNPCs) {
//if (npc.getEntity().getCustomName() != null &&
if (npc.getName() != null &&
//npc.getEntity().getCustomName().equals(entity.getCustomName()))
npc.getName().equals(entity.getCustomName()))
if (npc.getID().equals(entity.getUniqueId())) {
return;
}
}
if (entity instanceof LivingEntity) {
LivingEntity live = (LivingEntity) entity;
QuestManagerPlugin.questManagerPlugin.getEnemyManager().removeEntity(live);
entity.remove();
}
}
}
项目:ExilePearl
文件:PlayerListener.java
/**
* Prevent chunk that contain pearls from unloading
* @param e The event args
*/
@EventHandler(priority=EventPriority.HIGH, ignoreCancelled = true)
public void onChunkUnload(ChunkUnloadEvent e) {
Chunk chunk = e.getChunk();
for (Entity entity : chunk.getEntities()) {
if (!(entity instanceof Item)) {
continue;
}
Item item = (Item)entity;
ExilePearl pearl = pearlApi.getPearlFromItemStack(item.getItemStack());
if (pearl != null) {
e.setCancelled(true);
pearlApi.log("Prevented chunk (%d, %d) from unloading because it contained an exile pearl for player %s.", chunk.getX(), chunk.getZ(), pearl.getPlayerName());
}
}
}
项目:civcraft
文件:BonusGoodieManager.java
@EventHandler(priority = EventPriority.MONITOR)
public void OnChunkUnload(ChunkUnloadEvent event) {
BonusGoodie goodie;
for (Entity entity : event.getChunk().getEntities()) {
if (!(entity instanceof Item)) {
continue;
}
goodie = CivGlobal.getBonusGoodie(((Item)entity).getItemStack());
if (goodie == null) {
continue;
}
goodie.replenish(((Item)entity).getItemStack(), (Item)entity, null, null);
}
}
项目:StarQuestCode
文件:ChunkListener.java
@EventHandler(priority = EventPriority.HIGH)
public void onChunkUnload(ChunkUnloadEvent event) {
Entity[] entitiesInChunk = event.getChunk().getEntities();
if (entitiesInChunk.length == 0)
return;
List<EntityType> passives = Settings.getAllPassives();
List<EntityType> hostiles = Settings.getAllHostiles();
for (Entity e : entitiesInChunk) {
if ((hostiles != null && hostiles.contains(e.getType())
|| (passives != null && passives.contains(e.getType())))) {
LivingEntity le = (LivingEntity) e;
if ((le.getCustomName() == null) && (!le.isCustomNameVisible())) {
le.remove();
}
} else if (e.getType() == EntityType.WITHER_SKULL) {
e.remove();
}
}
}
项目:StarQuestCode
文件:Events.java
@EventHandler(priority = EventPriority.HIGHEST)
public void onChunkUnload(ChunkUnloadEvent event)
{
if(!event.isCancelled())
{
Chunk chunk = event.getChunk();
for(Machine machine : SQTechBase.machines)
{
if(machine.getMachineType() instanceof Harvester)
{
if(machine.getGUIBlock().getLocation().getChunk() == chunk)
{
main.setInactive(machine);
machine.data.put("blocked", false);
}
}
}
}
}
项目:StarQuestCode
文件:Events.java
@EventHandler(priority = EventPriority.HIGHEST)
public void onChunkUnload(ChunkUnloadEvent event)
{
if(!event.isCancelled())
{
Chunk chunk = event.getChunk();
for(Machine machine : SQTechBase.machines)
{
if(machine.getMachineType().name == "Drill")
{
if(machine.getGUIBlock().getLocation().getChunk() == chunk)
{
machine.data.put("isActive", false);
machine.data.put("blocked", false);
}
}
}
}
}
项目:horsekeep
文件:HorseKeep.java
@EventHandler(priority = EventPriority.NORMAL)
public void onChunkUnloaded(ChunkUnloadEvent event) {
Chunk c = event.getChunk();
Entity[] entities = c.getEntities();
for(Entity e: entities){
if (this.manager.isHorse(e))
{
if (this.manager.isOwned(e.getUniqueId()))
{
// We save horse location
Location loc = e.getLocation();
this.data.getHorsesData().set("horses."+e.getUniqueId()+".lastpos",loc.getWorld().getName()+":"+loc.getX()+":"+loc.getY()+":"+loc.getZ()+":"+loc.getYaw()+":"+loc.getPitch());
this.data.save();
}
}
}
}
项目:PlotSquared
文件:ChunkListener.java
@EventHandler
public void onChunkUnload(ChunkUnloadEvent event) {
if (ignoreUnload) {
return;
}
if (Settings.Chunk_Processor.AUTO_TRIM) {
Chunk chunk = event.getChunk();
String world = chunk.getWorld().getName();
if (PS.get().hasPlotArea(world)) {
if (unloadChunk(world, chunk, true)) {
return;
}
}
}
if (processChunk(event.getChunk(), true)) {
event.setCancelled(true);
}
}
项目:EndHQ-Libraries
文件:ChunkEntityLoader.java
@EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)
public void onChunkUnload(ChunkUnloadEvent event)
{
final Chunk c = event.getChunk();
for(Entity entity : c.getEntities())
{
if(!(entity instanceof LivingEntity))
continue;
RemoteEntity rentity = RemoteEntities.getRemoteEntityFromEntity((LivingEntity)entity);
if(rentity != null && rentity.isSpawned())
{
m_toSpawn.add(new EntityLoadData(rentity, entity.getLocation()));
rentity.despawn(DespawnReason.CHUNK_UNLOAD);
}
}
}
项目:ReadySetJump
文件:BlockConfig.java
@EventHandler(priority = EventPriority.MONITOR)
private void onChunkUnload(ChunkUnloadEvent cue) {
Chunk chunk = cue.getChunk();
ConfigurationSection config = configs.get(cue.getChunk());
if(config != null && config.isConfigurationSection("blocks")) {
ConfigurationSection blocks = config.getConfigurationSection("blocks");
for(Map.Entry<String, Object> entry : blocks.getValues(false).entrySet()) {
ConfigurationSection section = (ConfigurationSection) entry.getValue();
String[] locationParts = entry.getKey().split(" ");
int[] locationValues = new int[3];
for(int i = 0; i < 3; i++) {
locationValues[i] = Integer.parseInt(locationParts[i]);
}
BlockConfigUnloadEvent event = new BlockConfigUnloadEvent(plugin, section, cue.getChunk().getBlock(locationValues[0], locationValues[2], locationValues[2]));
Bukkit.getPluginManager().callEvent(event);
}
}
saveConfig(cue.getChunk());
configs.remove(chunk);
blockConfigs.remove(chunk);
}
项目:NPlugins
文件:ChunkListener.java
/**
* Remove the unloaded EnderDragons from the loaded set
*
* @param event a Chunk Unload Event
*/
@EventHandler(priority = EventPriority.NORMAL)
public void onEndChunkUnload(final ChunkUnloadEvent event) {
if (event.getWorld().getEnvironment() == Environment.THE_END) {
final String worldName = event.getWorld().getName();
final EndWorldHandler handler = this.plugin.getHandler(StringUtil.toLowerCamelCase(worldName));
if (handler != null) {
EndChunk chunk = handler.getChunks().getChunk(event.getChunk());
if (chunk == null) {
chunk = handler.getChunks().addChunk(event.getChunk());
}
for (final Entity e : event.getChunk().getEntities()) {
if (e.getType() == EntityType.ENDER_DRAGON) {
final EnderDragon ed = (EnderDragon)e;
handler.getLoadedDragons().remove(ed.getUniqueId());
chunk.incrementSavedDragons();
}
}
}
}
}
项目:xEssentials-deprecated-bukkit
文件:ChunkProtectionEvent.java
@EventHandler
public void onChunkProtect(ChunkUnloadEvent e) {
for(Entity entity : e.getChunk().getEntities()) {
if(entity instanceof WitherSkull) {
WitherSkull wither = (WitherSkull) entity;
if(pl.getConfiguration().getDebugConfig().isEnabled()) {
xEssentials.log("removed wither skull at: {" + wither.getWorld().getName() + ", " + wither.getLocation().getBlockX() + ", " + wither.getLocation().getBlockY() + ", " + wither.getLocation().getBlockZ() + "} to prevent lag", LogType.INFO);
}
wither.remove();
} else if(entity instanceof Fireball) {
Fireball fb = (Fireball) entity;
if(pl.getConfiguration().getDebugConfig().isEnabled()) {
xEssentials.log("removed fireball at: {" + fb.getWorld().getName() + ", " + fb.getLocation().getBlockX() + ", " + fb.getLocation().getBlockY() + ", " + fb.getLocation().getBlockZ() + "} to prevent lag", LogType.INFO);
}
fb.remove();
}
}
}
项目:SparkTrail
文件:EntityListener.java
@EventHandler
public void onChunkUnload(ChunkUnloadEvent event) {
ArrayList<Entity> toRemove = new ArrayList<Entity>();
for (Entity e : event.getChunk().getEntities()) {
EffectHolder holder = EffectManager.getInstance().getEffect(e.getUniqueId());
if (holder != null) {
EffectManager.getInstance().clear(holder);
continue;
}
if (e instanceof Item && ItemSpray.UUID_LIST.contains(e.getUniqueId())) {
toRemove.add(e);
}
}
if (!toRemove.isEmpty()) {
Iterator<Entity> i = toRemove.iterator();
while (i.hasNext()) {
i.next().remove();
}
}
}
项目:EntityAPI
文件:SimpleChunkManager.java
@EventHandler
public void onUnload(ChunkUnloadEvent event) {
Chunk unloadedChunk = event.getChunk();
for (Entity entity : unloadedChunk.getEntities()) {
if (entity instanceof LivingEntity) {
Object handle = BukkitUnwrapper.getInstance().unwrap(entity);
if (handle instanceof ControllableEntityHandle) {
ControllableEntity controllableEntity = ((ControllableEntityHandle) handle).getControllableEntity();
if (controllableEntity != null && controllableEntity.isSpawned()) {
this.SPAWN_QUEUE.add(new EntityChunkData(controllableEntity, entity.getLocation()));
controllableEntity.despawn(DespawnReason.CHUNK_UNLOAD);
}
}
}
}
}
项目:CropControl
文件:CropControlEventHandler.java
/**
* Marks a loaded chunk as pending unload. It'll be unloaded later en-masse.
*
* @param e The chunk to unload.
*/
@EventHandler(ignoreCancelled = true)
public void onChunkUnload(ChunkUnloadEvent e) {
Chunk chunk = e.getChunk();
CropControl.getDAO().unloadChunk(chunk);
}
项目:AntiCheat
文件:OrebfuscatorChunkListener.java
@EventHandler(priority=EventPriority.MONITOR, ignoreCancelled = true)
public void onChunkUnload(ChunkUnloadEvent event) {
Chunk chunk = event.getChunk();
ChunkReloader.addUnloadedChunk(event.getWorld(), chunk.getX(), chunk.getZ());
//Orebfuscator.log("Chunk x = " + chunk.getX() + ", z = " + chunk.getZ() + " is unloaded");/*debug*/
}
项目:EscapeLag
文件:UnloadClear.java
@EventHandler
public void ChunkloadClear(ChunkUnloadEvent event) {
if (ConfigOptimize.UnloadClearenable != true) {
return;
}
Chunk chunk = event.getChunk();
boolean noclearitemchunk = false;
int dcs = DeathChunk.size();
for (int i = 0; i < dcs; i++) {
Chunk deathchunk = DeathChunk.get(i);
if (Utils.isSameChunk(chunk, deathchunk)) {
DeathChunk.remove(chunk);
noclearitemchunk = true;
break;
}
}
Entity[] entities = chunk.getEntities();
for (int i = 0; i < entities.length; i++) {
Entity ent = entities[i];
if (ent.getType() == EntityType.DROPPED_ITEM && noclearitemchunk == false && ConfigOptimize.UnloadClearDROPPED_ITEMenable) {
ent.remove();
}
if(ConfigOptimize.UnloadCleartype.contains(ent.getType().name())||ConfigOptimize.UnloadCleartype.contains("*")) {
ent.remove();
}
}
}
项目:AddGun
文件:Guns.java
/**
* This eliminates pending bullets on chunk unload
*
* @param event
*/
@EventHandler(priority = EventPriority.HIGH, ignoreCancelled = true)
public void chunkUnloadClearBullets(ChunkUnloadEvent event) {
if (event.getChunk() == null) return;
Entity[] entities = event.getChunk().getEntities();
for (Entity e : entities) {
if (inFlightBullets.containsKey(e.getUniqueId())) {
inFlightBullets.remove(e.getUniqueId());
travelPaths.remove(e.getUniqueId());
e.remove();
}
}
}
项目:SurvivalAPI
文件:ChunkListener.java
/**
* Save unloaded chunk
*
* @param event Event
*/
@EventHandler
public void onChunkUnload(ChunkUnloadEvent event)
{
for (Entity entity : event.getChunk().getEntities())
if (!(entity instanceof Item || entity instanceof HumanEntity || entity instanceof Minecart))
entity.remove();
//event.setCancelled(true);
}
项目:NeverLag
文件:HotChunkHolder.java
@EventHandler(priority = EventPriority.LOWEST, ignoreCancelled = true)
public void onUnloadChunk(ChunkUnloadEvent e) {
if (!cm.hotChunkEnabled || NeverLag.getTpsWatcher().getAverageTPS() < cm.hotChunkTpsThreshold) {
return;
}
ChunkInfo chunkInfo = new ChunkInfo(e.getChunk());
if (hotChunkRecord.contains(chunkInfo)) {
e.setCancelled(true);
this.addHotChunkUnloadCount(chunkInfo);
}
}
项目:NeverLag
文件:HotChunkHolder.java
@EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)
public void onUnloadChunkMonitor(ChunkUnloadEvent e) {
if (!cm.hotChunkEnabled || NeverLag.getTpsWatcher().getAverageTPS() < cm.hotChunkTpsThreshold) {
return;
}
ChunkInfo chunkInfo = new ChunkInfo(e.getChunk());
chunkUnLoadTime.put(chunkInfo, System.currentTimeMillis());
}
项目:WorldGuardExtraFlagsPlugin
文件:WorldListener.java
@EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
public void onChunkUnloadEvent(ChunkUnloadEvent event)
{
for (ProtectedRegion region : WorldGuardExtraFlagsPlugin.getWorldGuardPlugin().getRegionManager(event.getWorld()).getApplicableRegions(new ProtectedCuboidRegion("UnloadChunkFlagTester", new BlockVector(event.getChunk().getX() * 16, 0, event.getChunk().getZ() * 16), new BlockVector(event.getChunk().getX() * 16 + 15, 256, event.getChunk().getZ() * 16 + 15))))
{
if (region.getFlag(FlagUtils.CHUNK_UNLOAD) == State.DENY)
{
event.setCancelled(true);
break;
}
}
}
项目:cubit
文件:WorldListener.java
@EventHandler
public void onChunkUnloadEvent(final ChunkUnloadEvent event) {
mrg.debug("ChunkUnloadEvent " + event.getChunk().getX() + " " + event.getChunk().getZ());
if (chunkTasks.containsKey(event.getChunk())) {
chunkTasks.remove(event.getChunk()).cancel();
}
if (CubitBukkitPlugin.inst().getYamlManager().getLimit().check_chunk_unload) {
mrg.checkChunk(event.getChunk(), null);
}
}
项目:CanaryBukkit
文件:CanaryWorldListener.java
@HookHandler(priority = Priority.CRITICAL, ignoreCanceled = true)
public void onChunkUnload(final ChunkUnloadHook hook) {
ChunkUnloadEvent event =
new ChunkUnloadEvent(new CanaryChunk(hook.getChunk(), new CanaryWorld(hook.getWorld())));
event.setCancelled(hook.isCanceled());
server.getPluginManager().callEvent(event);
if (event.isCancelled()) {
hook.setCanceled();
}
}
项目:BedwarsRel
文件:ChunkListener.java
@EventHandler
public void onUnload(ChunkUnloadEvent unload) {
Game game = BedwarsRel.getInstance().getGameManager()
.getGameByChunkLocation(unload.getChunk().getX(),
unload.getChunk().getZ());
if (game == null) {
return;
}
if (game.getState() != GameState.RUNNING) {
return;
}
unload.setCancelled(true);
}
项目:FastAsyncWorldedit
文件:BukkitQueue_0.java
@EventHandler
public static void onChunkUnload(ChunkUnloadEvent event) {
Chunk chunk = event.getChunk();
long pair = MathMan.pairInt(chunk.getX(), chunk.getZ());
Long lastLoad = keepLoaded.get(pair);
if (lastLoad != null) {
if (Fawe.get().getTimer().getTickStart() - lastLoad < 10000) {
event.setCancelled(true);
} else {
keepLoaded.remove(pair);
}
}
}
项目:Portals
文件:ChunkUnload.java
@EventHandler
public void onChunkUnload(ChunkUnloadEvent event) {
/* Do not let chunks containing entities about to be teleported unload */
for (Entity entity : event.getChunk().getEntities()) {
if (Portals.justTeleportedEntities.contains(entity.getUniqueId())) {
event.setCancelled(true);
}
}
}
项目:civcraft
文件:BlockListener.java
@EventHandler(priority = EventPriority.HIGH)
public void onChunkUnloadEvent(ChunkUnloadEvent event) {
Boolean persist = CivGlobal.isPersistChunk(event.getChunk());
if (persist != null && persist == true) {
event.setCancelled(true);
}
}
项目:Almura-Server
文件:ChunkProviderServer.java
public boolean unloadChunks() {
if (!this.world.savingDisabled) {
// CraftBukkit start
Server server = this.world.getServer();
for (int i = 0; i < 100 && !this.unloadQueue.isEmpty(); i++) {
long chunkcoordinates = this.unloadQueue.popFirst();
Chunk chunk = this.chunks.get(chunkcoordinates);
if (chunk == null) continue;
// Almura - Remove the chunk from cache if it is unloaded
Chunk result = world.lastChunkAccessed;
if (result != null && result.x == chunk.x && result.z == chunk.z) {
world.lastChunkAccessed = null;
}
// Almura end
ChunkUnloadEvent event = new ChunkUnloadEvent(chunk.bukkitChunk);
server.getPluginManager().callEvent(event);
if (!event.isCancelled()) {
chunk.removeEntities();
this.saveChunk(chunk);
this.saveChunkNOP(chunk);
// this.unloadQueue.remove(integer);
this.chunks.remove(chunkcoordinates); // CraftBukkit
}
}
// CraftBukkit end
if (this.e != null) {
this.e.a();
}
}
return this.chunkProvider.unloadChunks();
}
项目:McMMOPlus
文件:WorldListener.java
/**
* Monitor ChunkUnload events.
*
* @param event The event to watch
*/
@EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)
public void onChunkUnload(ChunkUnloadEvent event) {
Chunk chunk = event.getChunk();
mcMMO.getPlaceStore().chunkUnloaded(chunk.getX(), chunk.getZ(), event.getWorld());
}
项目:SwornCritters
文件:WorldListener.java
@EventHandler(priority = EventPriority.HIGHEST)
public void onChunkUnload(ChunkUnloadEvent event)
{
for (Entity entity : event.getChunk().getEntities())
{
if (entity.getUniqueId().equals(plugin.getLegendaryEntityId()))
{
entity.remove();
plugin.removeLegendary();
}
}
}
项目:NucleusFramework
文件:InternalEntityTracker.java
/**
* Handle chunk unload
*/
@EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)
private void onChunkUnload(ChunkUnloadEvent event) {
Entity[] entities = event.getChunk().getEntities();
for (Entity entity : entities) {
TrackedEntity tracked = _entities.get(entity.getUniqueId());
if (tracked == null || isDisposed(tracked))
continue;
tracked.notifyChunkUnload(new ChunkCoords(event.getChunk()));
}
}
项目:GoldRushPlugin
文件:TrainStation.java
@Override
public void remove() {
//Unregister handlers for events.
ChunkUnloadEvent.getHandlerList().unregister(this);
PlayerMoveEvent.getHandlerList().unregister(this);
MemberBlockChangeEvent.getHandlerList().unregister(this);
PlayerInteractEvent.getHandlerList().unregister(this);
//BlockFinder Class stuff.
BlockPlaceEvent.getHandlerList().unregister(this);
BlockBreakEvent.getHandlerList().unregister(this);
BlockDamageEvent.getHandlerList().unregister(this);
//Remove from the DB.
removeFromDB();
//Remove ALL NPC's in the area.
for(NPC npc : this.workers) CitizensAPI.getNPCRegistry().deregister(npc);
//Clear sign logic and change signs to air.
this.signs = null;
for(Block b : this.trainArea) {
if(b.getState() instanceof Sign) {
b.setType(Material.AIR);
}
}
//Clear trains.
this.departingTrains = null;
this.trains = null;
//Clear visitors
this.visitors = null;
//Clear name
this.stationName = null;
//Remove from the list
trainStations.remove(this);
}
项目:xEssentials-deprecated-bukkit
文件:CleanupUnloadedChunkEvent.java
@EventHandler
public void onCleanup(ChunkUnloadEvent e) {
for(Entity entity : e.getChunk().getEntities()) {
if(entity instanceof Item) {
Item item = (Item) entity;
item.remove();
} else if(entity instanceof Monster) {
Monster monster = (Monster) entity;
monster.remove();
} else if(entity instanceof ExperienceOrb) {
ExperienceOrb orb = (ExperienceOrb) entity;
orb.remove();
}
}
}
项目:Sedimentology
文件:Sedimentology.java
@EventHandler
public void onChunkUnloadEvent(ChunkUnloadEvent event) {
World w = event.getWorld();
for (SedWorld ww: sedWorldList) {
if (ww.world.equals(w)) {
Chunk c = event.getChunk();
ww.unload(c.getX(), c.getZ());
}
}
}
项目:Craft-city
文件:ChunkProviderServer.java
public boolean unloadChunks() {
if (!this.world.savingDisabled) {
// CraftBukkit start
Server server = this.world.getServer();
for (int i = 0; i < 100 && !this.unloadQueue.isEmpty(); i++) {
long chunkcoordinates = this.unloadQueue.popFirst();
Chunk chunk = this.chunks.get(chunkcoordinates);
if (chunk == null) continue;
ChunkUnloadEvent event = new ChunkUnloadEvent(chunk.bukkitChunk);
server.getPluginManager().callEvent(event);
if (!event.isCancelled()) {
chunk.removeEntities();
this.saveChunk(chunk);
this.saveChunkNOP(chunk);
// this.unloadQueue.remove(integer);
this.chunks.remove(chunkcoordinates); // CraftBukkit
}
}
// CraftBukkit end
if (this.e != null) {
this.e.a();
}
}
return this.chunkProvider.unloadChunks();
}
项目:FramePicture
文件:ChunkListener.java
@EventHandler
public void onChunkUnload(ChunkUnloadEvent event) {
if (event.isCancelled()) return;
Chunk chunk = event.getChunk();
List<Frame> frames = this.manager.getFramesInChunk(chunk.getWorld().getName(), chunk.getX(), chunk.getZ());
for (Frame frame : frames) {
frame.setEntity(null);
}
}
项目:ItemCase-Depreciated
文件:WorldListener.java
@EventHandler
public void onChunkUnload(ChunkUnloadEvent event) {
for (Itemcase itemcase : ItemCase.getInstance().getItemcaseManager()
.getItemcases()) {
if (event.getChunk().equals(itemcase.getBlock().getChunk())
&& itemcase.isChunkLoaded() == true) {
itemcase.setChunkLoaded(false);
}
}
}
项目:ZentrelaRPG
文件:EnvironmentManager.java
@EventHandler
public void onChunkUnload(ChunkUnloadEvent event) {
despawnEntities(event.getChunk().getEntities());
}