Jump to content

[1.10.2] Eclipse error "The method isEmpty() is undefined for the type ItemStack"


Tortuga

Recommended Posts

Quote

package tortuga.primeiro.entity;

import net.minecraft.entity.ai.EntityAIAvoidEntity;
import net.minecraft.entity.ai.EntityAINearestAttackableTarget;
import net.minecraft.entity.monster.EntityCreeper;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.world.World;

import javax.annotation.Nullable;

/**
 * A creeper that avoids players holding an item in their off hand.
 * <p>
 * Test for this thread:
 * http://www.minecraftforum.net/forums/mapping-and-modding/minecraft-mods/modification-development/2782263-how-to-make-a-creeper-avoid-certain-players
 *
 * @author Choonster
 */
public class EntityPlayerAvoidingCreeper extends EntityCreeper {
    public EntityPlayerAvoidingCreeper(final World worldIn) {
        super(worldIn);
    }

    @Override
    protected void initEntityAI() {
        super.initEntityAI();

        // Remove the EntityAINearestAttackableTarget task added by EntityCreeper so it can be replaced
        targetTasks.taskEntries.stream()
                .filter(taskEntry -> taskEntry.action instanceof EntityAINearestAttackableTarget)
                .findFirst()
                .ifPresent(taskEntry -> targetTasks.removeTask(taskEntry.action));

        // Avoid players if they have an item in their off hand
        tasks.addTask(3, new EntityAIAvoidEntity<>(this, EntityPlayer.class, this::shouldAvoidPlayer, 6.0F, 1.0D, 1.2D));

        // Only attack players without an item in their off hand
        targetTasks.addTask(1, new EntityAINearestAttackableTarget<>(this, EntityPlayer.class, 10, true, false, (player) -> !shouldAvoidPlayer(player)));
    }

    /**
     * Should this creeper avoid the specified player?
     *
     * @param player The player
     * @return True if the player has an item in their off hand
     */
    private boolean shouldAvoidPlayer(@Nullable final EntityPlayer player) {
        return player != null && !player.getHeldItemOffhand().isEmpty();
    }
}

I was trying to add a mob from an example that I found, but I gets this error. Is there anyone who could help me? I would be glad

Edited by Tortuga
Link to comment
Share on other sites

9 minutes ago, diesieben07 said:
  • Do not blindly copy examples that you find. You must understand the code to use it properly.
  • ItemStack::isEmpty is a method that was added in 1.11.x. Stop using 1.10.x.

Thank you for helping, I'm new at modding so I don't understand much about it, but thx for your help

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Announcements



×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.