1+ package dev .spiritstudios .hollow ;
2+
3+ import dev .spiritstudios .hollow .block .HollowLogBlock ;
4+ import dev .spiritstudios .hollow .particle .FireflyJarParticle ;
5+ import dev .spiritstudios .hollow .registry .*;
6+ import dev .spiritstudios .hollow .render .entity .FireflyEntityRenderer ;
7+ import dev .spiritstudios .hollow .render .entity .JarBlockEntityRenderer ;
8+ import dev .spiritstudios .specter .api .ModMenuHelper ;
9+ import dev .spiritstudios .specter .api .core .util .ReflectionHelper ;
10+ import net .fabricmc .api .ClientModInitializer ;
11+ import net .fabricmc .fabric .api .blockrenderlayer .v1 .BlockRenderLayerMap ;
12+ import net .fabricmc .fabric .api .client .particle .v1 .ParticleFactoryRegistry ;
13+ import net .fabricmc .fabric .api .client .rendering .v1 .ColorProviderRegistry ;
14+ import net .fabricmc .fabric .api .client .rendering .v1 .EntityRendererRegistry ;
15+ import net .minecraft .client .item .ModelPredicateProviderRegistry ;
16+ import net .minecraft .client .render .RenderLayer ;
17+ import net .minecraft .client .render .block .entity .BlockEntityRendererFactories ;
18+ import net .minecraft .util .Identifier ;
19+
20+ public class HollowClient implements ClientModInitializer {
21+ @ Override
22+ public void onInitializeClient () {
23+ EntityRendererRegistry .register (HollowEntityTypeRegistrar .FIREFLY , FireflyEntityRenderer ::new );
24+
25+ ModelPredicateProviderRegistry .register (
26+ HollowItemRegistrar .COPPER_HORN ,
27+ Identifier .ofVanilla ("tooting" ),
28+ (stack , world , entity , seed ) -> entity != null && entity .isUsingItem () && entity .getActiveItem () == stack ? 1.0F : 0.0F
29+ );
30+
31+ BlockEntityRendererFactories .register (HollowBlockEntityRegistrar .JAR_BLOCK_ENTITY , JarBlockEntityRenderer ::new );
32+
33+ ColorProviderRegistry .BLOCK .register ((state , world , pos , tintIndex ) -> world != null && pos != null ? 0x208030 : 0x71C35C , HollowBlockRegistrar .LOTUS_LILYPAD );
34+ ColorProviderRegistry .ITEM .register ((stack , tintIndex ) -> tintIndex == 0 ? 0x71C35C : -1 , HollowItemRegistrar .LOTUS_LILYPAD );
35+
36+ ColorProviderRegistry .BLOCK .register ((state , world , pos , tintIndex ) -> world != null && pos != null ? 0x208030 : 0x71C35C , HollowBlockRegistrar .GIANT_LILYPAD );
37+ ColorProviderRegistry .ITEM .register ((stack , tintIndex ) -> tintIndex == 0 ? 0x71C35C : -1 , HollowItemRegistrar .GIANT_LILYPAD );
38+
39+ ParticleFactoryRegistry .getInstance ().register (HollowParticleRegistrar .FIREFLY_JAR , FireflyJarParticle .Factory ::new );
40+
41+ ModMenuHelper .addConfig (Hollow .MODID , HollowConfig .INSTANCE .getId ());
42+ }
43+ }
0 commit comments