Skip to content

Commit d452a99

Browse files
committed
Add tropical fish renderer
1 parent edddc4f commit d452a99

File tree

5 files changed

+62
-3
lines changed

5 files changed

+62
-3
lines changed

core/src/main/java/de/bluecolored/bluemap/core/map/hires/entity/EntityRendererType.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ public interface EntityRendererType extends Keyed, EntityRendererFactory {
4545
EntityRendererType CHICKEN = new Impl(Key.minecraft("chicken"), ChickenRenderer::new);
4646
EntityRendererType FOX = new Impl(Key.minecraft("fox"), FoxRenderer::new);
4747
EntityRendererType PIG = new Impl(Key.minecraft("pig"), PigRenderer::new);
48+
EntityRendererType TROPICAL_FISH = new Impl(Key.minecraft("tropical_fish"), TropicalFishRenderer::new);
4849

4950
Registry<EntityRendererType> REGISTRY = new Registry<>(
5051
DEFAULT,
@@ -55,7 +56,8 @@ public interface EntityRendererType extends Keyed, EntityRendererFactory {
5556
OCELOT,
5657
CHICKEN,
5758
FOX,
58-
PIG
59+
PIG,
60+
TROPICAL_FISH
5961
);
6062

6163
/**
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
package de.bluecolored.bluemap.core.map.hires.entity;
2+
3+
import de.bluecolored.bluemap.core.map.TextureGallery;
4+
import de.bluecolored.bluemap.core.map.hires.RenderSettings;
5+
import de.bluecolored.bluemap.core.map.hires.TileModelView;
6+
import de.bluecolored.bluemap.core.resources.ResourcePath;
7+
import de.bluecolored.bluemap.core.resources.pack.resourcepack.ResourcePack;
8+
import de.bluecolored.bluemap.core.resources.pack.resourcepack.entitystate.Part;
9+
import de.bluecolored.bluemap.core.resources.pack.resourcepack.model.Model;
10+
import de.bluecolored.bluemap.core.util.Key;
11+
import de.bluecolored.bluemap.core.world.Entity;
12+
import de.bluecolored.bluemap.core.world.block.BlockNeighborhood;
13+
import de.bluecolored.bluemap.core.world.mca.entity.TropicalFish;
14+
15+
public class TropicalFishRenderer extends ResourceModelRenderer {
16+
17+
private final ResourcePath<Model>
18+
TROPICAL_FISH = new ResourcePath<>(Key.MINECRAFT_NAMESPACE, "entity/tropical_fish/tropical_fish");
19+
20+
public TropicalFishRenderer(ResourcePack resourcePack, TextureGallery textureGallery, RenderSettings renderSettings) {
21+
super(resourcePack, textureGallery, renderSettings);
22+
}
23+
24+
@Override
25+
public void render(Entity entity, BlockNeighborhood block, Part part, TileModelView tileModel) {
26+
if (!(entity instanceof TropicalFish tropicalFish)) return;
27+
28+
// choose correct model
29+
ResourcePath<Model> model = TROPICAL_FISH;
30+
31+
// render chosen model
32+
super.render(entity, block, model.getResource(resourcePack::getModel), TintColorProvider.NO_TINT, tileModel);
33+
34+
// apply part transform
35+
if (part.isTransformed())
36+
tileModel.transform(part.getTransformMatrix());
37+
}
38+
39+
}

core/src/main/java/de/bluecolored/bluemap/core/world/mca/entity/EntityType.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ public interface EntityType extends Keyed {
4040
EntityType CHICKEN = new Impl(Key.minecraft("chicken"), AgeEntity.class);
4141
EntityType FOX = new Impl(Key.minecraft("fox"), Fox.class);
4242
EntityType PIG = new Impl(Key.minecraft("pig"), Pig.class);
43+
EntityType TROPICAL_FISH = new Impl(Key.minecraft("tropical_fish"), TropicalFish.class);
4344

4445
Registry<EntityType> REGISTRY = new Registry<>(
4546
LLAMA,
@@ -48,7 +49,8 @@ public interface EntityType extends Keyed {
4849
OCELOT,
4950
CHICKEN,
5051
FOX,
51-
PIG
52+
PIG,
53+
TROPICAL_FISH
5254
);
5355

5456
Class<? extends Entity> getEntityClass();
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
package de.bluecolored.bluemap.core.world.mca.entity;
2+
3+
import de.bluecolored.bluenbt.NBTName;
4+
import lombok.EqualsAndHashCode;
5+
import lombok.Getter;
6+
import lombok.ToString;
7+
8+
@Getter
9+
@EqualsAndHashCode(callSuper = true)
10+
@ToString
11+
@SuppressWarnings("FieldMayBeFinal")
12+
public class TropicalFish extends MCAEntity {
13+
14+
@NBTName("Variant") int variant;
15+
16+
}
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
22
"parts": [
3-
{ "model": "minecraft:entity/tropical_fish/tropical_fish" }
3+
{ "renderer": "minecraft:tropical_fish" }
44
]
55
}

0 commit comments

Comments
 (0)