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

No grave when player character dies [Ketting: Bukkit keep inventory + EnderIO] #231

Closed
2 tasks
Xiantrius opened this issue Jul 30, 2024 · 23 comments
Closed
2 tasks
Labels
1.20.1 About Minecraft 1.20.1 Hybrid Server bugs with these servers should be reported to their repository Resolved A new release solved the issue

Comments

@Xiantrius
Copy link

Xiantrius commented Jul 30, 2024

Minecraft Version

1.20.1

Forge Version

47.3.5

Corail Tombstone Version

8.6.7

What happened?

I use Ketting v0.3.8 Server 1.20.1

Problems occur when you die. Sometimes when I die, the gravestone doesn't appear and the map doesn't show the position where I died. Also, items aren't transferred to the gravestone. Then there's the problem that my inventory keeps some items and the rest just bugs away.

The key doesn't appear in the inventory in this situation.

No errors are displayed. The error cannot be reproduced in a controlled manner because the bug occurs unexpectedly.

What is the cause?

My modlist:

Edit Corail 31: the form asks you max 5 mods to make this happening

Gametype

Singleplayer, Dedicated Server

Happen by testing with only Corail Tombstone (required)

No

Occurence

occurs all the time

Other relevant mods

No response

Log Link

No response

Tested without any Forge "alternatives" (Magma, Mohist, and so on)

  • Yes

Valid Launcher

  • Yes
@Corail31
Copy link
Owner

Corail31 commented Jul 30, 2024

You checked "tested without any forge alternatives" but ketting is a fork of forge with bukkit support.
So, you can test with Forge if you can make this happening and then, if not, report to Ketting (Mohist does the same problem in certain versions).
Note that if you have no key, no grave, it means that there is no drop when the drop event is called (or is not called at all), not a problem with my mod. It may also be related with how "keep inventory" is handled with bukkit.

@Corail31 Corail31 added Hybrid Server bugs with these servers should be reported to their repository 1.20.1 About Minecraft 1.20.1 and removed checking labels Jul 30, 2024
@Corail31 Corail31 changed the title Problem when player character dies. No grave when player character dies [Ketting] Jul 30, 2024
@Xiantrius
Copy link
Author

I had your mod running on Magma in v1.18.2 and everything was great. But since Magma no longer supports it and 1.20.1 was archived, I had to give way and switch to the Ketting server. It had almost the same mods and plugins as Ketting now, except that it's now 1.20.1 instead of 1.18.2, but unfortunately with the bug.
I've already spoken to the developers on Discord and they say it's one of my mods and apparently it's not the Ketting server software's fault. Everyone blames it on someone else.

@C0D3-M4513R
Copy link

C0D3-M4513R commented Jul 30, 2024

Ketting dev here.
We said, that we just reworked a section of that code. Additionally the dev that did the rework said, that he couldn’t reproduce the issue on the (at the time development version, soon (10-15min) to be latest (0.3.9) version).

We reworked that section a couple times now, each time with varying degrees of success and compatibility.

If you can continue to replicate this issue on 0.3.9 and can provide reproduction steps, feel free to open a bug at Ketting’s issue tracker.

Also Magma 1.18.2 has other issues when a player dies (e.g. dupes under certain conditions)

@Corail31
Copy link
Owner

Corail31 commented Jul 31, 2024

@Xiantrius I have nothing about using a hybrid server, but if something doesn't happen with the mod list on Forge and can be easily reproduce on the hybrid server, it seems logic that it would be related to this one.
The first thing you can do is to test with only my mod and the hybrid server to confirm that it's not related to a mod (but to the hybrid server). First on a single player game (then on a custom server).
It will provide to Ketting more informations on the problem and they could even test with only my mod.
The objective of my answer wasn't to blame some softwares but to deduce what is logic and provide you theses informations.
You can also test if the version 0.3.9 is solving the issue.
@C0D3-M4513R My code is relatively straight forward, it uses the Forge LivingDropsEvent event, checks for keep inventory and if there're loots, it creates a grave. It shouldn't require a compatibility if it's similar to Forge why i thought to "Keep Inventory" as i noticed some issues related to this in the past on your github. Thanks for your message here.

@Corail31 Corail31 reopened this Jul 31, 2024
@C0D3-M4513R
Copy link

Like I said: We just upated the code around the Player die functionality, including exactly the LivingEntityDrops Event.
Also it seems like there had been an issue releasing 0.3.9, but it's out now.

@Corail31
Copy link
Owner

Corail31 commented Aug 1, 2024

@Xiantrius is it resolved ?

@Corail31
Copy link
Owner

@Xiantrius
Copy link
Author

@Corail31
Sorry no :(, because I don't know what the problem is and the error is simply not really reproducible and that makes it so unpredictable.

@Corail31
Copy link
Owner

Corail31 commented Aug 24, 2024

@Xiantrius Btw, you have the command /tbrecovery during your tests to recover your stuff and the command /tbrestoreinventory to click at distance the grave ;) What is certain is that it works on Forge.
In the past, there was a mod called nucleus that was handling keep inventory "by world" that have similar problems and i have the feel that essentialX is not so different from Nucleus ^^
It might be wise to open an issue on EssentialX about what you noticed in the issue on Ketting by using only their plugin without my mod (the items being still in inventory).

@C0D3-M4513R
Copy link

