本文整理匯總了Java中org.bukkit.event.world.ChunkUnloadEvent.getChunk方法的典型用法代碼示例。如果您正苦於以下問題:Java ChunkUnloadEvent.getChunk方法的具體用法?Java ChunkUnloadEvent.getChunk怎麽用?Java ChunkUnloadEvent.getChunk使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類org.bukkit.event.world.ChunkUnloadEvent
的用法示例。
在下文中一共展示了ChunkUnloadEvent.getChunk方法的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。
示例1: onChunkUnload
import org.bukkit.event.world.ChunkUnloadEvent; //導入方法依賴的package包/類
/**
* 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());
}
}
}
示例2: onChunkUnload
import org.bukkit.event.world.ChunkUnloadEvent; //導入方法依賴的package包/類
@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);
}
}
}
}
}
示例3: onChunkUnload
import org.bukkit.event.world.ChunkUnloadEvent; //導入方法依賴的package包/類
@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);
}
}
}
}
}
示例4: onChunkUnloaded
import org.bukkit.event.world.ChunkUnloadEvent; //導入方法依賴的package包/類
@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();
}
}
}
}
示例5: onChunkUnload
import org.bukkit.event.world.ChunkUnloadEvent; //導入方法依賴的package包/類
@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);
}
}
示例6: onChunkUnload
import org.bukkit.event.world.ChunkUnloadEvent; //導入方法依賴的package包/類
@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);
}
}
}
示例7: onChunkUnload
import org.bukkit.event.world.ChunkUnloadEvent; //導入方法依賴的package包/類
@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);
}
示例8: onUnload
import org.bukkit.event.world.ChunkUnloadEvent; //導入方法依賴的package包/類
@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);
}
}
}
}
}
示例9: onChunkUnload
import org.bukkit.event.world.ChunkUnloadEvent; //導入方法依賴的package包/類
/**
* 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);
}
示例10: onChunkUnload
import org.bukkit.event.world.ChunkUnloadEvent; //導入方法依賴的package包/類
@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*/
}
示例11: ChunkloadClear
import org.bukkit.event.world.ChunkUnloadEvent; //導入方法依賴的package包/類
@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();
}
}
}
示例12: chunkUnloadClearBullets
import org.bukkit.event.world.ChunkUnloadEvent; //導入方法依賴的package包/類
/**
* 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();
}
}
}
示例13: onUnloadChunk
import org.bukkit.event.world.ChunkUnloadEvent; //導入方法依賴的package包/類
@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);
}
}
示例14: onUnloadChunkMonitor
import org.bukkit.event.world.ChunkUnloadEvent; //導入方法依賴的package包/類
@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());
}
示例15: onChunkUnload
import org.bukkit.event.world.ChunkUnloadEvent; //導入方法依賴的package包/類
@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);
}
}
}