【Spigot1.11〜】Minecraft内で野球がプレイできるようになるプラグインSnowballGame

サーバーMODやBUKKITのプラグインなどの公開/紹介を専門に行うフォーラムです。クライアントMODと組み合わせ必須の物はMOD公開/紹介フォーラムで公開してください。
フォーラムルール
クライアントMODと対にして使用する物は極力 MOD 公開/紹介 フォーラムにて公開するようお願いします。
本フォーラムではサーバーへの適用をメインとするサーバーMOD、プラグインを取り扱います。
不明な点は管理人ecolightまでお問い合わせ下さい。
  • (PostNo.296992)

【Spigot1.11〜】Minecraft内で野球がプレイできるようになるプラグインSnowballGame

投稿記事by gutsnosada » 2017年2月28日(火) 19:16

Download

SnowballGameは、プラグインによって追加されるカスタムアイテムを使用し、Minecraft内で野球のようなゲームをプレイできるようにすることを目的としたプラグインです。
追加されるのはボール・バット・グラブの3種類で、それぞれ現実でのそれらの用具と同じような使い方が可能です。

解説動画
解説動画2

アイテム

・ボール

画像

ベースは雪玉ですが、ブロックに当たるとバウンドし(一定速度以下でアイテム化します)、エンティティに当たるとアイテム化します。
何も名前を付けていない状態であれば通常の雪玉と同じ速度、同じ軌道で飛んでいきます。

・グラブ

画像

ボールを捕球することができるようになります。
通常、投げられたボールがプレイヤーに当たった場合、他のエンティティに当たった時と同じようにプレイヤーがノックバックしてボールがアイテムとしてドロップしますが、当てられたプレイヤーがオフハンドにグラブを持っていた場合はノックバックが起こらず、そのプレイヤーのインベントリーにボールが入ります。(インベントリーに空きがなかった場合はドロップします。)

・バット

画像

弓の形をしていますが、引き絞って放っても矢を打つことはできません。
放つと一瞬だけ雪玉が現れます。(これはいわゆる「ミートカーソル」だと思ってください)
投げられたボールを狙って放つとボールを打ち返すことができます。打球の方向や強さは、ボールとミートカーソルの位置関係で決定されます。(ボールの下を打てばフライに、上を打てばゴロに、一塁側を打てば三塁側に、三塁側を打てば一塁側に飛びます。また、ミートカーソルとボールの位置が近いほど強い打球になります。)
また、打球の強さは弓の引き絞り具合によっても変わります。ほんの少しだけ引いて上手く打てば、バントのような打球を打つことも可能です。
※サバイバルモードで使う場合、弓を引き絞るために矢を一本以上持っている必要があります。矢を放つわけではないので消費されることはありませんが、見かけ上毎回減っているように見えます。(耐久値が0になったツールのような感じ)

・アンパイア

画像

本来はネザークォーツブロックです。球場のホームベースとして使います。
このブロックの上、指定された高さ(その高さはコンフィグから設定可能)の範囲内を投球が通過すると、チャットにストライクがコールされます。
実際のゲームで見逃した時のストライク判定がどうにも不便だったので追加しました。

・コーチ

画像

見た目はクリーパーの頭と革防具を装備した防具立です。ボールを投げるか、/sbg pleaseコマンドを実行すると、あなたに向かってノックを打ってくれます。
打球の強さや方向はランダムですが、頑張って追えば捕球できる範囲に収まってくれていると思います。
守備の要素が一番難易度が高く、しかも練習を行うのがなかなか難しいと感じたので追加しました。

・ティー

これは特殊なレシピがあるアイテムではなく、バニラの醸造台をそのまま使います。メインハンドにボールを持った状態で醸造台を右クリックすると、手に持っているボールを醸造台の上に「置く」ことができます。この置かれたボールも、投げられたボールと同じようにバットを使って打つことができます。
バッティングの感覚をつかむための練習や、ノックなどの守備練習にお使い下さい。

ボールの反発力について

画像

