Advertisement
Mowmaster

fluids

Mar 1st, 2017
120
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 8.20 KB | None | 0 0
  1.  
  2. http://www.minecraftforge.net/forum/topic/37184-19solved-problem-with-fluids/
  3.  
  4.  
  5.  
  6.  
  7. package com.mineworld.fluids;
  8.  
  9. import com.mineworld.MW;
  10.  
  11. import net.minecraft.block.material.Material;
  12. import net.minecraft.block.state.IBlockState;
  13. import net.minecraft.client.renderer.ItemMeshDefinition;
  14. import net.minecraft.client.renderer.block.model.ModelBakery;
  15. import net.minecraft.client.renderer.block.model.ModelResourceLocation;
  16. import net.minecraft.client.renderer.block.statemap.StateMapperBase;
  17. import net.minecraft.item.Item;
  18. import net.minecraft.item.ItemStack;
  19. import net.minecraft.util.EnumBlockRenderType;
  20. import net.minecraft.util.ResourceLocation;
  21. import net.minecraft.util.math.AxisAlignedBB;
  22. import net.minecraft.util.math.BlockPos;
  23. import net.minecraft.world.World;
  24. import net.minecraftforge.client.model.ModelLoader;
  25. import net.minecraftforge.fluids.BlockFluidClassic;
  26. import net.minecraftforge.fluids.Fluid;
  27. import net.minecraftforge.fluids.FluidRegistry;
  28. import net.minecraftforge.fml.common.Mod.EventHandler;
  29. import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
  30. import net.minecraftforge.fml.common.registry.GameRegistry;
  31.  
  32. public class MWFluids
  33. {
  34.     private static ModelResourceLocation corruptedfluidLocation = new ModelResourceLocation(MW.MODID + ":" + CorruptedFluidBlock.name, "fluid");
  35.     private static ModelResourceLocation sacredfluidLocation = new ModelResourceLocation(MW.MODID + ":" + SacredFluidBlock.name, "fluid");
  36.     private static ModelResourceLocation shadowfluidLocation = new ModelResourceLocation(MW.MODID + ":" + ShadowFluidBlock.name, "fluid");
  37.     private static ModelResourceLocation crazyfluidLocation = new ModelResourceLocation(MW.MODID + ":" + CrazyFluidBlock.name, "fluid");
  38.    
  39.     @EventHandler
  40.     public void preInit(FMLPreInitializationEvent event) {
  41.     FluidRegistry.registerFluid(CorruptedFluid.instance);
  42.     FluidRegistry.registerFluid(SacredFluid.instance);
  43.     FluidRegistry.registerFluid(ShadowFluid.instance);
  44.     FluidRegistry.registerFluid(CrazyFluid.instance);
  45.    
  46.     GameRegistry.registerBlock(CorruptedFluidBlock.instance, CorruptedFluidBlock.name);
  47.     GameRegistry.registerBlock(SacredFluidBlock.instance, SacredFluidBlock.name);
  48.     GameRegistry.registerBlock(ShadowFluidBlock.instance, ShadowFluidBlock.name);
  49.     GameRegistry.registerBlock(CrazyFluidBlock.instance, CrazyFluidBlock.name);
  50.    
  51.     Item corrupted_fluid = Item.getItemFromBlock(CorruptedFluidBlock.instance);
  52.     Item sacred_fluid = Item.getItemFromBlock(SacredFluidBlock.instance);
  53.     Item shadow_fluid = Item.getItemFromBlock(ShadowFluidBlock.instance);
  54.     Item crazy_fluid = Item.getItemFromBlock(CrazyFluidBlock.instance);
  55.    
  56.    
  57.     ModelLoader.setCustomMeshDefinition(corrupted_fluid, new ItemMeshDefinition()
  58.     {
  59.         public ModelResourceLocation getModelLocation(ItemStack stack)
  60.         {
  61.             return corruptedfluidLocation;
  62.         }
  63.     });
  64.     ModelLoader.setCustomMeshDefinition(sacred_fluid, new ItemMeshDefinition()
  65.     {
  66.         public ModelResourceLocation getModelLocation(ItemStack stack)
  67.         {
  68.             return sacredfluidLocation;
  69.         }
  70.     });
  71.     ModelLoader.setCustomMeshDefinition(shadow_fluid, new ItemMeshDefinition()
  72.     {
  73.         public ModelResourceLocation getModelLocation(ItemStack stack)
  74.         {
  75.             return shadowfluidLocation;
  76.         }
  77.     });
  78.     ModelLoader.setCustomMeshDefinition(crazy_fluid, new ItemMeshDefinition()
  79.     {
  80.         public ModelResourceLocation getModelLocation(ItemStack stack)
  81.         {
  82.             return crazyfluidLocation;
  83.         }
  84.     });
  85.  
  86.    
  87.     ModelLoader.setCustomStateMapper(CorruptedFluidBlock.instance, new StateMapperBase()
  88.     {
  89.         protected ModelResourceLocation getModelResourceLocation(IBlockState state)
  90.         {
  91.             return corruptedfluidLocation;
  92.         }
  93.     });
  94.     ModelLoader.setCustomStateMapper(SacredFluidBlock.instance, new StateMapperBase()
  95.     {
  96.         protected ModelResourceLocation getModelResourceLocation(IBlockState state)
  97.         {
  98.             return sacredfluidLocation;
  99.         }
  100.     });
  101.     ModelLoader.setCustomStateMapper(ShadowFluidBlock.instance, new StateMapperBase()
  102.     {
  103.         protected ModelResourceLocation getModelResourceLocation(IBlockState state)
  104.         {
  105.             return shadowfluidLocation;
  106.         }
  107.     });
  108.     ModelLoader.setCustomStateMapper(CrazyFluidBlock.instance, new StateMapperBase()
  109.     {
  110.         protected ModelResourceLocation getModelResourceLocation(IBlockState state)
  111.         {
  112.             return crazyfluidLocation;
  113.         }
  114.     });
  115.     }
  116.  
  117.     public static final class CorruptedFluid extends Fluid
  118.     {
  119.         public static final String name = "corrupted_water";
  120.         public static final CorruptedFluid instance = new CorruptedFluid();
  121.  
  122.         private CorruptedFluid()
  123.         {
  124.             super(name, new ResourceLocation(MW.MODID + ":" + "blocks/" + name + "_still"), new ResourceLocation(MW.MODID + ":" + "blocks/" + name + "_flow"));
  125.         }
  126.     }
  127.    
  128.     public static final class SacredFluid extends Fluid
  129.     {
  130.         public static final String name = "sacred_water";
  131.         public static final SacredFluid instance = new SacredFluid();
  132.  
  133.         private SacredFluid()
  134.         {
  135.             super(name, new ResourceLocation(MW.MODID + ":" + "blocks/" + name + "_still"), new ResourceLocation(MW.MODID + ":" + "blocks/" + name + "_flow"));
  136.         }
  137.     }
  138.    
  139.     public static final class ShadowFluid extends Fluid
  140.     {
  141.         public static final String name = "shadow_water";
  142.         public static final ShadowFluid instance = new ShadowFluid();
  143.  
  144.         private ShadowFluid()
  145.         {
  146.             super(name, new ResourceLocation(MW.MODID + ":" + "blocks/" + "dark_water" + "_still"), new ResourceLocation(MW.MODID + ":" + "blocks/" + "dark_water" + "_flow"));
  147.         }
  148.     }
  149.    
  150.     public static final class CrazyFluid extends Fluid
  151.     {
  152.         public static final String name = "crazy_water";
  153.         public static final CrazyFluid instance = new CrazyFluid();
  154.  
  155.         private CrazyFluid()
  156.         {
  157.             super(name, new ResourceLocation(MW.MODID + ":" + "blocks/" + name + "_still"), new ResourceLocation(MW.MODID + ":" + "blocks/" + name + "_flow"));
  158.         }
  159.     }
  160.  
  161.     public static final class CorruptedFluidBlock extends BlockFluidClassic
  162.     {
  163.         public static final CorruptedFluidBlock instance = new CorruptedFluidBlock();
  164.         public static final String name = "corrupted_water";
  165.  
  166.         private CorruptedFluidBlock()
  167.         {
  168.             super(CorruptedFluid.instance, Material.water);
  169.             setUnlocalizedName(name);
  170.         }
  171.        
  172.         @Override
  173.         public EnumBlockRenderType getRenderType(IBlockState state)
  174.         {
  175.             return EnumBlockRenderType.MODEL;
  176.         }
  177.     }
  178.    
  179.     public static final class SacredFluidBlock extends BlockFluidClassic
  180.     {
  181.         public static final SacredFluidBlock instance = new SacredFluidBlock();
  182.         public static final String name = "sacred_water";
  183.  
  184.         private SacredFluidBlock()
  185.         {
  186.             super(SacredFluid.instance, Material.water);
  187.             setUnlocalizedName(name);
  188.         }
  189.        
  190.         @Override
  191.         public EnumBlockRenderType getRenderType(IBlockState state)
  192.         {
  193.             return EnumBlockRenderType.MODEL;
  194.         }
  195.     }
  196.    
  197.     public static final class ShadowFluidBlock extends BlockFluidClassic
  198.     {
  199.         public static final ShadowFluidBlock instance = new ShadowFluidBlock();
  200.         public static final String name = "shadow_water";
  201.  
  202.         private ShadowFluidBlock()
  203.         {
  204.             super(ShadowFluid.instance, Material.water);
  205.             setUnlocalizedName(name);
  206.         }
  207.        
  208.         @Override
  209.         public EnumBlockRenderType getRenderType(IBlockState state)
  210.         {
  211.             return EnumBlockRenderType.MODEL;
  212.         }
  213.     }
  214.    
  215.     public static final class CrazyFluidBlock extends BlockFluidClassic
  216.     {
  217.         public static final CrazyFluidBlock instance = new CrazyFluidBlock();
  218.         public static final String name = "crazy_water";
  219.  
  220.         private CrazyFluidBlock()
  221.         {
  222.             super(CrazyFluid.instance, Material.water);
  223.             setUnlocalizedName(name);
  224.         }
  225.        
  226.         @Override
  227.         public EnumBlockRenderType getRenderType(IBlockState state)
  228.         {
  229.             return EnumBlockRenderType.MODEL;
  230.         }
  231.     }
  232. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement