Minecraft Data Packs / Game Mechanic

CC's Better Fletching Table (Custom GUI, Reworked Mechanics, New Arrows!)

  • check_circle Advancements
  • check_circle Functions
  • check_circle Recipes
  • 11,100 views, 15 today
  • 1,003 downloads, 0 today
  • 52
  • 53
  • 22
calebchan's Avatar calebchan
Level 51 : Grandmaster Meme
54

Better Fletching Table

Adds a GUI to Fletching Tables, along with custom Arrows and items!


Latest: Data Pack v2.0.0 • Minecraft v1.20.4+


Motivation


The Villager workstations all got GUIs: the Smithing Table, the Cartography Table, the Grindstone, even the Loom. Even the Composter, useless as it is, has some functionality as a Bone Meal source for Peaceful Mode.

Except the Fletching Table. My poor boy.

Besides that, Minecraft's ranged projectiles mechanics, tier progression and options are very shallow and limited. You always only go for a maxed Power enchanted Bow with regular arrows just to pick up the quick and safe KO on mobs. No one practically crafts or mains the crossbow given the choice. The other arrow types are of such inconsequential effects that no one bothers to craft them, so they just smacked a band-aid on the symptom by liberally providing Spectral Arrows and Tipped Arrows from Piglin/Villager Trading.

Design


To introduce interesting ranged combat mechanics, we must first introduce a way to obtain them. Silly vanilla crafting doesn't allow NBT outputs, so we'll have to make our own custom GUI!

The new Fletching Table GUI is a familiar 3x3 crafting grid that allows us to craft all the new special custom items.

The new Arrow types should give wider options of meaningful choices for the player to choose, whilst requiring materials that are not necessarily plentiful, but an adventure itself to obtain. The Rockets ammunition and Piercing buff should give players a reason to use the Crossbow. Improving on old boring mechanics and introducing new utility items will force players to rethink their style of play and come up with creative new strategies!

This data pack was designed to work alongside my other data pack, Cycle Offhand Arrows, which allows you to cycle through arrow types in the offhand slot by using your offhand key whilst holding a Bow or Crossbow! I heavily advocate this utility data pack in general for any world!



Cross/Bow Enchantments Rework


Power Enchantment Rework — Power accelerates your arrows' velocity

Power


The vanilla Bow enchantment to always get is Power. Just like Sharpness, it's a flat simple damage increase, who doesn't want that? That's BORING. Power also makes combat boring once you start two-shotting every 10-heart mob.

WIth this data pack, Power works differently; a Power bow now makes your arrows fly faster.

This opens up a very different playstyle compared to Crossbows, or even vanilla Bows. The difference is most noticeable on partially-charged shots; a floppy Power V Bow on weakest charge flies as fast as a fully-charged Power I Bow!

And, with a similar damage output, people may opt for the Crossbow now! All without completely scraping the Power enchantment, but instead recontextualizing it.

The damage an arrow deals is calculated by the damage NBT as well as its velocity on impact. Since we are going to scale up the values of initial velocity, we have to scale down the damage NBT of Power arrows.

Yet, I recognize that increased arrow damage is important because you barely take any damage in full Diamond/Netherite from Arrow from a regular-damage-unenchanted Bow. As you can see, Power V will still do much more damage than a Power I Arrow. So, still try to get higher levels of Power. But a Power V bow isn't going to hit like a truck.

Credit: I'm copying all these amazing ideas. I saw this idea on a Data Pack on planetminecraft years ago, titled something like "Acceleration — an enchantment that makes your arrows go faster!" It was an amazing idea and I tried hard but can't find it. So I had to code it from scratch. Took me a week. Please help claim the credits if anyone finds it!

Piercing Enchantment Rework — Piercing makes arrows go through blocks

Piercing


Nobody gets the Crossbow because of its lame enchantments. Namely, the Piercing enchantment. It's supposed to be to Crossbows what Power is to Bows. But it never took off. You are more likely to fight 1v1s, so flat Power damage makes more sense; and even in a crowd of mobs/players, you just run until you pick them off one-by-one.

