Skip to content

Commit 2247449

Browse files
committed
feat: 0.4.0 release
1 parent 38378cb commit 2247449

39 files changed

+359
-200
lines changed

CHANGELOG.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,11 @@
1+
# 0.4.0
2+
## Features
3+
- Remove Iron Cow and Iron Milk
4+
- Heart cannot be eaten directly now, it has to be crafted into food
5+
- Add food: Neuro21 Doughnut, Melba Toast, Burnt Melba
6+
- Add entity: Giga Vedal, Miyune
7+
> Giga Vedal is spawned by striking Vedal with lightning
8+
19
# 0.3.0
210
## Features
311
- Add **Hiyori Boss**, which can be summoned by striking Hiyori with lightning. Hiyori Boss has 3 ultimate moves: summon **Swarm Drones**, summon **Gymbags**, and summon lightning bolts.

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,6 @@ see [CHANGELOG.md](./CHANGELOG.md).
1414

1515
This mod is based on [Architectury API](https://github.com/architectury/architectury-templates).
1616

17-
[UntitledDuckMod](https://github.com/Okabintaro/UntitledDuckMod) is an example, but it has too many deprecated code.
17+
[UntitledDuckMod](https://github.com/Okabintaro/UntitledDuckMod) is an example, but it has too many repetitive code.
1818

1919
[CoralReef](https://github.com/primetoxinz/CoralReef) is a better example.

common/src/main/java/jimenezli/neuro21/client/Neuro21ModClient.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,12 @@ public static void preInit() {
1818
EntityModelLayerRegistry.register(Neuro21ModelLayers.SWARM_DRONE, SwarmDroneModel::createBodyLayer);
1919

2020
EntityRendererRegistry.register(EntityHandler.VEDAL, VedalRenderer::new);
21+
EntityRendererRegistry.register(EntityHandler.GIGA_VEDAL, GigaVedalRenderer::new);
22+
EntityRendererRegistry.register(EntityHandler.MIYUNE, MiyuneRenderer::new);
2123
EntityRendererRegistry.register(EntityHandler.ANNY, AnnyRenderer::new);
2224
EntityRendererRegistry.register(EntityHandler.NEUROSAMA, NeurosamaRenderer::new);
2325
EntityRendererRegistry.register(EntityHandler.EVIL_NEUROSAMA, NeurosamaRenderer::new);
2426
EntityRendererRegistry.register(EntityHandler.HIYORI, NeurosamaRenderer::new);
25-
EntityRendererRegistry.register(EntityHandler.IRON_COW, IronCowRenderer::new);
2627
EntityRendererRegistry.register(EntityHandler.HIYORI_BOSS, HiyoriBossRenderer::new);
2728
EntityRendererRegistry.register(EntityHandler.GYMBAG, GymbagRenderer::new);
2829
EntityRendererRegistry.register(EntityHandler.SWARM_DRONE, SwarmDroneRenderer::new);
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
package jimenezli.neuro21.client.renderer.entity;
2+
3+
import jimenezli.neuro21.entity.GigaVedalEntity;
4+
import net.minecraft.client.model.HumanoidModel;
5+
import net.minecraft.client.model.PlayerModel;
6+
import net.minecraft.client.model.geom.ModelLayers;
7+
import net.minecraft.client.renderer.entity.EntityRendererProvider;
8+
import net.minecraft.client.renderer.entity.HumanoidMobRenderer;
9+
import net.minecraft.client.renderer.entity.layers.HumanoidArmorLayer;
10+
import net.minecraft.resources.ResourceLocation;
11+
12+
import static jimenezli.neuro21.Neuro21Mod.prefix;
13+
14+
public class GigaVedalRenderer extends HumanoidMobRenderer<GigaVedalEntity, PlayerModel<GigaVedalEntity>> {
15+
private static final ResourceLocation GIGA_VEDAL = prefix("textures/entity/giga_vedal.png");
16+
17+
public GigaVedalRenderer(EntityRendererProvider.Context context) {
18+
super(context, new PlayerModel<>(context.bakeLayer(ModelLayers.PLAYER), false), 0.5F);
19+
this.addLayer(new HumanoidArmorLayer<>(this, new HumanoidModel<>(context.bakeLayer(ModelLayers.PLAYER_INNER_ARMOR)), new HumanoidModel<>(context.bakeLayer(ModelLayers.PLAYER_OUTER_ARMOR))));
20+
}
21+
22+
@Override
23+
public ResourceLocation getTextureLocation(GigaVedalEntity gigaVedal) {
24+
return GIGA_VEDAL;
25+
}
26+
}

common/src/main/java/jimenezli/neuro21/client/renderer/entity/HiyoriBossRenderer.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ public class HiyoriBossRenderer extends HumanoidMobRenderer<HiyoriBossEntity, Pl
1818
private static final ResourceLocation HIYORI_BOSS = prefix("textures/entity/hiyori_boss.png");
1919

2020
public HiyoriBossRenderer(EntityRendererProvider.Context context) {
21-
super(context, new NeurosamaModel<>(context.bakeLayer(ModelLayers.PLAYER_SLIM), true), 0.5F);
21+
super(context, new PlayerModel<>(context.bakeLayer(ModelLayers.PLAYER_SLIM), true), 0.5F);
2222
this.addLayer(new HumanoidArmorLayer<>(this, new HumanoidModel<>(context.bakeLayer(ModelLayers.PLAYER_SLIM_INNER_ARMOR)), new HumanoidModel<>(context.bakeLayer(ModelLayers.PLAYER_SLIM_OUTER_ARMOR))));
2323
}
2424

common/src/main/java/jimenezli/neuro21/client/renderer/entity/IronCowRenderer.java

Lines changed: 0 additions & 20 deletions
This file was deleted.
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
package jimenezli.neuro21.client.renderer.entity;
2+
3+
import jimenezli.neuro21.entity.MiyuneEntity;
4+
import net.minecraft.client.model.HumanoidModel;
5+
import net.minecraft.client.model.PlayerModel;
6+
import net.minecraft.client.model.geom.ModelLayers;
7+
import net.minecraft.client.renderer.entity.EntityRendererProvider;
8+
import net.minecraft.client.renderer.entity.HumanoidMobRenderer;
9+
import net.minecraft.client.renderer.entity.layers.HumanoidArmorLayer;
10+
import net.minecraft.resources.ResourceLocation;
11+
12+
import static jimenezli.neuro21.Neuro21Mod.prefix;
13+
14+
public class MiyuneRenderer extends HumanoidMobRenderer<MiyuneEntity, PlayerModel<MiyuneEntity>> {
15+
private static final ResourceLocation MIYUNE = prefix("textures/entity/miyune.png");
16+
17+
public MiyuneRenderer(EntityRendererProvider.Context context) {
18+
super(context, new PlayerModel<>(context.bakeLayer(ModelLayers.PLAYER_SLIM), true), 0.5F);
19+
this.addLayer(new HumanoidArmorLayer<>(this, new HumanoidModel<>(context.bakeLayer(ModelLayers.PLAYER_SLIM_INNER_ARMOR)), new HumanoidModel<>(context.bakeLayer(ModelLayers.PLAYER_SLIM_OUTER_ARMOR))));
20+
}
21+
22+
@Override
23+
public ResourceLocation getTextureLocation(MiyuneEntity miyune) {
24+
return MIYUNE;
25+
}
26+
}

common/src/main/java/jimenezli/neuro21/entity/AnnyEntity.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@ public void addAdditionalSaveData(CompoundTag compoundTag) {
114114
}
115115

116116
public boolean canMate(Animal animal) {
117-
if (animal.getClass() != VedalEntity.class) {
117+
if (!(animal instanceof VedalEntity)) {
118118
return false;
119119
} else {
120120
return this.isInLove() && animal.isInLove();
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
package jimenezli.neuro21.entity;
2+
3+
import net.minecraft.world.entity.EntityType;
4+
import net.minecraft.world.entity.Mob;
5+
import net.minecraft.world.entity.ai.attributes.AttributeSupplier;
6+
import net.minecraft.world.entity.ai.attributes.Attributes;
7+
import net.minecraft.world.level.Level;
8+
9+
public class GigaVedalEntity extends VedalEntity {
10+
public GigaVedalEntity(EntityType<? extends VedalEntity> entityType, Level level) {
11+
super(entityType, level);
12+
}
13+
14+
public static AttributeSupplier.Builder createAttributes() {
15+
return Mob.createMobAttributes().add(Attributes.ATTACK_DAMAGE, 2.0D).add(Attributes.MOVEMENT_SPEED, 0.3).add(Attributes.MAX_HEALTH, 20.0);
16+
}
17+
18+
public void tick() {
19+
super.tick();
20+
this.setSpeed(0.3f);
21+
}
22+
}

common/src/main/java/jimenezli/neuro21/entity/IronCowEntity.java

Lines changed: 0 additions & 108 deletions
This file was deleted.

0 commit comments

Comments
 (0)