[1.7.10] Не работают isOpaqueCube и addRecipe

Вкратце, судя по названию, не работают addRecipe и isOpaqueCube.

Основной класс:
Код:
package ru.vertoe.mod;

import biomesoplenty.api.BOPBlockHelper;
import biomesoplenty.api.BOPItemHelper;
import biomesoplenty.api.content.BOPCItems;
import cpw.mods.fml.common.Mod;
import cpw.mods.fml.common.Mod.EventHandler;
import cpw.mods.fml.common.event.FMLPreInitializationEvent;
import cpw.mods.fml.common.registry.GameRegistry;
import net.minecraft.block.Block;
import net.minecraft.init.Blocks;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;

@Mod (modid = "vertoemod", name = "VErtoe Mod", version = "1.0")
public class VErtoeMod {
 
 public static Block ore_Ford;
 public static Block decor_Fordlamp_peridot;
 public static Block decor_Fordlamp_ruby;
 
 public static Item granule_Ford;
 public static f_ford_Generator ore_Ford_Generator = new f_ford_Generator();
 
 @EventHandler
 public void preLoad(FMLPreInitializationEvent event)
 {
 ore_Ford = new f_ore_Ford();
 decor_Fordlamp_peridot = new f_decor_Fordlamp_peridot();
 decor_Fordlamp_ruby = new f_decor_Fordlamp_ruby();
 granule_Ford = new f_granule_Ford().setUnlocalizedName("granule_Ford");
 
 GameRegistry.registerWorldGenerator(ore_Ford_Generator, 0);
 
 GameRegistry.registerBlock(ore_Ford, "ore_Ford");
 GameRegistry.registerBlock(decor_Fordlamp_peridot, "decor_Fordlamp_peridot");
 GameRegistry.registerBlock(decor_Fordlamp_ruby, "decor_Fordlamp_ruby");
 GameRegistry.registerItem(granule_Ford, "granule_Ford");
 
 
 GameRegistry.addRecipe(new ItemStack(VErtoeMod.decor_Fordlamp_peridot, 1),new Object[]{ "#X#", "XYX", "#X#",('X'), new ItemStack(BOPCItems.gems, 1, 2), ('#'), VErtoeMod.granule_Ford, ('Y'), Blocks.glass}); 
 GameRegistry.addRecipe(new ItemStack(VErtoeMod.decor_Fordlamp_ruby, 1),new Object[]{ "#X#", "XYX", "#X#",('X'), new ItemStack(BOPCItems.gems, 1, 1), ('#'), VErtoeMod.granule_Ford, ('Y'), Blocks.glass});
 
 GameRegistry.registerFuelHandler(new FuelHandler());
 
 //ClientCommandHandler.instance.registerCommand(new cmd_Register());
 
 
 }
}

Класс блока:

Код:
package ru.vertoe.mod;

import java.util.Random;

import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.Item;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;

public class f_decor_Fordlamp_peridot extends Block {

    protected f_decor_Fordlamp_peridot() {
        super(Material.glass);
        this.setBlockName("decor_Fordlamp_peridot");
        this.setCreativeTab(CreativeTabs.tabBlock);
        this.setHardness(15F);
        this.setResistance(3F);
        this.setLightLevel(150F);
        this.setBlockTextureName("vertoemod:block_Fordlamp_peridot");
    }
    
    @Override
    public Item getItemDropped(int par1, Random par2Random, int par3)
    {
        return Item.getItemFromBlock(VErtoeMod.decor_Fordlamp_peridot);
    }
    
    public boolean isOpaqueCube(){
          return false;
        }
    public boolean renderAsNormalBlock(){
      return false;
    }
}



Ib62mwf.png
 
Спасибо. А насчёт прозрачности стекла. Если поставить в настройках видео Smooth Lighting: OFF, то проблема как на скрине в 1 посте, при других же значениях нормально.
 
769
1
42
Primo написал(а):
Спасибо. А насчёт прозрачности стекла. Если поставить в настройках видео Smooth Lighting: OFF, то проблема как на скрине в 1 посте, при других же значениях нормально.
Ну может его не отключать? При дефолтных настройках он включен?
 
