org.bukkit.Chunk#load ( )源码实例Demo

下面列出了org.bukkit.Chunk#load ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: UhcCore   文件: SchematicHandler.java
public static ArrayList<Integer> pasteSchematic(Location loc, File schematicFile, int loadingArea) throws Exception{
    if (loadingArea > 0){
        for (int x = (loc.getBlockX()/16)-loadingArea; x < (loc.getBlockX()/16)+loadingArea; x++) {
            for (int z = (loc.getBlockZ()/16)-loadingArea; z < (loc.getBlockZ()/16)+loadingArea; z++) {
                Chunk chunk = loc.getWorld().getChunkAt(x,z);
                chunk.load(true);
                chunk.unload(true);
            }
        }
    }

    if (UhcCore.getVersion() < 13){
        return SchematicHandler8.pasteSchematic(loc, schematicFile.getPath());
    }else {
        return SchematicHandler13.pasteSchematic(loc, schematicFile.getPath());
    }
}
 
源代码2 项目: factions-top   文件: RecalculateTask.java
@Override
public void run() {
    int counter = plugin.getSettings().getRecalculateChunksPerTick();

    while (isRunning()) {
        if (counter-- <= 0) {
            break;
        }

        ChunkPos pos = toRecalculate.pop();
        Chunk chunk = pos.getChunk(plugin.getServer());
        if (chunk != null && chunk.load()) {
            plugin.getWorthManager().recalculate(chunk, RecalculateReason.COMMAND);
        }
    }

    if (!isRunning()) {
        plugin.getWorthManager().updateAllFactions();
        plugin.getServer().getScheduler().cancelTask(taskId);
        plugin.getServer().broadcastMessage(plugin.getSettings().getRecalculationFinishMessage());
    }
}
 
@Override
public boolean doUnloadChunkFlagCheck(org.bukkit.World world, Chunk chunk) 
{
	for (ProtectedRegion region : this.getRegionContainer().get(world).getApplicableRegions(new ProtectedCuboidRegion("UnloadChunkFlagTester", BlockVector3.at(chunk.getX() * 16, 0, chunk.getZ() * 16), BlockVector3.at(chunk.getX() * 16 + 15, 256, chunk.getZ() * 16 + 15))))
	{
		if (region.getFlag(Flags.CHUNK_UNLOAD) == State.DENY)
		{
			if (WorldGuardSevenCommunicator.supportsForceLoad)
			{
				chunk.setForceLoaded(true);
				chunk.load(true);
				
				return true;
			}
			
			return false;
		}
	}
	
	return true;
}
 
源代码4 项目: Holograms   文件: HologramEntityControllerImpl.java
private boolean addEntityToWorld(WorldServer nmsWorld, Entity nmsEntity) {
    net.minecraft.server.v1_8_R1.Chunk nmsChunk = nmsWorld.getChunkAtWorldCoords(nmsEntity.getChunkCoordinates());

    if (nmsChunk != null) {
        Chunk chunk = nmsChunk.bukkitChunk;

        if (chunk == null) {
            try {
                chunk = new CraftChunk(nmsChunk);
            } catch (NullPointerException e) {
                throw new HologramEntitySpawnException("Attempted to spawn hologram entity in invalid chunk", e);
            }
        }

        if (!chunk.isLoaded()) {
            chunk.load();
            plugin.getLogger().info("Loaded chunk (x:" + chunk.getX() + " z:" + chunk.getZ() + ") to spawn a Hologram");
        }
    }

    return nmsWorld.addEntity(nmsEntity, CreatureSpawnEvent.SpawnReason.CUSTOM);
}
 
源代码5 项目: Holograms   文件: HologramEntityControllerImpl.java
private boolean addEntityToWorld(WorldServer nmsWorld, Entity nmsEntity) {
    net.minecraft.server.v1_8_R2.Chunk nmsChunk = nmsWorld.getChunkAtWorldCoords(nmsEntity.getChunkCoordinates());

    if (nmsChunk != null) {
        Chunk chunk = nmsChunk.bukkitChunk;

        if (chunk == null) {
            try {
                chunk = new CraftChunk(nmsChunk);
            } catch (NullPointerException e) {
                throw new HologramEntitySpawnException("Attempted to spawn hologram entity in invalid chunk", e);
            }
        }

        if (!chunk.isLoaded()) {
            chunk.load();
            plugin.getLogger().info("Loaded chunk (x:" + chunk.getX() + " z:" + chunk.getZ() + ") to spawn a Hologram");
        }
    }

    return nmsWorld.addEntity(nmsEntity, CreatureSpawnEvent.SpawnReason.CUSTOM);
}
 
源代码6 项目: BedWars   文件: GameStore.java
/**
 * @return killed entity
 */
public LivingEntity kill() {
    final LivingEntity livingEntity = entity;
    if (entity != null) {
        final Chunk chunk = entity.getLocation().getChunk();

        if (!chunk.isLoaded()) {
            chunk.load();
        }
        entity.remove();
        entity = null;
    }
    return livingEntity;
}
 
