Skip to content

Commit 70a270e

Browse files
committed
1.21.5 compatibility
1 parent e6bd2b4 commit 70a270e

File tree

5 files changed

+101
-91
lines changed

5 files changed

+101
-91
lines changed

FastNbt-core/src/main/java/beer/devs/fastnbt/nms/Version.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,9 @@
44

55
/**
66
* Protocol version.
7-
* https://wiki.vg/Protocol_version_numbers
8-
* https://minecraft.wiki/w/Protocol_version
7+
* <a href="https://minecraft.wiki/w/Protocol_version">Minecraft Wiki</a>
98
*/
10-
@SuppressWarnings({"unused", "DeprecatedIsStillUsed"})
9+
@SuppressWarnings({"unused"})
1110
public enum Version
1211
{
1312
UNKNOWN(Integer.MAX_VALUE, Integer.MAX_VALUE, ""),
@@ -30,7 +29,8 @@ public enum Version
3029
v1_21(140, 767, "1.21"),
3130
v1_21_1(141, 767, "1.21.1"),
3231
v1_21_3(143, 768, "1.21.3"),
33-
v1_21_4(144, 769, "1.21.4");
32+
v1_21_4(144, 769, "1.21.4"),
33+
v1_21_5(145, 770, "1.21.5");
3434

3535
private static Version version;
3636

fastnbt_nms_v1_21_5/src/main/java/beer/devs/fastnbt/nms/nbt/impl/CompoundTag_v1_21_5.java

Lines changed: 25 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,11 @@
11
package beer.devs.fastnbt.nms.nbt.impl;
22

33
import beer.devs.fastnbt.nms.nbt.ICompoundTag;
4-
import beer.devs.fastnbt.nms.nbt.NBTType;
54
import com.mojang.brigadier.StringReader;
65
import com.mojang.brigadier.exceptions.CommandSyntaxException;
76
import net.minecraft.commands.Commands;
87
import net.minecraft.commands.arguments.item.ItemParser;
9-
import net.minecraft.nbt.CompoundTag;
10-
import net.minecraft.nbt.ListTag;
11-
import net.minecraft.nbt.NbtUtils;
12-
import net.minecraft.nbt.Tag;
8+
import net.minecraft.nbt.*;
139
import net.minecraft.server.MinecraftServer;
1410
import org.jetbrains.annotations.Nullable;
1511

@@ -53,7 +49,7 @@ public void setLong(CompoundTag handle, String key, long param)
5349
@Override
5450
public void setUUID(CompoundTag handle, String key, UUID param)
5551
{
56-
handle.putUUID(key, param);
52+
NBTUtilsModern_v1_21_5.putUUID(handle, key, param);
5753
}
5854

5955
@Override
@@ -89,7 +85,7 @@ public void setIntArray(CompoundTag handle, String key, int[] param)
8985
@Override
9086
public void setIntegerList(CompoundTag handle, String key, List<Integer> param)
9187
{
92-
handle.putIntArray(key, param);
88+
handle.putIntArray(key, param.stream().mapToInt(Integer::intValue).toArray());
9389
}
9490

9591
@Override
@@ -101,7 +97,7 @@ public void setLongArray(CompoundTag handle, String key, long[] param)
10197
@Override
10298
public void setLongList(CompoundTag handle, String key, List<Long> param)
10399
{
104-
handle.putLongArray(key, param);
100+
handle.putLongArray(key, param.stream().mapToLong(Long::longValue).toArray());
105101
}
106102

107103
@Override
@@ -123,119 +119,104 @@ public boolean hasUUID(CompoundTag handle, String key)
123119
{
124120
if (handle == null)
125121
return false;
126-
return handle.hasUUID(key);
122+
Tag tag = handle.get(key);
123+
return tag != null && tag.getType() == IntArrayTag.TYPE;
127124
}
128125

129126
@Override
130127
public UUID getUUID(CompoundTag handle, String key)
131128
{
132-
if (!handle.contains(key, NBTType.IntArray.id) && handle.contains(key + "Most", NBTType.AnyNumeric.id) && handle.contains(key + "Least", NBTType.AnyNumeric.id))
133-
return new UUID(handle.getLong(key + "Most"), handle.getLong(key + "Least"));
134-
135-
Tag tag = handle.get(key);
136-
if(tag == null)
137-
return null;
138-
return NbtUtils.loadUUID(tag);
129+
return NBTUtilsModern_v1_21_5.getUUID(handle, key);
139130
}
140131

141132
@Override
142133
public byte getByte(CompoundTag handle, String key)
143134
{
144-
return handle.getByte(key);
135+
return handle.getByte(key).orElse((byte) 0);
145136
}
146137

147138
@Override
148139
public short getShort(CompoundTag handle, String key)
149140
{
150-
return handle.getShort(key);
141+
return handle.getShort(key).orElse((short) 0);
151142
}
152143

153144
@Override
154145
public int getInt(CompoundTag handle, String key)
155146
{
156-
return handle.getInt(key);
147+
return handle.getInt(key).orElse(0);
157148
}
158149

159150
@Override
160151
public long getLong(CompoundTag handle, String key)
161152
{
162-
return handle.getLong(key);
153+
return handle.getLong(key).orElse(0L);
163154
}
164155

165156
@Override
166157
public float getFloat(CompoundTag handle, String key)
167158
{
168-
return handle.getFloat(key);
159+
return handle.getFloat(key).orElse(0.0f);
169160
}
170161

171162
@Override
172163
public double getDouble(CompoundTag handle, String key)
173164
{
174-
return handle.getDouble(key);
165+
return handle.getDouble(key).orElse(0.0);
175166
}
176167

177168
@Override
178169
public String getString(CompoundTag handle, String key)
179170
{
180-
if(!hasKey(handle, key))
181-
return null;
182-
return handle.getString(key);
171+
return handle.getString(key).orElse(null);
183172
}
184173

185174
@Override
186175
public byte @Nullable [] getByteArray(CompoundTag handle, String key)
187176
{
188-
if(!hasKey(handle, key))
189-
return null;
190-
return handle.getByteArray(key);
177+
return handle.getByteArray(key).orElse(null);
191178
}
192179

193180
@Override
194181
public int @Nullable [] getIntArray(CompoundTag handle, String key)
195182
{
196-
if(!hasKey(handle, key))
197-
return null;
198-
return handle.getIntArray(key);
183+
return handle.getIntArray(key).orElse(null);
199184
}
200185

201186
@Override
202187
public long @Nullable [] getLongArray(CompoundTag handle, String key)
203188
{
204-
if(!hasKey(handle, key))
205-
return null;
206-
return handle.getLongArray(key);
189+
return handle.getLongArray(key).orElse(null);
207190
}
208191

209192
@Override
210193
public CompoundTag getCompound(CompoundTag handle, String key)
211194
{
212-
if (!handle.contains(key))
213-
return null;
214-
return handle.getCompound(key);
195+
return handle.getCompound(key).orElse(null);
215196
}
216197

217198
@Override
218199
public CompoundTag getOrAddCompound(CompoundTag handle, String key)
219200
{
220201
if (!handle.contains(key))
221202
handle.put(key, new CompoundTag());
222-
return handle.getCompound(key);
203+
//noinspection OptionalGetWithoutIsPresent
204+
return handle.getCompound(key).get(); // This cannot be null because we just added it
223205
}
224206

225207
@Override
226208
public ListTag getList(CompoundTag handle, String key, int typeID)
227209
{
228-
if (!handle.contains(key))
229-
return null;
230-
return handle.getList(key, typeID);
210+
return handle.getList(key).orElse(null);
231211
}
232212

233213
@Override
234214
public ListTag getOrAddList(CompoundTag handle, String key, int typeID)
235215
{
236216
if (!handle.contains(key))
237217
handle.put(key, new ListTag());
238-
return handle.getList(key, typeID);
218+
//noinspection OptionalGetWithoutIsPresent
219+
return handle.getList(key).get(); // This cannot be null because we just added it
239220
}
240221

241222
@Override
@@ -247,13 +228,13 @@ public void putTag(CompoundTag handle, String key, Object value)
247228
@Override
248229
public boolean getBoolean(CompoundTag handle, String key)
249230
{
250-
return handle.getBoolean(key);
231+
return handle.getBoolean(key).orElse(false);
251232
}
252233

253234
@Override
254235
public Set<String> getKeys(CompoundTag handle)
255236
{
256-
return handle.getAllKeys();
237+
return handle.keySet();
257238
}
258239

259240
@Override

0 commit comments

Comments
 (0)