IAura Chunk

Import

import mods.randomtweaker.naturesaura.IAuraChunk;

Static ZenMethod

方法名返回值类型方法描述

drainAura(pos as IBlockPos, amount as int, aimForZero as bool, simulate as bool)

int

消耗给定 pos 的灵气数量, 返回消耗的灵气 (aimForZerotrue 时如果灵气被消耗至负数则返回值为消耗前的灵气量)

drainAura(pos as IBlockPos, amount as int)

int

同上只不过后两个参数是 false

storeAura(pos as IBlockPos, amount as int, aimForZero as bool, simulate as bool)

int

增加给定 pos 的灵气数量, 返回增加的灵气 (aimForZerotrue 时如果灵气被增加至正数则返回值为增加前的灵气量)

storeAura(pos as IBlockPos, amount as int)

int

同上只不过后两个参数为 false

getDrainSpot(pos as IBlockPos)

int

返回 pos 的灵气量

Example

// 以下内容涉及事件, 不会事件请先学习事件
import crafttweaker.world.IWorld;
import crafttweaker.world.IBlockPos;
import crafttweaker.event.PlayerRightClickItemEvent; // 玩家右键物品事件
import mods.randomtweaker.naturesaura.IAuraChunk;

events.onPlayerRightClickItem(function(event as PlayerRightClickItemEvent) {
    var world as IWorld = event.world; // 获取触发事件的玩家所在的世界
    var pos as IBlockPos = event.position; // 获取玩家坐标

    if(!world.remote && <minecraft:stick>.matches(event.item)) { // 先确保在服务端执行代码, 再判断手上物品是否为木棍
        // event.position 返回触发事件的坐标, 在这里触发事件的是玩家, 所以坐标自然是玩家的坐标
        // 获取玩家所在的灵气区块
        var auraChunk as IAuraChunk = world.getAuraChunk(event.position);

        // 消耗 1w 灵气量于玩家坐标上
        auraChunk.drainAura(pos, 10000);

        // 添加 1w 灵气量于玩家坐标上
        auraChunk.storeAura(pos, 10000);

        // 获取玩家坐标的灵气量
        var amount as int = auraChunk.getDrainSpot(pos);
        print(amount); // 打印 0, 打印结果会因为各种因素改变, Example 仅供参考
    }
});

Last updated