Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

libraries

ハル edited this page Mar 6, 2021 · 47 revisions

乱数ライブラリ

疑似乱数生成

乱数を取得します

使い方

execute store result ... run function lib:random/

乱数として生成される値は0~65535までの範囲です。

注: このライブラリはもやんのせいでfunction内以外から実行すると6しか取得できません。function内で実行する分には問題ないからバグ報告しないでね☆

# 25%の確率で「excellent!」,50%の確率で「great」,25%の確率で「miss」と出力するコマンド
 # 疑似乱数取得
 execute store result score $Random Temporary run function lib:random/
 # ほしい範囲に剰余算
 scoreboard players operation $Random Temporary %= 100ドル Const
 # メッセージ出力
 execute if score $Random Temporary matches 00..24 run say excellent!
 execute if score $Random Temporary matches 25..74 run say great
 execute if score $Random Temporary matches 75..99 run say miss
 # リセット
 scoreboard players reset $Random Temporary

固定確率predicates

指定した確率でtrueを返すpredicateです。

使い方

execute if predicate lib:random_pass_per/<確率>

@a[predicate=lib:random_pass_per/<確率>

確率に指定可能な値は1 ~ 99までの範囲です。

# 30%の確率で「pass!」と出力するコマンド
 execute if predicate lib:random_pass_per/30 run say pass!

攻撃元Entity探索実装

そのtickにそのプレイヤー攻撃したEntityを特定する実装です。

使い方

execute as @e[type=#lib:living,type=!player,tag=AttackingEntity,distance=..150] if score @s AttackingEntity = @a[tag=this,limit=1] AttackingEntity

# 攻撃してきたEntityが「attack!」と出力するコマンド
 execute as @e[type=#lib:living,type=!player,tag=Attackeingntity,distance=..150] if score @s AttackingEntity = @a[tag=this,limit=1] AttackingEntity run say attack!

攻撃先Entity探索実装

そのtickにそのプレイヤー攻撃したEntityを特定する実装です。

使い方

execute as @e[type=#lib:living,type=!player,tag=AttackedEntity,distance=..150] if score @s AttackedEntity = @a[tag=this,limit=1] AttackedEntity

# 攻撃してEntityが「hurt!」と出力するコマンド
 execute as @e[type=#lib:living,type=!player,tag=AttackedEntity,distance=..150] if score @s AttackedEntity = @a[tag=this,limit=1] AttackedEntity run say hurt!

天候チェックpredicates

天候が指定した天候の場合trueを返すpredicateです。

使い方

execute if predicate lib:weather/is_<sunny|raining|thundering>

# 天候が雨の場合のみ「rain!」と出力するコマンド
 execute if predicate lib:weather/is_raining run say rain!

ディメンションチェックpredicate

Work In Progress...

MotionLib

実行Entity(type=!player)の視点方向に$VectorMagnitude*0.01Block分のMotionを付与します。
at,rotatedと併用してください

使い方

function lib:motion/

# 5m以内のEntityに1Block分の視点方向のMotionをかけるコマンド
 scoreboard players set $VectorMagnitude 100
 execute as @e[type=!player,distance=..5] at @s run function lib:motion/
# 5m以内のEntityが自分めがけて飛んでくるコマンド
 scoreboard players set $VectorMagnitude 500
 execute as @e[type=!player,distance=..5] at @s facing entity @p feet run function lib:motion/

Clone this wiki locally

AltStyle によって変換されたページ (->オリジナル) /