But, I came across AKA__Fox's Piercing Arrows Can Go Through Blocks Data Pack. Wow.

This gives Piercing such an amazing and unique use case, especially in PVP when players hide behind blocks. It can work especially well with Spectral Arrows' glowing. It scales and pierces more blocks according to the Piercing level. On top of being able to pierce through Shields, it gives one more a reason to use Crossbows for their Piercing enchantment! Imagine an enemy hiding behind a wall, but you shoot him with a Piercing-enchanted Spectral Arrow, highlighting his location and movements.

I want to just wholesale rip it off. So I asked for permission, then I did.

If you liked this particular feature and found it interesting, please send that Data Pack some Diamonds and Hearts, because I literally just ripped off the entire mechanic. But my Data Pack is made so much more complete with it.

Piercing Enchantment Details
TL;DR the system implemented for this isn't perfect with data packs, but should work 95% of the time.

Because of how entities and hitboxes work, there is one issue/bug. If an entity/player stands right up against the block that is being pierced, the piercing arrow will not hit them but instead will go/"phase" through them.

The piercing arrow gets teleported right out the opposite side of that block but inside the entity/player hitbox. Since the piercing arrow starts the tick being inside the hitbox already, it doesn't count as a collision. You can try this out for yourself: trigger an arrow-loaded dispenser facing you. Of course, you get hit by the arrows, but if you stand right up against the dispenser... the arrows go through you. It's a weird Minecraft bug. But this is the best we can do, imo this feature should be vanilla!





The Fletching Table


A complete overhaul of the vanilla block, placing a Fletching Table will now spawn a mini-Crafting-Table on the top face of the vanilla Fletching Table block. Shift+Right-Click to open the Fletching Table GUI, and breaking the block will drop it like any other block.

The Fletching(?)/Crafting interface works beautifully — it has multiplication of your materials up till an output stack of 64, with a coefficient according to the recipe. You can even Shift-Click the output to craft the whole stack! Output items are spawned on top of the table.

Fletching Table — Details
I've also disabled regular crafting for the Cross/Bow/Spectral/Arrow/Target items, locking them behind the progression wall of a very cheap two Planks and two Flint (this can be disabled).

Hint: You can Shift+Right-Click to place a regular vanilla Fletching Table without the GUI and tracking entities, if you want to use it as a decorative block!

Naturally generated Fletching Tables will not have the mini-Crafting-Table on the top face, and will act like vanilla Fletching Tables. Conversion to the custom Fletching Table only occurs when placing a Fletching Table block, so you can break the naturally generated Fletching Tables first and place them!

Since the custom Fletching Table actually uses an invisible Llama as its GUI behind-the-scenes, simply right-clicking it will cause you to mount it. Awkward. You will be automatically dismounted with commands. Just remember to Shift+Right-Click!

And I guess if you want, since it is technically not a GUI but an Inventory, you could store stuff in the Fletching Table. Don't forget to pick up after yourselves!




Fire-Charged Arrow — Shoot your own Blaze fireballs!

Fire-Charged Arrow


Shoot your own Blaze Fireballs!

Blaze Fireballs are such a cool projectile, having the ability to set blocks on fire from a distance (lighting up caves?), setting mobs on fire, as well as light up TNT remotely.

Flaming Arrow, a new arrow, is crafted with a Fire Charge in place of the Flint (that is, 1 Fire Charge + 1 Stick + 1 Feather → 2 Flaming Arrow).

Due to it being unfairly spammable with Bows, it's designed that regular bows will only shoot out the Tipped Arrow form. You must use a crossbow.

For now, Piercing Blaze Fireballs are not a thing, it would be really cool if it were. But Multishot, though....


Phantom Arrow — Antigravity arrows with Piercing II

Phantom Arrow


The gimmick is simple: the Phantom Arrow is unaffected by gravity.

