Started by
EliteDangerGamer
on
Topic category: Troubleshooting, bugs, and solutions
So I've been creating a mod which is basically a manhunt, with a skill tree, and one of the upgrades is a health one, but for some reason it's taking the items without increasing the health, I can't figure out to attach images (help with that please)
package net.mcreator.hackermanhuntskilltree.procedures;
/* imports omitted */
public class HHU2Procedure {
public static void execute(Entity entity) {
if (entity == null)
return;
if (64 >= getAmountInGUISlot(entity, 0)) {
if (32 >= getAmountInGUISlot(entity, 1)) {
if (16 >= getAmountInGUISlot(entity, 2)) {
if (entity instanceof Player _player) {
ItemStack _stktoremove = new ItemStack(Items.IRON_INGOT);
_player.getInventory().clearOrCountMatchingItems(p -> _stktoremove.getItem() == p.getItem(), 64, _player.inventoryMenu.getCraftSlots());
}
if (entity instanceof Player _player) {
ItemStack _stktoremove = new ItemStack(Items.GOLD_INGOT);
_player.getInventory().clearOrCountMatchingItems(p -> _stktoremove.getItem() == p.getItem(), 32, _player.inventoryMenu.getCraftSlots());
}
if (entity instanceof Player _player) {
ItemStack _stktoremove = new ItemStack(Items.DIAMOND);
_player.getInventory().clearOrCountMatchingItems(p -> _stktoremove.getItem() == p.getItem(), 16, _player.inventoryMenu.getCraftSlots());
}
{
Entity _ent = entity;
if (!_ent.level().isClientSide() && _ent.getServer() != null) {
_ent.getServer().getCommands().performPrefixedCommand(new CommandSourceStack(CommandSource.NULL, _ent.position(), _ent.getRotationVector(), _ent.level() instanceof ServerLevel ? (ServerLevel) _ent.level() : null, 4,
_ent.getName().getString(), _ent.getDisplayName(), _ent.level().getServer(), _ent), "attribute @s minecraft:max_health base set 40");
}
}
}
}
}
}
private static int getAmountInGUISlot(Entity entity, int sltid) {
if (entity instanceof Player player && player.containerMenu instanceof HackerManhuntSkillTreeModMenus.MenuAccessor menuAccessor) {
ItemStack stack = menuAccessor.getSlots().get(sltid).getItem();
if (stack != null)
return stack.getCount();
}
return 0;
}
}
Edited by EliteDangerGamer on Mon, 08/18/2025 - 00:13
I'm using the Execute command /attribute @s minecraft:max_health base set 40 in the name of event/target entity