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

Port to 1.20.6 #315

Merged
merged 44 commits into from
Jun 24, 2024
Merged

Port to 1.20.6 #315

merged 44 commits into from
Jun 24, 2024

Conversation

voidpointer0x00
Copy link
Contributor

@voidpointer0x00 voidpointer0x00 commented May 18, 2024

At this point I just made it possible to build the mod, haven't tested anything though. I will do some testing, but the only important feature for me is the accurate block placement thingy — so I likely will not test much further than that.

I am most uncertain of the changes made to src/main/java/carpetextra/utils/PlaceBlockDispenserBehavior.java, see the diff.

Brief overview of the changes:

  • BlockEntity data switched from raw nbt to data component types API;
  • a different #damage() method for item stacks;
  • dispensers behaviour mixin target changed, updated to use data component types;
  • suspicious stew effects types were changed a little, shouldn't break though.

Before merge someone should test:

  • if dispensers related fatures still work
    • blocks
    • skulls
    • chests
    • carpets
    • shulkers
    • anything else?
  • NetherWartBlock fertilization works
  • skeletons can be converted to wither skeletons with lightning
  • voidpointer0x00@092ee7e crash does not occur in this version

Commits probably should be squashed when merged 😁

If everything is ok

  • update carpet-extra version in gradle.properties

Builds

https://github.com/voidpointer0x00/carpet-extra/releases

@voidpointer0x00
Copy link
Contributor Author

voidpointer0x00 commented May 18, 2024

Fixed more mixins, made it actually runnable 😁

Built mod can be found here
https://github.com/voidpointer0x00/carpet-extra/releases

@voidpointer0x00 voidpointer0x00 mentioned this pull request May 18, 2024
@voidpointer0x00
Copy link
Contributor Author

Published release with chest and carpet dispenser fixes 1.20.6-pre2

@gamma-02
Copy link

I've tested the three things it looks like still need testing on a server and on my client, all seems well!

@MeeniMc
Copy link
Contributor

MeeniMc commented May 24, 2024

Summary of tested things so far:

  1. ✅ blazeMeal (hand, dispensed)
  2. ✅ chickenShearing (hand, dispensed)
  3. ✅ dispensersPlacesBlocks (all blocks that had a new 'dispenserBehavior' were tested, including heads, chests with items inside (picked chests))
  4. 🙈 dispensersPlaceBlocks with Carpets ON: pink carpets place but no debug info produced (this is not a new problem, also present in 1.20.4)
  5. ✅ dispensersCarvePumpkins
  6. ✅ dispensersFeedAnimals (breed, grow)
  7. ✅ dispensersFillMinecarts (no mixin changes in this PR)
  8. ✅ dispensersMilkAnimals
  9. ✅ dispensersPotPlants (normal, flowerPotChunkLoading)
  10. ✅ dispensersStripBlocks
  11. ✅ dispensersTillSoil
  12. ✅ dispensersToggleThings
  13. ✅ dispensersUseCauldrons (see details in reviews, filling empty bottles works, bucket works, rest doesn't)
  14. ✅ flowerPutChunkLoading (by hand is broken, dispensed with dispensersPotPlants works)
  15. ✅ renewableWitherSkeletons
  16. ✅ AutocraftingDropper (tested by @voidpointer0x00)

changelog: 13 (cauldrons) fixed; 12 (dispenserstoggle) fixed; 14 (flowerchunkload) fixed, 16 (droppercrafter) tested

@voidpointer0x00
Copy link
Contributor Author

Not tested yet:

  1. AutocraftingDropper (there is a mixin changed), but I don't know how proper behavior is for this modded behavior

autoCraftingDropper looks to be working, tested the changed crafting part and filling with hopper slot by slot with comparator output.

@MeeniMc
Copy link
Contributor

MeeniMc commented May 27, 2024

Looks like this is working and ready for review @altrisi

@gamma-02
Copy link

Nice! Good job y'all!

@NickIndustries
Copy link

emptyShulkerBoxStackAlways is not working for me using version 1.4.141

@voidpointer0x00
Copy link
Contributor Author

emptyShulkerBoxStackAlways is not working for me using version 1.4.141

It seems if you only use emptyShulkerBoxStackAlways - it conflicts with carpet's stackableShulkerBoxes option.
I would encourage you to use the original carpet's /carpet stackableShulkerBoxes option as it stack only empty shulker boxes, not sure why emptyShulkerBoxStackAlways exists 😄

Although I found a bug with this update while testing - the option allows for non-empty shulkerboxes to stack 😁

@voidpointer0x00
Copy link
Contributor Author

@NickIndustries this release should have the emptyShulkerBoxStackAlways implementation corrected, although it's still preffered to use just the stackableShulkerBoxes option

@MeeniMc
Copy link
Contributor

MeeniMc commented Jun 2, 2024

Good catch, did you try stacking boxes that have been placed and recollected with boxes that are virgin? In prior versions they may have non-empty NBT (that is, an NBT array with 0 elements, for example, rather than empty NBT). I think Components do not have that problem.

NB: StackableAlways also stack boxes in hoppers and other automated inventories, (as opposed to the carpet rule that stacks them only on the floor as entities, or in inventory through player interactions, with a client mod like tweakeroo).

@voidpointer0x00
Copy link
Contributor Author

did you try stacking boxes that have been placed and recollected with boxes that are virgin?

Yep, that works now

StackableAlways also stack boxes in hoppers and other automated inventories

Tried that on the latest build, seemed to be working without the rule as well, though checking it right now with the old carpet & carpet extra (the first build for 1.20.6) wouldn't render the number of shulkers in other inventories, while there were still 2 of them on the server (so it seems to be just a visual glitch).

@altrisi
Copy link
Collaborator

altrisi commented Jun 24, 2024

Thanks a lot for the work on the port! I'll merge and release it after giving it a quick test, though it looks quite good from a quick look, just a few stylistic/reorders that I can fix easily enough afterwards or right before merging.

@voidpointer0x00
Copy link
Contributor Author

just a few stylistic/reorders that I can fix easily enough afterwards or right before merging

I'll update the 1.21 port :)

Yeah, the style is a mess, could not figure out what's the projects default, to be honest 😄

@altrisi altrisi merged commit 5c8f94e into gnembon:master Jun 24, 2024
1 check passed
@altrisi
Copy link
Collaborator

altrisi commented Jun 24, 2024

Seems like I filled that with conflicts with the last commits, sorry, I can try to resolve them/cherry pick them on top of new master if you want.

@voidpointer0x00
Copy link
Contributor Author

Seems like I filled that with conflicts with the last commits, sorry, I can try to resolve them/cherry pick them on top of new master if you want.

Reffered to that in the 1.21 pull request, I think I'll just hard reset and cherry pick it myself in a few hours (working rn)

@voidpointer0x00
Copy link
Contributor Author

@altrisi #314 is now fixed, thanks for merging! :)

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