Files
Jurassic-Revived/common/src/main/java/net/cmr/jurassicrevived/CommonClientClass.java
T

169 lines
11 KiB
Java

package net.cmr.jurassicrevived;
import dev.architectury.registry.client.level.entity.EntityRendererRegistry;
import dev.architectury.registry.client.rendering.ColorHandlerRegistry;
import dev.architectury.registry.client.rendering.RenderTypeRegistry;
import dev.architectury.registry.menu.MenuRegistry;
import dev.architectury.registry.client.rendering.BlockEntityRendererRegistry;
import net.cmr.jurassicrevived.block.ModBlocks;
import net.cmr.jurassicrevived.block.entity.ModBlockEntities;
import net.cmr.jurassicrevived.block.renderer.TankBlockEntityRenderer;
import net.cmr.jurassicrevived.entity.ModEntities;
import net.cmr.jurassicrevived.entity.client.*;
import net.cmr.jurassicrevived.item.ModItems;
import net.cmr.jurassicrevived.screen.ModMenuTypes;
import net.cmr.jurassicrevived.screen.custom.*;
import net.cmr.jurassicrevived.sound.MachineHumSoundHandler;
import net.cmr.jurassicrevived.util.FenceClimbClientHandler;
import net.minecraft.client.renderer.RenderType;
import net.minecraft.client.renderer.entity.NoopRenderer;
import dev.architectury.event.events.common.LifecycleEvent;
import net.minecraft.world.item.Item;
import net.minecraft.world.item.SpawnEggItem;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.BushBlock;
import net.minecraft.world.level.block.FlowerBlock;
import net.minecraft.world.level.block.FlowerPotBlock;
public class CommonClientClass {
public static void init() {
// Initialize client-only systems
MachineHumSoundHandler.init();
FenceClimbClientHandler.register();
// Register Entity Renderers (Architectury handles suppliers here)
EntityRendererRegistry.register(ModEntities.SEAT, NoopRenderer::new);
EntityRendererRegistry.register(ModEntities.APATOSAURUS, ApatosaurusRenderer::new);
EntityRendererRegistry.register(ModEntities.ALBERTOSAURUS, AlbertosaurusRenderer::new);
EntityRendererRegistry.register(ModEntities.BARYONYX, BaryonyxRenderer::new);
EntityRendererRegistry.register(ModEntities.BRACHIOSAURUS, BrachiosaurusRenderer::new);
EntityRendererRegistry.register(ModEntities.CARNOTAURUS, CarnotaurusRenderer::new);
EntityRendererRegistry.register(ModEntities.CERATOSAURUS, CeratosaurusRenderer::new);
EntityRendererRegistry.register(ModEntities.COMPSOGNATHUS, CompsognathusRenderer::new);
EntityRendererRegistry.register(ModEntities.CONCAVENATOR, ConcavenatorRenderer::new);
EntityRendererRegistry.register(ModEntities.DEINONYCHUS, DeinonychusRenderer::new);
EntityRendererRegistry.register(ModEntities.DILOPHOSAURUS, DilophosaurusRenderer::new);
EntityRendererRegistry.register(ModEntities.DIPLODOCUS, DiplodocusRenderer::new);
EntityRendererRegistry.register(ModEntities.DISTORTUS_REX, DistortusRexRenderer::new);
EntityRendererRegistry.register(ModEntities.EDMONTOSAURUS, EdmontosaurusRenderer::new);
EntityRendererRegistry.register(ModEntities.FDUCK, FDuckRenderer::new);
EntityRendererRegistry.register(ModEntities.GALLIMIMUS, GallimimusRenderer::new);
EntityRendererRegistry.register(ModEntities.GIGANOTOSAURUS, GiganotosaurusRenderer::new);
EntityRendererRegistry.register(ModEntities.GUANLONG, GuanlongRenderer::new);
EntityRendererRegistry.register(ModEntities.HERRERASAURUS, HerrerasaurusRenderer::new);
EntityRendererRegistry.register(ModEntities.INDOMINUS_REX, IndominusRexRenderer::new);
EntityRendererRegistry.register(ModEntities.MAJUNGASAURUS, MajungasaurusRenderer::new);
EntityRendererRegistry.register(ModEntities.OURANOSAURUS, OuranosaurusRenderer::new);
EntityRendererRegistry.register(ModEntities.PARASAUROLOPHUS, ParasaurolophusRenderer::new);
EntityRendererRegistry.register(ModEntities.PROCOMPSOGNATHUS, ProcompsognathusRenderer::new);
EntityRendererRegistry.register(ModEntities.PROTOCERATOPS, ProtoceratopsRenderer::new);
EntityRendererRegistry.register(ModEntities.ARAMBOURGIANIA, ArambourgianiaRenderer::new);
EntityRendererRegistry.register(ModEntities.CEARADACTYLUS, CearadactylusRenderer::new);
EntityRendererRegistry.register(ModEntities.DIMORPHODON, DimorphodonRenderer::new);
EntityRendererRegistry.register(ModEntities.GEOSTERNBERGIA, GeosternbergiaRenderer::new);
EntityRendererRegistry.register(ModEntities.GUIDRACO, GuidracoRenderer::new);
EntityRendererRegistry.register(ModEntities.LUDODACTYLUS, LudodactylusRenderer::new);
EntityRendererRegistry.register(ModEntities.MOGANOPTERUS, MoganopterusRenderer::new);
EntityRendererRegistry.register(ModEntities.NYCTOSAURUS, NyctosaurusRenderer::new);
EntityRendererRegistry.register(ModEntities.PTERANODON, PteranodonRenderer::new);
EntityRendererRegistry.register(ModEntities.PTERODAUSTRO, PterodaustroRenderer::new);
EntityRendererRegistry.register(ModEntities.QUETZALCOATLUS, QuetzalcoatlusRenderer::new);
EntityRendererRegistry.register(ModEntities.TAPEJARA, TapejaraRenderer::new);
EntityRendererRegistry.register(ModEntities.TROPEOGNATHUS, TropeognathusRenderer::new);
EntityRendererRegistry.register(ModEntities.TUPUXUARA, TupuxuaraRenderer::new);
EntityRendererRegistry.register(ModEntities.ZHENYUANOPTERUS, ZhenyuanopterusRenderer::new);
EntityRendererRegistry.register(ModEntities.RUGOPS, RugopsRenderer::new);
EntityRendererRegistry.register(ModEntities.SHANTUNGOSAURUS, ShantungosaurusRenderer::new);
EntityRendererRegistry.register(ModEntities.SPINOSAURUS, SpinosaurusRenderer::new);
EntityRendererRegistry.register(ModEntities.STEGOSAURUS, StegosaurusRenderer::new);
EntityRendererRegistry.register(ModEntities.STYRACOSAURUS, StyracosaurusRenderer::new);
EntityRendererRegistry.register(ModEntities.THERIZINOSAURUS, TherizinosaurusRenderer::new);
EntityRendererRegistry.register(ModEntities.TRICERATOPS, TriceratopsRenderer::new);
EntityRendererRegistry.register(ModEntities.TYRANNOSAURUS_REX, TyrannosaurusRexRenderer::new);
EntityRendererRegistry.register(ModEntities.VELOCIRAPTOR, VelociraptorRenderer::new);
EntityRendererRegistry.register(ModEntities.CHICKENOSAURUS, ChickenosaurusRenderer::new);
EntityRendererRegistry.register(ModEntities.ALLOSAURUS, AllosaurusRenderer::new);
EntityRendererRegistry.register(ModEntities.ALVAREZSAURUS, AlvarezsaurusRenderer::new);
EntityRendererRegistry.register(ModEntities.ANKYLOSAURUS, AnkylosaurusRenderer::new);
EntityRendererRegistry.register(ModEntities.CARCHARODONTOSAURUS, CarcharodontosaurusRenderer::new);
EntityRendererRegistry.register(ModEntities.CHASMOSAURUS, ChasmosaurusRenderer::new);
EntityRendererRegistry.register(ModEntities.COELOPHYSIS, CoelophysisRenderer::new);
EntityRendererRegistry.register(ModEntities.COELURUS, CoelurusRenderer::new);
EntityRendererRegistry.register(ModEntities.CORYTHOSAURUS, CorythosaurusRenderer::new);
EntityRendererRegistry.register(ModEntities.DRYOSAURUS, DryosaurusRenderer::new);
EntityRendererRegistry.register(ModEntities.HADROSAURUS, HadrosaurusRenderer::new);
EntityRendererRegistry.register(ModEntities.HYPSILOPHODON, HypsilophodonRenderer::new);
EntityRendererRegistry.register(ModEntities.INDORAPTOR, IndoraptorRenderer::new);
EntityRendererRegistry.register(ModEntities.INOSTRANCEVIA, InostranceviaRenderer::new);
EntityRendererRegistry.register(ModEntities.LAMBEOSAURUS, LambeosaurusRenderer::new);
EntityRendererRegistry.register(ModEntities.MAMENCHISAURUS, MamenchisaurusRenderer::new);
EntityRendererRegistry.register(ModEntities.METRIACANTHOSAURUS, MetriacanthosaurusRenderer::new);
EntityRendererRegistry.register(ModEntities.ORNITHOLESTES, OrnitholestesRenderer::new);
EntityRendererRegistry.register(ModEntities.ORNITHOMIMUS, OrnithomimusRenderer::new);
EntityRendererRegistry.register(ModEntities.OVIRAPTOR, OviraptorRenderer::new);
EntityRendererRegistry.register(ModEntities.PACHYCEPHALOSAURUS, PachycephalosaurusRenderer::new);
EntityRendererRegistry.register(ModEntities.PROCERATOSAURUS, ProceratosaurusRenderer::new);
EntityRendererRegistry.register(ModEntities.RAJASAURUS, RajasaurusRenderer::new);
EntityRendererRegistry.register(ModEntities.SEGISAURUS, SegisaurusRenderer::new);
EntityRendererRegistry.register(ModEntities.TITANOSAURUS, TitanosaurusRenderer::new);
EntityRendererRegistry.register(ModEntities.TROODON, TroodonRenderer::new);
EntityRendererRegistry.register(ModEntities.UTAHRAPTOR, UtahraptorRenderer::new);
//? if <=1.20.1 {
LifecycleEvent.SETUP.register(() -> {
MenuRegistry.registerScreenFactory(ModMenuTypes.GENERATOR_MENU.get(), GeneratorScreen::new);
MenuRegistry.registerScreenFactory(ModMenuTypes.DNA_EXTRACTOR_MENU.get(), DNAExtractorScreen::new);
MenuRegistry.registerScreenFactory(ModMenuTypes.DNA_ANALYZER_MENU.get(), DNAAnalyzerScreen::new);
MenuRegistry.registerScreenFactory(ModMenuTypes.FOSSIL_GRINDER_MENU.get(), FossilGrinderScreen::new);
MenuRegistry.registerScreenFactory(ModMenuTypes.FOSSIL_CLEANER_MENU.get(), FossilCleanerScreen::new);
MenuRegistry.registerScreenFactory(ModMenuTypes.DNA_HYBRIDIZER_MENU.get(), DNAHybridizerScreen::new);
MenuRegistry.registerScreenFactory(ModMenuTypes.EMBRYONIC_MACHINE_MENU.get(), EmbryonicMachineScreen::new);
MenuRegistry.registerScreenFactory(ModMenuTypes.EMBRYO_CALCIFICATION_MACHINE_MENU.get(), EmbryoCalcificationMachineScreen::new);
MenuRegistry.registerScreenFactory(ModMenuTypes.INCUBATOR_MENU.get(), IncubatorScreen::new);
MenuRegistry.registerScreenFactory(ModMenuTypes.TANK_MENU.get(), TankScreen::new);
MenuRegistry.registerScreenFactory(ModMenuTypes.POWER_CELL_MENU.get(), PowerCellScreen::new);
MenuRegistry.registerScreenFactory(ModMenuTypes.WOOD_CRATE_MENU.get(), CrateScreen::new);
MenuRegistry.registerScreenFactory(ModMenuTypes.IRON_CRATE_MENU.get(), CrateScreen::new);
});
//?}
registerSpawnEggColors();
LifecycleEvent.SETUP.register(() -> {
BlockEntityRendererRegistry.register(ModBlockEntities.TANK_BE.get(), TankBlockEntityRenderer::new);
registerRenderTypes();
});
}
private static void registerSpawnEggColors() {
// Iterate through all items in your registry
ModItems.ITEMS.forEach(itemSupplier -> {
ColorHandlerRegistry.registerItemColors(
(stack, tintIndex) -> {
if (stack.getItem() instanceof SpawnEggItem egg) {
return egg.getColor(tintIndex) | 0xFF000000;
}
return 0xFFFFFFFF;
},
itemSupplier
);
});
}
private static void registerRenderTypes() {
// Add all your cross-model blocks here
RenderTypeRegistry.register(RenderType.cutout(),
ModBlocks.FLUID_PIPE.get(),
ModBlocks.POWER_PIPE.get(),
ModBlocks.ITEM_PIPE.get(),
ModBlocks.ROYAL_FERN.get(),
ModBlocks.HORSETAIL_FERN.get(),
ModBlocks.WESTERN_SWORD_FERN.get(),
ModBlocks.ONYCHIOPSIS.get(),
ModBlocks.POTTED_ROYAL_FERN.get(),
ModBlocks.POTTED_HORSETAIL_FERN.get(),
ModBlocks.POTTED_WESTERN_SWORD_FERN.get(),
ModBlocks.POTTED_ONYCHIOPSIS.get()
);
}
}