Advertisement
Guest User

Real Code, I think

a guest
Jul 22nd, 2017
157
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.19 KB | None | 0 0
  1. package com.brogolem35.BetterCraft.potion;
  2.  
  3. import java.util.Set;
  4.  
  5. import javax.annotation.Nullable;
  6.  
  7. import com.brogolem35.BetterCraft.BetterCraft;
  8. import com.brogolem35.BetterCraft.Reference;
  9. import com.google.common.collect.Sets;
  10.  
  11. import net.minecraft.init.Bootstrap;
  12. import net.minecraft.potion.PotionEffect;
  13. import net.minecraft.potion.PotionType;
  14. import net.minecraft.util.ResourceLocation;
  15. import net.minecraftforge.event.RegistryEvent;
  16. import net.minecraftforge.fml.common.Mod;
  17. import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
  18. import net.minecraftforge.fml.common.registry.GameRegistry.ObjectHolder;
  19. import net.minecraftforge.fml.common.registry.IForgeRegistryEntry;
  20. import net.minecraft.init.PotionTypes;
  21.  
  22. @ObjectHolder(Reference.MOD_ID)
  23. public class ModPotionTypes{
  24.    
  25.     public static final PotionType LIQUIDFIRE;
  26.    
  27.     static {
  28.        
  29.         final int LFDURATION = 2;
  30.         final int HELPFUL_DURATION_STANDARD = 3600;
  31.         final int HELPFUL_DURATION_LONG = 9600;
  32.         final int HELPFUL_DURATION_STRONG = 1800;
  33.  
  34.         final int HARMFUL_DURATION_STANDARD = 1800;
  35.         final int HARMFUL_DURATION_LONG = 4800;
  36.         final int HARMFUL_DURATION_STRONG = 900;
  37.  
  38.         LIQUIDFIRE = createPotionType(new PotionEffect(BetterCraft.LiquidFire, LFDURATION));
  39.  
  40.     }
  41.  
  42.     private static PotionType createPotionType(final PotionEffect potionEffect) {
  43.         return createPotionType(potionEffect, null);
  44.     }
  45.  
  46.     private static PotionType createPotionType(final PotionEffect potionEffect, @Nullable final String namePrefix) {
  47.         final ResourceLocation potionName = potionEffect.getPotion().getRegistryName();
  48.  
  49.         final ResourceLocation potionTypeName;
  50.         if (namePrefix != null) {
  51.             potionTypeName = new ResourceLocation(potionName.getResourceDomain(), namePrefix + potionName.getResourcePath());
  52.         } else {
  53.             potionTypeName = potionName;
  54.         }
  55.  
  56.         return new PotionType(potionName.toString(), potionEffect).setRegistryName(potionTypeName);
  57.     }
  58.  
  59.     @Mod.EventBusSubscriber(modid = Reference.MOD_ID)
  60.     public static class RegistrationHandler {
  61.        
  62.         @SubscribeEvent
  63.         public static void registerPotionTypes(final RegistryEvent.Register<PotionType> event) {
  64.             event.getRegistry().registerAll(
  65.                     LIQUIDFIRE
  66.             );
  67.         }
  68.     }
  69.    
  70. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement