diff --git a/src/main/java/com/lovetropics/extras/client/entity/RaveKoaRenderer.java b/src/main/java/com/lovetropics/extras/client/entity/RaveKoaRenderer.java index 099371b..419cf3a 100644 --- a/src/main/java/com/lovetropics/extras/client/entity/RaveKoaRenderer.java +++ b/src/main/java/com/lovetropics/extras/client/entity/RaveKoaRenderer.java @@ -2,10 +2,10 @@ import com.lovetropics.extras.LTExtras; import com.lovetropics.extras.client.entity.model.RaveKoaModel; -import com.lovetropics.extras.entity.RaveKoaEntity; -import com.lovetropics.extras.entity.RaveKoaEntityDJ; -import com.lovetropics.extras.entity.RaveKoaEntityDance1; -import com.lovetropics.extras.entity.RaveKoaEntityDance2; +import com.lovetropics.extras.entity.ravekoa.RaveKoaEntity; +import com.lovetropics.extras.entity.ravekoa.RaveKoaEntityDJ; +import com.lovetropics.extras.entity.ravekoa.RaveKoaEntityDance1; +import com.lovetropics.extras.entity.ravekoa.RaveKoaEntityDance2; import net.minecraft.client.renderer.entity.EntityRendererProvider; import net.minecraft.client.renderer.entity.MobRenderer; import net.minecraft.resources.ResourceLocation; diff --git a/src/main/java/com/lovetropics/extras/client/entity/model/RaveKoaModel.java b/src/main/java/com/lovetropics/extras/client/entity/model/RaveKoaModel.java index 9d4156c..c1c8e6d 100644 --- a/src/main/java/com/lovetropics/extras/client/entity/model/RaveKoaModel.java +++ b/src/main/java/com/lovetropics/extras/client/entity/model/RaveKoaModel.java @@ -5,8 +5,8 @@ import com.lovetropics.extras.LTExtras; import com.lovetropics.extras.client.entity.animation.RaveKoaAnimation; -import com.lovetropics.extras.entity.RaveKoaEntity; -import com.lovetropics.extras.entity.RaveKoaEntityDJ; +import com.lovetropics.extras.entity.ravekoa.RaveKoaEntity; +import com.lovetropics.extras.entity.ravekoa.RaveKoaEntityDJ; import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.VertexConsumer; import net.minecraft.client.model.HierarchicalModel; diff --git a/src/main/java/com/lovetropics/extras/entity/ExtraEntities.java b/src/main/java/com/lovetropics/extras/entity/ExtraEntities.java index 6614f31..b56d110 100644 --- a/src/main/java/com/lovetropics/extras/entity/ExtraEntities.java +++ b/src/main/java/com/lovetropics/extras/entity/ExtraEntities.java @@ -5,6 +5,10 @@ import com.lovetropics.extras.client.entity.HologramEntityRenderer; import com.lovetropics.extras.client.entity.PartyBeamRenderer; import com.lovetropics.extras.client.entity.RaveKoaRenderer; +import com.lovetropics.extras.entity.ravekoa.RaveKoaEntity; +import com.lovetropics.extras.entity.ravekoa.RaveKoaEntityDJ; +import com.lovetropics.extras.entity.ravekoa.RaveKoaEntityDance1; +import com.lovetropics.extras.entity.ravekoa.RaveKoaEntityDance2; import com.lovetropics.extras.entity.vfx.PartyBeamEntity; import com.tterrag.registrate.Registrate; import com.tterrag.registrate.util.entry.EntityEntry; diff --git a/src/main/java/com/lovetropics/extras/entity/RaveKoaEntityDJ.java b/src/main/java/com/lovetropics/extras/entity/RaveKoaEntityDJ.java deleted file mode 100644 index 89c108d..0000000 --- a/src/main/java/com/lovetropics/extras/entity/RaveKoaEntityDJ.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.lovetropics.extras.entity; - -import net.minecraft.nbt.CompoundTag; -import net.minecraft.world.DifficultyInstance; -import net.minecraft.world.entity.*; -import net.minecraft.world.entity.ai.attributes.AttributeSupplier; -import net.minecraft.world.entity.ai.attributes.Attributes; -import net.minecraft.world.entity.ai.goal.FloatGoal; -import net.minecraft.world.level.Level; -import net.minecraft.world.level.ServerLevelAccessor; -import org.jetbrains.annotations.Nullable; - -public class RaveKoaEntityDJ extends RaveKoaEntity { - - public RaveKoaEntityDJ(EntityType type, Level world) { - super(type, world); - } - - @Override - public void tick() { - raveAnimationStateDJ.startIfStopped(this.tickCount); - super.tick(); - } -} diff --git a/src/main/java/com/lovetropics/extras/entity/RaveKoaEntity.java b/src/main/java/com/lovetropics/extras/entity/ravekoa/RaveKoaEntity.java similarity index 68% rename from src/main/java/com/lovetropics/extras/entity/RaveKoaEntity.java rename to src/main/java/com/lovetropics/extras/entity/ravekoa/RaveKoaEntity.java index 7efaec2..7f959b6 100644 --- a/src/main/java/com/lovetropics/extras/entity/RaveKoaEntity.java +++ b/src/main/java/com/lovetropics/extras/entity/ravekoa/RaveKoaEntity.java @@ -1,7 +1,9 @@ -package com.lovetropics.extras.entity; +package com.lovetropics.extras.entity.ravekoa; import net.minecraft.nbt.CompoundTag; +import net.minecraft.tags.DamageTypeTags; import net.minecraft.world.DifficultyInstance; +import net.minecraft.world.damagesource.DamageSource; import net.minecraft.world.entity.*; import net.minecraft.world.entity.ai.attributes.AttributeSupplier; import net.minecraft.world.entity.ai.attributes.Attributes; @@ -18,6 +20,7 @@ public class RaveKoaEntity extends PathfinderMob { public RaveKoaEntity(EntityType type, Level world) { super(type, world); + this.setPersistenceRequired(); } @Override @@ -25,10 +28,28 @@ protected void registerGoals() { this.goalSelector.addGoal(0, new FloatGoal(this)); } + @Override + public boolean isPushable() { + return false; + } + + @Override + public boolean isInvulnerable() { + return true; + } + + @Override + public boolean isInvulnerableTo(DamageSource pSource) { + if (pSource.isCreativePlayer() || pSource.is(DamageTypeTags.BYPASSES_INVULNERABILITY)) return false; + return true; + } + public static AttributeSupplier.Builder createAttributes() { return Mob.createMobAttributes() .add(Attributes.MAX_HEALTH, 10.0) - .add(Attributes.MOVEMENT_SPEED, 0.2F); + .add(Attributes.MOVEMENT_SPEED, 0.2F) + .add(Attributes.KNOCKBACK_RESISTANCE, 1F); + } @Nullable diff --git a/src/main/java/com/lovetropics/extras/entity/ravekoa/RaveKoaEntityDJ.java b/src/main/java/com/lovetropics/extras/entity/ravekoa/RaveKoaEntityDJ.java new file mode 100644 index 0000000..99c3e71 --- /dev/null +++ b/src/main/java/com/lovetropics/extras/entity/ravekoa/RaveKoaEntityDJ.java @@ -0,0 +1,17 @@ +package com.lovetropics.extras.entity.ravekoa; + +import net.minecraft.world.entity.*; +import net.minecraft.world.level.Level; + +public class RaveKoaEntityDJ extends RaveKoaEntity { + + public RaveKoaEntityDJ(EntityType type, Level world) { + super(type, world); + } + + @Override + public void tick() { + raveAnimationStateDJ.startIfStopped(this.tickCount); + super.tick(); + } +} diff --git a/src/main/java/com/lovetropics/extras/entity/RaveKoaEntityDance1.java b/src/main/java/com/lovetropics/extras/entity/ravekoa/RaveKoaEntityDance1.java similarity index 89% rename from src/main/java/com/lovetropics/extras/entity/RaveKoaEntityDance1.java rename to src/main/java/com/lovetropics/extras/entity/ravekoa/RaveKoaEntityDance1.java index e681521..1dbadfa 100644 --- a/src/main/java/com/lovetropics/extras/entity/RaveKoaEntityDance1.java +++ b/src/main/java/com/lovetropics/extras/entity/ravekoa/RaveKoaEntityDance1.java @@ -1,4 +1,4 @@ -package com.lovetropics.extras.entity; +package com.lovetropics.extras.entity.ravekoa; import net.minecraft.world.entity.EntityType; import net.minecraft.world.level.Level; diff --git a/src/main/java/com/lovetropics/extras/entity/RaveKoaEntityDance2.java b/src/main/java/com/lovetropics/extras/entity/ravekoa/RaveKoaEntityDance2.java similarity index 89% rename from src/main/java/com/lovetropics/extras/entity/RaveKoaEntityDance2.java rename to src/main/java/com/lovetropics/extras/entity/ravekoa/RaveKoaEntityDance2.java index 823a223..fda42a9 100644 --- a/src/main/java/com/lovetropics/extras/entity/RaveKoaEntityDance2.java +++ b/src/main/java/com/lovetropics/extras/entity/ravekoa/RaveKoaEntityDance2.java @@ -1,4 +1,4 @@ -package com.lovetropics.extras.entity; +package com.lovetropics.extras.entity.ravekoa; import net.minecraft.world.entity.EntityType; import net.minecraft.world.level.Level;