マイクラ内で球場を作るような企画などを見ていると、作成者やサーバーによってわりと大きさにばらつきがあるように見受けられたので、バットで打った際の反発力(打球の速度)がそれぞれ異なるボールを5種類用意しました。上の「アイテム」の項目で紹介したものが上記画像の一番上のものです。これの反発力を仮に1.0とすると、その他のものは上から2番目から順番に0.6→0.8→1.2→1.4となっています。


「変化球」について

金床でボールに特定の名前を付けて投げると、その名前に応じて軌道や速度が変化します。現在は速球(通常よりも1.1倍速い)、スライダー(通常と同じ速度でオフハンド側に曲がる)、カーブ(通常の0.9倍速でオフハンド側に曲がり落ちる)、フォーク(通常と同じ速度で下に落ちる)、シンカー(通常の0.9倍速でメインハンド側に曲がり落ちる)、シュート(通常と同じ速度でメインハンド側に曲がる)の5種類の球種があります。
なお、「どのような名前をつければ変化するか」は、コンフィグファイルから設定が可能です。
※名前を付けたボールでも、投げてから何かに当たったりバットで打たれたり捕球されたりすると、元のボールに戻ります。そのため、一球変化球を投げるたびにボールを名付け直す必要があります。持っている経験値の量を「スタミナ」のようにみなして駆け引きのある野球を楽しむのもいいかもしれません。

コンフィグについて

"config.yml"
コード: 全て選択
# SnowballGame Config
####

# true/false (If true, snowballs will cause knockback to players when they hits.)
Knockback_For_Players: true
Ball:
    # true/false(If true, players can use custom snowball which behave like a ball for baseball.)
    Enabled_Ball: true
    # 'BallName' (Default name to display for the custom snowball)
    Ball_Name: 'Ball'
    # Natural number (Once you threw ball, you can't throw the next ball in this time.(Ticks))
    Cool_Time: 30
    Move:
        # The type of moving balls.
        Type:
          - 'Fast'
          - 'Slider'
          - 'Curve'
          - 'Folk'
          - 'Sinker'
          - 'Shuuto'
        # The feature of each type of moving balls defined above lines.
        # Velocity: positive number which will be multiplied by default ball's velocity(the default is about 108-110km/h.)
        # Vertical: the vertical movement of the ball. a positive value makes the ball move up.
        # Horizontal: the horizontal movement of the ball. a positive value means the direction of your main-hand side.
        # Acceleration: the acceleration of the ball. If this value is positive, the ball will lose less speed than the ordinal snowball.
        Fast:
            Velocity: 1.1
            Vertical: 0.01
            Horizontal: 0
            Acceleration: 0.01
        Slider:
            Velocity: 1
            Vertical: -0.005
            Horizontal: -0.02
            Acceleration: 0
        Curve:
            Velocity: 0.9
            Vertical: -0.02
            Horizontal: -0.02
            Acceleration: -0.01
        Folk:
            Velocity: 1
            Vertical: -0.02
            Horizontal: 0
            Acceleration: 0
        Sinker:
            Velocity: 0.9
            Vertical: -0.02
            Horizontal: 0.02
            Acceleration: -0.01
        Shuuto:
            Velocity: 1
            Vertical: -0.005
            Horizontal: 0.02
            Acceleration: 0
    # the names of the balls which have different repulsion with being hit.
    Repulsion:
        Highest: 'Ball'
        Higher: 'Ball'
        Lower: 'Ball'
        Lowest: 'Ball'
Bat:
    # true/false (If true, players can use custom bow which behave like a bat for baseball.)
    Enabled_Bat: true
    # 'BatName' (Default name to display for the custom bow)
    Bat_Name: 'Bat'
Glove:
    # true/false (If true, players can use custom leather which behave like a bat for baseball.)
    Enabled_Glove: true
    # 'GloveName' (Default name to display for the custom leather)
    Glove_Name: 'Glove'
Umpire:
    # true/false (If true, players can summon custom Armor_Stand which call "Strike" when the ball through Strike-zone.)
    Enabled_Umpire: true
    # 'UmpireName' (Default name to display for the custom Armor_Stand)
    Umpire_Name: 'Umpire'
    # the height(from the ground) of the top of the strike-zone.
    Top: 1.7
    # the height(from the ground) of the bottom of the strike-zone.
    Bottom: 0.5
