fix skilltree wiping on death
This commit is contained in:
@@ -35,11 +35,16 @@ public class SkillEnginePlayerEvents {
|
||||
@SubscribeEvent
|
||||
public static void onClone(PlayerEvent.Clone event) {
|
||||
if (event.getEntity() instanceof ServerPlayer newPlayer && event.getOriginal() instanceof ServerPlayer oldPlayer) {
|
||||
oldPlayer.getCapability(SkillEngineCapabilities.PLAYER_SKILLS).ifPresent(oldData ->
|
||||
newPlayer.getCapability(SkillEngineCapabilities.PLAYER_SKILLS).ifPresent(newData -> {
|
||||
newData.load(oldData.save());
|
||||
})
|
||||
);
|
||||
oldPlayer.reviveCaps();
|
||||
try {
|
||||
oldPlayer.getCapability(SkillEngineCapabilities.PLAYER_SKILLS).ifPresent(oldData ->
|
||||
newPlayer.getCapability(SkillEngineCapabilities.PLAYER_SKILLS).ifPresent(newData ->
|
||||
newData.load(oldData.save())
|
||||
)
|
||||
);
|
||||
} finally {
|
||||
oldPlayer.invalidateCaps();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user