Created
October 3, 2024 07:11
-
-
Save shenjackyuanjie/1883bc5a98c09dd688aa9325a103228e to your computer and use it in GitHub Desktop.
火球术
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// by shenjackyuanjie | |
// 20231003 | |
// v1.0.0 | |
// 编写版本: fabric-carpet 1.16.5 1.4.44+v210714 | |
// 还原起床战争中的火球效果 | |
// 火球效果大小 | |
global_power = 2; | |
// 火球加速度 比 玩家朝向的方向 倍率 | |
global_speed = 0.1; | |
__on_player_uses_item(player, item_tuple, hand) -> ( | |
// 检测物品是否是火球 | |
// 检测是不是主手 | |
if(item_tuple:0 != 'fire_charge', return()); | |
if(hand != 'mainhand', return()); | |
// 在玩家面前召唤一个火球 | |
// 向玩家面向方向偏移 | |
spawn_pos = pos(player) + query(player, 'look'); | |
spawn_pos = spawn_pos + [0, 1, 0]; | |
// scarpet 的计算真的好离谱 我直接 += 会给我加到后面去 | |
// + 才能直接相加 | |
player_look = query(player, 'look'); | |
if(player_look:0 == 0, player_look = [-0.0, player_look:1, player_look:2]); | |
if(player_look:1 == 0, player_look = [player_look:0, -0.0, player_look:2]); | |
if(player_look:2 == 0, player_look = [player_look:0, player_look:1, -0.0]); | |
nbt_data = { | |
'ExplosionPower' -> global_power, | |
'Motion' -> query(player, 'look'), // 提供初始速度 | |
'power' -> player_look * global_speed, // 加速度 | |
}; | |
fire_ball = spawn('minecraft:fireball', spawn_pos); | |
modify(fire_ball, 'nbt_merge', nbt_data); | |
// 将玩家手中的火球减少一个 | |
// 如果是创造模式 忽略 | |
if(query(player, 'gamemode') == 'creative', return()); | |
slot = query(player, 'selected_slot'); | |
inventory_set(player, slot, item_tuple:1 - 1, item_tuple:0); | |
); | |
__command()->( | |
print('火球效果 by shenjackyuanjie'); | |
print('使用方法: 手持火球, 点击鼠标右键'); | |
) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment