Skip to content

Commit 945df6d

Browse files
committed
ichorium crown
1 parent 39e1037 commit 945df6d

File tree

7 files changed

+150
-0
lines changed

7 files changed

+150
-0
lines changed

Diff for: src/main/kotlin/dev/sterner/VoidBoundClient.kt

+4
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,15 @@ import dev.emi.trinkets.api.client.TrinketRendererRegistry
55
import dev.sterner.VoidBound.id
66
import dev.sterner.client.VoidBoundModelLoaderPlugin
77
import dev.sterner.client.renderer.HallowedMonocleRenderer
8+
import dev.sterner.client.renderer.IchoriumCircletRenderer
89
import dev.sterner.client.renderer.WandItemRenderer
910
import dev.sterner.client.screen.OsmoticEnchanterScreen
1011
import dev.sterner.common.ItemAbilityHandler
1112
import dev.sterner.registry.*
1213
import net.fabricmc.api.ClientModInitializer
1314
import net.fabricmc.fabric.api.blockrenderlayer.v1.BlockRenderLayerMap
1415
import net.fabricmc.fabric.api.client.model.loading.v1.ModelLoadingPlugin
16+
import net.fabricmc.fabric.api.client.rendering.v1.ArmorRenderer
1517
import net.fabricmc.fabric.api.client.rendering.v1.BuiltinItemRendererRegistry
1618
import net.minecraft.client.gui.screens.MenuScreens
1719
import net.minecraft.client.renderer.RenderType
@@ -61,6 +63,8 @@ object VoidBoundClient : ClientModInitializer {
6163
VoidBoundBlockRegistry.OSMOTIC_ENCHANTER.get()
6264
)
6365

66+
ArmorRenderer.register(IchoriumCircletRenderer(), VoidBoundItemRegistry.ICHORIUM_CIRCLET.get())
67+
6468
ModelLoadingPlugin.register(VoidBoundModelLoaderPlugin)
6569

