This is a modified version of ParCool, not the official build. Modified by the minecraft club (eruto) — 最初の改変 2026-08-02 / 最新の改変 2026-09-04。 Original work: alRex-U/ParCool. Licensed under LGPL-3.0, same as upstream. The original author does not endorse this build.
上流: alRex-U/ParCool / 枝
eruto/world3-1.20.1/ 上流の枝1.20.1から分岐。以下は上流の README です。⚠ 不具合をここの改変版で見つけても、上流へ報告しないでください。 ⚠ 配る jar の名前には
-eruto<番号>が入っています(例ParCool-1.20.1-3.4.3.3-eruto7.jar)。 ⚠ modId は上流のままparcool(変えると設定・依存・ワールドが壊れるため)。当部が変えたところ(⚠ 件数を書かない。書いた瞬間から腐る):
何を なぜ Vault の視線許容を 45° → 60° に広げた 狙って飛び越えたいのに反応しないことが多かった Vault の動作時間を 11 → 6 tick(2026-08 に 8、⚠ 2026-09-02 にさらに 6)、CatLeap のクールダウンを 30 → 20 tick に短縮 連続した動きが途切れる感じを減らす。⚠ Vault は移動を書いているのが最初の3 tick だけで残りはアニメの待ちなのに、その間 isDoing()が真なので横壁走り・壁駆け上がり・急旋回・ジップラインが出ない。⚠ 下限は 3(前へ送り出す 0.45 を書くのが tick 2)Breakfall に Auto の操作種別を足した 受け身をキー入力なしで出せるようにする 壁に触れてバニラがダッシュを切ったときも FastRun を継続するようにした 壁ぎわで速度が落ちるのを直す jar 名とゲーム内の版に当部のパッチ番号を出すようにした 配ったのがどの版か分かるようにする ⚠ 属性 parcool:wall_climbを足した(既定 1.0)。垂直ウォールランの始めの一押し(0.32 × √壁の高さ)に掛け、canStartの間隔 15 ティックを割る⚠ 登れる高さを種族ごとに変えたい(アラクネ=壁を登る種族/ネコ獣人=その中間)。⚠⚠ 上流は数が直書きで、 Limitationは制限しかできない(Math.maxで合成する=下げられない)ので、fork でしか触れなかった。⚠ 属性にしたので Origins 側はorigins:attribute1行で済み、コマンドも再ログインの心配も要らない⚠ 属性 parcool:parkourを足した(既定 1.0/0.0 で全停止)パルクールを種族ごとに止める口が上流に無かった。⚠ 詳細は下の節 ジップラインの上限を 115 → 320 ブロックに伸ばした ⚠ 320 は好みではなく天井。理由と、view-distance を下げるときの再計算は Zipline.javaの注記ジャスト受け身の音を金床(2倍速)→ アメジストの足音に替えた 上流は random/anvil_landを pitch 2 で鳴らしており、⚠ 怖いという苦情が出た。役割(現実に無い「決まった」の合図)は保ったまま素材だけ替えた⚠ 壁ジャンプを「視線」ではなく「移動入力」の向きへ蹴るようにした(入力が無いときだけ従来の視線判定へ落ちる) ⚠⚠ 上流の角度制限は壁を正面に見ていると必ず弾くので、走って壁にぶつかった直後の姿勢からは蹴れなかった。⚠ そのせいで WallJumpAnimationType.Back(視線が壁から45°以内のときに選ばれる)が当部の設定 110 では一度も発火していなかった——バク宙のアニメもカメラ回転も死んでいた。⚠ 入力なしの経路を残したので、壁ぎわで建てているときの誤爆は増えない⚠ 壁駆け上がりから「上を向いている」条件を外した ⚠ 遊んでいて気づけない(壁に向かって走って跳んでも何も起きない)。残る条件だけで十分に絞れている ⚠ 属性 parcool:wall_climb_chainを足した(既定 0.0/1.0 で空中再開)⚠ 上流は地上ジャンプ( LivingJumpEvent)から 5〜12 tick でしか始まらず、壁ジャンプは速度を直接いじるだけなので空中では二度と始められない。⚠ 1.0 のとき空中でジャンプを押し直すと窓が開く(押しっぱなしでは1回ぶんしか出ない)。⚠⚠ 上下の速度の窓(身長の 1/5)は地上ジャンプの側だけに残した——両方に掛けると空中の側が一度も通らない(登りは頂点で終わり、次に始められるのは15 ÷ wall_climbティック後=アラクネで8。そのとき自由落下は毎ティック 0.57 で、0.36 の窓はもう閉じている)。⚠ 空中側の上限は間隔と満腹度が受け持つ。⚠ 壁ずり落ちはcanStartが元から除外している| ⚠ 属性
parcool:dodge_distanceを足した(既定 1.0)。回避の初速(0.9 × 設定倍率)に掛ける | ⚠ 回避の距離を種族ごとに変えたい。⚠ 上流はクライアント設定をサーバ上限で抑える形しか無く、Limitationは締める方向にしか動かない(Math.min)ので、1種族だけ伸ばすには先に全員の上限を上げるしかなかった。⚠ 設定の後ろに掛けるので、サーバ上限の意味は保つ。⚠ 距離を決めているのは減速で、11 ティックの長さではない(11 ティック後に残る速度は初速の 0.13%) | | ⚠ 属性parcool:dodge_recoveryを足した(既定 1.0)。連続回避の締め出し(既定 30 ティック)を割る | ⚠⚠ 基本クールダウンには伸びしろが無い——設定の下限がDodge.MAX_TICKと同じ 11 で、回避が終わる瞬間にちょうど明ける。⚠ 実際に間を空けているのは連続回避の関所(3回で 30 ティック止まる)なので、そちらを割る | | ⚠ 初回参加で手引書を配る進捗を止めた(data/parcool/advancements/grant_parcool_guide.jsonをminecraft:impossibleへ) | 当部は独自の手引書を初回に1冊配っており、同時に2冊届くと読み手が迷う。⚠ 上流にこれを切る設定が無い。⚠ これまでは world-3 の datapack が同じ id を上書きして止めていたので、同じ内容が2か所に在る形だった。fork の側へ寄せた。⚠ ファイルは消さずに残してある(消えたものは読めないため。上流が同じ行を変えたら衝突として目に入る)。本は 羽3つ+本 でこれまでどおり作れる || ⚠⚠ スライディングで坂を滑り降りられるようにした(速さを物理の式で育て、滑っている間は段差を登らせない) | ⚠ 上流は毎ティック水平速度を固定値で書き直すので坂でも平地でも同じ速さで、しかも接地していないティックは 0.6 倍。段差は落ちる間ずっと浮くので、⚠ 階段を下ると速くなるどころか遅くなっていた。いまは「下がった高さ ÷ 進んだ水平距離」から坂の急さを出し、
加速度 = 0.08 × (sinθ − 0.1 × cosθ) − 0.12 × v²で速さを育てる。⚠⚠ 末尾の v² の項が「落ち着く速さ」を坂ごとに決める(26.6度で 9.8 m/s・45度の階段で 13.0 m/s・63.4度で 15.1 m/s)——⚠ 2026-09-04 まではこの項が無く、傾きが 5.7 度を超える坂はどれも 10 tick 弱で上限に張り付いて、どの坂でも同じ 18 m/s だった。上限 0.8(=16 m/s)はいまは安全弁で、普通の地形では当たらない。⚠ 坂を滑っているティックは持ち時間から差し引くので、坂が続く限り滑れる | | ⚠⚠ 滑っている間は段差を1つも登らせない(Forge のSTEP_HEIGHT_ADDITIONに −0.6) | ⚠⚠ これが「階段で跳ねる」の正体だった。バニラは 0.6 まで自動で登り、その持ち上げはEntity#moveが位置を直に動かすものでdeltaMovementを通らない。⚠ 速度をいじっても止められない。⚠ ParCool は移動の後(TickEvent.Phase.END)に動くので、位置を戻す形にすると「持ち上げ → 戻す」を毎ティック繰り返してそれ自体が上下動になる。⚠ 上りでは段に引っかかるが、滑りが上へは行かないので自然(2026-09-03・あなたの判断)。⚠ 付け外しはonTickで行う——⚠⚠onStopはActionProcessorから一度も呼ばれていない | | ⚠ ジップラインを滑っている間の音を足した(バニラのエリトラの滑空音をsounds.jsonから借りる) | 上流はロープを張る音と外す音しか持たず(#433 で要望が出たまま)、⚠ 320 ブロックまで伸ばした当部では無音の時間が目立つ。速さに合わせて音量と高さが変わる。⚠ 新しい音のファイルは足していない(ジャスト受け身と同じやり方)。⚠ 鳴らすのは自分が乗っているときだけ——他人のぶんはspeedが同期されていない | | ⚠⚠ 乗り物に乗っている間はパルクールをしないようにした | ⚠⚠ 馬に乗ったまま壁キックができた(2026-09-05・あなたが実物で確認)。⚠ 上流は乗り物の判定を 26 技のうち 5 つにしか書いていない(匍匐・ダイブ・ファストラン・ファストスイム・ブロックに隠れる)。⚠ 壁キックには無いうえ、⚠⚠ 乗っている間プレイヤー自身は接地していない扱いなので!onGround()も通り、壁の判定もプレイヤーの当たり判定で行うので馬ごと壁に寄れば当たる。⚠ 既定キーも重なる(壁キック=スペース=馬のジャンプ)。⚠ 技ごとに足すと 21 か所になるので、すべての技が通る関所(ActionProcessor)で1行にした。⚠ 継続にも掛かるので乗った瞬間に止まる。⚠ ジップラインは壊れない——startRidingは src 全体で 0 件で、あれは自前で位置を動かす作り | | ⚠⚠ 手引書を ParCool 自身のタブへ入れた(book.jsonにcreative_tab) | ⚠⚠ JEI にもクリエイティブにも本が出ていなかった。Patchouli はcreative_tabを書いていない本を既定の入れ先にしか置かず、そこは JEI が拾わない。⚠ しかも上流はparcool:itemsタブのアイコンに手引書を使いながらdisplayItemsに本を入れていない(アイコンだけ本で、開くと本が無いタブ)。⚠ 本は元から羽3つ+本で作れる | | ⚠⚠ 移動キーの向きを、キーの押下から先に読むようにした | ⚠⚠ 三人称では回避が一度も出ていなかった。Better Third Person がカメラの向きへ体を向けるためにplayer.inputを毎ティック書き換える(上流 #383。ソースが公開されておらず上流も直せていない)ので、⚠ S を押しても「前向き」と読めていた。回避は S / A / D の二度押しでしか出ないので、どれも発火しない。⚠ キーが押されていないときは従来どおりinputを見る——ゲームパッドの入力はキー割り当てを通らないため。⚠ 回避が飛ぶ向きも押したキーから組み直す |⚠ 高さの定数は体格でスケールする(種族で大きさが違う)。⚠⚠ 立ち高さのほうを見ること——滑っている間は姿勢が泳ぎ姿勢なので、
getBbHeight()だと姿勢の低さを体格と取り違える。⚠ 地面への吸着は作って外した(2026-09-03)。理由は
Slide.javaのコメントに残してある—— 中心1本のレイで地面を探すと段の縁で誤り、体が手前の段へめり込んで下りで引っかかる。ビルドは
gradle.propertiesのeruto_patchが版を決める。
Welcome to this project!
ParCool is a mod of Minecraft, for more Cool Actions like Parkour.
It's inspired by SmartMoving. That was a very great mod.
Players can do more actions such as...
- Grabbing Cliffs
- Running Faster
- Roll
- Backflip
- WallJump
- CatLeap
etc
If it made you traceurs or traceuses ; parkour practitioners, I couldn't be happier!!
This project is always ready to accept your contribution.
This mod provides some features for mod developers, server-hosts and mod-packers. Please read ParCool Guide.
ParCool is licensed with
GNU LESSER GENERAL PUBLIC LICENSE Version 3.
素の ParCool はサーバ全体(permit_*)かその人の設定(can_*)でしか
可否を決められず、⚠ 種族で分ける口が無かった。
ActionProcessor.checkAndChangeActionState は、⚠ すべての技が通る唯一の関所
(InstantAction も含めて parkourability.getList() の1本の for から来る)。
そこで属性を1回読み、始めるほうと続けるほうの両方を止める。
| 値 | 意味 |
|---|---|
| 1.0(既定) | 素の ParCool のまま |
| 0.0 | パルクールを一切しない |
⚠ Origins からは origins:attribute 1枚で当てられる。
当部ではゴーレムに 0.0 を当てている(重い体でよじ登らない)。
