Skip to content

Commit 7dbfe15

Browse files
authored
Compatの型の変更と追加
Merge pull request #15 from Akazukin-Team/dev-cu-compat-3295721
2 parents 80b5b05 + 6dd31a8 commit 7dbfe15

10 files changed

Lines changed: 478 additions & 255 deletions

File tree

compat/v1_16_R3/src/main/java/net/akazukin/library/compat/minecraft/compats/Compat_v1_16_R3.java

Lines changed: 66 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
import io.netty.channel.Channel;
88
import java.util.ArrayList;
99
import java.util.List;
10+
import java.util.UUID;
1011
import java.util.stream.Collectors;
1112
import net.akazukin.library.compat.minecraft.Compat;
1213
import net.akazukin.library.compat.minecraft.data.WrappedAnvilInventory;
@@ -150,49 +151,37 @@ else if (itemStack instanceof ItemStack)
150151

151152
@Override
152153
public <T> T setNBT(final T itemStack, final String key, final String value) {
153-
final net.minecraft.server.v1_16_R3.ItemStack nmsItemStack;
154-
if (itemStack instanceof net.minecraft.server.v1_16_R3.ItemStack)
155-
nmsItemStack = (net.minecraft.server.v1_16_R3.ItemStack) itemStack;
156-
else if (itemStack instanceof ItemStack)
157-
nmsItemStack = CraftItemStack.asNMSCopy((ItemStack) itemStack);
158-
else
159-
return null;
154+
return this.setNBT(itemStack, key, (Object) value);
155+
}
160156

161-
final NBTTagCompound nbt = nmsItemStack.getOrCreateTag();
162-
nbt.setString(key, value);
157+
@Override
158+
public <T> T setNBT(final T itemStack, final String key, final long value) {
159+
return this.setNBT(itemStack, key, (Object) value);
160+
}
163161

164-
if (itemStack instanceof net.minecraft.server.v1_16_R3.ItemStack)
165-
return (T) nmsItemStack;
166-
else if (itemStack instanceof ItemStack)
167-
return (T) CraftItemStack.asBukkitCopy(nmsItemStack);
168-
else
169-
return null;
162+
@Override
163+
public <T> T setNBT(final T itemStack, final String key, final boolean value) {
164+
return this.setNBT(itemStack, key, (Object) value);
170165
}
171166