Coach:
    # true/false (If true, players can summon custom Armor_Stand which hit the ball when you practice fielding.)
    Enabled_Coach: true
    # 'CoachName' (Default name to display for the custom Armor_Stand)
    Coach_Name: 'Coach'
Broadcast:
   # About the message of swinging a bat.
   Swing:
       Enabled: true
       Range: 50
       Message: '[[YELLOW]][[BOLD]]*** [[PLAYER]] SWINGS ***'
   # About the message of trying to bunt(swing gently)
   Bunt:
       Enabled: true
       Range: 50
       Message: '[[GREEN]][[BOLD]]*** [[PLAYER]] TRIES TO BUNT ***'
   # About the message of hitting a ball with a bat.
   Hit:
       Enabled: true
       Range: 100
       Message: '[[DARK_RED]][[BOLD]]*** [[PLAYER]] HITS THE BALL ***'
   # About the message of tagging a runner (hit a runner with a ball in main-hand)
   Tag:
       Enabled: true
       Range: 50
       Message: '[[BLUE]][[BOLD]]*** [[PLAYER]] TAGS [[RUNNER]] ***'
   # About the message of catching a batted-ball in flight.
   Catch:
       Enabled: true
       Range: 100
       Message: '[[LIGHT_PURPLE]][[BOLD]]*** [[PLAYER]] CATCHES THE BALL ***'
   # About the message of "Strike" call.
   Strike:
       Range: 100
       Message: '[[YELLOW]][[BOLD]]*** STRIKE [[SPEED]] [[TYPE]]  PITCHED BY [[PLAYER]]***'
#If you want to know about the format of "Particle" section, you should see https://hub.spigotmc.org/javadocs/spigot/org/bukkit/Particle.html
Particle:
    # When a player catch the ball with his glove.
    Catch_Ball:
        Enabled: false
        Particle: CRIT_MAGIC
    # When a ball hit to a player.
    Hit_to_Players:
        Enabled: false
        Particle: CRIT
    # When a player swings his bat.
    Swing_Bat:
        Enabled: true
        Particle: SWEEP_ATTACK
    # When a player slugs a ball with his bat.
    Hit_by_Bat:
        Enabled: false
        Particle: EXPLOSION_LARGE
    # When a Batted-Ball ground on something at the first time."Time" value means how long the particle will being shown.
    BattedBall_Ground:
        Enabled: true
        Particle: SNOW_SHOVEL
        Time: 200
    # When a player pitch a specific moving-ball.You can set the type of particles in each ball's section.
    MovingBall:
        Enabled: true


変化球の追加・編集は、Ballの中のmovingセクション内を編集して行います。
例えば「SENGA」という名前をボールにつけると、140キロくらいのお化けフォークが投げられるようにしたいという場合には、Type:の末尾に「- 'SENGA'」という行を追加した上で、Shuutoを定義している部分の後ろに、
コード: 全て選択
        SENGA:
            Velocity: 1.3
            Vertical: -0.06
            Horizontal: 0
            Acceleration: 0.01

といった感じでそのボールの性質を設定します。各パラメーターについては、Velocityはそのボールの球速がデフォルトの雪玉の球速(大体108-110km/hくらい)の何倍かを示し、Verticalは縦方向、Horizontalは横方向の変化量を示します。(Verticalは値の正の数が上方向、負の数が下方向を、Horizontalは正が利き手方向、負がオフハンド方向の変化をそれぞれ表している)また、Acceleraitonは、ボールの進行方向への変化(そのボールが通常の雪玉に比べてどれだけ加速/減速するか)を表しています。

また、Broadcastセクションでは、[[色名]]のような形で文字色の変更が可能です。
指定できる色は、
[[BLACK]],[[DARK_BLUE]],[[DARK_GREEN]],[[DARK_AQUA]],
[[DARK_RED]],[[DARK_PURPLE]],[[GOLD]],[[GRAY]],
[[DARK_GRAY]],[[BLUE]],[[GREEN]],[[AQUA]],
[[RED]],[[LIGHT_PURPLE]],[[YELLOW]],[[WHITE]]​

