Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
d7a5cad
♻️ ストレージをADwikiの規則に則り変更
FreyCielu Jun 13, 2026
1f67cf2
♻️ load/onceの実行条件を変更
FreyCielu Jun 13, 2026
9e975a9
♻️ 難易度適用部分のRename
FreyCielu Jun 13, 2026
9ee5fe8
♻️ 初期化の条件を変更
FreyCielu Jun 13, 2026
c766b9e
♻️ tusb_remake→core
FreyCielu Jun 13, 2026
698f03d
♻️ tusb_remake→asset
FreyCielu Jun 13, 2026
f04eba4
♻️ tusb_remake:_→skill:_
FreyCielu Jun 13, 2026
97e7856
♻️ tusb_remake→skillに変更
FreyCielu Jun 13, 2026
bb8665e
♻️ tusb_remake→player対応
FreyCielu Jun 13, 2026
fac9209
♻️ tusb_remake→mob対応
FreyCielu Jun 13, 2026
a33d5fa
♻️ tusb_remake→item対応
FreyCielu Jun 13, 2026
927ca9c
♻️ tusb_remake→world対応
FreyCielu Jun 13, 2026
0aa6660
♻️ storageのリネーム(core)
FreyCielu Jun 13, 2026
4a7a14d
♻️ storageのリネーム(debug)
FreyCielu Jun 13, 2026
082a32f
♻️ tusb_remake→item対応
FreyCielu Jun 13, 2026
5012fcf
♻️ storageリネーム
FreyCielu Jun 13, 2026
54813ee
♻️ 誤字修正
FreyCielu Jun 13, 2026
57c81d1
♻️ storageのリネーム
FreyCielu Jun 13, 2026
3d46044
♻️ storageリネーム
FreyCielu Jun 13, 2026
a54eae0
♻️ スコアホルダーの変更
FreyCielu Jun 13, 2026
643c596
💥 tick処理の大幅変更
FreyCielu Jun 13, 2026
da166cb
♻️ 難易度選択周り
FreyCielu Jun 14, 2026
2496335
world_manager用tick~hour追加
FreyCielu Jun 14, 2026
62eb577
♻️ remake_remixをリネーム
FreyCielu Jun 14, 2026
8cfbad0
♻️ tusb_remake:_を変更
FreyCielu Jun 14, 2026
a56fe26
♻️ player:tickを追加
FreyCielu Jun 14, 2026
9af9966
♻️ Difficultyのスコアホルダー修正
FreyCielu Jun 14, 2026
9909c3e
♻️ ダメージ修正
FreyCielu Jun 14, 2026
4c82769
♻️ 死の宣告の処理を変更
FreyCielu Jun 14, 2026
8da0f7f
player_tickとten_tick処理追加
FreyCielu Jun 14, 2026
d45fe1b
♻️ 瞬獄殺、靖妖儺舞のスコア名変更
FreyCielu Jun 14, 2026
bc7ab8d
♻️ MP回復処理の移動及び幸運でのMP最大値増加処理追加
FreyCielu Jun 14, 2026
f88318c
♻️ 目についたので跳躍の処理を微調整
FreyCielu Jun 14, 2026
d1b5e47
♻️ 死亡時処理の移動
FreyCielu Jun 15, 2026
3af7544
♻️ 空腹とHP回復周りの仕様変更
FreyCielu Jun 15, 2026
838d747
♻️ 後はjobとmobだけです
FreyCielu Jun 15, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ execute unless data storage asset: set_spawner.CustomDisplayTile run data modify
data modify storage _: _ set from storage asset: set_spawner.SpawnMob
data remove storage asset: set_spawner.SpawnMob