源代码7 项目: BedWars   文件: GameStore.java
/**
 * @return killed entity
 */
public LivingEntity kill() {
    final LivingEntity livingEntity = entity;
    if (entity != null) {
        final Chunk chunk = entity.getLocation().getChunk();

        if (!chunk.isLoaded()) {
            chunk.load();
        }
        entity.remove();
        entity = null;
    }
    return livingEntity;
}
 
源代码8 项目: Civs   文件: UnloadedInventoryHandler.java
public void loadChunks() {
    for (Map.Entry<String, HashMap<String, CVInventory>> outerEntry : unloadedChestInventories.entrySet()) {
        for (Map.Entry<String, CVInventory> entry : outerEntry.getValue().entrySet()) {
            CVInventory cvInventory = entry.getValue();
            if (cvInventory.getLastUnloadedModification() != -1 &&
                    System.currentTimeMillis() > ConfigManager.getInstance().getUnloadedChestRefreshRate() +
                            cvInventory.getLastUnloadedModification()) {
                Chunk chunk = cvInventory.getLocation().getChunk();
                if (!chunk.isLoaded()) {
                    chunk.load();
                }
            }
        }
    }
}
 
源代码9 项目: BedwarsRel   文件: Region.java
public void loadChunks() {
  int minX = (int) Math.floor(this.minCorner.getX());
  int maxX = (int) Math.ceil(this.maxCorner.getX());
  int minZ = (int) Math.floor(this.minCorner.getZ());
  int maxZ = (int) Math.ceil(this.maxCorner.getZ());

  for (int x = minX; x <= maxX; x += Region.CHUNK_SIZE) {
    for (int z = minZ; z <= maxZ; z += Region.CHUNK_SIZE) {
      Chunk chunk = this.world.getChunkAt(x, z);
      if (!chunk.isLoaded()) {
        chunk.load();
      }
    }
  }
}
 
源代码10 项目: BedwarsRel   文件: Game.java
public void updateSigns() {
  boolean removedItem = false;

  Iterator<GameJoinSign> iterator = Game.this.joinSigns.values().iterator();
  while (iterator.hasNext()) {
    GameJoinSign sign = iterator.next();

    Chunk signChunk = sign.getSign().getLocation().getChunk();
    if (!signChunk.isLoaded()) {
      signChunk.load(true);
    }

    if (sign.getSign() == null) {
      iterator.remove();
      removedItem = true;
      continue;
    }

    Block signBlock = sign.getSign().getLocation().getBlock();
    if (!(signBlock.getState() instanceof Sign)) {
      iterator.remove();
      removedItem = true;
      continue;
    }
    sign.updateSign();
  }

  if (removedItem) {
    Game.this.updateSignConfig();
  }
}
 
源代码11 项目: Holograms   文件: HologramEntityControllerImpl.java
private boolean addEntityToWorld(WorldServer nmsWorld, Entity nmsEntity) {
    net.minecraft.server.v1_12_R1.Chunk nmsChunk = nmsWorld.getChunkAtWorldCoords(nmsEntity.getChunkCoordinates());

    if (nmsChunk != null) {
        Chunk chunk = nmsChunk.bukkitChunk;

        if (!chunk.isLoaded()) {
            chunk.load();
            plugin.getLogger().info("Loaded chunk (x:" + chunk.getX() + " z:" + chunk.getZ() + ") to spawn a Hologram");
        }
    }

    return nmsWorld.addEntity(nmsEntity, CreatureSpawnEvent.SpawnReason.CUSTOM);
}
 
源代码12 项目: Holograms   文件: HologramEntityControllerImpl.java
private boolean addEntityToWorld(WorldServer nmsWorld, Entity nmsEntity) {
    net.minecraft.server.v1_11_R1.Chunk nmsChunk = nmsWorld.getChunkAtWorldCoords(nmsEntity.getChunkCoordinates());

    if (nmsChunk != null) {
        Chunk chunk = nmsChunk.bukkitChunk;

        if (!chunk.isLoaded()) {
            chunk.load();
            plugin.getLogger().info("Loaded chunk (x:" + chunk.getX() + " z:" + chunk.getZ() + ") to spawn a Hologram");
        }
    }

    return nmsWorld.addEntity(nmsEntity, CreatureSpawnEvent.SpawnReason.CUSTOM);
}
 
源代码13 项目: Holograms   文件: HologramEntityControllerImpl.java
private boolean addEntityToWorld(WorldServer nmsWorld, Entity nmsEntity) {
    net.minecraft.server.v1_9_R2.Chunk nmsChunk = nmsWorld.getChunkAtWorldCoords(nmsEntity.getChunkCoordinates());

    if (nmsChunk != null) {
        Chunk chunk = nmsChunk.bukkitChunk;

        if (!chunk.isLoaded()) {
            chunk.load();
            plugin.getLogger().info("Loaded chunk (x:" + chunk.getX() + " z:" + chunk.getZ() + ") to spawn a Hologram");
        }
    }

    return nmsWorld.addEntity(nmsEntity, CreatureSpawnEvent.SpawnReason.CUSTOM);
}
 