の16種類です。
また、文字に装飾をつけることも可能であり、
[[BOLD]],[[UNDERLINE]],[[ITALIC]],[[STRIKE]],[[MAGIC]]​
といった形式で指定できます。指定した装飾や色は[[RESET]]と書くことでリセットされます。
ちなみに[[PLAYER]][[RUNNER]]といった記述もありますが、これについては通知メッセージ内で、[[PLAYER]]はその指定項目に該当するアクション(バットを振ったりボールを打ったり)を行ったプレイヤーの名前に、[[RUNNER]]はそのアクションを受けたプレイヤーの名前(現在は"Tag"=「タッチ」の項目内にのみ存在する。守備側のプレイヤーが攻撃側の走者にあたるプレイヤーを、メインハンドにボールを持った状態で殴ったときに「タッチした」ことになる。)に変換されます。
Strikeの項目内に存在する[[SPEED]][[TYPE]]については、[[SPEED]]はそのボールの通過時の時速(ゲームtickからの概算。単位はkm/h)を、[[TYPE]]は球種(投げられたボールについていた名前)を示しています。

Particleセクションでは、いくつかのプレーの際に表示するパーティクルを設定することができます。利用可能なパーティクルの一覧は、https://hub.spigotmc.org/javadocs/spigot/org/bukkit/Particle.html#enum.constant.summaryで確認できます。
ちなみにこのセクション内のMovingBallのEnabledをtrueに設定した上で、以下のように球種を追加すると、
コード: 全て選択
Move:
        # The type of moving balls.
        Type:
          - 'Fast'
          - 'Slider'
          - 'Curve'
          - 'Folk'
          - 'Sinker'
          - 'Shuuto'
          - 'ライジングキャノン'
        # The feature of each type of moving balls defined above lines.
        # Velocity: positive number which will be multiplied by default ball's velocity(the default is about 108-110km/h.)
        # Vertical: the vertical movement of the ball. a positive value makes the ball move up.
        # Horizontal: the horizontal movement of the ball. a positive value means the direction of your main-hand side.
        # Acceleration: the acceleration of the ball. If this value is positive, the ball will lose less speed than the ordinal snowball.
        Fast:
            Velocity: 1.1
            Vertical: 0.01
            Horizontal: 0
            Acceleration: 0.01
        Slider:
            Velocity: 1
            Vertical: -0.005
            Horizontal: -0.02
            Acceleration: 0
        Curve:
            Velocity: 0.9
            Vertical: -0.02
            Horizontal: -0.02
            Acceleration: -0.01
        Folk:
            Velocity: 1
            Vertical: -0.02
            Horizontal: 0
            Acceleration: 0
        Sinker:
            Velocity: 0.9
            Vertical: -0.02
            Horizontal: 0.02
            Acceleration: -0.01
        Shuuto:
            Velocity: 1
            Vertical: -0.005
            Horizontal: 0.02
            Acceleration: 0
        ライジングキャノン:
            Velocity: 1.4
            Vertical: 0.06
            Horizontal: 0
            Acceleration: 0.03
            Particle: FLAME

炎を纏いながら浮き上がる豪速球「ライジングキャノン」を投げることができます。(コンフィグ内に日本語を書くときは文字コードをUTF-8で保存できるエディタを使って下さい。)
最後に編集したユーザー gutsnosada [ 2017年5月25日(木) 12:45 ], 累計 9 回
gutsnosada
ID:6f1e2cbe
水から上がったとこ
 
記事: 10
登録日時: 2017年2月24日(金) 17:17

  • (PostNo.297041)

Re: 【Spigot1.11〜】Minecraft内で野球がプレイできるようになるプラグインSnowballGame

投稿記事by ずきん » 2017年3月01日(水) 13:08

