和煦樱
查阅了BukkitAPI..只找到了获取玩家当前所在的区块,然后查询了Chunk和World之类的..没找到获取对应区块的群系..或者说有没有别的方法能获取当前坐标所处的群系数据

Hueihuea
难道不是这个吗?
https://hub.spigotmc.org/javadoc ... tBiome-int-int-int-

和煦樱
Hueihuea 发表于 2020-5-30 23:40
难道不是这个吗?
https://hub.spigotmc.org/javadocs/spigot/org/bukkit/World.html#getBiome-int-int-int ...

感谢 当时看Chinese BukkitAPI这个getBiome没翻译就没去翻它..手机版mcbbs不知道评分按钮在哪,晚点给你补上:D 感谢

零点星辰
本帖最后由 新科 于 2020-5-31 00:09 编辑

本贴和 #2 使用的方法差不多, 不过这里是比较具体的实现方法, 用 World.getBiome(x,y,z) 的话个人觉得比较麻烦点, 因为还需要获得 chunk 的某个方块 y 值。如果你需要判断是否史莱姆区块则只需要使用
Chunk.isSlimeChunk() 即可。


Chunk
chunk; //
获取 chunk 所在世界
World world = chunk.getWorld();
// 获取区块起始位置最高方块
Block highestBlock = world.getHighestBlockAt(chunk.getX(), chunk.getZ());
// 获取方块的生物群系, 我不知道这个方法是否 NotNull, 为安全判断确保获取到的最高方块是有效的, 否则biome为 null
Biome biome = ((highestBlock != null)? highestBlock.getBiome() : null);


使用到的 API:
Chunk.getWorld()
获取区块所在世界, 方便之后获取 biome
Block.getBiome()
获取方块的生物群系
World.getHighestBlockAt(x, z)
获取 xz 坐标上最高的方块, 这里是取该区块起始位置的坐标上的最高方块.


所以这里的意思是获取该区块起始位置上最高方块的生物群系(理论上,未测试)。



wangjj123
wolaihungejinli tishengkaatishengka

第一页 上一页 下一页 最后一页