Furthermore, on top of the Piercing enchantment rework, I thought to just add on the Piercing enchantment/NBT to Phantom Arrows! Phantom Arrows get automatic Piercing II. Now you can shoot Piercing arrows from bows that can penetrate multiple enemies AND hit through shields AND go through blocks!

The Phantom Arrow is crafted by replacing the Feather in the typical Arrow recipe shape with a Phantom Membrane (1 Flint + 1 Stick + 1 Phantom Membrane → 2 Phantom Arrows). They come in multiples of 2, since Phantom Membranes should be hard to come by, but they are very useful! If players want to use this unique arrow type and have Phantom Arrows in bulk, they will need to farm Phantoms!

The Phantom Arrow is an arrow brought forward from the old Improved Fletching Tables data pack. There are a variety of applications, but it's generally easier to hit any target, especially precisely hitting long-distance shots or evasive enemies, without needing to account for gravity.


TNT Rocket — A Firework Rocket that explodes with a TNT blast

TNT Rocket


Ah yes, everyone loves explosions. Of course I added a ranged explosive option!

TNT Rockets are crafted from 1 Firework Rocket (must have at least one Large Ball pattern) + 1 TNT → 1 TNT Rocket! Just point, shoot, and watch the particles and blocks explode with the equivalent firepower of a TNT block!

I made the choice to not have explosive arrows because there are already so many arrow types, plus since Bows cannot shoot Firework Rockets, this provides another incentive for players to use the Crossbow! I have also required a Large Ball pattern on the Firework Rocket to make it slightly more expensive/tedious; besides, the firework explosion on impact adds to the flair!

I have also made them unstackable/stacks of 1. This is because it is wayyy to OP to carry multiple stacks of 64 bazooka rockets. I'd like them to stack to 4 ideally, but data packs require so many workarounds for inventory stack limitation. Also, a Multishot Crossbow will only shoot 1 TNT Rocket from the middle projectile slot instead of 3.


Light Underwater Missile — Low-cost projectiles for underwater combat!

Light Underwater Missile


After making TNT Rockets relatively expensive, I've also added Light Underwater Missiles: they are cheap TNT Rockets that are meant for underwater combat!

These are crafted very cheap with 1 Gunpowder + 1 Kelp + 1 Dried Kelp → 1 Light Underwater Missile. They have an ExplosionPower of 3, but only when it explodes underwater. If it explodes elsewhere, it fizzles and drops itself as an item. However, these Missiles stack up to 64 and unlike Arrows, they are not affected by gravity in water, so you could spend them lavishly just like how you can spam cheap regular Arrows on land!


Target Block

Target Block


Target blocks have their crafting recipe moved over to the Fletching Table, since they are arrow/shooting-related. As an added utility, you can use Dried Kelp Blocks in the place of Hay Blocks to craft Target blocks!





Vanilla Arrows — Minor Tweaks

Vanilla Arrows


Regular arrows are unchanged, they just have to be crafted through the Fletching Table instead of the Crafting Table.

Spectral Arrows have their recipe simplified from 1 Arrow surrounded by 4 Glowstone → 2 Spectral Arrows (Seriously, have you ever used this recipe?) to 1 Arrow + 1 Glowstone → 1 Spectral Arrow. To encourage the use of Spectral Arrows, glowing mobs now always drop 1 (extra) Glowstone Dust upon death if killed by a player, so they can craft even more Spectral Arrows.

Large credit to and permission granted by Avexus02's HeartDrops Datapack, to completely use its drop-item-at-mob-on-death code, unchanged! I spent a whole day trying to figure out how to do this. Thanks.




Visit Better Fletching Table - GitHub for the source code repository, previous releases, and version control.

This is a complete rework of my previous Improved Fletching Tables Datapack, and the two datapacks are not meant to be compatible. Please uninstall the old datapack before using this one.

Reminder: this data pack was designed to work alongside my other data pack, Cycle Offhand Arrows, which allows you to cycle through arrow types in the offhand slot by using your offhand key whilst holding a Bow or Crossbow! With all these new arrows and improved bow mechanics, you will need this utility datapack!
CompatibilityMinecraft 1.20
Tags

