TheOnlyTails

Main class

Oct 4th, 2020
155
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.36 KB | None | 0 0
  1. package com.theonlytails.ruby;
  2.  
  3. import com.theonlytails.ruby.client.gui.RubyBarrelScreen;
  4. import com.theonlytails.ruby.client.render.RubySheepRenderer;
  5. import com.theonlytails.ruby.entities.RubySheepEntity;
  6. import com.theonlytails.ruby.init.*;
  7. import net.minecraft.block.ComposterBlock;
  8. import net.minecraft.client.gui.ScreenManager;
  9. import net.minecraft.client.renderer.RenderType;
  10. import net.minecraft.client.renderer.RenderTypeLookup;
  11. import net.minecraft.entity.ai.attributes.GlobalEntityTypeAttributes;
  12. import net.minecraft.fluid.Fluid;
  13. import net.minecraft.item.ItemGroup;
  14. import net.minecraft.item.ItemStack;
  15. import net.minecraft.world.biome.Biome;
  16. import net.minecraftforge.common.MinecraftForge;
  17. import net.minecraftforge.event.RegistryEvent;
  18. import net.minecraftforge.eventbus.api.SubscribeEvent;
  19. import net.minecraftforge.fml.DeferredWorkQueue;
  20. import net.minecraftforge.fml.RegistryObject;
  21. import net.minecraftforge.fml.client.registry.RenderingRegistry;
  22. import net.minecraftforge.fml.common.Mod;
  23. import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent;
  24. import net.minecraftforge.fml.event.lifecycle.FMLCommonSetupEvent;
  25. import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext;
  26. import org.apache.logging.log4j.LogManager;
  27. import org.apache.logging.log4j.Logger;
  28.  
  29. @SuppressWarnings({"deprecation", "RedundantSuppression", "unused"})
  30. @Mod.EventBusSubscriber(modid = TheOnlyTails.MOD_ID, bus = Mod.EventBusSubscriber.Bus.MOD)
  31. @Mod("ruby")
  32. public class TheOnlyTails {
  33.     public static final String MOD_ID = "ruby";
  34.  
  35.     public static final ItemGroup RUBY = new ItemGroup("rubyTab") {
  36.         @Override
  37.         public ItemStack createIcon() {
  38.             return new ItemStack(ItemsRegistry.RUBY.get());
  39.         }
  40.     };
  41.  
  42.     private static final Logger LOGGER = LogManager.getLogger();
  43.  
  44.     public TheOnlyTails() {
  45.  
  46.         FMLJavaModLoadingContext.get().getModEventBus().addListener(this::setup);
  47.         FMLJavaModLoadingContext.get().getModEventBus().addListener(this::doClientStuff);
  48.  
  49.         EntityTypesRegistry.init();
  50.         BiomesRegistry.init();
  51.         FluidsRegistry.init();
  52.         TileEntityTypesRegistry.init();
  53.         ContainersRegistry.init();
  54.         EnchantRegistry.init();
  55.         BlocksRegistry.init();
  56.         ItemsRegistry.init();
  57.         ToolsRegistry.init();
  58.         ArmorRegistry.init();
  59.  
  60.         MinecraftForge.EVENT_BUS.register(this);
  61.     }
  62.  
  63.     @SubscribeEvent
  64.     public static void onRegisterBiomes(final RegistryEvent.Register<Biome> event) {
  65.         BiomesRegistry.registerBiomes();
  66.     }
  67.  
  68.     private void setup(final FMLCommonSetupEvent event) {
  69.         DeferredWorkQueue.runLater(() -> GlobalEntityTypeAttributes.put(EntityTypesRegistry.RUBY_SHEEP.get(), RubySheepEntity.setCustomAttributes().create()));
  70.  
  71.         ComposterBlock.CHANCES.put(ItemsRegistry.POISONED_APPLE.get().asItem(), 0.3f);
  72.  
  73.         for (RegistryObject<Fluid> fluid : FluidsRegistry.FLUIDS.getEntries()) {
  74.             RenderTypeLookup.setRenderLayer(fluid.get(), RenderType.getTranslucent());
  75.         }
  76.     }
  77.  
  78.     private void doClientStuff(final FMLClientSetupEvent event) {
  79.         ScreenManager.registerFactory(
  80.                 ContainersRegistry.RUBY_BARREL.get(), RubyBarrelScreen::new);
  81.  
  82.         RenderingRegistry.registerEntityRenderingHandler(EntityTypesRegistry.RUBY_SHEEP.get(), RubySheepRenderer::new);
  83.     }
  84. }
  85.  
Advertisement
Add Comment
Please, Sign In to add comment