Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Enhancement] Add in a 5x5 upgrade #197

Merged
merged 11 commits into from
Oct 13, 2023

Conversation

Anoyomouse
Copy link
Contributor

Add in a 5x5 upgrade that's an upgrade on the 3x3 upgrade

Because this is silly and OP, I've made the recipe reflect this:
image

It requires 2 diamond blocks, a netherite block, and a netherite pickaxe, and 4 ender pearls, as well as the previous "tier" of upgrade,

The item image is a WIP, as you can't easily fit a 5x5 grid of blocks inside a 16x16 image

coordinates.add(startPos.relative(down).relative(right));
}

if (range >= 5) {
Copy link
Contributor Author

@Anoyomouse Anoyomouse Dec 13, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should note here is this will do a 5 x 5 from the middle of the laser.

XXXXX
XXXXX
XXOXX
XXXXX
XXXXX

It will not make an easy tunnel for mining, if this was to do a nice mining tunnel you would have to do a 5x5 with 3 up, 2 down, and 2 to the sides.

XXXXX
XXXXX
XXXXX
XXOXX
XXXXX

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Play tested, 3 up and 1 down is sooo much better for tunnel mining, so this is what's in place now.

Maybe mak this configurable via the settings UI if you have 5x5 set?

@MichaelHillcox
Copy link
Collaborator

Just a heads-up, this is unlikely to be added. Dire has been against making the gadget any more OP and I posed this idea in the initial development stages. We'll have to wait for Dire to see this and let us know.

The logic around the selection area is very verbose, too. I'd prefer to see this migrated to an iterator selector or use the built-in boundingbox to get the area.

@Anoyomouse
Copy link
Contributor Author

Yeah, so I know that (Dire had a rant in his latest DW20 1.19 pack let's play). But he did mention he was maybe considering it, so I thought I'd give it a try and see how it feels.

I'll give the area selection part a look to see if it can easily be improved, i basically just took what was there and expanded on it.

@Anoyomouse
Copy link
Contributor Author

I've cleaned up the code around the 5x5 using the BlockPos iterator / stream that's built into MC

However, a caveat of this is the iterator uses a mutable BlockPos, but the functions in Building Gadgets expect an immutable block pos, so had to add in the immutable operation in the stream: .map(BlockPos::immutable)

…layer level give or take 1 block, so if you aim in a cave you get a nice 5x5 from the middle, but tunnels go nicely
@Anoyomouse
Copy link
Contributor Author

I made this only do the 1 down n up when looking at the player level plus and minus 1, that feels better since when you're aiming into a cave you want a 5x5 from the block hit, but you still want to be able to dig a nice tunnel while running

Digging down to bedrock feels okay, you do get a transition from the 1 down, 3 up to the true 5x5, but honestly if you're zapping a bit away you're zapping the center of the block anyway, which feels more natural

Also checked this does not break 3x3 :)

@MichaelHillcox
Copy link
Collaborator

Much more of a fan of the new selection code. Much simpler! Dire is in agreement that this is fine to merge in. I want to do a proper check over, and I might reach out to my artist friend and see if they can update the upgrade texture to be inline with the rest of his art.

@Anoyomouse
Copy link
Contributor Author

Any news on this PR, would still love to see a 5x5 upgrade :)

@MichaelHillcox
Copy link
Collaborator

I've had approval to merge it in. I've just updated to 1.19.3, but I'll want to back port it 1.18.2, 1.19.2 and 1.19.3, so I'll merge your code in soon and then handle the porting to go with it 👍

@KingLemming
Copy link

Huh. I remember Dire swore up and down that lack of 5x5 was an intentional balance decision and it'd be overpowered otherwise. :P

@MichaelHillcox
Copy link
Collaborator

MichaelHillcox commented Feb 4, 2023

I to remember having these conversations with Dire, he seems chill with it now though.

Evidence xD

@xstook
Copy link

xstook commented Aug 29, 2023

This looks like an awesome addition! I'm pretty excited for it, any update on the merge and if we'll see it in Minecraft version 1.20.1?

@Anoyomouse
Copy link
Contributor Author

So, now that Dire is playing his 1.20.1 pack, is this an option to get in?

Only issue i've found so far, is you can install both the 3x3 and 5x5 range upgrades at the same time, because the "basename" of the upgrade isn't a fixed thing, i'm going to experiment with a breaking change that renames the upgrades from "three_by_three" and "five_by_five" to "size_3", and "size_5", which gives them the same base name "size"

@Anoyomouse
Copy link
Contributor Author

I've done a rework of the mining "range" (mining size) upgrades, this now works on a tier list, you can effectively make infinity size upgrades with this as long as you have the energy on the laser to use it

Branch: https://github.com/Anoyomouse/MiningGadgets/tree/rename_size_upgrades
If you would rather use this code i can open a PR for that branch specifically.

@Direwolf20-MC Direwolf20-MC merged commit cd415be into Direwolf20-MC:master Oct 13, 2023
@Anoyomouse Anoyomouse deleted the add_5x5 branch October 14, 2023 07:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants