- 45
- 0
Всем привет!
Дорогие друзья сегодня я научу вас создавать жидкости(Типа нефти, лавы и т.д.)
Вот наш главный класс(Core):
Теперь нам нужно создать сам блок:
(oil.class)
Создаем текстуру
Называем текстура вот так: OilStill и вторую OilFlowing.
К ним нужно создать файлы:OilFlowing.png.mcmeta
и OilStill.png.mcmeta
Это все.Так же в следующем уроке, я расскажу как сделать жидкость в ведре.
Пишите мне если найдете недочеты.
Дорогие друзья сегодня я научу вас создавать жидкости(Типа нефти, лавы и т.д.)
Вот наш главный класс(Core):
Код:
@Mod (modid = core.MODID, name = "Lessons", version = core.VERSION)
public class core
{
public static final String MODID = "Lessons";
public static final String VERSION = "1.0";
public static Fluid Oil = new Fluid("Oil");
public static Block blockfluid01;
{
FluidRegistry.registerFluid(oil);//регистрация самой жидкости
blockfluid01 = new oil(oil, Material.water).setBlockName("oil");//блок и его настройки.
}
@EventHandler
public void preLoad(FMLPreInitializationEvent event)
{
GameRegistry.registerBlock(blockfluid01, "OIl_Block");//Регистрация блока жидкости.
LanguageRegistry.addName(blockfluid01, "Oil");//Название жидкости
}
@EventHandler
public void init(FMLInitializationEvent event)
{
}
@EventHandler
public void postInit(FMLPostInitializationEvent event)
{
}
@EventHandler
public void serverStarting(FMLServerStartingEvent event)
{
}
}
(oil.class)
Код:
public class oil extends BlockFluidClassic {
@SideOnly(Side.CLIENT)
protected IIcon stillIcon;
@SideOnly(Side.CLIENT)
protected IIcon flowingIcon;
public Oil(Fluid fluid, net.minecraft.block.material.Material water) {
super(fluid, (net.minecraft.block.material.Material) water);
setCreativeTab(CreativeTabs.tabBlock);
/*
Вы можете создать дополнительные настройки, такие как
this.setLuminosity(Выбрать число 0-15);
Светимость жидкости.
this.setDensity(1000);
Заменяет ли жидкость другую.
This.setViskosity(6000 и меньше);
Как быстро жидкость течет.
this.setGaseos(false или true)
сделать жидкость газовообразной.
*/
}
@Override
public IIcon getIcon(int side, int meta) {
return (side == 0 || side == 1)? stillIcon : flowingIcon;
}
@SideOnly(Side.CLIENT)
@Override
public void registerBlockIcons(IIconRegister register) {
stillIcon = register.registerIcon("lesson:OilStill");
flowingIcon = register.registerIcon("lesson:OilFlowing");
}
@Override
public boolean canDisplace(IBlockAccess world, int x, int y, int z) {
if (world.getBlock(x, y, z).getMaterial().isLiquid()) return false;
return super.canDisplace(world, x, y, z);
}
@Override
public boolean displaceIfPossible(World world, int x, int y, int z) {
if (world.getBlock(x, y, z).getMaterial().isLiquid()) return false;
return super.displaceIfPossible(world, x, y, z);
}
}
Называем текстура вот так: OilStill и вторую OilFlowing.
К ним нужно создать файлы:OilFlowing.png.mcmeta
Код:
"animation": {}[/font]
}
Код:
{
"animation": {
"frametime": 2
}
Пишите мне если найдете недочеты.