Skip to content

Commit 62a1441

Browse files
committed
Some more work
1 parent ac9eabf commit 62a1441

File tree

2 files changed

+41
-62
lines changed

2 files changed

+41
-62
lines changed

paper-server/patches/rejected/net/minecraft/world/item/enchantment/ItemEnchantments.java.patch

-62
This file was deleted.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
--- a/net/minecraft/world/item/enchantment/ItemEnchantments.java
2+
+++ b/net/minecraft/world/item/enchantment/ItemEnchantments.java
3+
@@ -28,21 +_,24 @@
4+
import net.minecraft.world.item.component.TooltipProvider;
5+
6+
public class ItemEnchantments implements TooltipProvider {
7+
- public static final ItemEnchantments EMPTY = new ItemEnchantments(new Object2IntOpenHashMap<>());
8+
+ // Paper start - sort enchantments
9+
+ private static final java.util.Comparator<Holder<Enchantment>> ENCHANTMENT_ORDER = java.util.Comparator.comparing(Holder::getRegisteredName);
10+
+ public static final ItemEnchantments EMPTY = new ItemEnchantments(new it.unimi.dsi.fastutil.objects.Object2IntAVLTreeMap<>(ENCHANTMENT_ORDER));
11+
+ // Paper end - sort enchantments
12+
private static final Codec<Integer> LEVEL_CODEC = Codec.intRange(1, 255);
13+
public static final Codec<ItemEnchantments> CODEC = Codec.unboundedMap(Enchantment.CODEC, LEVEL_CODEC)
14+
.xmap(
15+
- map -> new ItemEnchantments(new Object2IntOpenHashMap<>((Map<? extends Holder<Enchantment>, ? extends Integer>)map)),
16+
+ map -> new net.minecraft.world.item.enchantment.ItemEnchantments(net.minecraft.Util.make(new it.unimi.dsi.fastutil.objects.Object2IntAVLTreeMap<>(ENCHANTMENT_ORDER), m -> m.putAll(map))), // Paper - sort enchantments
17+
itemEnchantments -> itemEnchantments.enchantments
18+
);
19+
public static final StreamCodec<RegistryFriendlyByteBuf, ItemEnchantments> STREAM_CODEC = StreamCodec.composite(
20+
- ByteBufCodecs.map(Object2IntOpenHashMap::new, Enchantment.STREAM_CODEC, ByteBufCodecs.VAR_INT),
21+
+ ByteBufCodecs.map((v) -> new it.unimi.dsi.fastutil.objects.Object2IntAVLTreeMap<>(ENCHANTMENT_ORDER), Enchantment.STREAM_CODEC, ByteBufCodecs.VAR_INT), // Paper
22+
itemEnchantments -> itemEnchantments.enchantments,
23+
ItemEnchantments::new
24+
);
25+
- final Object2IntOpenHashMap<Holder<Enchantment>> enchantments;
26+
+ final it.unimi.dsi.fastutil.objects.Object2IntAVLTreeMap<Holder<Enchantment>> enchantments; // Paper
27+
28+
- ItemEnchantments(Object2IntOpenHashMap<Holder<Enchantment>> enchantments) {
29+
+ ItemEnchantments(it.unimi.dsi.fastutil.objects.Object2IntAVLTreeMap<Holder<Enchantment>> enchantments) { // Paper
30+
this.enchantments = enchantments;
31+
32+
for (Entry<Holder<Enchantment>> entry : enchantments.object2IntEntrySet()) {
33+
@@ -120,7 +_,7 @@
34+
}
35+
36+
public static class Mutable {
37+
- private final Object2IntOpenHashMap<Holder<Enchantment>> enchantments = new Object2IntOpenHashMap<>();
38+
+ private final it.unimi.dsi.fastutil.objects.Object2IntAVLTreeMap<Holder<Enchantment>> enchantments = new it.unimi.dsi.fastutil.objects.Object2IntAVLTreeMap<>(ENCHANTMENT_ORDER); // Paper
39+
40+
public Mutable(ItemEnchantments enchantments) {
41+
this.enchantments.putAll(enchantments.enchantments);

0 commit comments

Comments
 (0)