源代码14 项目: Holograms   文件: HologramEntityControllerImpl.java
private boolean addEntityToWorld(WorldServer nmsWorld, Entity nmsEntity) {
    net.minecraft.server.v1_13_R2.Chunk nmsChunk = nmsWorld.getChunkAtWorldCoords(nmsEntity.getChunkCoordinates());

    if (nmsChunk != null) {
        Chunk chunk = nmsChunk.bukkitChunk;

        if (!chunk.isLoaded()) {
            chunk.load();
            plugin.getLogger().info("Loaded chunk (x:" + chunk.getX() + " z:" + chunk.getZ() + ") to spawn a Hologram");
        }
    }

    return nmsWorld.addEntity(nmsEntity, CreatureSpawnEvent.SpawnReason.CUSTOM);
}
 
源代码15 项目: Holograms   文件: HologramEntityControllerImpl.java
private boolean addEntityToWorld(WorldServer nmsWorld, Entity nmsEntity) {
    net.minecraft.server.v1_10_R1.Chunk nmsChunk = nmsWorld.getChunkAtWorldCoords(nmsEntity.getChunkCoordinates());

    if (nmsChunk != null) {
        Chunk chunk = nmsChunk.bukkitChunk;

        if (!chunk.isLoaded()) {
            chunk.load();
            plugin.getLogger().info("Loaded chunk (x:" + chunk.getX() + " z:" + chunk.getZ() + ") to spawn a Hologram");
        }
    }

    return nmsWorld.addEntity(nmsEntity, CreatureSpawnEvent.SpawnReason.CUSTOM);
}
 
源代码16 项目: Holograms   文件: HologramEntityControllerImpl.java
private boolean addEntityToWorld(WorldServer nmsWorld, Entity nmsEntity) {
    net.minecraft.server.v1_13_R1.Chunk nmsChunk = nmsWorld.getChunkAtWorldCoords(nmsEntity.getChunkCoordinates());

    if (nmsChunk != null) {
        Chunk chunk = nmsChunk.bukkitChunk;

        if (!chunk.isLoaded()) {
            chunk.load();
            plugin.getLogger().info("Loaded chunk (x:" + chunk.getX() + " z:" + chunk.getZ() + ") to spawn a Hologram");
        }
    }

    return nmsWorld.addEntity(nmsEntity, CreatureSpawnEvent.SpawnReason.CUSTOM);
}
 
源代码17 项目: Holograms   文件: HologramEntityControllerImpl.java
private boolean addEntityToWorld(WorldServer nmsWorld, Entity nmsEntity) {
    net.minecraft.server.v1_9_R1.Chunk nmsChunk = nmsWorld.getChunkAtWorldCoords(nmsEntity.getChunkCoordinates());

    if (nmsChunk != null) {
        Chunk chunk = nmsChunk.bukkitChunk;

        if (!chunk.isLoaded()) {
            chunk.load();
            plugin.getLogger().info("Loaded chunk (x:" + chunk.getX() + " z:" + chunk.getZ() + ") to spawn a Hologram");
        }
    }

    return nmsWorld.addEntity(nmsEntity, CreatureSpawnEvent.SpawnReason.CUSTOM);
}
 
源代码18 项目: civcraft   文件: SyncLoadChunk.java
@Override
public void run() {
	
	if (lock.tryLock()) {
		try {
			for (int i = 0; i < UPDATE_LIMIT; i++) {
				LoadChunkRequest request = requestQueue.poll();
				if (request == null) {
					return;
				}
				
				Chunk chunk = Bukkit.getWorld(request.worldName).getChunkAt(request.x, request.z);
				if (!chunk.isLoaded()) {
					if (!chunk.load()) {
						CivLog.error("Couldn't load chunk at "+request.x+","+request.z);
						continue;
					}
				}
				
				request.finished = true;
				request.condition.signalAll();					
			}
		} finally {
			lock.unlock();
		}
		
	} else {
		//CivLog.warning("SyncLoadChunk: lock was busy, try again next tick.");
	}
}
 
源代码19 项目: civcraft   文件: ChunkGenerateTask.java
@Override
public void run() {

	int maxgen = 10;
	int i = 0;

	for (int x = startX; x <= stopX; x++) {
		for (int z = startZ; z <= stopZ; z++) {
			i++;
			
			Chunk chunk = Bukkit.getWorld("world").getChunkAt(x, z);
			if (!chunk.load(true)) {
			}
			
			if (!chunk.unload(true, false)) {
			}
			
			if (i > maxgen) {
				TaskMaster.syncTask(new ChunkGenerateTask(x, z, stopX, stopZ));
				return;
			}
			
		}
	}
	
	
}
 
源代码20 项目: FastAsyncWorldedit   文件: BukkitQueue_All.java
@Override
public ChunkSnapshot loadChunk(World world, int x, int z, boolean generate) {
    Chunk chunk = world.getChunkAt(x, z);
    chunk.load(generate);
    return chunk.isLoaded() ? getAndCacheChunk(chunk) : null;
}