Fix MapLike Codec missing key 'selector' (#8634)

* Fix MapLike Codec missing key 'selector'

* Make sure a new instance is created each time
This commit is contained in:
Jake Potrebic 2022-12-10 09:04:27 -08:00 committed by GitHub
parent 7ba81b14dd
commit 5bd8e1c191
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -0,0 +1,19 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Jake Potrebic <jake.m.potrebic@gmail.com>
Date: Fri, 9 Dec 2022 12:11:39 -0800
Subject: [PATCH] Fix MapLike Codec missing key 'selector'
diff --git a/src/main/java/net/minecraft/world/level/gameevent/vibrations/VibrationListener.java b/src/main/java/net/minecraft/world/level/gameevent/vibrations/VibrationListener.java
index f25d523ae5a5228bca376c4911a92608f4c82df8..3288837a406539c4a22464524ffb2e727c6ad32b 100644
--- a/src/main/java/net/minecraft/world/level/gameevent/vibrations/VibrationListener.java
+++ b/src/main/java/net/minecraft/world/level/gameevent/vibrations/VibrationListener.java
@@ -97,7 +97,7 @@ public class VibrationListener implements GameEventListener {
return vibrationlistener.listenerRange;
}), VibrationInfo.CODEC.optionalFieldOf("event").forGetter((vibrationlistener) -> {
return Optional.ofNullable(vibrationlistener.currentVibration);
- }), VibrationSelector.CODEC.fieldOf("selector").forGetter((vibrationlistener) -> {
+ }), Codec.optionalField("selector", VibrationSelector.CODEC).xmap(o -> o.orElseGet(VibrationSelector::new), Optional::of).forGetter((vibrationlistener) -> { // Paper - fix MapLike spam for missing "selector" in 1.19.2
return vibrationlistener.selectionStrategy;
}), ExtraCodecs.NON_NEGATIVE_INT.fieldOf("event_delay").orElse(0).forGetter((vibrationlistener) -> {
return vibrationlistener.travelTimeInTicks;