Ну вот смотри, я и подвёл тебя к самостоятельному решению. Посмотри очерёдность. У тебя сначала регистрация блоков, а потом регистрация жидкостей. Ошибка у тебя из-за того что не получается сформировать стак на незарегистрированную жидкость. А стак у тебя идёт от блока. Какие мысли из этого следуют?preInit
public static final Fluid WITCH_HERBAL_SOLUTION = new FluidWitchHerbalSolution("witch_herbal_solution", new ResourceLocation(OverseasCraftMod.MODID+":blocks/whs_still"), new ResourceLocation(OverseasCraftMod.MODID+":blocks/whs_flow"), new ResourceLocation(OverseasCraftMod.MODID+":blocks/whs_overlay"));
public static void registerFluids(){
registerFluid(WITCH_HERBAL_SOLUTION);
}
public static void registerFluid(Fluid fluid){
FluidRegistry.registerFluid(fluid);
FluidRegistry.addBucketForFluid(fluid);
}
public static void registerCustomMeshesAndStates(){
ModelLoader.setCustomMeshDefinition(Item.getItemFromBlock(BlocksRegister.witch_herbal_solution), new ItemMeshDefinition()
{
@Override
public ModelResourceLocation getModelLocation(ItemStack stack)
{
return new ModelResourceLocation(OverseasCraftMod.MODID + ":witch_herbal_solution", "fluid");
}
});
ModelLoader.setCustomStateMapper(BlocksRegister.witch_herbal_solution, new StateMapperBase()
{
@Override
protected ModelResourceLocation getModelResourceLocation(IBlockState state)
{
return new ModelResourceLocation(OverseasCraftMod.MODID + ":witch_herbal_solution", "fluid");
}
});
}
public class BlocksRegister {
public static Block witch_herbal_solution = new BlockWitchHerbalSolution("witch_herbal_solution", FluidRegister.WITCH_HERBAL_SOLUTION, Material.WATER);
public static void registerBlocks() {
setRegister(witch_herbal_solution);
}
@SideOnly(Side.CLIENT)
public static void registerBlocksRender() {
setRender(witch_herbal_solution);
}
private static void setRegister(Block block) {
ForgeRegistries.BLOCKS.register(block);
ForgeRegistries.ITEMS.register(new ItemBlock(block).setRegistryName(block.getRegistryName()));
}
@SideOnly(Side.CLIENT)
private static void setRender(Block block) {
Minecraft.getMinecraft().getRenderItem().getItemModelMesher().register(Item.getItemFromBlock(block), 0, new ModelResourceLocation(block.getRegistryName(), "inventory"));
}
}
public class BlockWitchHerbalSolution extends BlockFluidClassic {
public BlockWitchHerbalSolution(String name, Fluid fluid, Material material) {
super(fluid, material);
setUnlocalizedName(name);
setRegistryName(name);
}
@Override
public EnumBlockRenderType getRenderType(IBlockState state) {
return EnumBlockRenderType.MODEL;
}
}
public class FluidWitchHerbalSolution extends Fluid {
public FluidWitchHerbalSolution(String name, ResourceLocation still, ResourceLocation flow, ResourceLocation overlay) {
super(name, still, flow, overlay);
this.setUnlocalizedName(name);
}
}
registerFluids(){
и registerCustomMeshesAndStates(){
? @EventHandler
public void preInit(FMLPreInitializationEvent event)
{
logger = event.getModLog();
ItemsRegister.register();
BlocksRegister.registerBlocks();
WeaponRegister.register();
FluidRegister.registerFluids();
TileEntityHandler.registerTileEntities();
RecipeHandler.registerSmelting();
EntityRegister.registerEntities();
RenderHandler.registerEntityRenders();
RenderHandler.registerCustomMeshesAndStates();
MinecraftForge.EVENT_BUS.register(new EventsForge());
}
Ну вот смотри, я и подвёл тебя к самостоятельному решению. Посмотри очерёдность. У тебя сначала регистрация блоков, а потом регистрация жидкостей. Ошибка у тебя из-за того что не получается сформировать стак на незарегистрированную жидкость. А стак у тебя идёт от блока. Какие мысли из этого следуют?preInit