[1.20.5] Fix itemstack yaml serialization bug

Signed-off-by: Irmo van den Berge <irmo.vandenberge@ziggo.nl>
This commit is contained in:
Irmo van den Berge committed 2024-05-07 19:32:02 +02:00
1 parent d5b96d66bf
commit 760a04cc41
3 files changed
+11 -3

No files matched your search

@@ -775,6 +775,8 @@ public class CommonBootstrap {
remappings.put("net.minecraft.world.level.chunk.status.ChunkStatus", "net.minecraft.world.level.chunk.ChunkStatus");
// Before 1.20.5, MapDecorationType was an enum and not in a registry
remappings.put("net.minecraft.world.level.saveddata.maps.MapDecorationType", "net.minecraft.world.level.saveddata.maps.MapIcon$Type");
// Before 1.20.5, SerializableMeta was a subclass of CraftMetaItem
remappings.put("org.bukkit.craftbukkit.inventory.SerializableMeta", "org.bukkit.craftbukkit.inventory.CraftMetaItem$SerializableMeta");
}
// There have been various locations where starlight was installed
@@ -17,7 +17,7 @@ class CraftItemStack {
public static (org.bukkit.inventory.ItemStack) CraftItemStack asCraftMirror((Object) net.minecraft.world.item.ItemStack nmsItemStack);
public static org.bukkit.inventory.meta.ItemMeta deserializeItemMeta(java.util.Map<String, Object> values) {
return CraftMetaItem$SerializableMeta.deserialize(values);
return SerializableMeta.deserialize(values);
}
}
@@ -6,8 +6,9 @@ import java.io.File;
import java.util.ArrayList;
import java.util.List;
import com.bergerkiller.bukkit.common.inventory.CommonItemMaterials;
import com.bergerkiller.bukkit.common.inventory.CommonItemStack;
import org.bukkit.GameMode;
import org.bukkit.Material;
import org.bukkit.inventory.ItemStack;
import org.junit.Test;
@@ -31,7 +32,12 @@ public class ConfigTest {
}
FileConfiguration config = new FileConfiguration("test.yml");
ItemStack testItem = new ItemStack(Material.DIAMOND_SWORD, 1, (short) 100);
ItemStack testItem = CommonItemStack.create(CommonItemMaterials.FILLED_MAP, 1)
.setFilledMapId(5)
.setCustomNameMessage("") // Works around an annoying bukkit bug...
.toBukkit();
//ItemStack testItem = new ItemStack(Material.GRASS_BLOCK);
config.load();
config.set("hello", "world");
config.set("number", 12);