6670
MenuScreens.register(VoidBoundMenuTypeRegistry.OSMOTIC_ENCHANTER.get(), ::OsmoticEnchanterScreen)
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
package dev.sterner.client.renderer
2+
3+
import com.mojang.blaze3d.vertex.PoseStack
4+
import com.sammy.malum.common.item.curiosities.armor.MalumArmorItem
5+
import dev.sterner.registry.VoidBoundBlockRegistry
6+
import net.fabricmc.fabric.api.client.rendering.v1.ArmorRenderer
7+
import net.minecraft.client.Minecraft
8+
import net.minecraft.client.model.HumanoidModel
9+
import net.minecraft.client.renderer.MultiBufferSource
10+
import net.minecraft.client.renderer.texture.OverlayTexture
11+
import net.minecraft.world.entity.EquipmentSlot
12+
import net.minecraft.world.entity.LivingEntity
13+
import net.minecraft.world.item.ItemStack
14+
15+
class IchoriumCircletRenderer : ArmorRenderer {
16+
17+
override fun render(
18+
matrices: PoseStack,
19+
vertexConsumers: MultiBufferSource,
20+
stack: ItemStack,
21+
entity: LivingEntity,
22+
slot: EquipmentSlot?,
23+
light: Int,
24+
contextModel: HumanoidModel<LivingEntity>?
25+
) {
26+
if (slot == EquipmentSlot.HEAD) {
27+
val state = VoidBoundBlockRegistry.ICHORIUM_CIRCLET.get().defaultBlockState()
28+
Minecraft.getInstance().blockRenderer.renderSingleBlock(state, matrices, vertexConsumers, light, OverlayTexture.NO_OVERLAY)
29+
}
30+
}
31+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
package dev.sterner.common.block
2+
3+
import net.minecraft.world.level.block.Block
4+
5+
class IchoriumCircletBlock(properties: Properties) : Block(properties) {
6+
}

Diff for: src/main/kotlin/dev/sterner/registry/VoidBoundBlockRegistry.kt

+6
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,12 @@ object VoidBoundBlockRegistry {
7575
TearBlock(TearBlock.Type.BRIMSTONE, FabricBlockSettings.create().noOcclusion())
7676
}
7777

78+
var ICHORIUM_CIRCLET: RegistryObject<IchoriumCircletBlock> = BLOCKS.register("ichorium_circlet") {
79+
IchoriumCircletBlock(FabricBlockSettings.create().noOcclusion())
80+
}
81+
82+
83+
7884
val ELDRITCH_OBELISK: RegistryObject<EldritchObeliskBlock> = BLOCKS.register(
7985
"eldritch_obelisk"
8086
) {
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
{
2+
"variants": {
3+
"": {
4+
"model": "voidbound:block/ichorium_circlet"
5+
}
6+
}
7+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,96 @@
1+
{
2+
"credit": "Made with Blockbench",
3+
"texture_size": [32, 32],
4+
"textures": {
5+
"0": "voidbound:block/circlet",
6+
"particle": "voidbound:block/circlet"
7+
},
8+
"elements": [
9+
{
10+
"name": "crown",
11+
"from": [3.25, -0.25, 3.25],
12+
"to": [12.75, 9.25, 12.75],
13+
"rotation": {"angle": 0, "axis": "y", "origin": [3.5, 0, 3.5]},
14+
"faces": {
15+
"north": {"uv": [0, 0, 4.5, 4.5], "texture": "#0"},
16+
"east": {"uv": [9, 0, 4.5, 4.5], "texture": "#0"},
17+
"south": {"uv": [9, 0, 13.5, 4.5], "texture": "#0"},
18+
"west": {"uv": [4.5, 0, 9, 4.5], "texture": "#0"}
19+
}
20+
},
21+
{
22+
"name": "inverse spikes",
23+
"from": [12.5, 9, 12.5],
24+
"to": [3.5, 0, 3.5],
25+
"rotation": {"angle": 0, "axis": "y", "origin": [3.5, 0, 3.5]},
26+
"faces": {
27+
"north": {"uv": [13.5, 13.5, 9, 9], "texture": "#0"},
28+
"east": {"uv": [4.5, 13.5, 9, 9], "texture": "#0"},
29+
"south": {"uv": [4.5, 13.5, 0, 9], "texture": "#0"},
30+
"west": {"uv": [9, 13.5, 4.5, 9], "texture": "#0"}
31+
}
32+
},
33+
{
34+
"name": "spikes",
35+
"from": [3.5, 0, 3.5],
36+
"to": [12.5, 9, 12.5],
37+
"rotation": {"angle": 0, "axis": "y", "origin": [3.5, 0, 3.5]},
38+
"faces": {
39+
"north": {"uv": [0, 9, 4.5, 13.5], "texture": "#0"},
40+
"east": {"uv": [9, 9, 4.5, 13.5], "texture": "#0"},
41+
"south": {"uv": [9, 9, 13.5, 13.5], "texture": "#0"},
42+
"west": {"uv": [4.5, 9, 9, 13.5], "texture": "#0"}
43+
}
44+
},
45+
{
46+
"name": "inverse 2nd layer",
47+
"from": [13, 9.5, 13],
48+
"to": [3, -0.5, 3],
49+
"rotation": {"angle": 0, "axis": "y", "origin": [3.5, 0, 3.5]},
50+
"faces": {
51+
"north": {"uv": [13.5, 9, 9, 4.5], "texture": "#0"},
52+
"east": {"uv": [4.5, 9, 9, 4.5], "texture": "#0"},
53+
"south": {"uv": [4.5, 9, 0, 4.5], "texture": "#0"},
54+
"west": {"uv": [9, 9, 4.5, 4.5], "texture": "#0"}
55+
}
56+
},
57+
{
58+
"name": "2nd layer",
59+
"from": [3, -0.5, 3],
60+
"to": [13, 9.5, 13],
61+
"rotation": {"angle": 0, "axis": "y", "origin": [3.5, 0, 3.5]},
62+
"faces": {
63+
"north": {"uv": [0, 4.5, 4.5, 9], "texture": "#0"},
64+
"east": {"uv": [9, 4.5, 4.5, 9], "texture": "#0"},
65+
"south": {"uv": [9, 4.5, 13.5, 9], "texture": "#0"},
66+
"west": {"uv": [4.5, 4.5, 9, 9], "texture": "#0"}
67+
}
68+
},
69+
{
70+
"name": "inverse crown",
71+
"from": [12.75, 9.25, 12.75],
72+
"to": [3.25, -0.25, 3.25],
73+
"rotation": {"angle": 0, "axis": "y", "origin": [3.5, 0, 3.5]},
74+
"faces": {
75+
"north": {"uv": [13.5, 4.5, 9, 0], "texture": "#0"},
76+
"east": {"uv": [4.5, 4.5, 9, 0], "texture": "#0"},
77+
"south": {"uv": [4.5, 4.5, 0, 0], "texture": "#0"},
78+
"west": {"uv": [9, 4.5, 4.5, 0], "texture": "#0"}
79+
}
80+
}
81+
],
82+
"display": {
83+
"head": {
84+
"translation": [-0.75, 12.5, 0],
85+
"scale": [1.67, 1.67, 1.67]
86+
}
87+
},
88+
"groups": [
89+
{
90+
"name": "group",
91+
"origin": [8, 8, 8],
92+
"color": 0,
93+
"children": [0, 1, 2, 3, 4, 5]
94+
}
95+
]
96+
}
467 Bytes
Loading

0 commit comments

Comments
 (0)