172167
@Override
173-
public <T> T setNBT(final T itemStack, final String key, final long value) {
174-
final net.minecraft.server.v1_16_R3.ItemStack nmsItemStack;
175-
if (itemStack instanceof net.minecraft.server.v1_16_R3.ItemStack)
176-
nmsItemStack = (net.minecraft.server.v1_16_R3.ItemStack) itemStack;
177-
else if (itemStack instanceof ItemStack)
178-
nmsItemStack = CraftItemStack.asNMSCopy((ItemStack) itemStack);
179-
else
180-
return null;
168+
public <T> T setNBT(final T itemStack, final String key, final byte value) {
169+
return this.setNBT(itemStack, key, (Object) value);
170+
}
181171

182-
final NBTTagCompound nbt = nmsItemStack.getOrCreateTag();
183-
nbt.setLong(key, value);
172+
@Override
173+
public <T> T setNBT(final T itemStack, final String key, final short value) {
174+
return this.setNBT(itemStack, key, (Object) value);
175+
}
184176

185-
if (itemStack instanceof net.minecraft.server.v1_16_R3.ItemStack)
186-
return (T) nmsItemStack;
187-
else if (itemStack instanceof ItemStack)
188-
return (T) CraftItemStack.asBukkitCopy(nmsItemStack);
189-
else
190-
return null;
177+
@Override
178+
public <T> T setNBT(final T itemStack, final String key, final UUID value) {
179+
return this.setNBT(itemStack, key, (Object) value);
191180
}
192181

193182
@Override
194-
public <T> T setNBT(final T itemStack, final String key, final boolean value) {
195-
return this.setNBT(itemStack, key, String.valueOf(value));
183+
public <T> T setNBT(final T itemStack, final String key, final double value) {
184+
return this.setNBT(itemStack, key, (Object) value);
196185
}
197186

198187
@Override
@@ -329,8 +318,8 @@ public <I> I setPDCData(final I itemStack, final String key, final Long value) {
329318
}
330319

331320
@Override
332-
public <I> I setPDCData(final I itemStack, final String key, final boolean value) {
333-
return this.setPDCData(itemStack, PersistentDataType.BYTE, key, (byte) (value ? 1 : 0));
321+
public <I> I setPDCData(final I itemStack, final String key, final Boolean value) {
322+
return this.setPDCData(itemStack, PersistentDataType.BYTE, key, value != null ? (byte) (value ? 1 : 0) : null);
334323
}
335324

336325
@Override
@@ -377,6 +366,11 @@ public <I> I setPlData(final I itemStack, final String key, final Integer value)
377366
return this.setPDCData(itemStack, key, value);
378367
}
379368

369+
@Override
370+
public <I> I setPlData(final I itemStack, final String key, final Long value) {
371+
return this.setPDCData(itemStack, key, value);
372+
}
373+
380374
@Override
381375
public String getPlDataString(final Object itemStack, final String key) {
382376
return this.getPDCDataString(itemStack, key);
@@ -398,7 +392,7 @@ public Boolean getPlDataBool(final Object itemStack, final String key) {
398392
}
399393

400394
@Override
401-
public <I> I setPlData(final I itemStack, final String key, final boolean value) {
395+
public <I> I setPlData(final I itemStack, final String key, final Boolean value) {
402396
return this.setPDCData(itemStack, key, value);
403397
}
404398

@@ -474,4 +468,40 @@ else if (itemStack instanceof ItemStack)
474468
else
475469
return null;
476470
}
471+
472+
public <T> T setNBT(final T itemStack, final String key, final Object value) {
473+
final net.minecraft.server.v1_16_R3.ItemStack nmsItemStack;
474+
if (itemStack instanceof net.minecraft.server.v1_16_R3.ItemStack)
475+
nmsItemStack = (net.minecraft.server.v1_16_R3.ItemStack) itemStack;
476+
else if (itemStack instanceof ItemStack)
477+
nmsItemStack = CraftItemStack.asNMSCopy((ItemStack) itemStack);
478+
else
479+
return null;
480+
481+
final NBTTagCompound nbt = nmsItemStack.getOrCreateTag();
482+
483+
if (value instanceof Boolean)
484+
nbt.setBoolean(key, (Boolean) value);
485+
else if (value instanceof String)
486+
nbt.setString(key, (String) value);
487+
else if (value instanceof Integer)
488+
nbt.setInt(key, (Integer) value);
489+
else if (value instanceof Long)
490+
nbt.setLong(key, (Long) value);
491+
else if (value instanceof Byte)
492+
nbt.setByte(key, (Byte) value);
493+
else if (value instanceof Short)
494+
nbt.setShort(key, (Short) value);
495+
else if (value instanceof Double)
496+
nbt.setDouble(key, (Double) value);
497+
else if (value instanceof UUID)
498+
nbt.a(key, (UUID) value);
499+
500+
if (itemStack instanceof net.minecraft.server.v1_16_R3.ItemStack)
501+
return (T) nmsItemStack;
502+
else if (itemStack instanceof ItemStack)
503+
return (T) CraftItemStack.asBukkitCopy(nmsItemStack);
504+
else
505+
return null;
506+
}
477507
}

compat/v1_17_R1/src/main/java/net/akazukin/library/compat/minecraft/compats/Compat_v1_17_R1.java

Lines changed: 65 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
import io.netty.channel.Channel;
88
import java.util.ArrayList;
99
import java.util.List;
10+
import java.util.UUID;
1011
import net.akazukin.library.compat.minecraft.Compat;
1112
import net.akazukin.library.compat.minecraft.data.WrappedAnvilInventory;
1213
import net.akazukin.library.compat.minecraft.data.WrappedBlockPos;
@@ -146,49 +147,37 @@ else if (itemStack instanceof ItemStack)
146147

147148
@Override
148149
public <T> T setNBT(final T itemStack, final String key, final String value) {
149-
final net.minecraft.world.item.ItemStack nmsItemStack;
150-
if (itemStack instanceof net.minecraft.world.item.ItemStack)
151-
nmsItemStack = (net.minecraft.world.item.ItemStack) itemStack;
152-
else if (itemStack instanceof ItemStack)
153-
nmsItemStack = CraftItemStack.asNMSCopy((ItemStack) itemStack);
154-
else
155-
return null;
150+
return this.setNBT(itemStack, key, (Object) value);
151+
}
156152

157-
final NBTTagCompound nbt = nmsItemStack.getOrCreateTag();
158-
nbt.setString(key, value);
153+
@Override
154+
public <T> T setNBT(final T itemStack, final String key, final long value) {
155+
return this.setNBT(itemStack, key, (Object) value);
156+
}
159157

160-
if (itemStack instanceof net.minecraft.world.item.ItemStack)
161-
return (T) nmsItemStack;
162-
else if (itemStack instanceof ItemStack)
163-
return (T) CraftItemStack.asBukkitCopy(nmsItemStack);
164-
else
165-
return null;
158+
@Override
159+
public <T> T setNBT(final T itemStack, final String key, final boolean value) {
160+
return this.setNBT(itemStack, key, (Object) value);
166161
}
167162

168163
@Override
169-
public <T> T setNBT(final T itemStack, final String key, final long value) {
170-
final net.minecraft.world.item.ItemStack nmsItemStack;
171-
if (itemStack instanceof net.minecraft.world.item.ItemStack)
172-
nmsItemStack = (net.minecraft.world.item.ItemStack) itemStack;
173-
else if (itemStack instanceof ItemStack)
174-
nmsItemStack = CraftItemStack.asNMSCopy((ItemStack) itemStack);
175-
else
176-
return null;
164+
public <T> T setNBT(final T itemStack, final String key, final byte value) {
165+
return this.setNBT(itemStack, key, (Object) value);
166+
}
177167

178-
final NBTTagCompound nbt = nmsItemStack.getOrCreateTag();
179-
nbt.setLong(key, value);
168+
@Override
169+
public <T> T setNBT(final T itemStack, final String key, final short value) {
170+
return this.setNBT(itemStack, key, (Object) value);
171+
}
180172

181-
if (itemStack instanceof net.minecraft.world.item.ItemStack)
182-
return (T) nmsItemStack;
183-
else if (itemStack instanceof ItemStack)
184-
return (T) CraftItemStack.asBukkitCopy(nmsItemStack);
185-
else
186-
return null;
173+
@Override
174+
public <T> T setNBT(final T itemStack, final String key, final UUID value) {
175+
return this.setNBT(itemStack, key, (Object) value);
187176
}
188177

189178
@Override
190-
public <T> T setNBT(final T itemStack, final String key, final boolean value) {
191-
return this.setNBT(itemStack, key, String.valueOf(value));
179+
public <T> T setNBT(final T itemStack, final String key, final double value) {
180+
return this.setNBT(itemStack, key, (Object) value);
192181
}
193182

194183
@Override
@@ -320,8 +309,8 @@ public <I> I setPDCData(final I itemStack, final String key, final Long value) {
320309
}
321310

322311
@Override
323-
public <I> I setPDCData(final I itemStack, final String key, final boolean value) {
324-
return this.setPDCData(itemStack, PersistentDataType.BYTE, key, (byte) (value ? 1 : 0));
312+
public <I> I setPDCData(final I itemStack, final String key, final Boolean value) {
313+
return this.setPDCData(itemStack, PersistentDataType.BYTE, key, value != null ? (byte) (value ? 1 : 0) : null);
325314
}
326315

327316
@Override
@@ -368,6 +357,11 @@ public <I> I setPlData(final I itemStack, final String key, final Integer value)
368357
return this.setPDCData(itemStack, key, value);
369358
}
370359

360+
@Override
361+
public <I> I setPlData(final I itemStack, final String key, final Long value) {
362+
return this.setPDCData(itemStack, key, value);
363+
}
364+
371365
@Override
372366
public String getPlDataString(final Object itemStack, final String key) {
373367
return this.getPDCDataString(itemStack, key);
@@ -389,7 +383,7 @@ public Boolean getPlDataBool(final Object itemStack, final String key) {
389383
}
390384

391385
@Override
392-
public <I> I setPlData(final I itemStack, final String key, final boolean value) {
386+
public <I> I setPlData(final I itemStack, final String key, final Boolean value) {
393387
return this.setPDCData(itemStack, key, value);
394388
}
395389

@@ -465,4 +459,39 @@ else if (itemStack instanceof ItemStack)
465459
else
466460
return null;
467461
}
462+
463+
private <T> T setNBT(final T itemStack, final String key, final Object value) {
464+
final net.minecraft.world.item.ItemStack nmsItemStack;
465+
if (itemStack instanceof net.minecraft.world.item.ItemStack)
466+
nmsItemStack = (net.minecraft.world.item.ItemStack) itemStack;
467+
else if (itemStack instanceof ItemStack)
468+
nmsItemStack = CraftItemStack.asNMSCopy((ItemStack) itemStack);
469+
else
470+
return null;
471+
472+
final NBTTagCompound nbt = nmsItemStack.getOrCreateTag();
473+
if (value instanceof Boolean)
474+
nbt.setBoolean(key, (Boolean) value);
475+
else if (value instanceof String)
476+
nbt.setString(key, (String) value);
477+
else if (value instanceof Integer)
478+
nbt.setInt(key, (Integer) value);
479+
else if (value instanceof Long)
480+
nbt.setLong(key, (Long) value);
481+
else if (value instanceof Byte)
482+
nbt.setByte(key, (Byte) value);
483+
else if (value instanceof Short)
484+
nbt.setShort(key, (Short) value);
485+
else if (value instanceof Double)
486+
nbt.setDouble(key, (Double) value);
487+
else if (value instanceof UUID)
488+
nbt.a(key, (UUID) value);
489+
490+
if (itemStack instanceof net.minecraft.world.item.ItemStack)
491+
return (T) nmsItemStack;
492+
else if (itemStack instanceof ItemStack)
493+
return (T) CraftItemStack.asBukkitCopy(nmsItemStack);
494+
else
495+
return null;
496+
}
468497
}

0 commit comments

Comments
 (0)