Implement assetid

This commit is contained in:
Owen1212055
2024-12-04 00:33:47 -05:00
parent 0eefdfb97a
commit ebc080b944
2 changed files with 13 additions and 9 deletions

View File

@@ -1241,9 +1241,9 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
+ Key equipSound(); + Key equipSound();
+ +
+ /** + /**
+ * Gets the model key if present. + * Gets the asset id if present.
+ * + *
+ * @return the model key or null + * @return the asset id or null
+ */ + */
+ @Contract(pure = true) + @Contract(pure = true)
+ @Nullable Key assetId(); + @Nullable Key assetId();

View File

@@ -1250,18 +1250,24 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
+package io.papermc.paper.datacomponent.item; +package io.papermc.paper.datacomponent.item;
+ +
+import io.papermc.paper.adventure.PaperAdventure; +import io.papermc.paper.adventure.PaperAdventure;
+import io.papermc.paper.registry.PaperRegistries;
+import io.papermc.paper.registry.RegistryKey; +import io.papermc.paper.registry.RegistryKey;
+import io.papermc.paper.registry.set.PaperRegistrySets; +import io.papermc.paper.registry.set.PaperRegistrySets;
+import io.papermc.paper.registry.set.RegistryKeySet; +import io.papermc.paper.registry.set.RegistryKeySet;
+import java.util.Optional; +import java.util.Optional;
+import java.util.function.Function;
+import net.kyori.adventure.key.Key; +import net.kyori.adventure.key.Key;
+import net.minecraft.core.Holder; +import net.minecraft.core.Holder;
+import net.minecraft.core.HolderSet; +import net.minecraft.core.HolderSet;
+import net.minecraft.core.registries.BuiltInRegistries; +import net.minecraft.core.registries.BuiltInRegistries;
+import net.minecraft.core.registries.Registries; +import net.minecraft.core.registries.Registries;
+import net.minecraft.resources.ResourceKey;
+import net.minecraft.resources.ResourceLocation; +import net.minecraft.resources.ResourceLocation;
+import net.minecraft.sounds.SoundEvent; +import net.minecraft.sounds.SoundEvent;
+import net.minecraft.sounds.SoundEvents; +import net.minecraft.sounds.SoundEvents;
+import net.minecraft.util.datafix.fixes.EquippableAssetRenameFix;
+import net.minecraft.world.item.equipment.EquipmentAsset;
+import net.minecraft.world.item.equipment.EquipmentAssets;
+import org.bukkit.craftbukkit.CraftEquipmentSlot; +import org.bukkit.craftbukkit.CraftEquipmentSlot;
+import org.bukkit.craftbukkit.util.Handleable; +import org.bukkit.craftbukkit.util.Handleable;
+import org.bukkit.entity.EntityType; +import org.bukkit.entity.EntityType;
@@ -1289,11 +1295,9 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
+ +
+ @Override + @Override
+ public @Nullable Key assetId() { + public @Nullable Key assetId() {
+ // TODO + return this.impl.assetId()
+ throw new UnsupportedOperationException("Not yet implemented"); + .map(PaperAdventure::asAdventureKey)
+ //return this.impl.assetId() + .orElse(null);
+ // .map(PaperAdventure::asAdventure)
+ // .orElse(null);
+ } + }
+ +
+ @Override + @Override
@@ -1342,7 +1346,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
+ +
+ private final net.minecraft.world.entity.EquipmentSlot equipmentSlot; + private final net.minecraft.world.entity.EquipmentSlot equipmentSlot;
+ private Holder<SoundEvent> equipSound = SoundEvents.ARMOR_EQUIP_GENERIC; + private Holder<SoundEvent> equipSound = SoundEvents.ARMOR_EQUIP_GENERIC;
+ private Optional<ResourceLocation> assetId = Optional.empty(); + private Optional<ResourceKey<EquipmentAsset>> assetId = Optional.empty();
+ private Optional<ResourceLocation> cameraOverlay = Optional.empty(); + private Optional<ResourceLocation> cameraOverlay = Optional.empty();
+ private Optional<HolderSet<net.minecraft.world.entity.EntityType<?>>> allowedEntities = Optional.empty(); + private Optional<HolderSet<net.minecraft.world.entity.EntityType<?>>> allowedEntities = Optional.empty();
+ private boolean dispensable = true; + private boolean dispensable = true;
@@ -1362,7 +1366,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
+ @Override + @Override
+ public Builder assetId(final @Nullable Key model) { + public Builder assetId(final @Nullable Key model) {
+ this.assetId = Optional.ofNullable(model) + this.assetId = Optional.ofNullable(model)
+ .map(PaperAdventure::asVanilla); + .map(key -> PaperAdventure.asVanilla(EquipmentAssets.ROOT_ID, key));
+ +
+ return this; + return this;
+ } + }