2015-06-18 11:14:46 +00:00
|
|
|
package net.minecraftforge.debug;
|
|
|
|
|
|
|
|
import net.minecraft.block.material.Material;
|
|
|
|
import net.minecraft.block.state.IBlockState;
|
|
|
|
import net.minecraft.client.renderer.ItemMeshDefinition;
|
|
|
|
import net.minecraft.client.renderer.block.statemap.StateMapperBase;
|
2016-03-01 12:58:03 +00:00
|
|
|
import net.minecraft.client.renderer.block.model.ModelBakery;
|
|
|
|
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
2015-06-18 11:14:46 +00:00
|
|
|
import net.minecraft.creativetab.CreativeTabs;
|
|
|
|
import net.minecraft.item.Item;
|
2016-04-03 07:13:50 +00:00
|
|
|
import net.minecraft.item.ItemBlock;
|
2015-06-18 11:14:46 +00:00
|
|
|
import net.minecraft.item.ItemStack;
|
|
|
|
import net.minecraft.util.ResourceLocation;
|
|
|
|
import net.minecraftforge.client.model.ModelLoader;
|
|
|
|
import net.minecraftforge.fluids.BlockFluidClassic;
|
|
|
|
import net.minecraftforge.fluids.Fluid;
|
|
|
|
import net.minecraftforge.fluids.FluidRegistry;
|
|
|
|
import net.minecraftforge.fml.common.Mod;
|
|
|
|
import net.minecraftforge.fml.common.Mod.EventHandler;
|
|
|
|
import net.minecraftforge.fml.common.SidedProxy;
|
|
|
|
import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
|
|
|
|
import net.minecraftforge.fml.common.registry.GameRegistry;
|
|
|
|
|
2016-08-12 22:10:47 +00:00
|
|
|
@Mod(modid = ModelFluidDebug.MODID, name = "ForgeDebugModelFluid", version = ModelFluidDebug.VERSION)
|
2015-06-18 11:14:46 +00:00
|
|
|
public class ModelFluidDebug
|
|
|
|
{
|
2016-08-12 22:10:47 +00:00
|
|
|
public static final String MODID = "forgedebugmodelfluid";
|
2015-06-18 11:14:46 +00:00
|
|
|
public static final String VERSION = "1.0";
|
|
|
|
|
2016-06-26 09:31:04 +00:00
|
|
|
public static final boolean ENABLE = false;
|
|
|
|
|
2016-01-02 06:59:14 +00:00
|
|
|
@SidedProxy
|
2015-06-18 11:14:46 +00:00
|
|
|
public static CommonProxy proxy;
|
|
|
|
|
2015-12-15 21:19:04 +00:00
|
|
|
public static final Fluid milkFluid = new Fluid("milk", new ResourceLocation("forge", "blocks/milk_still"), new ResourceLocation("forge", "blocks/milk_flow"));
|
|
|
|
|
2015-06-18 11:14:46 +00:00
|
|
|
@EventHandler
|
2016-06-26 09:31:04 +00:00
|
|
|
public void preInit(FMLPreInitializationEvent event)
|
|
|
|
{
|
|
|
|
if (ENABLE)
|
|
|
|
{
|
|
|
|
proxy.preInit(event);
|
|
|
|
}
|
|
|
|
}
|
2015-06-18 11:14:46 +00:00
|
|
|
|
|
|
|
public static class CommonProxy
|
|
|
|
{
|
|
|
|
public void preInit(FMLPreInitializationEvent event)
|
|
|
|
{
|
|
|
|
FluidRegistry.registerFluid(TestFluid.instance);
|
|
|
|
FluidRegistry.registerFluid(TestGas.instance);
|
2015-12-15 21:19:04 +00:00
|
|
|
FluidRegistry.registerFluid(milkFluid);
|
2016-04-03 07:13:50 +00:00
|
|
|
GameRegistry.register(TestFluidBlock.instance);
|
|
|
|
GameRegistry.register(new ItemBlock(TestFluidBlock.instance).setRegistryName(TestFluidBlock.instance.getRegistryName()));
|
|
|
|
GameRegistry.register(TestGasBlock.instance);
|
|
|
|
GameRegistry.register(new ItemBlock(TestGasBlock.instance).setRegistryName(TestGasBlock.instance.getRegistryName()));
|
|
|
|
GameRegistry.register(MilkFluidBlock.instance);
|
|
|
|
GameRegistry.register(new ItemBlock(MilkFluidBlock.instance).setRegistryName(MilkFluidBlock.instance.getRegistryName()));
|
2015-06-18 11:14:46 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2016-01-02 06:59:14 +00:00
|
|
|
public static class ServerProxy extends CommonProxy {}
|
|
|
|
|
2015-06-18 11:14:46 +00:00
|
|
|
public static class ClientProxy extends CommonProxy
|
|
|
|
{
|
|
|
|
private static ModelResourceLocation fluidLocation = new ModelResourceLocation(MODID.toLowerCase() + ":" + TestFluidBlock.name, "fluid");
|
|
|
|
private static ModelResourceLocation gasLocation = new ModelResourceLocation(MODID.toLowerCase() + ":" + TestFluidBlock.name, "gas");
|
2015-12-15 21:19:04 +00:00
|
|
|
private static ModelResourceLocation milkLocation = new ModelResourceLocation(MODID.toLowerCase() + ":" + TestFluidBlock.name, "milk");
|
2015-06-18 11:14:46 +00:00
|
|
|
|
|
|
|
@Override
|
|
|
|
public void preInit(FMLPreInitializationEvent event)
|
|
|
|
{
|
|
|
|
super.preInit(event);
|
|
|
|
Item fluid = Item.getItemFromBlock(TestFluidBlock.instance);
|
|
|
|
Item gas = Item.getItemFromBlock(TestGasBlock.instance);
|
2015-12-15 21:19:04 +00:00
|
|
|
Item milk = Item.getItemFromBlock(MilkFluidBlock.instance);
|
2015-12-24 03:06:38 +00:00
|
|
|
// no need to pass the locations here, since they'll be loaded by the block model logic.
|
|
|
|
ModelBakery.registerItemVariants(fluid);
|
|
|
|
ModelBakery.registerItemVariants(gas);
|
|
|
|
ModelBakery.registerItemVariants(milk);
|
2015-06-18 11:14:46 +00:00
|
|
|
ModelLoader.setCustomMeshDefinition(fluid, new ItemMeshDefinition()
|
|
|
|
{
|
|
|
|
public ModelResourceLocation getModelLocation(ItemStack stack)
|
|
|
|
{
|
|
|
|
return fluidLocation;
|
|
|
|
}
|
|
|
|
});
|
|
|
|
ModelLoader.setCustomMeshDefinition(gas, new ItemMeshDefinition()
|
|
|
|
{
|
|
|
|
public ModelResourceLocation getModelLocation(ItemStack stack)
|
|
|
|
{
|
|
|
|
return gasLocation;
|
|
|
|
}
|
|
|
|
});
|
2015-12-15 21:19:04 +00:00
|
|
|
ModelLoader.setCustomMeshDefinition(milk, new ItemMeshDefinition()
|
|
|
|
{
|
|
|
|
public ModelResourceLocation getModelLocation(ItemStack stack)
|
|
|
|
{
|
|
|
|
return milkLocation;
|
|
|
|
}
|
|
|
|
});
|
2015-06-18 11:14:46 +00:00
|
|
|
ModelLoader.setCustomStateMapper(TestFluidBlock.instance, new StateMapperBase()
|
|
|
|
{
|
|
|
|
protected ModelResourceLocation getModelResourceLocation(IBlockState state)
|
|
|
|
{
|
|
|
|
return fluidLocation;
|
|
|
|
}
|
|
|
|
});
|
|
|
|
ModelLoader.setCustomStateMapper(TestGasBlock.instance, new StateMapperBase()
|
|
|
|
{
|
|
|
|
protected ModelResourceLocation getModelResourceLocation(IBlockState state)
|
|
|
|
{
|
|
|
|
return gasLocation;
|
|
|
|
}
|
|
|
|
});
|
2015-12-15 21:19:04 +00:00
|
|
|
ModelLoader.setCustomStateMapper(MilkFluidBlock.instance, new StateMapperBase()
|
|
|
|
{
|
|
|
|
protected ModelResourceLocation getModelResourceLocation(IBlockState state)
|
|
|
|
{
|
|
|
|
return milkLocation;
|
|
|
|
}
|
|
|
|
});
|
2015-06-18 11:14:46 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
public static final class TestFluid extends Fluid
|
|
|
|
{
|
|
|
|
public static final String name = "testfluid";
|
|
|
|
public static final TestFluid instance = new TestFluid();
|
|
|
|
|
|
|
|
private TestFluid()
|
|
|
|
{
|
|
|
|
super(name, new ResourceLocation("blocks/water_still"), new ResourceLocation("blocks/water_flow"));
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public int getColor()
|
|
|
|
{
|
|
|
|
return 0xFF00FF00;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
public static final class TestGas extends Fluid
|
|
|
|
{
|
|
|
|
public static final String name = "testgas";
|
|
|
|
public static final TestGas instance = new TestGas();
|
|
|
|
|
|
|
|
private TestGas()
|
|
|
|
{
|
|
|
|
super(name, new ResourceLocation("blocks/lava_still"), new ResourceLocation("blocks/lava_flow"));
|
|
|
|
density = -1000;
|
|
|
|
isGaseous = true;
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public int getColor()
|
|
|
|
{
|
|
|
|
return 0xFFFF0000;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
public static final class TestFluidBlock extends BlockFluidClassic
|
|
|
|
{
|
|
|
|
public static final TestFluidBlock instance = new TestFluidBlock();
|
|
|
|
public static final String name = "TestFluidBlock";
|
|
|
|
|
|
|
|
private TestFluidBlock()
|
|
|
|
{
|
2016-05-18 12:11:56 +00:00
|
|
|
super(TestFluid.instance, Material.WATER);
|
|
|
|
setCreativeTab(CreativeTabs.BUILDING_BLOCKS);
|
2015-06-18 11:14:46 +00:00
|
|
|
setUnlocalizedName(MODID + ":" + name);
|
2016-04-03 07:13:50 +00:00
|
|
|
setRegistryName(new ResourceLocation(MODID, name));
|
2015-06-18 11:14:46 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2015-12-15 21:19:04 +00:00
|
|
|
public static final class MilkFluidBlock extends BlockFluidClassic
|
|
|
|
{
|
|
|
|
public static final MilkFluidBlock instance = new MilkFluidBlock();
|
|
|
|
public static final String name = "MilkFluidBlock";
|
|
|
|
|
|
|
|
private MilkFluidBlock()
|
|
|
|
{
|
2016-05-18 12:11:56 +00:00
|
|
|
super(milkFluid, Material.WATER);
|
|
|
|
setCreativeTab(CreativeTabs.BUILDING_BLOCKS);
|
2015-12-15 21:19:04 +00:00
|
|
|
setUnlocalizedName(MODID + ":" + name);
|
2016-04-03 07:13:50 +00:00
|
|
|
setRegistryName(new ResourceLocation(MODID, name));
|
2015-12-15 21:19:04 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2015-06-18 11:14:46 +00:00
|
|
|
public static final class TestGasBlock extends BlockFluidClassic
|
|
|
|
{
|
|
|
|
public static final TestGasBlock instance = new TestGasBlock();
|
|
|
|
public static final String name = "TestGasBlock";
|
|
|
|
|
|
|
|
private TestGasBlock()
|
|
|
|
{
|
2016-05-18 12:11:56 +00:00
|
|
|
super(TestGas.instance, Material.LAVA);
|
|
|
|
setCreativeTab(CreativeTabs.BUILDING_BLOCKS);
|
2015-06-18 11:14:46 +00:00
|
|
|
setUnlocalizedName(MODID + ":" + name);
|
2016-04-03 07:13:50 +00:00
|
|
|
setRegistryName(new ResourceLocation(MODID, name));
|
2015-06-18 11:14:46 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|