From b9235876b266a3e4dda212d09e032d0eef8e43df Mon Sep 17 00:00:00 2001 From: TheBrokenRail Date: Sat, 25 Apr 2020 21:25:57 -0400 Subject: [PATCH] Allow Creating Blank Tags --- .../scriptcraft/bridge/TagBridges.java | 4 +++ .../resources/scriptcraft/minecraft/tag.ts | 26 +++++++++++++++++++ 2 files changed, 30 insertions(+) diff --git a/src/main/java/com/thebrokenrail/scriptcraft/bridge/TagBridges.java b/src/main/java/com/thebrokenrail/scriptcraft/bridge/TagBridges.java index 2756797..5a8ee29 100644 --- a/src/main/java/com/thebrokenrail/scriptcraft/bridge/TagBridges.java +++ b/src/main/java/com/thebrokenrail/scriptcraft/bridge/TagBridges.java @@ -6,6 +6,7 @@ import net.minecraft.nbt.AbstractNumberTag; import net.minecraft.nbt.ByteTag; import net.minecraft.nbt.CompoundTag; import net.minecraft.nbt.DoubleTag; +import net.minecraft.nbt.ListTag; import net.minecraft.nbt.StringTag; import net.minecraft.nbt.Tag; @@ -71,5 +72,8 @@ class TagBridges { AbstractListTag tag = (AbstractListTag) args[0]; return tag.size(); }); + + Bridges.addBridge("CompoundTag.create", args -> new CompoundTag()); + Bridges.addBridge("ListTag.create", args -> new ListTag()); } } diff --git a/src/main/resources/scriptcraft/minecraft/tag.ts b/src/main/resources/scriptcraft/minecraft/tag.ts index 745cce8..6ed22f9 100644 --- a/src/main/resources/scriptcraft/minecraft/tag.ts +++ b/src/main/resources/scriptcraft/minecraft/tag.ts @@ -59,6 +59,19 @@ export class CompoundTag { keys(): string[] { return useBridge('CompoundTag.keys', this.javaObject) as string[]; } + + /** + * Create Empty Tag + * @returns Empty Tag + */ + static create(): CompoundTag { + const obj = useBridge('CompoundTag.create') as JavaObject; + if (obj) { + return new CompoundTag(obj); + } else { + return null; + } + } } /** @@ -103,4 +116,17 @@ export class ListTag { size(): number { return useBridge('ListTag.size', this.javaObject) as number; } + + /** + * Create Empty Tag + * @returns Empty Tag + */ + static create(): ListTag { + const obj = useBridge('ListTag.create') as JavaObject; + if (obj) { + return new ListTag(obj); + } else { + return null; + } + } } \ No newline at end of file