このプラグイン紹介していいでしょうか? あと少しテクスチャもいじっていいでしょうか。
https://www.youtube.com/channel/UCvMozu ... ODIcZrzfWQ
ずきん
ID:711f5a64
 

  • (PostNo.297050)

Re: 【Spigot1.11〜】Minecraft内で野球がプレイできるようになるプラグインSnowballGame

投稿記事by gutsnosada » 2017年3月01日(水) 17:10

ずきん さんが書きました:このプラグイン紹介していいでしょうか? あと少しテクスチャもいじっていいでしょうか。
https://www.youtube.com/channel/UCvMozu ... ODIcZrzfWQ


大歓迎です!テクスチャの方も自由にどうぞ!

また、0.3.3にアップデートしました。
・打球に擬似的にスピン要素を追加(ライン際のフライが切れていったり、大きなフライが空中で伸びたりするように)
・速球が少しだけホップする(通常と比べて上方向に変化する)ように
・打球の反発力を少し弱化
gutsnosada
ID:6f1e2cbe
水から上がったとこ
 
記事: 10
登録日時: 2017年2月24日(金) 17:17

  • (PostNo.297057)

Re: 【Spigot1.11〜】Minecraft内で野球がプレイできるようになるプラグインSnowballGame

投稿記事by ずきん » 2017年3月01日(水) 18:09

今は風邪気味で動画投稿できませんができたらまた連絡したいと思います。
玉だけじゃなくてベースとかあったらもっと良くなると思います今後の更新待ってます。
ずきん
ID:711f5a64
 

  • (PostNo.297172)

Re: 【Spigot1.11〜】Minecraft内で野球がプレイできるようになるプラグインSnowballGame

投稿記事by gutsnosada » 2017年3月03日(金) 16:51

ver0.3.5を公開しました。(0.3.4は非常に小さなバグ修正でした)
    バットの引き絞り具合が弱いほどボールに当たりやすくなるように(打球はその分弱くなります)
    誰かがスイングした際、周囲にいるプレイヤーにスイングしたことが通知されるように

また、非常に弱く弓を引いて打った場合、かなり広い範囲のボールに当ててファールにすることが可能になってしまうので、それを利用して延々とファールを打ち続けるような戦術をとれないように、引き具合が一定以下の場合は「バントを試みた」として通知されるようになっています。
スイングの通知を行うかどうか、通知される範囲、スイングの際のメッセージ、バントの際のメッセージは全てconfig.ymlから設定が可能です。
gutsnosada
ID:6f1e2cbe
水から上がったとこ
 
記事: 10
登録日時: 2017年2月24日(金) 17:17

  • (PostNo.297387)

Re: 【Spigot1.11〜】Minecraft内で野球がプレイできるようになるプラグインSnowballGame

投稿記事by gutsnosada » 2017年3月06日(月) 00:53

ver 0.3.6になりました。
    config.ymlの、スイングなどのプレーのメッセージ通知について記述している部分の仕様を変更
    ボールとバットが当たった時にも周囲のプレイヤーにメッセージが送られるように
    「タッチプレー」を定義(ボールをメインハンドに持ったプレイヤーが他のプレイヤーを殴ると、ダメージが発生せず周囲のプレイヤーにメッセージが通知される)
また、コンフィグ内で用いていた独自タグ的なものに一番上のメッセージでささやかな解説を加えました。説明不足等ありましたらお気軽にお申し付けください。
gutsnosada
ID:6f1e2cbe
水から上がったとこ
 
記事: 10
登録日時: 2017年2月24日(金) 17:17

  • (PostNo.298028)

Re: 【Spigot1.11〜】Minecraft内で野球がプレイできるようになるプラグインSnowballGame

投稿記事by gutsnosada » 2017年3月14日(火) 13:28

ver0.4.0になりました。

    新しい球種の追加や変化球のカスタマイズが可能になった
    助走をつけて送球した時により強いボールが投げられるようになった
    打者が打ったボールを誰かがダイレクトキャッチした時にもメッセージが表示されるようになった
    ディスペンサーからの投球のコントロールが少し改善された

