-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Christmas Hats, Snow blocks, misc. tweaks
- Loading branch information
1 parent
b10f057
commit cf89e0b
Showing
53 changed files
with
952 additions
and
78 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
50 changes: 50 additions & 0 deletions
50
src/main/java/com/starfish_studios/seasons_greetings/client/model/ChristmasHatModel.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,50 @@ | ||
package com.starfish_studios.seasons_greetings.client.model; | ||
|
||
import com.starfish_studios.seasons_greetings.SeasonsGreetings; | ||
import com.starfish_studios.seasons_greetings.item.ChristmasHatItem; | ||
import net.minecraft.resources.ResourceLocation; | ||
import net.minecraft.util.Mth; | ||
import net.minecraft.world.entity.Entity; | ||
import net.minecraft.world.entity.player.Player; | ||
import software.bernie.geckolib.animation.AnimationState; | ||
import software.bernie.geckolib.cache.object.GeoBone; | ||
import software.bernie.geckolib.constant.DataTickets; | ||
import software.bernie.geckolib.model.GeoModel; | ||
|
||
public class ChristmasHatModel extends GeoModel<ChristmasHatItem> { | ||
|
||
@Override | ||
public ResourceLocation getModelResource(ChristmasHatItem enchantmentRobeItem) { | ||
return SeasonsGreetings.id("geo/armor/christmas_hat.geo.json"); | ||
} | ||
|
||
@Override | ||
public ResourceLocation getTextureResource(ChristmasHatItem enchantmentRobeItem) { | ||
return SeasonsGreetings.id("textures/models/armor/christmas_hat.png"); | ||
} | ||
|
||
@Override | ||
public ResourceLocation getAnimationResource(ChristmasHatItem enchantmentRobeItem) { | ||
return SeasonsGreetings.id("animations/christmas_hat.animation.json"); | ||
} | ||
|
||
@Override | ||
public void setCustomAnimations(ChristmasHatItem animatable, long instanceId, AnimationState<ChristmasHatItem> animationState) { | ||
|
||
super.setCustomAnimations(animatable, instanceId, animationState); | ||
if (animationState == null) return; | ||
|
||
GeoBone hatTip = this.getAnimationProcessor().getBone("poof"); | ||
GeoBone hatBase = this.getAnimationProcessor().getBone("root"); | ||
|
||
Entity entity = animationState.getData(DataTickets.ENTITY); | ||
|
||
if (entity instanceof Player playerEntity) { | ||
hatBase.setRotX(Mth.lerp(animationState.getPartialTick(), playerEntity.oBob, playerEntity.bob) * -0.25F); | ||
|
||
hatTip.setRotX((Mth.lerp(animationState.getPartialTick(), playerEntity.oBob, playerEntity.bob) * -2F) | ||
+ (float) (Mth.lerp(animationState.getPartialTick(), playerEntity.yCloakO, playerEntity.yCloak) | ||
- Mth.lerp(animationState.getPartialTick(), playerEntity.yo, playerEntity.getY())) / -4); | ||
} | ||
} | ||
} |
34 changes: 34 additions & 0 deletions
34
...ain/java/com/starfish_studios/seasons_greetings/client/renderer/ChristmasHatRenderer.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
package com.starfish_studios.seasons_greetings.client.renderer; | ||
|
||
import com.starfish_studios.seasons_greetings.client.model.ChristmasHatModel; | ||
import com.starfish_studios.seasons_greetings.client.renderer.layers.ChristmasHatOverlay; | ||
import com.starfish_studios.seasons_greetings.item.ChristmasHatItem; | ||
import net.minecraft.world.entity.Entity; | ||
import org.jetbrains.annotations.NotNull; | ||
import software.bernie.geckolib.cache.object.GeoBone; | ||
import software.bernie.geckolib.renderer.specialty.DyeableGeoArmorRenderer; | ||
import software.bernie.geckolib.util.Color; | ||
|
||
public class ChristmasHatRenderer extends DyeableGeoArmorRenderer<ChristmasHatItem> { | ||
|
||
public ChristmasHatRenderer() { | ||
super(new ChristmasHatModel()); | ||
this.addRenderLayer(new ChristmasHatOverlay(this)); | ||
} | ||
|
||
@Override | ||
protected boolean isBoneDyeable(GeoBone geoBone) { | ||
return true; | ||
} | ||
|
||
@Override | ||
protected @NotNull Color getColorForBone(GeoBone bone) { | ||
return Color.WHITE; | ||
} | ||
|
||
@Override | ||
public void setupAnim(Entity entity, float f, float g, float h, float i, float j) { | ||
|
||
|
||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
29 changes: 29 additions & 0 deletions
29
...va/com/starfish_studios/seasons_greetings/client/renderer/layers/ChristmasHatOverlay.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
package com.starfish_studios.seasons_greetings.client.renderer.layers; | ||
|
||
import com.mojang.blaze3d.vertex.PoseStack; | ||
import com.mojang.blaze3d.vertex.VertexConsumer; | ||
import com.starfish_studios.seasons_greetings.SeasonsGreetings; | ||
import com.starfish_studios.seasons_greetings.item.ChristmasHatItem; | ||
import net.minecraft.client.renderer.MultiBufferSource; | ||
import net.minecraft.client.renderer.RenderType; | ||
import net.minecraft.resources.ResourceLocation; | ||
import org.jetbrains.annotations.Nullable; | ||
import software.bernie.geckolib.cache.object.BakedGeoModel; | ||
import software.bernie.geckolib.renderer.GeoRenderer; | ||
import software.bernie.geckolib.renderer.layer.GeoRenderLayer; | ||
import software.bernie.geckolib.util.Color; | ||
|
||
public class ChristmasHatOverlay extends GeoRenderLayer<ChristmasHatItem> { | ||
private static final ResourceLocation TEXTURE = SeasonsGreetings.id("textures/models/armor/christmas_hat_overlay.png"); | ||
|
||
public ChristmasHatOverlay(GeoRenderer<ChristmasHatItem> entityRenderer) { | ||
super(entityRenderer); | ||
} | ||
|
||
@Override | ||
public void render(PoseStack poseStack, ChristmasHatItem animatable, BakedGeoModel bakedModel, @Nullable RenderType renderType, MultiBufferSource bufferSource, @Nullable VertexConsumer buffer, float partialTick, int packedLight, int packedOverlay) { | ||
RenderType armorRenderType = RenderType.armorCutoutNoCull(TEXTURE); | ||
getRenderer().reRender(bakedModel, poseStack, bufferSource, animatable, armorRenderType, | ||
bufferSource.getBuffer(armorRenderType), partialTick, packedLight, packedOverlay, Color.WHITE.argbInt()); | ||
} | ||
} |
Oops, something went wrong.