I don't know if the issue is just related to bukkit keepinv (bukkit keepinv is basically keepinv but dynamic to each event call).
If it is, a setup with worldguard, extra worldguard flags and a keepinv region might behave similarly.

Mixing Forge's event and Bukkit's PlayerDeath event is really, really hard.

@Corail31
Copy link
Owner

Corail31 commented Aug 24, 2024

It's why i mention in my issue template to report to hybrid servers about bugs not happening with Forge, as they're the ones developing this bridge ^^
@C0D3-M4513R Did you try your server with my mod to understand the problem ? as i don't know a lot about Bukkit stuff. I could do a compat if i would know where to call a method to get the actual keep inventory when on a Ketting server.

@Corail31
Copy link
Owner

Corail31 commented Aug 25, 2024

@Xiantrius for your last issue about key interaction problem, can you test to hold 'crouching' key over the grave (it allows to interact the grave differently and could bring infos about a permission mod) and also test with /tbrestoreinventory (to interact the grave at distance for the same reason) ? :)

@C0D3-M4513R
Copy link

You shouldn't need to change anything. Just interface with the gamerule. We set the keepInventory gamerule briefly for the event and reset it after.

From your side everything should work.

JustRed (creator of ketting) and me (co-owner or something to that regard) have tried reproducing the linked issue 336 on the ketting repo, but to no avail.

Since we can't reproduce it, we can't really say anything about what the cause is. For all I know it could also not even be a ketting issue and just be another mod that's doing some funky mixin stuff.

@Corail31
Copy link
Owner

Corail31 commented Aug 25, 2024

@C0D3-M4513R The important thing for me is to know that there are no incompatibilities with Ketting without mod/plugin interaction, so it's good to know that it works. EssentialsX admits to not support modded servers so, it was probably the only problem. (the key interaction problem is probably only a permission mod)
Thanks you for your efforts into this btw ;)

@C0D3-M4513R
Copy link

EssentialsX only sets the bukkit keepinv flag for the player death event. Even with EssentialsX it should still work.

Please note that the user, who opened the issue of essentialsx and the mod not working together also opened an issue saying, that specifically he can only summon a wither once.

I think there's just something wierd going on with his server. Might be his mods. Idk. He refuses to provide logs.

@Corail31
Copy link
Owner

@C0D3-M4513R Out of curiosity, why to support Bukkit ? (i read the developper sold Bukkit to SpigotMc)
Why not Paper Mc or a fork of Paper? I will feel less stupid at the end of the day ^^

@C0D3-M4513R
Copy link

Copy paste from our discord faq and website:

�[2;34mWhy is no Paper support planned?�[2;0m

Paper comes with around 1499 additional patches (Bukkit and spigot are only 530 patches) that we would have to implement.
Some of the patches drastically change how the server works internally, and some plugins depend on those internal reworks.
At the same time it is necessary for us to keep the internal structure as is due to how some forge mods work (keyword: mixins).

So we sadly cannot promise that we will ever be API compatible with Paper or implement all patches.

https://kettingpowered.org/faq/why-not-paper

@Corail31
Copy link
Owner

Corail31 commented Aug 25, 2024

Edit: i didn't have yet read the issue about summon on Ketting but, it can be related to the "per world" game difficulty (similar to "per world" keepInventory). I got reports since 1.12.2 about this "per world" functionality and Bukkit plugins/SpongeForge. If i remember well there was even a plugin, maybe this one, having specific values by user.

@Xiantrius
Copy link
Author

Xiantrius commented Aug 25, 2024

So I'm accused of withholding log files, but I have nothing to hide. You can download all the logs here. Have fun unpacking and reading :)
Due to the amount of data I uploaded this here.
https://workupload.com/file/R5RyXVv9VDk

@Corail31
Copy link
Owner

@Xiantrius check the answer on the issue on Ketting, as he succeed to reproduce the issue with EnderIO.

@Xiantrius
Copy link
Author

yes,
but only if essentials, or ServerSystem Plugin with EnderIO is loaded on the server.

@C0D3-M4513R
Copy link

If you read my response you would know that the issue relates to bukkit keep inventory. As a Workaround you could very well just revoke the keepinv perm from the administrator group (and any users that have it manually). Doing so would also solve the issue.

Also @Corail31 can we lock this issue? I feel like this is is getting off track.

Repository owner locked as resolved and limited conversation to collaborators Aug 25, 2024
@Corail31
Copy link
Owner

@C0D3-M4513R no prob :) Thanks for your time, i'll follow the other issue.

@Corail31 Corail31 added the Resolved A new release solved the issue label Aug 25, 2024
@Corail31 Corail31 changed the title No grave when player character dies [Ketting] No grave when player character dies [Ketting: keepinv perm] Aug 25, 2024
@Corail31 Corail31 changed the title No grave when player character dies [Ketting: keepinv perm] No grave when player character dies [Ketting EssentialsX: keepinv perm + EnderIO] Aug 25, 2024
@Corail31 Corail31 changed the title No grave when player character dies [Ketting EssentialsX: keepinv perm + EnderIO] No grave when player character dies [Ketting: Bukkit keep inventory + EnderIO] Aug 26, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
1.20.1 About Minecraft 1.20.1 Hybrid Server bugs with these servers should be reported to their repository Resolved A new release solved the issue
Projects
None yet
Development

No branches or pull requests

3 participants