ちなみに、変化球の追加やカスタマイズの方法についての解説を一番上のレスに追加しておきました。ご参照ください。
gutsnosada
ID:6f1e2cbe
水から上がったとこ
 
記事: 10
登録日時: 2017年2月24日(金) 17:17

  • (PostNo.299188)

Re: 【Spigot1.11〜】Minecraft内で野球がプレイできるようになるプラグインSnowballGame

投稿記事by ずきん » 2017年3月29日(水) 17:13

動画上げましたのでよかったら見てください。詳しいことは説明してませんが。。だめなところがあったら動画を消しますので連絡お願いします
https://www.youtube.com/watch?v=QreBmOH ... e=youtu.be
ずきん
ID:226218d2
 

  • (PostNo.301108)

Re: 【Spigot1.11〜】Minecraft内で野球がプレイできるようになるプラグインSnowballGame

投稿記事by gutsnosada » 2017年4月24日(月) 18:08

0.5.0アップデートしました。
    球審(ストライクゾーン判定を勝手にやってくれるホームベース)が追加された


ずきん さんが書きました:動画上げましたのでよかったら見てください。詳しいことは説明してませんが。。だめなところがあったら動画を消しますので連絡お願いします
https://www.youtube.com/watch?v=QreBmOH ... e=youtu.be

動画拝見いたしました。ご紹介ありがとうございます。
しばらくプラグイン開発から離れており、ご挨拶が遅くなってしまいすみませんでした。
gutsnosada
ID:6f1e2cbe
水から上がったとこ
 
記事: 10
登録日時: 2017年2月24日(金) 17:17

  • (PostNo.301124)

Re: 【Spigot1.11〜】Minecraft内で野球がプレイできるようになるプラグインSnowballGame

投稿記事by 暇な男 » 2017年4月25日(火) 00:50

すごいプラグインですね!いつか全自動野球プラグインも作って欲しいところです。
提案なのですが、相当な球威がない限りグラブの捕球率が高すぎるのでフライなどで少しミスる要素があると面白いと思います。私はコードは苦手なので実装できるかわからないのですが、「捕球時のプレイヤーの動き(走る速さ)が一定以上の場合(現実でいうとフライをキャッチするのに滑り込むような時?)○%の確率でキャッチミスをする」となればリアリティが増すと思います。自分が止まっている時と動いているときの球の取りにくさをイメージしました。
ボールのバウンドの再現や変化球の実装など、素晴らしいと思うので引き続き開発頑張ってください。
暇な男
ID:91d7db23
 

  • (PostNo.301160)

Re: 【Spigot1.11〜】Minecraft内で野球がプレイできるようになるプラグインSnowballGame

投稿記事by gutsnosada » 2017年4月25日(火) 17:44

暇な男 さんが書きました:すごいプラグインですね!いつか全自動野球プラグインも作って欲しいところです。
提案なのですが、相当な球威がない限りグラブの捕球率が高すぎるのでフライなどで少しミスる要素があると面白いと思います。私はコードは苦手なので実装できるかわからないのですが、「捕球時のプレイヤーの動き(走る速さ)が一定以上の場合(現実でいうとフライをキャッチするのに滑り込むような時?)○%の確率でキャッチミスをする」となればリアリティが増すと思います。自分が止まっている時と動いているときの球の取りにくさをイメージしました。
ボールのバウンドの再現や変化球の実装など、素晴らしいと思うので引き続き開発頑張ってください。


ご意見ありがとうございます。
個人的には、このプラグインの場合腕を伸ばしたり飛び込んだりしながらのキャッチが出来ず、捕球が可能な場合はすべていわば「打球の正面に入って捕れた」時だと言えると思うので、キャッチミスなどの要素はそんなに必要ないかな?と思っています。
ただ、現状守備に関しては「ボールを見ながらの背走が出来ない」、「捕球時の体勢(あるいは打球のバウンド)がボールを投げるまでの時間・投げるボールの強さに影響を与えない」などまだまだ課題が多く、今後もっと守備を楽しめるような仕様変更も行っていけたら、と考えています。
そうした際に今回のようなご意見なども参考にしたいと思いますので、今後も何か感じることなどあればどんどん伝えて頂けると幸いです。
gutsnosada
ID:7082b607
水から上がったとこ
 
