diff options
Diffstat (limited to 'src/main/kotlin/dulkirmod/features/HideHealerFairy.kt')
-rw-r--r-- | src/main/kotlin/dulkirmod/features/HideHealerFairy.kt | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/src/main/kotlin/dulkirmod/features/HideHealerFairy.kt b/src/main/kotlin/dulkirmod/features/HideHealerFairy.kt new file mode 100644 index 0000000..43475b1 --- /dev/null +++ b/src/main/kotlin/dulkirmod/features/HideHealerFairy.kt @@ -0,0 +1,36 @@ +package dulkirmod.features + + +import dulkirmod.DulkirMod.Companion.config +import dulkirmod.utils.TabListUtils.isInDungeons +import net.minecraft.entity.Entity +import net.minecraft.entity.item.EntityArmorStand +import net.minecraft.init.Items +import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable + +object HideHealerFairy { + fun handle(entity: Entity, cir: CallbackInfoReturnable<Boolean>) { + if (!config.hideHealerFairy) return + if (!isInDungeons) return + if (entity is EntityArmorStand) { + if (entity.heldItem != null && entity.heldItem.item === Items.skull) { + val stack = entity.heldItem + if (stack.hasTagCompound() && stack.tagCompound.hasKey("SkullOwner")) { + val skullOwner = stack.tagCompound.getCompoundTag("SkullOwner") + if (skullOwner.hasKey("Properties")) { + val properties = skullOwner.getCompoundTag("Properties") + if (properties.hasKey("textures")) { + val healerFairyTexture = + "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvOTZjM2UzMWNmYzY2NzMzMjc1YzQyZmNmYjVkOWE0NDM0MmQ2NDNiNTVjZDE0YzljNzdkMjczYTIzNTIifX19" + if (healerFairyTexture == properties.getTagList("textures", 10).getCompoundTagAt(0) + .getString("Value") + ) { + cir.cancel() + } + } + } + } + } + } + } +}
\ No newline at end of file |