import mods.randomtweaker.naturesaura.IWorld;
//以下内容涉及事件, 不会事件请先学习
import crafttweaker.world.IBlockPos;
import crafttweaker.event.PlayerRightClickItemEvent; // 玩家右键物品事件
import mods.randomtweaker.naturesaura.IAuraChunk;
events.onPlayerRightClickItem(function(event as PlayerRightClickItemEvent) {
var player as IPlayer = event.player; // 获取触发事件的玩家
var world as IWorld = event.world; // 获取触发事件的玩家所在的世界
if(!world.remote && <minecraft:stick>.matches(event.item)) { // 先确保在服务端执行代码, 再判断手上物品是否为木棍
// event.position 返回触发事件的坐标, 在这里触发事件的是玩家, 所以坐标自然是玩家的坐标
// 获取玩家所在的灵气区块
// 更多关于 IAuraChunk 的信息, 请看对应章节
var auraChunk as IAuraChunk = world.getAuraChunk(event.position);
// 获取玩家 4 格范围内灵气量最高的坐标, 如果找不到就返回玩家坐标
var highestPos = world.getHighestSpot(event.position, 4, event.position);
// 获取玩家 4 格范围内灵气量最低的坐标, 如果找不到就返回玩家坐标
var lowestPos = world.getLowestSpot(event.position, 4, event.position);
// 默认值为 0
// 找寻玩家 4 格内的灵气点
var spotAmount as int = world.getSpotAmountInArea(event.position, 4);
print(spotAmount); // Example 这里打印的是 0, 因为使用情况不一, 所以每个人打印的结果也会不同, 这个结果仅供参考
// 以下两个的默认值都为 1000000, 但第一个值的类型是 int, 第二个是 float
// 玩家 4 格内的灵气量
var auraTotal as int = world.getAuraInArea(event.position, 4);
print(auraTotal); // 打印 : 1000000, 上同, 不解释
var triangulateAura as int = world.triangulateAuraInArea(event.position, 4);
print(triangulateAura); // 打印 : 1000000, 这个方法请自行测试
}
});