--- a/net/minecraft/server/players/JsonList.java
+++ b/net/minecraft/server/players/JsonList.java
@@ -54,7 +54,7 @@
     @Nullable
     public V get(K k0) {
         this.g();
-        return (JsonListEntry) this.map.get(this.a(k0));
+        return (V) this.map.get(this.a(k0)); // CraftBukkit - fix decompile error
     }
 
     public void remove(K k0) {
@@ -76,6 +76,12 @@
         return (String[]) this.map.keySet().toArray(new String[0]);
     }
 
+    // CraftBukkit start
+    public Collection<V> getValues() {
+        return this.map.values();
+    }
+    // CraftBukkit end
+
     public boolean isEmpty() {
         return this.map.size() < 1;
     }
@@ -93,7 +99,7 @@
         Iterator iterator = this.map.values().iterator();
 
         while (iterator.hasNext()) {
-            V v0 = (JsonListEntry) iterator.next();
+            V v0 = (V) iterator.next(); // CraftBukkit - decompile error
 
             if (v0.hasExpired()) {
                 list.add(v0.getKey());
@@ -103,7 +109,7 @@
         iterator = list.iterator();
 
         while (iterator.hasNext()) {
-            K k0 = iterator.next();
+            K k0 = (K) iterator.next(); // CraftBukkit - decompile error
 
             this.map.remove(this.a(k0));
         }
@@ -118,11 +124,11 @@
 
     public void save() throws IOException {
         JsonArray jsonarray = new JsonArray();
-        Stream stream = this.map.values().stream().map((jsonlistentry) -> {
+        Stream<JsonObject> stream = this.map.values().stream().map((jsonlistentry) -> { // CraftBukkit - decompile error
             JsonObject jsonobject = new JsonObject();
 
             Objects.requireNonNull(jsonlistentry);
-            return (JsonObject) SystemUtils.a((Object) jsonobject, jsonlistentry::a);
+            return (JsonObject) SystemUtils.a(jsonobject, jsonlistentry::a); // CraftBukkit - decompile error
         });
 
         Objects.requireNonNull(jsonarray);
@@ -165,7 +171,7 @@
                     JsonListEntry<K> jsonlistentry = this.a(jsonobject);
 
                     if (jsonlistentry.getKey() != null) {
-                        this.map.put(this.a(jsonlistentry.getKey()), jsonlistentry);
+                        this.map.put(this.a(jsonlistentry.getKey()), (V) jsonlistentry); // CraftBukkit - fix decompile error
                     }
                 }
             } catch (Throwable throwable) {
