Jello improvements
This commit is contained in:
parent
d37e55b101
commit
8ae202ac44
8 changed files with 94 additions and 16 deletions
|
@ -4,48 +4,102 @@ import net.minecraft.client.model.ModelPart;
|
|||
import net.minecraft.client.render.RenderLayer;
|
||||
import net.minecraft.client.render.VertexConsumer;
|
||||
import net.minecraft.client.util.math.MatrixStack;
|
||||
import net.minecraft.util.math.MathHelper;
|
||||
import ru.betterend.entity.BlockBenchModel;
|
||||
import ru.betterend.entity.EntityJello;
|
||||
|
||||
public class ModelEntityJello extends BlockBenchModel<EntityJello> {
|
||||
private final ModelPart model;
|
||||
private final ModelPart tentacles;
|
||||
private final ModelPart main_cube;
|
||||
private final ModelPart main_cube_r1;
|
||||
private final ModelPart tentacle_center_1;
|
||||
private final ModelPart tentacle_1;
|
||||
private final ModelPart tentacle_center_2;
|
||||
private final ModelPart tentacle_2;
|
||||
private final ModelPart tentacle_center_3;
|
||||
private final ModelPart tentacle_3;
|
||||
private final ModelPart tentacle_center_4;
|
||||
private final ModelPart tentacle_4;
|
||||
private float scaleY;
|
||||
private float scaleXZ;
|
||||
|
||||
public ModelEntityJello() {
|
||||
super(RenderLayer::getEntityTranslucent);
|
||||
|
||||
textureWidth = 48;
|
||||
textureHeight = 48;
|
||||
|
||||
|
||||
model = new ModelPart(this);
|
||||
model.setPivot(0.0F, 24.0F, 0.0F);
|
||||
model.setTextureOffset(16, 17).addCuboid(-4.0F, -7.0F, 4.5F, 8.0F, 7.0F, 0.0F, 0.0F);
|
||||
model.setTextureOffset(16, 17).addCuboid(-4.0F, -7.0F, -4.5F, 8.0F, 7.0F, 0.0F, 0.0F);
|
||||
model.setTextureOffset(0, 17).addCuboid(-2.0F, -12.5F, -2.0F, 4.0F, 4.0F, 4.0F, 0.0F);
|
||||
|
||||
tentacles = new ModelPart(this);
|
||||
tentacles.setPivot(0.0F, -6.0F, 0.0F);
|
||||
model.addChild(tentacles);
|
||||
setRotationAngle(tentacles, 0.0F, -1.5708F, 0.0F);
|
||||
tentacles.setTextureOffset(16, 17).addCuboid(-4.0F, -1.0F, 4.5F, 8.0F, 7.0F, 0.0F, 0.0F);
|
||||
tentacles.setTextureOffset(16, 17).addCuboid(-4.0F, -1.0F, -4.5F, 8.0F, 7.0F, 0.0F, 0.0F);
|
||||
main_cube_r1 = new ModelPart(this);
|
||||
main_cube_r1.setPivot(0.0F, -14.0F, 0.0F);
|
||||
model.addChild(main_cube_r1);
|
||||
setRotationAngle(main_cube_r1, 0.0F, 0.0F, -3.1416F);
|
||||
main_cube_r1.setTextureOffset(0, 0).addCuboid(-5.0F, -7.0F, -5.0F, 10.0F, 7.0F, 10.0F, 0.0F);
|
||||
|
||||
main_cube = new ModelPart(this);
|
||||
main_cube.setPivot(0.0F, -14.0F, 0.0F);
|
||||
model.addChild(main_cube);
|
||||
setRotationAngle(main_cube, 0.0F, 0.0F, -3.1416F);
|
||||
main_cube.setTextureOffset(0, 0).addCuboid(-5.0F, -7.0F, -5.0F, 10.0F, 7.0F, 10.0F, 0.0F);
|
||||
tentacle_center_1 = new ModelPart(this);
|
||||
tentacle_center_1.setPivot(0.0F, 0.0F, 0.0F);
|
||||
model.addChild(tentacle_center_1);
|
||||
|
||||
|
||||
tentacle_1 = new ModelPart(this);
|
||||
tentacle_1.setPivot(0.0F, -7.0F, 4.5F);
|
||||
tentacle_center_1.addChild(tentacle_1);
|
||||
tentacle_1.setTextureOffset(16, 17).addCuboid(-4.0F, 0.0F, 0.0F, 8.0F, 7.0F, 0.0F, 0.0F);
|
||||
|
||||
tentacle_center_2 = new ModelPart(this);
|
||||
tentacle_center_2.setPivot(0.0F, 0.0F, 0.0F);
|
||||
model.addChild(tentacle_center_2);
|
||||
setRotationAngle(tentacle_center_2, 0.0F, -1.5708F, 0.0F);
|
||||
|
||||
|
||||
tentacle_2 = new ModelPart(this);
|
||||
tentacle_2.setPivot(0.0F, -7.0F, 4.5F);
|
||||
tentacle_center_2.addChild(tentacle_2);
|
||||
tentacle_2.setTextureOffset(16, 17).addCuboid(-4.0F, 0.0F, 0.0F, 8.0F, 7.0F, 0.0F, 0.0F);
|
||||
|
||||
tentacle_center_3 = new ModelPart(this);
|
||||
tentacle_center_3.setPivot(0.0F, 0.0F, 0.0F);
|
||||
model.addChild(tentacle_center_3);
|
||||
setRotationAngle(tentacle_center_3, 0.0F, 3.1416F, 0.0F);
|
||||
|
||||
|
||||
tentacle_3 = new ModelPart(this);
|
||||
tentacle_3.setPivot(0.0F, -7.0F, 4.5F);
|
||||
tentacle_center_3.addChild(tentacle_3);
|
||||
tentacle_3.setTextureOffset(16, 17).addCuboid(-4.0F, 0.0F, 0.0F, 8.0F, 7.0F, 0.0F, 0.0F);
|
||||
|
||||
tentacle_center_4 = new ModelPart(this);
|
||||
tentacle_center_4.setPivot(0.0F, 0.0F, 0.0F);
|
||||
model.addChild(tentacle_center_4);
|
||||
setRotationAngle(tentacle_center_4, 0.0F, 1.5708F, 0.0F);
|
||||
|
||||
|
||||
tentacle_4 = new ModelPart(this);
|
||||
tentacle_4.setPivot(0.0F, -7.0F, 4.5F);
|
||||
tentacle_center_4.addChild(tentacle_4);
|
||||
tentacle_4.setTextureOffset(16, 17).addCuboid(-4.0F, 0.0F, 0.0F, 8.0F, 7.0F, 0.0F, 0.0F);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setAngles(EntityJello entity, float limbAngle, float limbDistance, float animationProgress, float headYaw, float headPitch) {
|
||||
float sin = MathHelper.sin(animationProgress * 0.13F);
|
||||
scaleY = sin * 0.1F + 0.9F;
|
||||
scaleXZ = MathHelper.sin(animationProgress * 0.13F + 3.14F) * 0.1F + 0.9F;
|
||||
|
||||
tentacle_1.pitch = sin * 0.15F;
|
||||
tentacle_2.pitch = sin * 0.15F;
|
||||
tentacle_3.pitch = sin * 0.15F;
|
||||
tentacle_4.pitch = sin * 0.15F;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void render(MatrixStack matrices, VertexConsumer vertices, int light, int overlay, float red, float green, float blue, float alpha) {
|
||||
matrices.push();
|
||||
matrices.scale(scaleXZ, scaleY, scaleXZ);
|
||||
model.render(matrices, vertices, light, overlay);
|
||||
matrices.pop();
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -1,7 +1,9 @@
|
|||
package ru.betterend.entity.render;
|
||||
|
||||
import net.minecraft.client.render.RenderLayer;
|
||||
import net.minecraft.client.render.entity.EntityRenderDispatcher;
|
||||
import net.minecraft.client.render.entity.MobEntityRenderer;
|
||||
import net.minecraft.client.render.entity.feature.EyesFeatureRenderer;
|
||||
import net.minecraft.client.util.math.MatrixStack;
|
||||
import net.minecraft.util.Identifier;
|
||||
import ru.betterend.BetterEnd;
|
||||
|
@ -10,9 +12,16 @@ import ru.betterend.entity.model.ModelEntityJello;
|
|||
|
||||
public class RendererEntityJello extends MobEntityRenderer<EntityJello, ModelEntityJello> {
|
||||
private static final Identifier TEXTURE = BetterEnd.makeID("textures/entity/jello.png");
|
||||
private static final RenderLayer GLOW = RenderLayer.getEyes(BetterEnd.makeID("textures/entity/jello_glow.png"));
|
||||
|
||||
public RendererEntityJello(EntityRenderDispatcher entityRenderDispatcher) {
|
||||
super(entityRenderDispatcher, new ModelEntityJello(), 0.5f);
|
||||
this.addFeature(new EyesFeatureRenderer<EntityJello, ModelEntityJello>(this) {
|
||||
@Override
|
||||
public RenderLayer getEyesTexture() {
|
||||
return GLOW;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -36,6 +36,7 @@ public class BiomeFoggyMushroomland extends EndBiome {
|
|||
.addStructureFeature(ConfiguredStructureFeatures.END_CITY)
|
||||
.addMobSpawn(EndEntities.DRAGONFLY, 80, 2, 5)
|
||||
.addMobSpawn(EndEntities.END_FISH, 20, 2, 5)
|
||||
.addMobSpawn(EndEntities.JELLO, 10, 3, 8)
|
||||
.addMobSpawn(EndEntities.END_SLIME, 10, 1, 2)
|
||||
.addMobSpawn(EntityType.ENDERMAN, 10, 1, 2));
|
||||
}
|
||||
|
|
|
@ -29,6 +29,7 @@ public class BiomeMegalake extends EndBiome {
|
|||
.addFeature(EndFeatures.MENGER_SPONGE)
|
||||
.addMobSpawn(EndEntities.DRAGONFLY, 50, 1, 3)
|
||||
.addMobSpawn(EndEntities.END_FISH, 50, 3, 8)
|
||||
.addMobSpawn(EndEntities.JELLO, 50, 3, 8)
|
||||
.addMobSpawn(EntityType.ENDERMAN, 10, 1, 2));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -32,6 +32,7 @@ public class BiomeMegalakeGrove extends EndBiome {
|
|||
.addFeature(EndFeatures.MENGER_SPONGE)
|
||||
.addMobSpawn(EndEntities.DRAGONFLY, 20, 1, 3)
|
||||
.addMobSpawn(EndEntities.END_FISH, 20, 3, 8)
|
||||
.addMobSpawn(EndEntities.JELLO, 50, 3, 8)
|
||||
.addMobSpawn(EntityType.ENDERMAN, 10, 1, 2));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,12 @@
|
|||
{
|
||||
"map": [
|
||||
{
|
||||
"predicate": {
|
||||
"materialPredicate": {
|
||||
"renderLayerName": "eyes"
|
||||
}
|
||||
},
|
||||
"material": "canvas:emissive_transform"
|
||||
}
|
||||
]
|
||||
}
|
Binary file not shown.
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 2.4 KiB |
Binary file not shown.
After Width: | Height: | Size: 2.5 KiB |
Loading…
Add table
Add a link
Reference in a new issue