From 3960bff398511b834c416df34432196277741bc8 Mon Sep 17 00:00:00 2001 From: Sen Date: Thu, 7 Aug 2025 15:28:07 +0200 Subject: [PATCH] impove camera entity handling --- .../main/resources/textures/npc/hacker.png | Bin 1520 -> 0 bytes .../main/resources/textures/npc/trollface.png | Bin 2013 -> 0 bytes .../common/entity/npc/EntityCameraHolder.java | 18 ++++++++++++------ .../java/server/init/UniverseRegistry.java | 3 ++- 4 files changed, 14 insertions(+), 7 deletions(-) delete mode 100755 client/src/main/resources/textures/npc/hacker.png delete mode 100755 client/src/main/resources/textures/npc/trollface.png diff --git a/client/src/main/resources/textures/npc/hacker.png b/client/src/main/resources/textures/npc/hacker.png deleted file mode 100755 index 34beb80cf9c28432f959fe726461aaa5c8685f5c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1520 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 diff --git a/common/src/main/java/common/entity/npc/EntityCameraHolder.java b/common/src/main/java/common/entity/npc/EntityCameraHolder.java index d7f8df01..93e2f886 100755 --- a/common/src/main/java/common/entity/npc/EntityCameraHolder.java +++ b/common/src/main/java/common/entity/npc/EntityCameraHolder.java @@ -5,8 +5,8 @@ import common.rng.Random; import common.world.World; public class EntityCameraHolder extends EntityNPC { - public EntityCameraHolder(World worldIn) { - super(worldIn); + public EntityCameraHolder(World world) { + super(world); } public int getBaseHealth(Random rand) { @@ -41,8 +41,14 @@ public class EntityCameraHolder extends EntityNPC { protected void damageEntity(DamageSource damageSrc, int damageAmount) { } - - public boolean canNaturallyFly() { - return true; - } + + public boolean canNaturallyFly() { + return true; + } + + public void onUpdate() { + super.onUpdate(); + if(!this.isPlayer()) + this.setDead(); + } } diff --git a/server/src/main/java/server/init/UniverseRegistry.java b/server/src/main/java/server/init/UniverseRegistry.java index 55808784..0fbf3e61 100755 --- a/server/src/main/java/server/init/UniverseRegistry.java +++ b/server/src/main/java/server/init/UniverseRegistry.java @@ -31,6 +31,7 @@ import common.entity.animal.EntitySheep; import common.entity.animal.EntityWolf; import common.entity.npc.EntityArachnoid; import common.entity.npc.EntityBloodElf; +import common.entity.npc.EntityCameraHolder; import common.entity.npc.EntityCultivator; import common.entity.npc.EntityElf; import common.entity.npc.EntityFireDemon; @@ -737,7 +738,7 @@ public abstract class UniverseRegistry extends DimensionRegistry { .addLiquid(Blocks.flowing_water.getState(), 1, 8, 255, false) .addLiquid(Blocks.flowing_lava.getState(), 40, 8, 255, true); for(Class clazz : EntityRegistry.getAllClasses()) { - if(EntityLiving.class.isAssignableFrom(clazz)) + if(EntityLiving.class.isAssignableFrom(clazz) && clazz != EntityCameraHolder.class) warp.addSpawn((Class)clazz, 1, 1, 8); } registerSemi("warp", "Der Warp", new Semi(0x0c001f, 0x190033, 124072917, 285.0f, 3, Blocks.obsidian.getState(), Blocks.lava.getState(), 63)