Weaponized Baseball

Weaponized Baseball

2.7k Downloads

Banner

Introduces baseballs that bounce off blocks and mobs, and that can be hit with baseball bats.

Also allows throwing some other items such as slimeballs, bricks, fireballs, ingots & more!

To cope with scattering your balls everywhere, you can craft a baseball glove to pick them up.

Lastly, throwables are now affected by the player’s velocity at the moment of throwing, and while usually not noticeable in vanilla Minecraft, throwable item sprites are now properly centered as well.

 Version 1.3 out now! Introduces super slimeballs, golfballs, a more intuitive way of throwing up balls, and more robust block collision!

-Baseball!

Hitting a ball against the wall

-More throwables!

-Golf!

Playing golf with a baseball bat

 Trailer:

Throwing mechanics

  • Right clicking while holding a baseball bat will throw up the left most throwable item in your hotbar/inventory. Hitting a throwable with a bat will launch it away, missing will return it to your inventory. Consecutively throwing up balls without hitting them will cost bat durability.
  • Crouching causes you to not pick up balls and to throw them slower.
  • Throwables are now affected by the player’s velocity at the moment of throwing.
  • There is a slightly increased cooldown for throwing.
  • You can set a custom key as the throw key, so that you reduce the risk of accidentally throwing away your diamonds.

Tools

  • Catcher’s gloves can be used to collect throwables you’re looking at.
  • You can get combo damage by hitting a ball with a bat and also by bouncing off mobs.
  • Stronger bats deal more knockback, launch baseballs further and do more damage.
  • Bats support most sword and bow enchantments.
  • Bats are slower and weaker than swords, but deal more knockback.
  • Dispensers will shoot baseballs and other throwables.

Physics

  • Throwables will bounce off blocks, entities, even each other, but have a chance of breaking when hitting a mob (or a cactus).
  • Mobs receive knockback based on the velocity and mass of the throwables that hit them.
  • Mobs will push light throwables out of the way, but will attempt to walk over heavy ones.
  • Throwables can activate buttons and trigger blocks, break through glass, slide over ice, etc.
  • The bug where item projectiles are slightly off-center compared to their bounding boxes is fixed. See https://bugs.mojang.com/browse/MC-158734. (Sorry for this realisation)
  • How high a ball bounces and how far it slides differs per throwable and depends somewhat on what block it hits. Balls are also slowed down by grass.

Config

  • With the commands "throwable bounciness x" or "throwable friction x" you can play around with setting the bounciness and friction to whatever you like
  • This mod should be compatible with most other mods, including optifine + shaders. Things like modded ingots should automatically become throwable as well if they are properly tagged.

Some features can be toggled in the client and server configs (see also the configured mod):

  • How many ticks a throwable can be idle before despawning. Default value is 1200 (2 min).
  • Enable throwables dropping themselves after the idle time is over.
  • Disable overriding the vanilla throwables behaviour to make them hittable with bats.
  • Turn on lite mode which disables slow collisions and throwable on throwable collisions.
  • Enable overriding the throwable item sprite renderer to fix the sprite centering bug. (Note that you cannot turn this off in 1.19 since configs are no longer loaded before the renderers are registered)
  • Toggle whether the super slimeball will increase speed on bounces

What to know for survival

Baseballs in relation to arrows are slightly less accurate, do a little more damage when hit with an iron bat, and have slightly more range.
The new throwables have a certain chance of breaking upon hitting a mob. For base/dirt/stone/cork/slime/fire-balls this chance is 5%.
While I am confident it should make for a fun survival experience, any feedback in regards to the balancing would be appreciated, as I am not an expert in this kind of thing.

Crafting

Dirt and stone balls can be crafted by placing their respective materials in a circle in a crafting table.
To craft baseballs,one must first obtain oak wood (made from 4 logs), and place it in a 4x4 grid to craft cork. Surrounding cork with a layer of slimeballs, and then a layer of wool crafts baseball cores. This in turn can be combined with string and leather to finally yield some powerful baseballs.
Catcher’s gloves can be crafted simply with a bunch of leather, and one piece of string to bind the fingers.

Images:

crafting corkcrafting baseball corecrafting baseballCrafting golfballCrafting super slimeballCrafting catcher's glove

Regarding PvP:

Throwing balls & alike now have a higher cooldown than in vanilla.
Knockback now depends the speed of the ball and will generally be lower.
Also the catcher's glove can grab balls out of mid-air.
All these features combined means that in my opinion this mod pairs perfectly with PvP; It doesn't mess too much with the existing play style, it only adds a little more variety to it.

Full list of supported throwables:

  • Any eggs (except spawn eggs, at least for now...)
  • Any slimeballs
  • Fire charges
  • Baseballs
  • Dirtballs
  • Stoneballs
  • Super slimeballs
  • Golfballs
  • Cork
  • Baseball cores
  • Any coals
  • Any gems
  • Any nuggets
  • Any ingots
  • Any of the vanilla throwables like snowballs and eggs

Feel free to use in any modpacks, please link to the CurseForge download page and do not rehost the files.

Future work

Note that while I do plan to continue working on this, please be patient as my free time is limited.

Bugs:

  • Currently the super slimeball seems to miss entities when moving too fast, and it will lose momentum if it does hit an entity.
  • Throwables jitter when pushed by the player
  • It seems that sometimes when there is lag or bad connection between client and server, thrown balls will jitter side to side a bit.
  • Throwable on throwable collision is not perfect yet either when you put a bunch of them together, but I think it's satisfactory for now

Features:

  • Give baseballs a 50% chance of ricocheting towards another living being after hitting one, and then a 50% chance of that living entity being the player. So you need to be careful just throwing balls around, since one out of four times you could get a taste of your own medicine, unless you manage to dodge or land a combo hit of course.
  • Support throwing more different vanilla items with unique behaviors (for example ink sacs, or maybe even blocks that get placed when they hit something).
  • Add more new types of throwables (like a bomb for example).
  • Add an Illager baseball player
  • Handle hitting block edges properly, rather than treating them like flat sides
  • Port to fabric.

If you’d like to thank me or incentivize me to do more modding, I’d like to shamelessly suggest considering pressing the little donate button in the top right :)