記事: 10
登録日時: 2017年2月24日(金) 17:17

  • (PostNo.301502)

Re: 【Spigot1.11〜】Minecraft内で野球がプレイできるようになるプラグインSnowballGame

投稿記事by gutsnosada » 2017年5月02日(火) 18:36

ver 0.6.0にアップデートしました。
    ノックを売ってくれる新アイテム「Coach」が追加された
    Umpireに関わるいくつかのバグが修正された

といったアップデート内容です。
また、これに関わってコマンドとパーミッションもひとつづつ増えました。/sbg pleaseコマンドはデフォルトでは全員に対して有効になっています。
gutsnosada
ID:6f1e2cbe
水から上がったとこ
 
記事: 10
登録日時: 2017年2月24日(金) 17:17

  • (PostNo.301838)

Re: 【Spigot1.11〜】Minecraft内で野球がプレイできるようになるプラグインSnowballGame

投稿記事by 暇な男 » 2017年5月08日(月) 01:01

返信遅れました。了解です。
使っていて下記のことを思いました。
・球審で測りたいのは初速なので、球審から計測器の役割を外してマウンドに土か粗い土(草が生えると処理場めんどくさそうなのでできれば個人で設定可能?)に模した計測器を置けばいいと思います。
・マイクラの仕様のようなので難しいと思うのですが、「キレのあるボール」を追加した方がいいと思います。初速からどれだけ速度が落ちるかをコンフィグで設定できるようになるともっとオリジナルの球種が増えそうですね。
・2チームに分かれて対戦をしたい場合、両チームのピッチャーがほぼ同じスピードの球を投げるのはなんかしっくりこないです。もちろんコーナーを突いたりすれば打ち取ることもできるし、球審で計測すると一球一球微妙に違ったりするのですが、決められた範囲の数字の中で自分で変化球のスピードを変えたいです。(例:金床でカーブを改名し、「Curve_S135」にして投げる→スピード135kmくらいにカーブを投げることになる)
・アニメでよくある魔球の再現がしてみたく、球にパーティクルをつけられるといいな〜と思いました。非現実的ですが。
なんかいきなりものすごい数意見を言ってしまいましたが、検討のほどよろしくお願いします。
暇な男
ID:91d7db23
 

  • (PostNo.301845)

Re: 【Spigot1.11〜】Minecraft内で野球がプレイできるようになるプラグインSnowballGame

投稿記事by 暇な男 » 2017年5月08日(月) 16:55