RonyC написал(а):
Primo написал(а):
Спасибо. А насчёт прозрачности стекла. Если поставить в настройках видео Smooth Lighting: OFF, то проблема как на скрине в 1 посте, при других же значениях нормально.
Ну может его не отключать? При дефолтных настройках он включен?
Можно не отключать, но это всё равно проблема, которую нужно решить.
 
1,137
5
3
Код:
@SideOnly(Side.CLIENT)
    public int getRenderBlockPass()
    {
        return 0;
    }

    /**
     * If this block doesn't render as an ordinary block it will return False (examples: signs, buttons, stairs, etc)
     */
    public boolean renderAsNormalBlock()
    {
        return false;
    }
Всё, что нужно. Никакого opaque
 
2,505
81
397
RonyC написал(а):
Регистрация рецептов в postInit`e вообще-то
Крайне не логично. В postInit'е могут обрабатываться все зареганные рецепты в каком-нибудь другом моде, а если в этот момент зареганы еще не все рецепты, то будет печально.
 
wilah написал(а):
Код:
@SideOnly(Side.CLIENT)
    public int getRenderBlockPass()
    {
        return 0;
    }

    /**
     * If this block doesn't render as an ordinary block it will return False (examples: signs, buttons, stairs, etc)
     */
    public boolean renderAsNormalBlock()
    {
        return false;
    }
Всё, что нужно. Никакого opaque
Без opaque всё равно как с xray.
 
769
1
42
Dahaka написал(а):
RonyC написал(а):
Регистрация рецептов в postInit`e вообще-то
Крайне не логично. В postInit'е могут обрабатываться все зареганные рецепты в каком-нибудь другом моде, а если в этот момент зареганы еще не все рецепты, то будет печально.
Вообще так должно быть. И потом, у меня по-другому не работает.
 
Может можно как-то убрать вариант для Smooth Lighting - OFF? В GuiVideoSettings можно убрать вообще пункт Smooth Lighting полностью.
[merge_posts_bbcode]Добавлено: 21.06.2016 15:34:58[/merge_posts_bbcode]

В общем, с OptiFine проблема с прозрачностью не актуальна.
K7GsGiY.png

Всем спасибо за помощь!
 
1,137
5
3
Если каждый мод будет все пихать в инит, то для кого постинит?
***
У модов есть аннотация, с помощью которой можно загружаться после другого мода
 
917
22
332
Прошу прощения что поздно, но захотелось прояснить ситуацию:
Мало просто создать метод isOpaqueCube(), нужно его ещё и перезаписать.
То-есть конечный результат.
Код:
    @Override
    public boolean isOpaqueCube(IBlockState state) {
        return false;
    }
 
1,976
68
220
А ты его и не создаёшь. Ты его переопределяешь.
[merge_posts_bbcode]Добавлено: 03.07.2016 23:07:49[/merge_posts_bbcode]

Что за "IBlockState state"? 1.9?

[merge_posts_bbcode]Добавлено: 03.07.2016 23:21:30[/merge_posts_bbcode]

Время бесполезных комментариев \о/

RonyC написал(а):
Ну может его не отключать? При дефолтных настройках он включен?
А если кто-то возьмёт и выключит? И что тогда? Будет "x-Ray"

wilah написал(а):
Код:
@SideOnly(Side.CLIENT) public int getRenderBlockPass() {return 0;}
public boolean renderAsNormalBlock() {return false;}
Всё, что нужно. Никакого opaque
У меня одного блок стекла вообще без этого, но с isOpaqueCube?

RonyC написал(а):
Вообще так должно быть. И потом, у меня по-другому не работает.
Если у тебя не работает - это не значит, что так должно быть. Это значит, что ты немножко ракорук, imho :D

Ну и на счёт init-postinit - разницы нет, я всё делаю в preInite на случай, если кому-то нужно будет что-то делать с мои кодом и советую всем вам все регистрации перенести в preInit. А вот хуки-шмуки, изменение чего либо или совместимость лучше в по максимуму ближе к началу инициализации, но то как кому уже удобно
 
Сверху