Jump to content

Kill a entity from code


ElTotisPro50

Recommended Posts

use Level#getEntitiesOfClass to get all Entities of the Type you want to run this action,
then loop through the list you get, and check if the name of the Entity equals your String (you can get the name from the Entity via Entity#getName then Component#getString),
do this in Item#use inside your Item class

Link to comment
Share on other sites

8 hours ago, Luis_ST said:

use Level#getEntitiesOfClass to get all Entities of the Type you want to run this action,
then loop through the list you get, and check if the name of the Entity equals your String (you can get the name from the Entity via Entity#getName then Component#getString),
do this in Item#use inside your Item class

i want to kill ANY entity with the CowDude name, not just cows or a specific entity, and i saved in a string the entity name with .getCustomName(), so once o have the name how can i kill the entities?

Link to comment
Share on other sites

3 hours ago, diesieben07 said:

Call the hurt method on an Entity instance.

ok, so HOW I HURT ALL ENTITIES WITH THE NAME CowDude(is saved in a string: String name = "" + entity.getCustomName();)

example:

String name = "" + entity.getCustomName();

if(entity.hasName == name)

{

     hurt all entities with "name"

}

Link to comment
Share on other sites

is there a way to call a method for a entity for example: entity.hurt() but only for all entities with a specific name

EXAMPLE: Entities affected(with name COW)=

cow with name COW=yes

creeper with name CoW=no

player with name PL=no

player with name COW=yes

 

that "yes" is for affect all those entities(named COW) with a entity method

Link to comment
Share on other sites

1 hour ago, diesieben07 said:

Threads merged.

ok this should work:

String name = "CowDude";
        Entity entity = playerIn.getEntity();
        if(entity.getName().equals(name))
        {
            entity.setFire(5);
        }

just 1 more thing, how do i get all entities in the world, this: Entity entity = playerIn.getEntity(); doesnt work for obvious and i cant find a world.getAllEntities or something like that

Please is the only thing left

Edited by ElTotisPro50
Link to comment
Share on other sites

1 hour ago, diesieben07 said:

Level#getEntities().getAllEntities

Note that you should really avoid looping through all entities if you can avoid it.

doesnt exist world.getEntities().getAllEntities (i think you put Level because it is un 1.17 but im in1.16.5)

and how can i "avoid looping throught all entities"

Link to comment
Share on other sites

1 hour ago, diesieben07 said:

You did not mention the Minecraft version, hence I figured you were using the latest one (1.18.1).

In 1.16.5 you can use ServerWorld#getEntities.

Pick a region that you search or pick a base entity class. Or better, even both.

oh shoot you are right i didnt mention the minecraft version, but 

ServerWorld serverWorld = null;
String name = "CowDude";
Entity entity = serverWorld.getEntities(); //this line is giving an error

that line of Entity entity = ... is not working(Incompatible types. Found: 'java.util.stream.Stream<net.minecraft.entity.Entity>', required: 'net.minecraft.entity.Entity') is saying i cant use Entity that i need to use Entity, wtf

Link to comment
Share on other sites

1 hour ago, diesieben07 said:

The fact that you do not know this proves that this is untrue:

 

well then tell me, as i can see with my eyes is asking for Entity, im passing Entity

Incompatible types. Found: 'java.util.stream.Stream<net.minecraft.entity.Entity>', required: 'net.minecraft.entity.Entity'

How is founding java,util.stream.Stream, im importing import net.minecraft.entity.Entity;

maybe is a dumb error but i have no clue of why is this(im finishing java but this error is related to minecraft i think)

Link to comment
Share on other sites

I'm sure the server already exists; after all, it would have to in order for you to join the world...

Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable.  If you think this is the case, JUST REPORT ME.  Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice.

 

Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked.

 

DO NOT PM ME WITH PROBLEMS. No help will be given.

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.