mirror of
https://github.com/PaperMC/Paper.git
synced 2025-01-04 10:11:29 +01:00
4506924566
Replace with the red marker. Should of only happened by creative abuse.
25 lines
No EOL
1.5 KiB
Diff
25 lines
No EOL
1.5 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Aikar <aikar@aikar.co>
|
|
Date: Mon, 19 Dec 2016 23:38:57 -0500
|
|
Subject: [PATCH] Ignore invalid Marker Icon ID's in maps
|
|
|
|
Replace with the red marker. Should of only happened by creative abuse.
|
|
|
|
diff --git a/src/main/java/net/minecraft/server/WorldMap.java b/src/main/java/net/minecraft/server/WorldMap.java
|
|
index dbe6a80f2..dfd8e4d84 100644
|
|
--- a/src/main/java/net/minecraft/server/WorldMap.java
|
|
+++ b/src/main/java/net/minecraft/server/WorldMap.java
|
|
@@ -0,0 +0,0 @@ public class WorldMap extends PersistentBase {
|
|
// Spigot - start
|
|
UUID uuid = UUID.nameUUIDFromBytes(nbttagcompound.getString("id").getBytes(Charsets.US_ASCII));
|
|
if (!this.decorations.containsKey(uuid)) {
|
|
- this.a(MapIcon.Type.a(nbttagcompound.getByte("type")), entityhuman.world, uuid, nbttagcompound.getDouble("x"), nbttagcompound.getDouble("z"), nbttagcompound.getDouble("rot"));
|
|
+ // Paper start - protect against bad map icon indexes
|
|
+ byte iconId = nbttagcompound.getByte("type");
|
|
+ MapIcon.Type[] values = MapIcon.Type.values();
|
|
+ this.a(values.length > iconId ? values[iconId] : values[2], entityhuman.world, uuid, nbttagcompound.getDouble("x"), nbttagcompound.getDouble("z"), nbttagcompound.getDouble("rot"));
|
|
+ // Paper end
|
|
// Spigot - end
|
|
}
|
|
}
|
|
--
|