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.RenderLayer;
|
||||||
import net.minecraft.client.render.VertexConsumer;
|
import net.minecraft.client.render.VertexConsumer;
|
||||||
import net.minecraft.client.util.math.MatrixStack;
|
import net.minecraft.client.util.math.MatrixStack;
|
||||||
|
import net.minecraft.util.math.MathHelper;
|
||||||
import ru.betterend.entity.BlockBenchModel;
|
import ru.betterend.entity.BlockBenchModel;
|
||||||
import ru.betterend.entity.EntityJello;
|
import ru.betterend.entity.EntityJello;
|
||||||
|
|
||||||
public class ModelEntityJello extends BlockBenchModel<EntityJello> {
|
public class ModelEntityJello extends BlockBenchModel<EntityJello> {
|
||||||
private final ModelPart model;
|
private final ModelPart model;
|
||||||
private final ModelPart tentacles;
|
private final ModelPart main_cube_r1;
|
||||||
private final ModelPart main_cube;
|
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() {
|
public ModelEntityJello() {
|
||||||
super(RenderLayer::getEntityTranslucent);
|
super(RenderLayer::getEntityTranslucent);
|
||||||
|
|
||||||
textureWidth = 48;
|
textureWidth = 48;
|
||||||
textureHeight = 48;
|
textureHeight = 48;
|
||||||
|
|
||||||
model = new ModelPart(this);
|
model = new ModelPart(this);
|
||||||
model.setPivot(0.0F, 24.0F, 0.0F);
|
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);
|
model.setTextureOffset(0, 17).addCuboid(-2.0F, -12.5F, -2.0F, 4.0F, 4.0F, 4.0F, 0.0F);
|
||||||
|
|
||||||
tentacles = new ModelPart(this);
|
main_cube_r1 = new ModelPart(this);
|
||||||
tentacles.setPivot(0.0F, -6.0F, 0.0F);
|
main_cube_r1.setPivot(0.0F, -14.0F, 0.0F);
|
||||||
model.addChild(tentacles);
|
model.addChild(main_cube_r1);
|
||||||
setRotationAngle(tentacles, 0.0F, -1.5708F, 0.0F);
|
setRotationAngle(main_cube_r1, 0.0F, 0.0F, -3.1416F);
|
||||||
tentacles.setTextureOffset(16, 17).addCuboid(-4.0F, -1.0F, 4.5F, 8.0F, 7.0F, 0.0F, 0.0F);
|
main_cube_r1.setTextureOffset(0, 0).addCuboid(-5.0F, -7.0F, -5.0F, 10.0F, 7.0F, 10.0F, 0.0F);
|
||||||
tentacles.setTextureOffset(16, 17).addCuboid(-4.0F, -1.0F, -4.5F, 8.0F, 7.0F, 0.0F, 0.0F);
|
|
||||||
|
|
||||||
main_cube = new ModelPart(this);
|
tentacle_center_1 = new ModelPart(this);
|
||||||
main_cube.setPivot(0.0F, -14.0F, 0.0F);
|
tentacle_center_1.setPivot(0.0F, 0.0F, 0.0F);
|
||||||
model.addChild(main_cube);
|
model.addChild(tentacle_center_1);
|
||||||
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_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
|
@Override
|
||||||
public void setAngles(EntityJello entity, float limbAngle, float limbDistance, float animationProgress, float headYaw, float headPitch) {
|
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
|
@Override
|
||||||
public void render(MatrixStack matrices, VertexConsumer vertices, int light, int overlay, float red, float green, float blue, float alpha) {
|
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);
|
model.render(matrices, vertices, light, overlay);
|
||||||
|
matrices.pop();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,9 @@
|
||||||
package ru.betterend.entity.render;
|
package ru.betterend.entity.render;
|
||||||
|
|
||||||
|
import net.minecraft.client.render.RenderLayer;
|
||||||
import net.minecraft.client.render.entity.EntityRenderDispatcher;
|
import net.minecraft.client.render.entity.EntityRenderDispatcher;
|
||||||
import net.minecraft.client.render.entity.MobEntityRenderer;
|
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.client.util.math.MatrixStack;
|
||||||
import net.minecraft.util.Identifier;
|
import net.minecraft.util.Identifier;
|
||||||
import ru.betterend.BetterEnd;
|
import ru.betterend.BetterEnd;
|
||||||
|
@ -10,9 +12,16 @@ import ru.betterend.entity.model.ModelEntityJello;
|
||||||
|
|
||||||
public class RendererEntityJello extends MobEntityRenderer<EntityJello, ModelEntityJello> {
|
public class RendererEntityJello extends MobEntityRenderer<EntityJello, ModelEntityJello> {
|
||||||
private static final Identifier TEXTURE = BetterEnd.makeID("textures/entity/jello.png");
|
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) {
|
public RendererEntityJello(EntityRenderDispatcher entityRenderDispatcher) {
|
||||||
super(entityRenderDispatcher, new ModelEntityJello(), 0.5f);
|
super(entityRenderDispatcher, new ModelEntityJello(), 0.5f);
|
||||||
|
this.addFeature(new EyesFeatureRenderer<EntityJello, ModelEntityJello>(this) {
|
||||||
|
@Override
|
||||||
|
public RenderLayer getEyesTexture() {
|
||||||
|
return GLOW;
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -36,6 +36,7 @@ public class BiomeFoggyMushroomland extends EndBiome {
|
||||||
.addStructureFeature(ConfiguredStructureFeatures.END_CITY)
|
.addStructureFeature(ConfiguredStructureFeatures.END_CITY)
|
||||||
.addMobSpawn(EndEntities.DRAGONFLY, 80, 2, 5)
|
.addMobSpawn(EndEntities.DRAGONFLY, 80, 2, 5)
|
||||||
.addMobSpawn(EndEntities.END_FISH, 20, 2, 5)
|
.addMobSpawn(EndEntities.END_FISH, 20, 2, 5)
|
||||||
|
.addMobSpawn(EndEntities.JELLO, 10, 3, 8)
|
||||||
.addMobSpawn(EndEntities.END_SLIME, 10, 1, 2)
|
.addMobSpawn(EndEntities.END_SLIME, 10, 1, 2)
|
||||||
.addMobSpawn(EntityType.ENDERMAN, 10, 1, 2));
|
.addMobSpawn(EntityType.ENDERMAN, 10, 1, 2));
|
||||||
}
|
}
|
||||||
|
|
|
@ -29,6 +29,7 @@ public class BiomeMegalake extends EndBiome {
|
||||||
.addFeature(EndFeatures.MENGER_SPONGE)
|
.addFeature(EndFeatures.MENGER_SPONGE)
|
||||||
.addMobSpawn(EndEntities.DRAGONFLY, 50, 1, 3)
|
.addMobSpawn(EndEntities.DRAGONFLY, 50, 1, 3)
|
||||||
.addMobSpawn(EndEntities.END_FISH, 50, 3, 8)
|
.addMobSpawn(EndEntities.END_FISH, 50, 3, 8)
|
||||||
|
.addMobSpawn(EndEntities.JELLO, 50, 3, 8)
|
||||||
.addMobSpawn(EntityType.ENDERMAN, 10, 1, 2));
|
.addMobSpawn(EntityType.ENDERMAN, 10, 1, 2));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -32,6 +32,7 @@ public class BiomeMegalakeGrove extends EndBiome {
|
||||||
.addFeature(EndFeatures.MENGER_SPONGE)
|
.addFeature(EndFeatures.MENGER_SPONGE)
|
||||||
.addMobSpawn(EndEntities.DRAGONFLY, 20, 1, 3)
|
.addMobSpawn(EndEntities.DRAGONFLY, 20, 1, 3)
|
||||||
.addMobSpawn(EndEntities.END_FISH, 20, 3, 8)
|
.addMobSpawn(EndEntities.END_FISH, 20, 3, 8)
|
||||||
|
.addMobSpawn(EndEntities.JELLO, 50, 3, 8)
|
||||||
.addMobSpawn(EntityType.ENDERMAN, 10, 1, 2));
|
.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