summon armor_stand ~ ~ ~ {Silent:1b,Invulnerable:1b,Small:1b,Marker:1b,Invisible:1b,NoBasePlate:1b,Passengers:[{id:"spawner_minecart",SpawnCount:0,Tags:["SetSpawner","TypeCheaked","SystemEntity","SpawnerCore","Spawner"],Invulnerable:true}]}
summon armor_stand ~ ~ ~ {Silent:1b,Invulnerable:1b,Small:1b,Marker:1b,Invisible:1b,NoBasePlate:1b,Passengers:[{id:"spawner_minecart",SpawnCount:0,Tags:["SetSpawner","TypeChecked","SystemEntity","SpawnerCore","Spawner"],Invulnerable:true}]}

execute as @e[tag=SetSpawner,limit=1] at @s run function asset_manager:spawner/set/set_data

Expand Down
10 changes: 5 additions & 5 deletions TUSB_AD/data/asset_manager/functions/spawner/update/.mcfunction
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,11 @@ tellraw @a[tag=DebugInfo] {"translate":"function:asset_manager:spawner/update/\n
function asset_manager:spawner/update/get_info/

# SpawnerIdが-1の場合は複数湧き、1以上の場合は単体湧き
data modify storage tusb_remake: _ set value true
execute if data storage asset:context {spawner:{SpawnData:{entity:{id:"minecraft:pig"}}}} unless data storage asset:context spawner.SpawnPotentials[0].data.entity.id run data modify storage tusb_remake: _ set value false
execute if data storage asset:context {spawner:{SpawnData:{entity:{id:"minecraft:pig"}}}} if data storage asset:context {spawner:{SpawnPotentials:[{data:{entity:{id:"minecraft:pig"}}}]}} run data modify storage tusb_remake: _ set value false
execute if score @s SpawnerId matches -1 if data storage tusb_remake: {_:true} run function asset_manager:spawner/update/multi/
execute if score @s SpawnerId matches 1.. if data storage tusb_remake: {_:true} run function asset_manager:spawner/update/single/
data modify storage asset: _ set value true
execute if data storage asset:context {spawner:{SpawnData:{entity:{id:"minecraft:pig"}}}} unless data storage asset:context spawner.SpawnPotentials[0].data.entity.id run data modify storage asset: _ set value false
execute if data storage asset:context {spawner:{SpawnData:{entity:{id:"minecraft:pig"}}}} if data storage asset:context {spawner:{SpawnPotentials:[{data:{entity:{id:"minecraft:pig"}}}]}} run data modify storage asset: _ set value false
execute if score @s SpawnerId matches -1 if data storage asset: {_:true} run function asset_manager:spawner/update/multi/
execute if score @s SpawnerId matches 1.. if data storage asset: {_:true} run function asset_manager:spawner/update/single/

# contextを削除
data remove storage asset:context id
Expand Down
21 changes: 2 additions & 19 deletions TUSB_AD/data/core/functions/clock/first.mcfunction
Original file line number Diff line number Diff line change
Expand Up @@ -2,37 +2,20 @@
#
# 毎ティック最初に実行したいもの
#
# @within tags function #minecraft:tick
# @within function #minecraft:tick


# ワープポータル処理待ちの時はチェックする
execute as @a[tag=PortalCheck] at @s run function world_manager:warp/

# 強制的に消したいアイテムをドロップしていたら消す(インベントリ内の場合は進捗で消す)
execute as @a[scores={Drop=1..}] at @s anchored eyes positioned ^ ^ ^ run kill @e[distance=..2,type=item,predicate=lib:force_vanishing]
scoreboard players reset @a Drop

# アスレチックのバードケージでエリトラの飛べるタイミングを昔と同じにする
execute as @a[predicate=player_manager:bird_in_cage] run function world_manager:dimension/nether/athletic/bird_cage/modify_elytra

# 魔法のブロックの共通処理
execute as @e[type=item_frame,tag=MagicBlock] at @s run function job:skill/summoner/magic_block/check

# 不滅
# TypeCheckedされると不都合なのでここ
# 使用しても消えないようになるエンチャント
tag @a[predicate=player_manager:has_undying] add Undying
execute as @a[tag=Undying] at @s unless predicate player_manager:open_container run function player_manager:custom_item/undying/
tag @a[tag=Undying] remove Undying
tag @a[predicate=player_manager:has_undying] add Undying

# TypeCheck 新しくでてきた敵に色々設定するやつ
execute as @e[type=!#lib:ignore_type_check,type=!area_effect_cloud,tag=!TypeChecked] at @s run function mob_manager:entity/type_check
## TODO
execute as @e[type=area_effect_cloud,tag=!TypeChecked] at @s run function mob_manager:entity/type_check

# 削除対象のエンティティを削除する
function mob_manager:delete/

# エリア変更判定
#todo:カスタムディメを増やしたらいじります。
scoreboard players set @a[scores={USBDimension=0..},nbt={Dimension:"minecraft:the_nether"}] AreaChangeFlag -100
Expand Down
15 changes: 0 additions & 15 deletions TUSB_AD/data/core/functions/clock/half_sec.mcfunction

This file was deleted.

10 changes: 10 additions & 0 deletions TUSB_AD/data/core/functions/clock/half_second.mcfunction
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
#> core:clock/half_second
#
# 10tickごとに実行される処理
#
# @within function core:clock/tick
#define score_holder #Ticks Count
#declare score_holder #Seconds Count

#> #Ten_Ticksを加算
scoreboard players set #Ten_Ticks Count 0
26 changes: 1 addition & 25 deletions TUSB_AD/data/core/functions/clock/last.mcfunction
Original file line number Diff line number Diff line change
Expand Up @@ -2,34 +2,10 @@
#
# 毎ティック最後に実行したいもの
#
# @within tags function #minecraft:tick
# @within function #minecraft:tick

# カスタム体力へのダメージ処理
execute as @e if predicate lib:custom_mob at @s run function mob_manager:custom_mob/health/

# Logテキストの処理
execute as @e if predicate lib:log_stand at @s run function mob_manager:custom_mob/health/log/display_tick

# マジックシールドのチェック
execute as @a[tag=MagicShield] run effect give @s minecraft:resistance 1 100
# ウィンドウォール
execute as @a[scores={WindWall=0..}] at @s run function job:skill/black_mage/wind_wall/check

# プレイヤーの回復効果
execute as @a[predicate=player_manager:heal_count/healcount_small] run function player_manager:health/heal/small
execute as @a[predicate=player_manager:heal_count/healcount_large] run function player_manager:health/heal/large

# HP記録
execute as @a[scores={HPChanging=0..}] run scoreboard players operation @s HP = @s HPChanging
scoreboard players reset @a[scores={HPChanging=0..}] HPChanging
# 満腹度記録
execute as @a[scores={FoodChanging=0..}] run scoreboard players operation @s Food = @s FoodChanging
scoreboard players reset @a[scores={FoodChanging=0..}] FoodChanging
# 満腹度制限
execute as @a[scores={FoodMax=0..}] run function player_manager:food/limit

# 死亡トリガー TODO
scoreboard players reset @a[scores={Deaths=1..}] Deaths
# 被ダメージトリガーリセット TODO
scoreboard players reset @a[scores={DamageTaken=0..}] DamageTaken
scoreboard players reset @a[scores={DamageResisted=0..}] DamageResisted
62 changes: 1 addition & 61 deletions TUSB_AD/data/core/functions/clock/main.mcfunction
Original file line number Diff line number Diff line change
Expand Up @@ -2,70 +2,15 @@
#
# メインクロック
#
# @within tags function #minecraft:tick
# @within function #minecraft:tick

# 初回ログイン時
execute as @a[team=] at @s run function core:login/first
# ログイン時
execute as @a[scores={LeaveGame=1..}] at @s run function core:login/

# 紙を拾ったプレイヤーがいたらトレードイベント(職業変更/釣りチケット)判定を呼び出す
execute as @a[scores={PickupPaper=1..}] run scoreboard players operation @s TradedVillager >< @s PickupPaper
execute as @a[scores={TradedVillager=1..}] run function player_manager:inventory_event/trade_event/

# 死亡処理
execute as @a[scores={HP=..0,Hunger=..-1}] at @s run function player_manager:death/
# 生き返ったときは満腹度調整処理
execute as @a[scores={HP=1..,Hunger=0..}] run function player_manager:death/apply_hunger

# 経験値取得処理
execute as @a[predicate=player_manager:has_netherstar] at @s run function player_manager:job/pick_exp/

# レベルアップ処理
execute as @a[scores={ExpToLevel=..0,Job=1..}] at @s run function player_manager:job/level_up/

# MP自然回復
execute as @a[scores={Job=1..,Level=1..}] at @s run function player_manager:mp/mp_regen

# 島攻略
execute as @a[scores={UseEnderEye=1..}] at @s run function world_manager:area/conquer/

# 緩衝体力付きで死んでいる場合、エフェクトクリアすることで、体力を正常にする
effect clear @a[scores={Deaths=1..,HP=1..}]

# ベッドで寝たときの効果
execute as @a[scores={SleepInBed=1..}] at @s run function player_manager:sleep/

# お祈り処理(kill)
execute as @a[scores={kill=1..}] at @s run function player_manager:kill/pray/

# 交易島落下防止&製作者村人の追加
execute positioned -58 23 22 in minecraft:overworld run tp @e[distance=25..,type=villager,tag=NewShopStaff] -54.5 24.5 9.0

# 村人会話
execute as @a[scores={AgentFlag=1..}] at @s run function mob_manager:villager/talk_event/agent/trigger/
execute as @a[scores={PastorFlag=1..}] at @s run function mob_manager:villager/talk_event/pastor/trigger/
execute as @a[scores={AugurFlag=1..}] at @s run function mob_manager:villager/talk_event/augur/trigger/

# 村人更新
# execute at @a as @e[type=villager,scores={VillagerId=0..},distance=..10] run function remake_remix:villager/

# スポナー更新
execute as @e[tag=Spawner,type=armor_stand,scores={SpawnerId=-2147483648..2147483647}] at @s run function asset_manager:spawner/

# テーブルマウンテンの不思議な力
execute positioned -6 65 -2148 as @a[dx=64,dy=135,dz=48,gamemode=adventure] run function world_manager:dimension/table_mountain/fall_force
execute as @a[predicate=world_manager:area/table_mountain,gamemode=!spectator] at @s if block ~ ~-0.5 ~ minecraft:redstone_block unless block ~ ~-1.5 ~ minecraft:command_block run function world_manager:dimension/table_mountain/red_zone

# ネザー火山噴火
execute as @a[scores={MineNetherrack=1..}] at @s run function world_manager:dimension/nether/volcano/

# サボテン島の罠 もとい サトウキビ島
execute positioned 39 7 67 if entity @a[distance=..10,limit=1] run function world_manager:dimension/skylands/sealed_alter/

# 透明化&エーテル Invisible
execute as @a[predicate=player_manager:effects/is_invisibility] at @s run function player_manager:effect/invisible/

# 奈落防止
execute as @e[tag=AbyssWarp] at @s positioned ~-0.5 -70 ~-0.5 run tp @s[dy=-29] @p

Expand All @@ -91,11 +36,6 @@
# 盾持ちmob処理
execute as @e[type=#lib:mob,tag=!ShieldTried,limit=1] run function mob_manager:entity/time_shield/detect_enemy

# tick/trigger
execute as @a at @s run function player_manager:show_text/trigger/

# 装備効果
execute as @a at @s run function player_manager:custom_item/equipments/

# CantTp
tag @a[tag=CantTp] remove CantTp
Expand Down
19 changes: 0 additions & 19 deletions TUSB_AD/data/core/functions/clock/min.mcfunction

This file was deleted.

11 changes: 11 additions & 0 deletions TUSB_AD/data/core/functions/clock/one_hour.mcfunction
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
#> core:clock/one_hour
#
#> 1時間処理
# ここには処理を追加しないこと。必要な場合、それぞれのフォルダにone_hourを作成して処理を追加すること。
# @within function core:clock/one_minute
#declare score_holder #Minutes Count
#declare score_holder #Hours Count

#> 1分カウントをリセットして、1時間カウントを加算
scoreboard players set #Minutes Count 0
scoreboard players add #Hours Count 1
12 changes: 12 additions & 0 deletions TUSB_AD/data/core/functions/clock/one_minute.mcfunction
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
#> core:clock/one_minute
#
#> 1分処理
# ここには処理を追加しないこと。必要な場合、それぞれのフォルダにone_minuteを作成して処理を追加すること。
# @within function core:clock/ten_seconds
#declare score_holder #TenSeconds Count
#declare score_holder #Minutes Count

#> 10秒カウントリセットし1分カウントを加算、1分カウントが60になったら1時間処理を実行
scoreboard players set #TenSeconds Count 0
scoreboard players add #Minutes Count 1
execute if score #Minutes Count matches 60.. run function core:clock/one_hour
13 changes: 13 additions & 0 deletions TUSB_AD/data/core/functions/clock/one_second.mcfunction
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
#> core:clock/one_second
#
# 1秒ごとに実行される処理
# ここには処理を追加しないこと。必要な場合、それぞれのフォルダにone_secondを作成して処理を追加すること。
# @within function core:clock/tick
#define score_holder #Ticks Count
#declare score_holder #Seconds Count

#> #Ticks CountとTen_Ticks Countをリセットして、#Second Countを加算。 10秒ごとにcore:clock/ten_secondsを実行。
scoreboard players set #Ten_Ticks Count 0
scoreboard players set #Ticks Count 0
scoreboard players add #Seconds Count 1
execute if score #Seconds Count matches 10.. run function core:clock/ten_seconds
12 changes: 12 additions & 0 deletions TUSB_AD/data/core/functions/clock/reset.mcfunction
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
#> core:clock/reset
#
#>リセット用
#
# @within function core:clock/tick

scoreboard players set #Ticks Count 0
scoreboard players set #Seconds Count 0
scoreboard players set #TenSeconds Count 0
scoreboard players set #Minutes Count 0
scoreboard players set #Hours Count 0
scoreboard players set #Ten_Ticks Count 0
42 changes: 1 addition & 41 deletions TUSB_AD/data/core/functions/clock/sec.mcfunction
Original file line number Diff line number Diff line change
Expand Up @@ -24,13 +24,6 @@
# 個人ロッカー(印板)から音
execute at @e[tag=PersonalLockerSign] run playsound minecraft:block.beacon.ambient block @a[distance=..16]

# 1分処理
scoreboard players add #SecCount Global 1
# 0になるのは嫌な予感の演出が終わる時だけなので、赤い視界をリセットする
execute if score #SecCount Global matches 0..2 run worldborder warning distance 0
# 1分処理を呼び出す
execute if score #SecCount Global matches 61.. run function core:clock/min

# 動き停止飛翔物判定
execute as @e[tag=FlyingObject] if predicate lib:is_flying_object at @s run function mob_manager:entity/check_projectile
execute as @e[tag=InKasap] at @s run function mob_manager:entity/check_kasap
Expand All @@ -41,27 +34,9 @@
# 敵スキル発動チェック
execute as @e[tag=SkillMob] at @s run function mob_manager:skill/

# 嫌な予感を実行する
execute as @a[predicate=world_manager:area/skyland,tag=CauseEvent] at @s if score #SecCount Global matches 0.. run function world_manager:event/rank/

# トカルトの処理
execute unless data storage tusb_remake: settings{toculting:1b} as @a[predicate=world_manager:area/tocult_colde,gamemode=!spectator] at @s run function world_manager:dimension/tocult/process/
execute unless data storage tusb_remake: settings{toculting:1b} as @a[predicate=!world_manager:area/tocult_colde,gamemode=!spectator] at @s if entity @e[tag=TocultArea,distance=..32] run function world_manager:dimension/tocult/process/
execute if data storage tusb_remake: settings{toculting:1b} as @a[predicate=!world_manager:area/nether_trial,gamemode=!spectator] at @s run function world_manager:dimension/tocult/process/

# ゾンビピッグマンのおこる対象を設定する
execute as @a[gamemode=!spectator] at @s run function world_manager:dimension/nether/angry

# オーラ(AEC)纏ってる敵のオーラを維持する?
execute as @e[tag=MobCloud] at @s as @e[dx=0,tag=Enemy,sort=nearest,limit=1] at @s as @e[dy=10,tag=MobCloud] run data modify entity @s Age set value 5

# 煉獄ボスと戦闘中の処理
execute as 0-0-1-0-4 at @s positioned ~ ~-19 ~74 if block -1860 20 -51 minecraft:slime_block if entity @p[distance=..65,gamemode=!spectator] run function world_manager:dimension/purgatory/boss/attack_check

# 死の宣告
execute as @a[tag=Doom] run function player_manager:effect/invisible/doom/default
execute as @a[tag=DoomEx] run function player_manager:effect/invisible/doom_ex/count

# サバイバルスポナー処理
execute as @e[tag=SpawnerCore] at @s if block ~ ~ ~ minecraft:air run kill @e[distance=..0.99,tag=Spawner,limit=2,sort=nearest]

Expand All @@ -71,26 +46,11 @@
# カートスポナーポータルin対策
tag @e[type=spawner_minecart,tag=CooldownRequired,predicate=lib:is_cooldown_300] add Garbage

###### 島ギミック ########
# エンダーチェスト島のワープ
execute positioned 58 94 -103 as @e[dx=17,dy=2,dz=17] if predicate lib:no_passengers at @s if block ~ ~-1 ~ #lib:stained_glass_and_pane run spreadplayers ~ ~ 1 300 under 319 false @s
# ホッパー島のワープ
execute positioned 177 39 -75 if entity @a[distance=..60,gamemode=!spectator] run function world_manager:dimension/skylands/hopper/

# 祈り(最後の手段/最初に教会に行くまで使えない)を表示
execute if data storage tusb_remake: settings{prayable:true} as @a[tag=Pray,scores={Job=1..}] run function player_manager:kill/pray/show
execute if data storage player: settings{prayable:true} as @a[tag=Pray,scores={Job=1..}] run function player_manager:kill/pray/show

# 炎出す奴
execute as @e[tag=CanFire] at @s positioned ~-0.5 ~ ~-0.5 run fill ~ ~ ~ ~1 ~1 ~1 minecraft:fire keep

# エリア境界不正侵入(バリアめり込み)防止
execute as @a[predicate=player_manager:player] at @s if block ~ ~ ~ #lib:unbreakable run function player_manager:kill/unbreakable_block

# gamemasterの音
execute at @e[tag=GameMasterSP,limit=1] run playsound minecraft:entity.warden.heartbeat master @a[distance=..60] ~ ~ ~ 0.6 1 0.0

# 煉獄マグマ
execute as @a if dimension minecraft:the_nether unless score @s PurgatoryInvalid matches 1.. at @s if block ~ ~0.5 ~ minecraft:lava run function world_manager:dimension/nether/in_lava

# loop
execute in minecraft:overworld run schedule function core:clock/sec 1s
17 changes: 0 additions & 17 deletions TUSB_AD/data/core/functions/clock/skill_trigger/setup.mcfunction

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

### 前のHPから今のHPを引く
scoreboard players operation @s DamageResisted = @s HP
execute store result storage tusb_remake: _ int 10 run scoreboard players operation @s DamageResisted -= @s HPChanging
execute store result score @s DamageResisted run data get storage tusb_remake: _
execute store result storage core: _ int 10 run scoreboard players operation @s DamageResisted -= @s HPChanging
execute store result score @s DamageResisted run data get storage core: _
### 回復だった場合は0にする
scoreboard players set @s[scores={DamageResisted=..-1}] DamageResisted 0
Loading