今思ったんですが、スピードを金床で設定するのはコンフィグで予めいくつも用意しておけば済む話でしたね。
金床で設定したいのは落差や横への移動でした。
(例:予め「Curve_123km/h」という球種があるとして、「Curve_123km/h_0.01_-0.01」とすると、時速123km、縦にコンフィグで0.01分落ち、左にコンフィグで0.01分動くカーブを投げる、というものです。細かい設定があると万人受けしないのが悩みどころですが、サーバー使用の際はサイトにルールを説明したりなんなりすると思うので、多少はそういうものがあってもいいのかな?とは思っています。
あと、例にある金床設定の数値はテキトーなので、間違ってたらすいません。
暇な男
ID:91d7db23
 

  • (PostNo.302262)

Re: 【Spigot1.11〜】Minecraft内で野球がプレイできるようになるプラグインSnowballGame

投稿記事by gutsnosada » 2017年5月17日(水) 12:26

暇な男 さんが書きました:今思ったんですが、スピードを金床で設定するのはコンフィグで予めいくつも用意しておけば済む話でしたね。
金床で設定したいのは落差や横への移動でした。
(例:予め「Curve_123km/h」という球種があるとして、「Curve_123km/h_0.01_-0.01」とすると、時速123km、縦にコンフィグで0.01分落ち、左にコンフィグで0.01分動くカーブを投げる、というものです。細かい設定があると万人受けしないのが悩みどころですが、サーバー使用の際はサイトにルールを説明したりなんなりすると思うので、多少はそういうものがあってもいいのかな?とは思っています。
あと、例にある金床設定の数値はテキトーなので、間違ってたらすいません。


ご意見ありがとうございます。
しかし、金床で変化の設定が出来るようにするというのはなかなか難しい問題ですね…
あまりにも大きい数値は指定できないようにしなければならず、また「これだけ投げてりゃ抑えられる」というようなことにはならないようにしなければ…などなどを鑑みていくと、どうしても仕様が複雑になりすぎてしまうように感じます。
コンフィグで微妙な変化の違いごとにたくさん変化球を定義しておいて、人それぞれ自分の投げるボールを選ぶ、といった形式が無難かな、という気がします。
ただ確かに、全員が全員同じボールを投げられるというのは感覚的にもしっくりきませんね。
球速、コントロール、変化量みたいなパラメータを用意してコマンドなどでそれぞれのパラメータを自分で設定出来るようにするなど、何か対応を検討してみたいと思います。(マイクラ的雰囲気を重視するなら野球道具にエンチャントか…?)
また、一つ前でご意見頂いたボールのキレについてですが、これは過去にも実装しようとしたことがあり、すぐにでも追加できる要素ではあるのですが、一つ大きな問題がありまして…
fpsが現実よりも低いせいなのかなんなのか、例えば初速から全く減速しないような設定のボールを投げて見ても、打者視点からはほとんどキレの違いを実感できないんですよね。
18メートルで初速から40キロ減速するボールと20キロ加速するボールを組み合わせて投げてやっと明確に違いを実感できる程度になってしまうのです(それでも安定して空振りが取れるほどではない)。
こんな様子ですと追加要素としてあまり用を満たさないように思えてしまいますし、また、あまりにも加速度の高いボールを投げると読み込み範囲外にまで高速で飛んで行きかねず、ずっと残り続けるエンティティを作ることになってサーバー負荷の原因になることも考えられる(一応再起動で解決する仕様にはなっていますが)ため、こちらも導入を尻込みしているところです。
加えて、初速表示用のアイテムに関しては、球速表示はあくまで補助的な要素というつもりでしたし、地味に実装が難しくバグ混入の危険があるため追加の予定はありません。

全てのご提案に対し異議を唱えるような形になってしまい申し訳ありませんが、貴重なご意見を頂けて本当に有り難いと思っております。今後も何かお気づきの点、思いついたことなどありましたら是非お伝えください。
gutsnosada
ID:6f1e2cbe
水から上がったとこ
 
記事: 10
登録日時: 2017年2月24日(金) 17:17

  • (PostNo.302649)

Re: 【Spigot1.11〜】Minecraft内で野球がプレイできるようになるプラグインSnowballGame

投稿記事by gutsnosada » 2017年5月25日(木) 12:57

更新報告をいくつかサボってしまいましたが、大型アップデートを行ったので報告いたします。
ver 0.7.0になりました。
    ボールのキレ(進行方向への変化量:Acceleration)をコンフィグから設定可能に。
    「ダイビングキャッチ(ヘッドスライディング)」を追加。グローブかバットを手に持った状態で一度スニークし、そのまま直接ダッシュを行うと発動。
    各プレーで表示するパーティクルを自由に設定可能に。パーティクル付き変化球も可能。
    いくつかのバグを修正
また、一番上の記事にパーティクル付変化球の追加方法についての解説を追加しました。
なお、今回のアップデート内容のうち、パーティクルの設定については「暇な男」さんから発想をいただきました。ありがとうございました。

なかなか盛り沢山なアップデートとなりましたので、ぜひ最新版をご利用ください。

※ver0.6.2より、サーバーへの過負荷を避けるためボールの投球にクールタイムを設けました。長さはコンフィグより設定可能です。
gutsnosada
ID:5c2786c7
水から上がったとこ
 
記事: 10
登録日時: 2017年2月24日(金) 17:17


Return to サーバーMOD,プラグイン 公開/紹介

x