mirror of
https://github.com/Minestom/Minestom.git
synced 2024-12-29 04:28:21 +01:00
Added a few constructors to specify the instance directly
This commit is contained in:
parent
f91f7abb26
commit
f328a9cb2b
@ -344,6 +344,8 @@ public abstract class Entity implements Viewable, EventHandler, DataContainer {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Updates the entity, called every tick.
|
* Updates the entity, called every tick.
|
||||||
|
* <p>
|
||||||
|
* Ignored if {@link #getInstance()} returns null.
|
||||||
*
|
*
|
||||||
* @param time the update time in milliseconds
|
* @param time the update time in milliseconds
|
||||||
*/
|
*/
|
||||||
|
@ -55,7 +55,7 @@ public abstract class EntityCreature extends LivingEntity {
|
|||||||
private final ReentrantLock pathLock = new ReentrantLock();
|
private final ReentrantLock pathLock = new ReentrantLock();
|
||||||
|
|
||||||
|
|
||||||
public EntityCreature(EntityType entityType, Position spawnPosition) {
|
public EntityCreature(@NotNull EntityType entityType, @NotNull Position spawnPosition) {
|
||||||
super(entityType, spawnPosition);
|
super(entityType, spawnPosition);
|
||||||
|
|
||||||
this.mainHandItem = ItemStack.getAirItem();
|
this.mainHandItem = ItemStack.getAirItem();
|
||||||
@ -69,6 +69,14 @@ public abstract class EntityCreature extends LivingEntity {
|
|||||||
heal();
|
heal();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public EntityCreature(@NotNull EntityType entityType, @NotNull Position spawnPosition, @Nullable Instance instance) {
|
||||||
|
this(entityType, spawnPosition);
|
||||||
|
|
||||||
|
if (instance != null) {
|
||||||
|
setInstance(instance);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void update(long time) {
|
public void update(long time) {
|
||||||
|
|
||||||
|
@ -1,20 +1,31 @@
|
|||||||
package net.minestom.server.entity;
|
package net.minestom.server.entity;
|
||||||
|
|
||||||
|
import net.minestom.server.instance.Instance;
|
||||||
import net.minestom.server.network.packet.server.play.SpawnExperienceOrbPacket;
|
import net.minestom.server.network.packet.server.play.SpawnExperienceOrbPacket;
|
||||||
import net.minestom.server.network.player.PlayerConnection;
|
import net.minestom.server.network.player.PlayerConnection;
|
||||||
|
import net.minestom.server.utils.Position;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
import org.jetbrains.annotations.Nullable;
|
||||||
|
|
||||||
public class ExperienceOrb extends Entity {
|
public class ExperienceOrb extends Entity {
|
||||||
|
|
||||||
private short experienceCount;
|
private short experienceCount;
|
||||||
|
|
||||||
public ExperienceOrb(short experienceCount) {
|
public ExperienceOrb(short experienceCount, @NotNull Position spawnPosition) {
|
||||||
super(EntityType.EXPERIENCE_ORB);
|
super(EntityType.EXPERIENCE_ORB, spawnPosition);
|
||||||
setGravity(0.02f);
|
setGravity(0.02f);
|
||||||
setBoundingBox(0.5f, 0.5f, 0.5f);
|
setBoundingBox(0.5f, 0.5f, 0.5f);
|
||||||
this.experienceCount = experienceCount;
|
this.experienceCount = experienceCount;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public ExperienceOrb(short experienceCount, @NotNull Position spawnPosition, @Nullable Instance instance) {
|
||||||
|
this(experienceCount, spawnPosition);
|
||||||
|
|
||||||
|
if (instance != null) {
|
||||||
|
setInstance(instance);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void update(long time) {
|
public void update(long time) {
|
||||||
// TODO slide toward nearest player
|
// TODO slide toward nearest player
|
||||||
|
@ -2,6 +2,7 @@ package net.minestom.server.entity;
|
|||||||
|
|
||||||
import net.minestom.server.event.entity.EntityItemMergeEvent;
|
import net.minestom.server.event.entity.EntityItemMergeEvent;
|
||||||
import net.minestom.server.instance.Chunk;
|
import net.minestom.server.instance.Chunk;
|
||||||
|
import net.minestom.server.instance.Instance;
|
||||||
import net.minestom.server.item.ItemStack;
|
import net.minestom.server.item.ItemStack;
|
||||||
import net.minestom.server.item.StackingRule;
|
import net.minestom.server.item.StackingRule;
|
||||||
import net.minestom.server.utils.Position;
|
import net.minestom.server.utils.Position;
|
||||||
@ -45,6 +46,14 @@ public class ItemEntity extends ObjectEntity {
|
|||||||
setBoundingBox(0.25f, 0.25f, 0.25f);
|
setBoundingBox(0.25f, 0.25f, 0.25f);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public ItemEntity(@NotNull ItemStack itemStack, @NotNull Position spawnPosition, @Nullable Instance instance) {
|
||||||
|
this(itemStack, spawnPosition);
|
||||||
|
|
||||||
|
if (instance != null) {
|
||||||
|
setInstance(instance);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets the update option for the merging feature.
|
* Gets the update option for the merging feature.
|
||||||
*
|
*
|
||||||
|
@ -6,7 +6,7 @@ import net.minestom.server.instance.Instance;
|
|||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Called when a new instance is set for a player
|
* Called when a new instance is set for a player.
|
||||||
*/
|
*/
|
||||||
public class PlayerSpawnEvent extends EntitySpawnEvent {
|
public class PlayerSpawnEvent extends EntitySpawnEvent {
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user