【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になったツールのような感じ)

・アンパイア

画像

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

・ティー

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

ボールの反発力について

画像

マイクラ内で球場を作るような企画などを見ていると、作成者やサーバーによってわりと大きさにばらつきがあるように見受けられたので、バットで打った際の反発力(打球の速度)がそれぞれ異なるボールを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'
    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. the positive value makes the ball move up.
        # Horizontal: the horizontal movement of the ball. the positive value means the direction of your main-hand side.
        Fast:
            Velocity: 1.1
            Vertical: 0.01
            Horizontal: 0
        Slider:
            Velocity: 1
            Vertical: -0.005
            Horizontal: -0.02
        Curve:
            Velocity: 0.9
            Vertical: -0.02
            Horizontal: -0.02
        Folk:
            Velocity: 1
            Vertical: -0.02
            Horizontal: 0
        Sinker:
            Velocity: 0.9
            Vertical: -0.005
            Horizontal: 0.02
        Shuuto:
            Velocity: 1
            Vertical: -0.02
            Horizontal: 0.02
    # 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
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]] ***'


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

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

また、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]]は球種(投げられたボールについていた名前)を示しています。
最後に編集したユーザー gutsnosada [ 2017年4月24日(月) 18:19 ], 累計 6 回
gutsnosada
ID:6f1e2cbe
水から上がったとこ
 
記事: 7
登録日時: 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
水から上がったとこ
 
記事: 7
登録日時: 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
水から上がったとこ
 
記事: 7
登録日時: 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
水から上がったとこ
 
記事: 7
登録日時: 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
水から上がったとこ
 
記事: 7
登録日時: 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
水から上がったとこ
 
記事: 7
登録日時: 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
水から上がったとこ
 
記事: 7
登録日時: 2017年2月24日(金) 17:17


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

x