5 Update Logs

DPv2.0.2 for MCv1.20.4 : by calebchan 02/02/2024 9:21:57 amFeb 2nd

Added the Fire-Charged Arrow, as well as some performance improvements
LOAD MORE LOGS

Create an account or sign in to comment.

2
02/01/2024 5:55 pm
Level 1 : New Miner
DEMSH00T3R
DEMSH00T3R's Avatar
Hey I'm still confused about the way to craft a bow. I could not unlock the recipe or craft the bow in either a crafting table nor the fletching table's ui. Any help is welcome thx :]
1
02/09/2024 2:48 am
Level 51 : Grandmaster Meme
calebchan
calebchan's Avatar
Hello, can you provide some more information? What Minecraft and Datapack version are you using? It seems like the bow is properly disabled in the regular crafting table, but can you craft other recipes in the new Fletching Table?
2
08/12/2023 6:34 am
Level 32 : Artisan Miner
Lostya
Lostya's Avatar
hey, cool pack! does this work with 1.20.1? want to try it on my smp, but unsure if it will work properly
1
08/14/2023 8:12 am
Level 51 : Grandmaster Meme
calebchan
calebchan's Avatar
it should, but you'd have to update the pack.mcmeta's version number to 15. You can playtest all the features for yourself in a new blank 1.20.1 world to make sure!
2
08/17/2023 8:56 pm
Level 1 : New Miner
Vicious_Banana
Vicious_Banana's Avatar
doesn't work, anything else I could do? I really wanna use this pack on my server
1
08/20/2023 11:02 pmhistory
Level 51 : Grandmaster Meme
calebchan
calebchan's Avatar
making a patch for 1.20! If you know how to work your way around mcfunction and datapacks, feel free to fork and edit the code for yourself!
1
06/18/2023 2:15 am
Level 1 : New Miner
Turncoat
Turncoat's Avatar
tested at 1.20.1 and it seems not working in this version as expected. nothing appear on top surface of fletching table.
I know it's written only 1.19, I know... just curiosity haha :)
1
06/18/2023 11:52 am
Level 51 : Grandmaster Meme
calebchan
calebchan's Avatar
Probably because it's only made for 1.19. I assume it works perfectly on 1.19 for you? Check that it's loaded with /datapack list? Maybe it's the datapack version number
2
05/27/2023 3:09 pm
Level 28 : Expert Architect
EchocallingEarth
EchocallingEarth's Avatar
Two things 1 is a suggestion for improvement and the other is a recommendation.

1 - Adding the recipes to the GUI would be beneficial, and would allow for possible Server usage. Alternatively, you could create a recipe book with these recipes in it. Something a player could easily craft by say placing a book and arrow in a crafting table (Note this recipe would need to be added to the main crafting recipes as well)

2 - Removing all the DS store files as they throw errors/warnings when used on Servers and is just a waste of time for most people considering the pack.

Final thought, adding a recipe book could open up for the use of additional arrow types custom recipes, and more.
2
05/28/2023 10:44 pm
Level 51 : Grandmaster Meme
calebchan
calebchan's Avatar
Thanks for the comments. Glad that you considered this project interesting enough to try out on a server :) Ah, I'm overwhelmed with starting work among other things, my priorities have really pivoted around. You sound like you know what you're doing.

My GitHub repo is there, (to anyone reading this) if you know how to use Git, feel free to make these changes and open a PR! I can remove the .DS_Store files myself and reupload.

About the throwback of a player, that's because it wouldn't make sense for a player to be able to "ride" the Fletching Table, because, you know, it's just an invisible llama, so we dismount them. I've just thought that we could use a Marker entity to ride the llama, and that prevents players riding it. We'd need to implement killing the Marker together with the llama when the block is broken. And when the player gets auto-dismounted, they get an actionbar message "Shift + Right-Click to open the Fletching Table" hint. Need to implement another way to hint to the player, then.
Planet Minecraft

Website

© 2010 - 2024
www.planetminecraft.com

Welcome