End slime
This commit is contained in:
parent
d40a008c2c
commit
ce0eb74cf6
6 changed files with 63 additions and 0 deletions
29
src/main/java/ru/betterend/entity/EntityEndSlime.java
Normal file
29
src/main/java/ru/betterend/entity/EntityEndSlime.java
Normal file
|
@ -0,0 +1,29 @@
|
|||
package ru.betterend.entity;
|
||||
|
||||
import net.minecraft.entity.EntityType;
|
||||
import net.minecraft.entity.LivingEntity;
|
||||
import net.minecraft.entity.attribute.DefaultAttributeContainer;
|
||||
import net.minecraft.entity.attribute.EntityAttributes;
|
||||
import net.minecraft.entity.mob.SlimeEntity;
|
||||
import net.minecraft.particle.ParticleEffect;
|
||||
import net.minecraft.particle.ParticleTypes;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
public class EntityEndSlime extends SlimeEntity {
|
||||
public EntityEndSlime(EntityType<EntityEndSlime> entityType, World world) {
|
||||
super(entityType, world);
|
||||
}
|
||||
|
||||
public static DefaultAttributeContainer.Builder createMobAttributes() {
|
||||
return LivingEntity.createLivingAttributes()
|
||||
.add(EntityAttributes.GENERIC_MAX_HEALTH, 1.0D)
|
||||
.add(EntityAttributes.GENERIC_ATTACK_DAMAGE, 1.0D)
|
||||
.add(EntityAttributes.GENERIC_FOLLOW_RANGE, 16.0D)
|
||||
.add(EntityAttributes.GENERIC_MOVEMENT_SPEED, 0.15D);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected ParticleEffect getParticles() {
|
||||
return ParticleTypes.PORTAL;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,30 @@
|
|||
package ru.betterend.entity.render;
|
||||
|
||||
import net.minecraft.client.render.RenderLayer;
|
||||
import net.minecraft.client.render.entity.EntityRenderDispatcher;
|
||||
import net.minecraft.client.render.entity.SlimeEntityRenderer;
|
||||
import net.minecraft.client.render.entity.feature.EyesFeatureRenderer;
|
||||
import net.minecraft.client.render.entity.model.SlimeEntityModel;
|
||||
import net.minecraft.entity.mob.SlimeEntity;
|
||||
import net.minecraft.util.Identifier;
|
||||
import ru.betterend.BetterEnd;
|
||||
|
||||
public class RendererEntityEndSlime extends SlimeEntityRenderer {
|
||||
private static final Identifier TEXTURE = BetterEnd.makeID("textures/entity/end_slime.png");
|
||||
private static final RenderLayer GLOW = RenderLayer.getEyes(BetterEnd.makeID("textures/entity/end_slime_glow.png"));
|
||||
|
||||
public RendererEntityEndSlime(EntityRenderDispatcher entityRenderDispatcher) {
|
||||
super(entityRenderDispatcher);
|
||||
this.addFeature(new EyesFeatureRenderer<SlimeEntity, SlimeEntityModel<SlimeEntity>>(this) {
|
||||
@Override
|
||||
public RenderLayer getEyesTexture() {
|
||||
return GLOW;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public Identifier getTexture(SlimeEntity entity) {
|
||||
return TEXTURE;
|
||||
}
|
||||
}
|
|
@ -11,10 +11,12 @@ import net.minecraft.entity.SpawnGroup;
|
|||
import net.minecraft.entity.attribute.DefaultAttributeContainer.Builder;
|
||||
import net.minecraft.util.registry.Registry;
|
||||
import ru.betterend.BetterEnd;
|
||||
import ru.betterend.entity.EntityEndSlime;
|
||||
import ru.betterend.entity.EntityDragonfly;
|
||||
|
||||
public class EntityRegistry {
|
||||
public static final EntityType<EntityDragonfly> DRAGONFLY = register("dragonfly", SpawnGroup.AMBIENT, 0.6F, 0.5F, EntityDragonfly::new, EntityDragonfly.createMobAttributes());
|
||||
public static final EntityType<EntityEndSlime> END_SLIME = register("end_slime", SpawnGroup.AMBIENT, 0.6F, 0.5F, EntityEndSlime::new, EntityEndSlime.createMobAttributes());
|
||||
|
||||
public static void register() {}
|
||||
|
||||
|
|
|
@ -4,11 +4,13 @@ import net.fabricmc.fabric.api.client.rendereregistry.v1.EntityRendererRegistry;
|
|||
import net.minecraft.client.render.entity.MobEntityRenderer;
|
||||
import net.minecraft.entity.EntityType;
|
||||
import ru.betterend.entity.render.RendererEntityDragonfly;
|
||||
import ru.betterend.entity.render.RendererEntityEndSlime;
|
||||
|
||||
public class EntityRenderRegistry {
|
||||
|
||||
public static void register() {
|
||||
register(EntityRegistry.DRAGONFLY, RendererEntityDragonfly.class);
|
||||
register(EntityRegistry.END_SLIME, RendererEntityEndSlime.class);
|
||||
}
|
||||
|
||||
private static void register(EntityType<?> type, Class<? extends MobEntityRenderer<?, ?>> renderer) {
|
||||
|
|
Binary file not shown.
After Width: | Height: | Size: 3 KiB |
Binary file not shown.
After Width: | Height: | Size: 2 KiB |
Loading…
Add table
Add a link
Reference in a new issue