SOLVED (Block Bound) Rotation de la hitbox en même temps que le bloc


  • Salut tout le monde !

    J'ai un problème qui viens s'opposer à moi, j'ai fait une croix tombale, avec le tutoriel de rendu TESR, mais lorsque je veux faire tourner la croix dans les différentes directions Nord, Sud, Est, Ouest, la hitbox ne bouge pas !

    J'ai pourtant utiliser la fonction

    public void setBlockBoundsBasedOnState(IBlockAccess access, int x, int y, int z)
    

    Mais ça ne marche pas !

    Je pense que c'est ce qui viens après qui foire

    :::

    @Override
    public void setBlockBoundsBasedOnState(IBlockAccess access, int x, int y, int z) {
    int meta = access.getBlockMetadata(x, y, z);
    TileEntityCrossTomb tileEntity = (TileEntityCrossTomb) access.getBlockTileEntity(x, y, z);
    
    switch (meta)
    {
    case 0:
    this.setBlockBounds(0.125F, 0, 0.0625F, 0.875F, 0.9375F, 0.1875F);
    break;
    case 1:
    this.setBlockBounds(0.125F, 0, 0.8125F, 0.875F, 0.9375F, 0.9375F);
    break;
    case 2:
    this.setBlockBounds(0.0625F, 0, 0.125F, 0.1875F, 0.9375F, 0.875F);
    break;
    case 3:
    this.setBlockBounds(0.8125F, 0, 0.125F, 0.9375F, 0.9375F, 0.875F);
    break;
    }
    }
    

    :::

    Donc je m'en retourne a vous !
    Si quelqu'un fait faire rotate la hitbox d'un bloc je prend !

    Merci !

  • Moddeurs confirmés Rédacteurs Administrateurs

    Peut être car la rotation est sauvegardé dans ton tile entity ?
    switch(tileEntity.getDirection())


  • J'ai ça donc

    :::

    @Override
    public void setBlockBoundsBasedOnState(IBlockAccess access, int x, int y, int z) {
    TileEntityCrossTomb tileEntity = (TileEntityCrossTomb) access.getBlockTileEntity(x, y, z);
    switch(tileEntity.getDirection())
    {
    case 0:
    this.setBlockBounds(0.125F, 0, 0.0625F, 0.875F, 0.9375F, 0.1875F);
    break;
    case 1:
    this.setBlockBounds(0.125F, 0, 0.8125F, 0.875F, 0.9375F, 0.9375F);
    break;
    case 2:
    this.setBlockBounds(0.0625F, 0, 0.125F, 0.1875F, 0.9375F, 0.875F);
    break;
    case 3:
    this.setBlockBounds(0.8125F, 0, 0.125F, 0.9375F, 0.9375F, 0.875F);
    break;
    }
    }
    
    

    :::

    Mais toujours pareil

    Je vous donne la classe de la Tile Entity

    :::

    package viruz.zeamateis.tileEntity;
    
    import net.minecraft.entity.player.EntityPlayer;
    import net.minecraft.item.ItemStack;
    import net.minecraft.nbt.NBTTagCompound;
    import net.minecraft.nbt.NBTTagList;
    import net.minecraft.network.INetworkManager;
    import net.minecraft.network.packet.Packet;
    import net.minecraft.network.packet.Packet132TileEntityData;
    import net.minecraft.tileentity.TileEntity;
    
    public class TileEntityCrossTomb extends TileEntity
    {
    public byte direction;
    
    public void readFromNBT(NBTTagCompound nbtTag)
    {
    super.readFromNBT(nbtTag);
    direction = nbtTag.getByte("direction");
    }
    
    public void writeToNBT(NBTTagCompound nbtTag)
    {
    super.writeToNBT(nbtTag);
    nbtTag.setByte("direction", direction);
    }
    
    public void setDirection(byte direct)
    {
    direction = direct;
    }
    
    public byte getDirection()
    {
    return direction;
    }
    public Packet getDescriptionPacket()
    {
    NBTTagCompound nbttagcompound = new NBTTagCompound();
    this.writeToNBT(nbttagcompound);
    return new Packet132TileEntityData(this.xCoord, this.yCoord, this.zCoord, 4, nbttagcompound);
    }
    
    public void onDataPacket(INetworkManager net, Packet132TileEntityData pkt)
    {
    this.readFromNBT(pkt.data);
    }
    }
    

    :::

  • Moddeurs confirmés Rédacteurs Administrateurs

    Classe complète du bloc ?


  • :::

    package viruz.zeamateis.block;
    
    import net.minecraft.block.Block;
    import net.minecraft.block.material.Material;
    import net.minecraft.entity.Entity;
    import net.minecraft.entity.EntityLivingBase;
    import net.minecraft.entity.player.EntityPlayer;
    import net.minecraft.item.ItemStack;
    import net.minecraft.tileentity.TileEntity;
    import net.minecraft.util.Icon;
    import net.minecraft.util.MathHelper;
    import net.minecraft.world.IBlockAccess;
    import net.minecraft.world.World;
    import viruz.zeamateis.core.ViruZCore;
    import viruz.zeamateis.proxy.client.ClientProxy;
    import viruz.zeamateis.tileEntity.TileEntityCrossTomb;
    import viruz.zeamateis.tileEntity.TileEntityWorkingTable;
    import cpw.mods.fml.relauncher.Side;
    import cpw.mods.fml.relauncher.SideOnly;
    
    public class BlockWoodenCrossTomb extends Block {
    
    public BlockWoodenCrossTomb(int par1, Material par2Material)
    {
    super(par1, par2Material);
    this.setHardness(5.5F);
    this.setStepSound(Block.soundWoodFootstep);
    this.setCreativeTab(ViruZCore.Blocks);
    }
    
    @Override
    public void setBlockBoundsBasedOnState(IBlockAccess access, int x, int y, int z) {
    TileEntityCrossTomb tileEntity = (TileEntityCrossTomb) access.getBlockTileEntity(x, y, z);
    switch(tileEntity.getDirection())
    {
    case 0:
    this.setBlockBounds(0.125F, 0, 0.0625F, 0.875F, 0.9375F, 0.1875F);
    break;
    case 1:
    this.setBlockBounds(0.125F, 0, 0.8125F, 0.875F, 0.9375F, 0.9375F);
    break;
    case 2:
    this.setBlockBounds(0.0625F, 0, 0.125F, 0.1875F, 0.9375F, 0.875F);
    break;
    case 3:
    this.setBlockBounds(0.8125F, 0, 0.125F, 0.9375F, 0.9375F, 0.875F);
    break;
    }
    }
    
    public boolean renderAsNormalBlock()
    {
    return false;
    }
    
    public boolean isOpaqueCube()
    {
    return false;
    }
    
    @SideOnly(Side.CLIENT)
    public int getRenderType()
    {
    return ClientProxy.renderInventoryTESRID;
    }
    
    public TileEntity createTileEntity(World world, int metadata)
    {
    return new TileEntityCrossTomb();
    }
    
    public boolean hasTileEntity(int metadata)
    {
    return true;
    }
    
    public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase living, ItemStack stack)
    {
    int direction = MathHelper.floor_double((double)(living.rotationYaw * 4.0F / 360.0F) + 2.5D) & 3;
    TileEntity te = world.getBlockTileEntity(x, y, z);
    if(te != null && te instanceof TileEntityCrossTomb)
    {
    ((TileEntityCrossTomb)te).setDirection((byte)direction);
    world.markBlockForUpdate(x, y, z);
    }
    }
    
    public Icon getIcon(int side, int metadata)
    {
    return Block.wood.getIcon(0, 0);
    }
    }
    

    :::

  • Moddeurs confirmés Rédacteurs Administrateurs


  • J'ai un crash

    :::

    juil. 27, 2014 8:05:23 PM net.minecraft.launchwrapper.LogWrapper log
    INFOS: Loading tweak class name cpw.mods.fml.common.launcher.FMLTweaker
    juil. 27, 2014 8:05:23 PM net.minecraft.launchwrapper.LogWrapper log
    INFOS: Using primary tweak class name cpw.mods.fml.common.launcher.FMLTweaker
    juil. 27, 2014 8:05:23 PM net.minecraft.launchwrapper.LogWrapper log
    INFOS: Calling tweak class cpw.mods.fml.common.launcher.FMLTweaker
    2014-07-27 20:05:23 [INFOS] [ForgeModLoader] Forge Mod Loader version 6.4.49.965 for Minecraft 1.6.4 loading
    2014-07-27 20:05:23 [INFOS] [ForgeModLoader] Java is Java HotSpot(TM) Client VM, version 1.7.0_60, running on Windows 8.1:x86:6.3, installed at C:\Program Files (x86)\Java\jre7
    2014-07-27 20:05:23 [INFOS] [ForgeModLoader] Managed to load a deobfuscated Minecraft name- we are in a deobfuscated environment. Skipping runtime deobfuscation
    2014-07-27 20:05:23 [INFOS] [ForgeModLoader] Loading tweak class name cpw.mods.fml.common.launcher.FMLInjectionAndSortingTweaker
    2014-07-27 20:05:23 [INFOS] [ForgeModLoader] Loading tweak class name cpw.mods.fml.common.launcher.FMLDeobfTweaker
    2014-07-27 20:05:23 [INFOS] [ForgeModLoader] Calling tweak class cpw.mods.fml.common.launcher.FMLInjectionAndSortingTweaker
    2014-07-27 20:05:23 [INFOS] [ForgeModLoader] Calling tweak class cpw.mods.fml.common.launcher.FMLInjectionAndSortingTweaker
    2014-07-27 20:05:23 [INFOS] [ForgeModLoader] Calling tweak class cpw.mods.fml.relauncher.CoreModManager$FMLPluginWrapper
    2014-07-27 20:05:23 [INFOS] [STDOUT] Loaded 40 rules from AccessTransformer config file fml_at.cfg
    2014-07-27 20:05:23 [GRAVE] [ForgeModLoader] The binary patch set is missing. Either you are in a development environment, or things are not going to work!
    2014-07-27 20:05:24 [INFOS] [ForgeModLoader] Calling tweak class cpw.mods.fml.relauncher.CoreModManager$FMLPluginWrapper
    2014-07-27 20:05:24 [INFOS] [STDOUT] Loaded 110 rules from AccessTransformer config file forge_at.cfg
    2014-07-27 20:05:24 [INFOS] [ForgeModLoader] Calling tweak class cpw.mods.fml.common.launcher.FMLDeobfTweaker
    2014-07-27 20:05:24 [INFOS] [ForgeModLoader] Launching wrapped minecraft {net.minecraft.client.main.Main}
    2014-07-27 20:05:25 [INFOS] [Minecraft-Client] Setting user: ShLennon640
    2014-07-27 20:05:26 [INFOS] [Minecraft-Client] LWJGL Version: 2.9.0
    2014-07-27 20:05:26 [INFOS] [Minecraft-Client] Reloading ResourceManager: Default, TheHorde-ViruZ[1.0.5].zip
    2014-07-27 20:05:27 [INFOS] [MinecraftForge] Attempting early MinecraftForge initialization
    2014-07-27 20:05:27 [INFOS] [STDOUT] MinecraftForge v9.11.1.965 Initialized
    2014-07-27 20:05:27 [INFOS] [ForgeModLoader] MinecraftForge v9.11.1.965 Initialized
    2014-07-27 20:05:27 [INFOS] [STDOUT] Replaced 111 ore recipies
    2014-07-27 20:05:27 [INFOS] [MinecraftForge] Completed early MinecraftForge initialization
    2014-07-27 20:05:27 [INFOS] [ForgeModLoader] Reading custom logging properties from C:\Users\Jean-Baptiste\Desktop\Modding\JAVA\Stand-by\ViruZ_Core_Forge_1.6.4_9.11.1.965\forge\mcp\jars\config\logging.properties
    2014-07-27 20:05:27 [DÉSACTIVÉ] [ForgeModLoader] Logging level for ForgeModLoader logging is set to ALL
    2014-07-27 20:05:27 [INFOS] [ForgeModLoader] Searching C:\Users\Jean-Baptiste\Desktop\Modding\JAVA\Stand-by\ViruZ_Core_Forge_1.6.4_9.11.1.965\forge\mcp\jars\mods for mods
    2014-07-27 20:05:30 [INFOS] [ForgeModLoader] Forge Mod Loader has identified 7 mods to load
    2014-07-27 20:05:30 [INFOS] [mcp] Activating mod mcp
    2014-07-27 20:05:30 [INFOS] [FML] Activating mod FML
    2014-07-27 20:05:30 [INFOS] [Forge] Activating mod Forge
    2014-07-27 20:05:30 [INFOS] [JoypadSplitscreenMod] Activating mod JoypadSplitscreenMod
    2014-07-27 20:05:30 [INFOS] [AnimationAPI] Activating mod AnimationAPI
    2014-07-27 20:05:30 [INFOS] [AnimationExample] Activating mod AnimationExample
    2014-07-27 20:05:30 [INFOS] [ViruZ] Activating mod ViruZ
    2014-07-27 20:05:30 [AVERTISSEMENT] [Forge Mod Loader] Mod Forge Mod Loader is missing a pack.mcmeta file, things may not work well
    2014-07-27 20:05:30 [AVERTISSEMENT] [Minecraft Forge] Mod Minecraft Forge is missing a pack.mcmeta file, things may not work well
    2014-07-27 20:05:30 [AVERTISSEMENT] [Joypad / SplitScreen Mod] Mod Joypad / SplitScreen Mod is missing a pack.mcmeta file, things may not work well
    2014-07-27 20:05:30 [AVERTISSEMENT] [AnimationAPI] Mod AnimationAPI is missing a pack.mcmeta file, things may not work well
    2014-07-27 20:05:30 [AVERTISSEMENT] [Animation Example] Mod Animation Example is missing a pack.mcmeta file, things may not work well
    2014-07-27 20:05:30 [AVERTISSEMENT] [ViruZ] Mod ViruZ is missing a pack.mcmeta file, things may not work well
    2014-07-27 20:05:30 [INFOS] [Minecraft-Client] Reloading ResourceManager: Default, FMLFileResourcePack:Forge Mod Loader, FMLFileResourcePack:Minecraft Forge, FMLFileResourcePack:Joypad / SplitScreen Mod, FMLFileResourcePack:AnimationAPI, FMLFileResourcePack:Animation Example, FMLFileResourcePack:ViruZ, TheHorde-ViruZ[1.0.5].zip
    2014-07-27 20:05:30 [INFOS] [ForgeModLoader] Registering Forge Packet Handler
    2014-07-27 20:05:30 [INFOS] [ForgeModLoader] Succeeded registering Forge Packet Handler
    2014-07-27 20:05:31 [INFOS] [ForgeModLoader] Configured a dormant chunk cache size of 0
    2014-07-27 20:05:31 [INFOS] [ForgeModLoader] preInit
    2014-07-27 20:05:31 [INFOS] [ForgeModLoader] Setting shared profile to false
    2014-07-27 20:05:31 [INFOS] [ForgeModLoader] Deleted category -Global- key SharedProfile
    2014-07-27 20:05:31 [INFOS] [ForgeModLoader] updateKey updated -Global-:SharedProfile with false
    2014-07-27 20:05:31 [INFOS] [ForgeModLoader] ShLennon640's JoyNo == -1 (). SharedProfile = false. GrabMouse = false. invertYAxis = false. ConfigVersion 0.1\. Game Sensitivity multiplier: 40\. Menu Sensitivity multiplier: 10
    2014-07-27 20:05:31 [INFOS] [ForgeModLoader] Deleted category Joypad-ShLennon640 key ConfigVersion
    2014-07-27 20:05:31 [INFOS] [ForgeModLoader] updateKey updated Joypad-ShLennon640:ConfigVersion with 0.1
    2014-07-27 20:05:31 [GRAVE] [Minecraft-Client] Using missing texture, unable to load: minecraft:textures/blocks/MISSING_ICON_TILE_1011_workingTable.png
    2014-07-27 20:05:31 [GRAVE] [Minecraft-Client] Using missing texture, unable to load: minecraft:textures/blocks/MISSING_ICON_TILE_1008_campfireBurning.png
    2014-07-27 20:05:31 [GRAVE] [Minecraft-Client] Using missing texture, unable to load: minecraft:textures/blocks/MISSING_ICON_TILE_1013_woodenCrossTomb.png
    2014-07-27 20:05:31 [GRAVE] [Minecraft-Client] Using missing texture, unable to load: minecraft:textures/blocks/MISSING_ICON_TILE_1015_barricades.png
    2014-07-27 20:05:31 [GRAVE] [Minecraft-Client] Using missing texture, unable to load: minecraft:textures/blocks/MISSING_ICON_TILE_1007_campfireIdle.png
    2014-07-27 20:05:32 [INFOS] [ForgeModLoader] init
    2014-07-27 20:05:32 [INFOS] [ForgeModLoader] Replaced mousehelper in Minecraft with JoypadMouseHelper
    2014-07-27 20:05:32 [INFOS] [ForgeModLoader] postInit
    2014-07-27 20:05:32 [INFOS] [ForgeModLoader] Minecraft Joypad (Controller) Mod v1.6.4 by Ljubomir Simin & Andrew Hickey
    –-
    2014-07-27 20:05:32 [INFOS] [ForgeModLoader] Initializing Controllers
    2014-07-27 20:05:32 [INFOS] [ForgeModLoader] Found 3 controller(s) in total.
    2014-07-27 20:05:32 [INFOS] [ForgeModLoader] Found controller Toshiba Hotkey Driver (0)
    2014-07-27 20:05:32 [INFOS] [ForgeModLoader] It has 2 buttons.
    2014-07-27 20:05:32 [INFOS] [ForgeModLoader] It has 0 axes.
    2014-07-27 20:05:32 [INFOS] [ForgeModLoader] This controller does not meet the input requirements
    2014-07-27 20:05:32 [INFOS] [ForgeModLoader] –-
    2014-07-27 20:05:32 [INFOS] [ForgeModLoader] Found controller Toshiba Hotkey Driver (1)
    2014-07-27 20:05:32 [INFOS] [ForgeModLoader] It has 1 buttons.
    2014-07-27 20:05:32 [INFOS] [ForgeModLoader] It has 0 axes.
    2014-07-27 20:05:32 [INFOS] [ForgeModLoader] This controller does not meet the input requirements
    2014-07-27 20:05:32 [INFOS] [ForgeModLoader] –-
    2014-07-27 20:05:32 [INFOS] [ForgeModLoader] Found controller Toshiba Hotkey Driver (2)
    2014-07-27 20:05:32 [INFOS] [ForgeModLoader] It has 5 buttons.
    2014-07-27 20:05:32 [INFOS] [ForgeModLoader] It has 0 axes.
    2014-07-27 20:05:32 [INFOS] [ForgeModLoader] This controller does not meet the input requirements
    2014-07-27 20:05:32 [INFOS] [ForgeModLoader] –-
    2014-07-27 20:05:32 [INFOS] [ForgeModLoader] Found 0 valid controllers!
    2014-07-27 20:05:32 [AVERTISSEMENT] [ForgeModLoader] No joypad set up for this session.
    2014-07-27 20:05:32 [INFOS] [ForgeModLoader] Creating VirtualKeyboard
    2014-07-27 20:05:32 [INFOS] [ForgeModLoader] Creating VirtualMouse
    2014-07-27 20:05:32 [INFOS] [ForgeModLoader] Creating McGuiHelper
    2014-07-27 20:05:32 [INFOS] [ForgeModLoader] Forge Mod Loader has successfully loaded 7 mods
    2014-07-27 20:05:32 [AVERTISSEMENT] [Forge Mod Loader] Mod Forge Mod Loader is missing a pack.mcmeta file, things may not work well
    2014-07-27 20:05:32 [AVERTISSEMENT] [Minecraft Forge] Mod Minecraft Forge is missing a pack.mcmeta file, things may not work well
    2014-07-27 20:05:32 [AVERTISSEMENT] [Joypad / SplitScreen Mod] Mod Joypad / SplitScreen Mod is missing a pack.mcmeta file, things may not work well
    2014-07-27 20:05:32 [AVERTISSEMENT] [AnimationAPI] Mod AnimationAPI is missing a pack.mcmeta file, things may not work well
    2014-07-27 20:05:32 [AVERTISSEMENT] [Animation Example] Mod Animation Example is missing a pack.mcmeta file, things may not work well
    2014-07-27 20:05:32 [AVERTISSEMENT] [ViruZ] Mod ViruZ is missing a pack.mcmeta file, things may not work well
    2014-07-27 20:05:32 [INFOS] [Minecraft-Client] Reloading ResourceManager: Default, FMLFileResourcePack:Forge Mod Loader, FMLFileResourcePack:Minecraft Forge, FMLFileResourcePack:Joypad / SplitScreen Mod, FMLFileResourcePack:AnimationAPI, FMLFileResourcePack:Animation Example, FMLFileResourcePack:ViruZ, TheHorde-ViruZ[1.0.5].zip
    2014-07-27 20:05:32 [GRAVE] [Minecraft-Client] Using missing texture, unable to load: minecraft:textures/blocks/MISSING_ICON_TILE_1011_workingTable.png
    2014-07-27 20:05:32 [GRAVE] [Minecraft-Client] Using missing texture, unable to load: minecraft:textures/blocks/MISSING_ICON_TILE_1008_campfireBurning.png
    2014-07-27 20:05:32 [GRAVE] [Minecraft-Client] Using missing texture, unable to load: minecraft:textures/blocks/MISSING_ICON_TILE_1013_woodenCrossTomb.png
    2014-07-27 20:05:32 [GRAVE] [Minecraft-Client] Using missing texture, unable to load: minecraft:textures/blocks/MISSING_ICON_TILE_1015_barricades.png
    2014-07-27 20:05:32 [GRAVE] [Minecraft-Client] Using missing texture, unable to load: minecraft:textures/blocks/MISSING_ICON_TILE_1007_campfireIdle.png
    2014-07-27 20:05:33 [INFOS] [STDOUT]
    2014-07-27 20:05:33 [INFOS] [STDOUT] Starting up SoundSystem…
    2014-07-27 20:05:33 [INFOS] [STDOUT] Initializing LWJGL OpenAL
    2014-07-27 20:05:33 [INFOS] [STDOUT] (The LWJGL binding of OpenAL. For more information, see http://www.lwjgl.org)
    2014-07-27 20:05:33 [INFOS] [STDOUT] OpenAL initialized.
    2014-07-27 20:05:33 [INFOS] [STDOUT]
    2014-07-27 20:05:39 [INFOS] [Minecraft-Server] Starting integrated minecraft server version 1.6.4
    2014-07-27 20:05:39 [INFOS] [Minecraft-Server] Generating keypair
    2014-07-27 20:05:40 [INFOS] [ForgeModLoader] Loading dimension 0 (Dev' Test World) (net.minecraft.server.integrated.IntegratedServer@3f93e8)
    2014-07-27 20:05:40 [INFOS] [ForgeModLoader] Loading dimension 1 (Dev' Test World) (net.minecraft.server.integrated.IntegratedServer@3f93e8)
    2014-07-27 20:05:40 [INFOS] [ForgeModLoader] Loading dimension -1 (Dev' Test World) (net.minecraft.server.integrated.IntegratedServer@3f93e8)
    2014-07-27 20:05:40 [INFOS] [Minecraft-Server] Preparing start region for level 0
    2014-07-27 20:05:41 [INFOS] [Minecraft-Server] Preparing spawn area: 67%
    2014-07-27 20:05:41 [INFOS] [STDOUT] loading single player
    2014-07-27 20:05:41 [INFOS] [Minecraft-Server] ShLennon640[/127.0.0.1:0] logged in with entity id 98 at (1400.159305541699, 4.0, -1065.0027341654231)
    2014-07-27 20:05:41 [INFOS] [Minecraft-Server] ShLennon640 joined the game
    2014-07-27 20:05:42 [INFOS] [STDOUT] Setting up custom skins
    2014-07-27 20:05:49 [INFOS] [Minecraft-Server] Saving and pausing game…
    2014-07-27 20:05:49 [INFOS] [Minecraft-Server] Saving chunks for level 'Dev' Test World'/Overworld
    2014-07-27 20:05:49 [INFOS] [Minecraft-Server] Saving chunks for level 'Dev' Test World'/Nether
    2014-07-27 20:05:49 [INFOS] [Minecraft-Server] Saving chunks for level 'Dev' Test World'/The End
    2014-07-27 20:06:01 [INFOS] [Minecraft-Server] [ShLennon640: Set own game mode to Creative Mode]
    2014-07-27 20:06:01 [INFOS] [Minecraft-Client] [CHAT] Your game mode has been updated
    2014-07-27 20:06:08 [INFOS] [Minecraft-Server] Stopping server
    2014-07-27 20:06:08 [INFOS] [Minecraft-Server] Saving players
    2014-07-27 20:06:08 [INFOS] [Minecraft-Server] ShLennon640 left the game
    2014-07-27 20:06:08 [INFOS] [Minecraft-Server] Saving worlds
    2014-07-27 20:06:08 [INFOS] [Minecraft-Server] Saving chunks for level 'Dev' Test World'/Overworld
    2014-07-27 20:06:08 [INFOS] [Minecraft-Server] Saving chunks for level 'Dev' Test World'/Nether
    2014-07-27 20:06:08 [INFOS] [Minecraft-Server] Saving chunks for level 'Dev' Test World'/The End
    2014-07-27 20:06:09 [INFOS] [ForgeModLoader] Unloading dimension 0
    2014-07-27 20:06:09 [INFOS] [ForgeModLoader] Unloading dimension -1
    2014-07-27 20:06:09 [INFOS] [ForgeModLoader] Unloading dimension 1
    2014-07-27 20:06:09 [INFOS] [STDERR] java.lang.NullPointerException
    2014-07-27 20:06:09 [INFOS] [STDERR] at viruz.zeamateis.block.BlockWoodenCrossTomb.setBlockBoundsBasedOnState(BlockWoodenCrossTomb.java:34)
    2014-07-27 20:06:09 [INFOS] [STDERR] at viruz.zeamateis.block.BlockWoodenCrossTomb.getCollisionBoundingBoxFromPool(BlockWoodenCrossTomb.java:97)
    2014-07-27 20:06:09 [INFOS] [STDERR] at net.minecraft.world.World.canPlaceEntityOnSide(World.java:3852)
    2014-07-27 20:06:09 [INFOS] [STDERR] at net.minecraft.item.ItemBlock.canPlaceItemBlockOnSide(ItemBlock.java:180)
    2014-07-27 20:06:09 [INFOS] [STDERR] at net.minecraft.client.multiplayer.PlayerControllerMP.onPlayerRightClick(PlayerControllerMP.java:381)
    2014-07-27 20:06:09 [INFOS] [STDERR] at net.minecraft.client.Minecraft.clickMouse(Minecraft.java:1390)
    2014-07-27 20:06:09 [INFOS] [STDERR] at net.minecraft.client.Minecraft.runTick(Minecraft.java:1868)
    2014-07-27 20:06:09 [INFOS] [STDERR] at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:910)
    2014-07-27 20:06:09 [INFOS] [STDERR] at net.minecraft.client.Minecraft.run(Minecraft.java:838)
    2014-07-27 20:06:09 [INFOS] [STDERR] at net.minecraft.client.main.Main.main(Main.java:93)
    2014-07-27 20:06:09 [INFOS] [STDERR] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    2014-07-27 20:06:09 [INFOS] [STDERR] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    2014-07-27 20:06:09 [INFOS] [STDERR] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    2014-07-27 20:06:09 [INFOS] [STDERR] at java.lang.reflect.Method.invoke(Unknown Source)
    2014-07-27 20:06:09 [INFOS] [STDERR] at net.minecraft.launchwrapper.Launch.launch(Launch.java:131)
    2014-07-27 20:06:09 [INFOS] [STDERR] at net.minecraft.launchwrapper.Launch.main(Launch.java:27)
    2014-07-27 20:06:09 [INFOS] [STDOUT] –-- Minecraft Crash Report ----
    2014-07-27 20:06:09 [INFOS] [STDOUT] // I feel sad now :(
    2014-07-27 20:06:09 [INFOS] [STDOUT]
    2014-07-27 20:06:09 [INFOS] [STDOUT] Time: 27/07/14 20:06
    2014-07-27 20:06:09 [INFOS] [STDOUT] Description: Unexpected error
    2014-07-27 20:06:09 [INFOS] [STDOUT]
    2014-07-27 20:06:09 [INFOS] [STDOUT] java.lang.NullPointerException
    2014-07-27 20:06:09 [INFOS] [STDOUT] at viruz.zeamateis.block.BlockWoodenCrossTomb.setBlockBoundsBasedOnState(BlockWoodenCrossTomb.java:34)
    2014-07-27 20:06:09 [INFOS] [STDOUT] at viruz.zeamateis.block.BlockWoodenCrossTomb.getCollisionBoundingBoxFromPool(BlockWoodenCrossTomb.java:97)
    2014-07-27 20:06:09 [INFOS] [STDOUT] at net.minecraft.world.World.canPlaceEntityOnSide(World.java:3852)
    2014-07-27 20:06:09 [INFOS] [STDOUT] at net.minecraft.item.ItemBlock.canPlaceItemBlockOnSide(ItemBlock.java:180)
    2014-07-27 20:06:09 [INFOS] [STDOUT] at net.minecraft.client.multiplayer.PlayerControllerMP.onPlayerRightClick(PlayerControllerMP.java:381)
    2014-07-27 20:06:09 [INFOS] [STDOUT] at net.minecraft.client.Minecraft.clickMouse(Minecraft.java:1390)
    2014-07-27 20:06:09 [INFOS] [STDOUT] at net.minecraft.client.Minecraft.runTick(Minecraft.java:1868)
    2014-07-27 20:06:09 [INFOS] [STDOUT] at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:910)
    2014-07-27 20:06:09 [INFOS] [STDOUT] at net.minecraft.client.Minecraft.run(Minecraft.java:838)
    2014-07-27 20:06:09 [INFOS] [STDOUT] at net.minecraft.client.main.Main.main(Main.java:93)
    2014-07-27 20:06:09 [INFOS] [STDOUT] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    2014-07-27 20:06:09 [INFOS] [STDOUT] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    2014-07-27 20:06:09 [INFOS] [STDOUT] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    2014-07-27 20:06:09 [INFOS] [STDOUT] at java.lang.reflect.Method.invoke(Unknown Source)
    2014-07-27 20:06:09 [INFOS] [STDOUT] at net.minecraft.launchwrapper.Launch.launch(Launch.java:131)
    2014-07-27 20:06:09 [INFOS] [STDOUT] at net.minecraft.launchwrapper.Launch.main(Launch.java:27)
    2014-07-27 20:06:09 [INFOS] [STDOUT]
    2014-07-27 20:06:09 [INFOS] [STDOUT]
    2014-07-27 20:06:09 [INFOS] [STDOUT] A detailed walkthrough of the error, its code path and all known details is as follows:
    2014-07-27 20:06:09 [INFOS] [STDOUT] –-------------------------------------------------------------------------------------
    2014-07-27 20:06:09 [INFOS] [STDOUT]
    2014-07-27 20:06:09 [INFOS] [STDOUT] – Head --
    2014-07-27 20:06:09 [INFOS] [STDOUT] Stacktrace:
    2014-07-27 20:06:09 [INFOS] [STDOUT] at viruz.zeamateis.block.BlockWoodenCrossTomb.setBlockBoundsBasedOnState(BlockWoodenCrossTomb.java:34)
    2014-07-27 20:06:09 [INFOS] [STDOUT] at viruz.zeamateis.block.BlockWoodenCrossTomb.getCollisionBoundingBoxFromPool(BlockWoodenCrossTomb.java:97)
    2014-07-27 20:06:09 [INFOS] [STDOUT] at net.minecraft.world.World.canPlaceEntityOnSide(World.java:3852)
    2014-07-27 20:06:09 [INFOS] [STDOUT] at net.minecraft.item.ItemBlock.canPlaceItemBlockOnSide(ItemBlock.java:180)
    2014-07-27 20:06:09 [INFOS] [STDOUT] at net.minecraft.client.multiplayer.PlayerControllerMP.onPlayerRightClick(PlayerControllerMP.java:381)
    2014-07-27 20:06:09 [INFOS] [STDOUT] at net.minecraft.client.Minecraft.clickMouse(Minecraft.java:1390)
    2014-07-27 20:06:09 [INFOS] [STDOUT]
    2014-07-27 20:06:09 [INFOS] [STDOUT] – Affected level --
    2014-07-27 20:06:09 [INFOS] [STDOUT] Details:
    2014-07-27 20:06:09 [INFOS] [STDOUT] Level name: MpServer
    2014-07-27 20:06:09 [INFOS] [STDOUT] All players: 1 total; [EntityClientPlayerMP['ShLennon640'/98, l='MpServer', x=1404,47, y=5,62, z=-1051,29]]
    2014-07-27 20:06:09 [INFOS] [STDOUT] Chunk stats: MultiplayerChunkCache: 441
    2014-07-27 20:06:09 [INFOS] [STDOUT] Level seed: 0
    2014-07-27 20:06:09 [INFOS] [STDOUT] Level generator: ID 01 - flat, ver 0\. Features enabled: false
    2014-07-27 20:06:09 [INFOS] [STDOUT] Level generator options:
    2014-07-27 20:06:09 [INFOS] [STDOUT] Level spawn location: World: (1388,4,-1067), Chunk: (at 12,0,5 in 86,-67; contains blocks 1376,0,-1072 to 1391,255,-1057), Region: (2,-3; contains chunks 64,-96 to 95,-65, blocks 1024,0,-1536 to 1535,255,-1025)
    2014-07-27 20:06:09 [INFOS] [STDOUT] Level time: 119872 game time, 4747 day time
    2014-07-27 20:06:09 [INFOS] [STDOUT] Level dimension: 0
    2014-07-27 20:06:09 [INFOS] [STDOUT] Level storage version: 0x00000 - Unknown?
    2014-07-27 20:06:09 [INFOS] [STDOUT] Level weather: Rain time: 0 (now: true), thunder time: 0 (now: false)
    2014-07-27 20:06:09 [INFOS] [STDOUT] Level game mode: Game mode: survival (ID 0). Hardcore: false. Cheats: false
    2014-07-27 20:06:09 [INFOS] [STDOUT] Forced entities: 8 total; [EntityCow['Cow'/68, l='MpServer', x=1447,09, y=4,00, z=-1097,97], EntityBoar['Boar'/64, l='MpServer', x=1438,06, y=4,00, z=-1053,97], EntityDeer['entity.Deer.name'/17, l='MpServer', x=1331,47, y=4,00, z=-975,13], EntityDeer['entity.Deer.name'/23, l='MpServer', x=1328,44, y=4,00, z=-1093,06], EntityClientPlayerMP['ShLennon640'/98, l='MpServer', x=1404,47, y=5,62, z=-1051,29], EntityDeer['entity.Deer.name'/40, l='MpServer', x=1377,72, y=4,00, z=-1131,28], EntityDeer['entity.Deer.name'/45, l='MpServer', x=1402,28, y=4,00, z=-1127,81], EntityDeer['entity.Deer.name'/63, l='MpServer', x=1443,44, y=4,00, z=-1104,28]]
    2014-07-27 20:06:09 [INFOS] [STDOUT] Retry entities: 0 total; []
    2014-07-27 20:06:09 [INFOS] [STDOUT] Server brand: fml,forge
    2014-07-27 20:06:09 [INFOS] [STDOUT] Server type: Integrated singleplayer server
    2014-07-27 20:06:09 [INFOS] [STDOUT] Stacktrace:
    2014-07-27 20:06:09 [INFOS] [STDOUT] at net.minecraft.client.multiplayer.WorldClient.addWorldInfoToCrashReport(WorldClient.java:440)
    2014-07-27 20:06:09 [INFOS] [STDOUT] at net.minecraft.client.Minecraft.addGraphicsAndWorldToCrashReport(Minecraft.java:2312)
    2014-07-27 20:06:09 [INFOS] [STDOUT] at net.minecraft.client.Minecraft.run(Minecraft.java:863)
    2014-07-27 20:06:09 [INFOS] [STDOUT] at net.minecraft.client.main.Main.main(Main.java:93)
    2014-07-27 20:06:09 [INFOS] [STDOUT] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    2014-07-27 20:06:09 [INFOS] [STDOUT] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    2014-07-27 20:06:09 [INFOS] [STDOUT] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    2014-07-27 20:06:09 [INFOS] [STDOUT] at java.lang.reflect.Method.invoke(Unknown Source)
    2014-07-27 20:06:09 [INFOS] [STDOUT] at net.minecraft.launchwrapper.Launch.launch(Launch.java:131)
    2014-07-27 20:06:09 [INFOS] [STDOUT] at net.minecraft.launchwrapper.Launch.main(Launch.java:27)
    2014-07-27 20:06:09 [INFOS] [STDOUT]
    2014-07-27 20:06:09 [INFOS] [STDOUT] – System Details --
    2014-07-27 20:06:09 [INFOS] [STDOUT] Details:
    2014-07-27 20:06:09 [INFOS] [STDOUT] Minecraft Version: 1.6.4
    2014-07-27 20:06:09 [INFOS] [STDOUT] Operating System: Windows 8.1 (x86) version 6.3
    2014-07-27 20:06:09 [INFOS] [STDOUT] Java Version: 1.7.0_60, Oracle Corporation
    2014-07-27 20:06:09 [INFOS] [STDOUT] Java VM Version: Java HotSpot(TM) Client VM (mixed mode), Oracle Corporation
    2014-07-27 20:06:09 [INFOS] [STDOUT] Memory: 605685040 bytes (577 MB) / 1046937600 bytes (998 MB) up to 1046937600 bytes (998 MB)
    2014-07-27 20:06:09 [INFOS] [STDOUT] JVM Flags: 3 total; -Xincgc -Xmx1024M -Xms1024M
    2014-07-27 20:06:09 [INFOS] [STDOUT] AABB Pool Size: 3254 (182224 bytes; 0 MB) allocated, 2 (112 bytes; 0 MB) used
    2014-07-27 20:06:09 [INFOS] [STDOUT] Suspicious classes: FML and Forge are installed
    2014-07-27 20:06:09 [INFOS] [STDOUT] IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0
    2014-07-27 20:06:09 [INFOS] [STDOUT] FML: MCP v8.11 FML v6.4.49.965 Minecraft Forge 9.11.1.965 7 mods loaded, 7 mods active
    2014-07-27 20:06:09 [INFOS] [STDOUT] mcp{8.09} [Minecraft Coder Pack] (minecraft.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
    2014-07-27 20:06:09 [INFOS] [STDOUT] FML{6.4.49.965} [Forge Mod Loader] (bin) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
    2014-07-27 20:06:09 [INFOS] [STDOUT] Forge{9.11.1.965} [Minecraft Forge] (bin) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
    2014-07-27 20:06:09 [INFOS] [STDOUT] JoypadSplitscreenMod{1.6.4-0.1} [Joypad / SplitScreen Mod] (bin) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
    2014-07-27 20:06:09 [INFOS] [STDOUT] AnimationAPI{1.1.1} [AnimationAPI] (bin) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
    2014-07-27 20:06:09 [INFOS] [STDOUT] AnimationExample{1.0.0} [Animation Example] (bin) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
    2014-07-27 20:06:09 [INFOS] [STDOUT] ViruZ{3.0} [ViruZ] (bin) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
    2014-07-27 20:06:09 [INFOS] [STDOUT] Launched Version: 1.6
    2014-07-27 20:06:09 [INFOS] [STDOUT] LWJGL: 2.9.0
    2014-07-27 20:06:09 [INFOS] [STDOUT] OpenGL: Intel(R) HD Graphics 3000 GL version 3.1.0 - Build 9.17.10.3347, Intel
    2014-07-27 20:06:09 [INFOS] [STDOUT] Is Modded: Definitely; Client brand changed to 'fml,forge'
    2014-07-27 20:06:09 [INFOS] [STDOUT] Type: Client (map_client.txt)
    2014-07-27 20:06:09 [INFOS] [STDOUT] Resource Pack: TheHorde-ViruZ[1.0.5].zip
    2014-07-27 20:06:09 [INFOS] [STDOUT] Current Language: English (US)
    2014-07-27 20:06:09 [INFOS] [STDOUT] Profiler Position: N/A (disabled)
    2014-07-27 20:06:09 [INFOS] [STDOUT] Vec3 Pool Size: 82 (4592 bytes; 0 MB) allocated, 17 (952 bytes; 0 MB) used
    2014-07-27 20:06:09 [INFOS] [STDOUT] #@!@# Game crashed! Crash report saved to: #@!@# C:\Users\Jean-Baptiste\Desktop\Modding\JAVA\Stand-by\ViruZ_Core_Forge_1.6.4_9.11.1.965\forge\mcp\jars\.\crash-reports\crash-2014-07-27_20.06.09-client.txt
    AL lib: (EE) alc_cleanup: 1 device not closed
    
    

    :::

    La classe du bloc

    :::

    package viruz.zeamateis.block;
    
    import net.minecraft.block.Block;
    import net.minecraft.block.material.Material;
    import net.minecraft.entity.EntityLivingBase;
    import net.minecraft.item.ItemStack;
    import net.minecraft.tileentity.TileEntity;
    import net.minecraft.util.AxisAlignedBB;
    import net.minecraft.util.Icon;
    import net.minecraft.util.MathHelper;
    import net.minecraft.util.MovingObjectPosition;
    import net.minecraft.util.Vec3;
    import net.minecraft.world.IBlockAccess;
    import net.minecraft.world.World;
    import viruz.zeamateis.core.ViruZCore;
    import viruz.zeamateis.proxy.client.ClientProxy;
    import viruz.zeamateis.tileEntity.TileEntityCrossTomb;
    import cpw.mods.fml.relauncher.Side;
    import cpw.mods.fml.relauncher.SideOnly;
    
    public class BlockWoodenCrossTomb extends Block {
    
    public BlockWoodenCrossTomb(int par1, Material par2Material)
    {
    super(par1, par2Material);
    this.setHardness(5.5F);
    this.setStepSound(Block.soundWoodFootstep);
    this.setCreativeTab(ViruZCore.Blocks);
    }
    
    @Override
    public void setBlockBoundsBasedOnState(IBlockAccess access, int x, int y, int z) {
    TileEntityCrossTomb tileEntity = (TileEntityCrossTomb) access.getBlockTileEntity(x, y, z);
    switch(tileEntity.getDirection())
    {
    case 0:
    this.setBlockBounds(0.125F, 0, 0.0625F, 0.875F, 0.9375F, 0.1875F);
    break;
    case 1:
    this.setBlockBounds(0.125F, 0, 0.8125F, 0.875F, 0.9375F, 0.9375F);
    break;
    case 2:
    this.setBlockBounds(0.0625F, 0, 0.125F, 0.1875F, 0.9375F, 0.875F);
    break;
    case 3:
    this.setBlockBounds(0.8125F, 0, 0.125F, 0.9375F, 0.9375F, 0.875F);
    break;
    }
    }
    
    public boolean renderAsNormalBlock()
    {
    return false;
    }
    
    public boolean isOpaqueCube()
    {
    return false;
    }
    
    @SideOnly(Side.CLIENT)
    public int getRenderType()
    {
    return ClientProxy.renderInventoryTESRID;
    }
    
    public TileEntity createTileEntity(World world, int metadata)
    {
    return new TileEntityCrossTomb();
    }
    
    public boolean hasTileEntity(int metadata)
    {
    return true;
    }
    
    public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase living, ItemStack stack)
    {
    int direction = MathHelper.floor_double((double)(living.rotationYaw * 4.0F / 360.0F) + 2.5D) & 3;
    TileEntity te = world.getBlockTileEntity(x, y, z);
    if(te != null && te instanceof TileEntityCrossTomb)
    {
    ((TileEntityCrossTomb)te).setDirection((byte)direction);
    world.markBlockForUpdate(x, y, z);
    }
    }
    
    @SideOnly(Side.CLIENT)
    public AxisAlignedBB getSelectedBoundingBoxFromPool(World world, int x, int y, int z)
    {
    this.setBlockBoundsBasedOnState(world, x, y, z);
    return super.getSelectedBoundingBoxFromPool(world, x, y, z);
    }
    
    public AxisAlignedBB getCollisionBoundingBoxFromPool(World world, int x, int y, int z)
    {
    this.setBlockBoundsBasedOnState(world, x, y, z);
    return super.getCollisionBoundingBoxFromPool(world, x, y, z);
    }
    
    public Icon getIcon(int side, int metadata)
    {
    return Block.wood.getIcon(0, 0);
    }
    
    public MovingObjectPosition collisionRayTrace(World world, int x, int y, int z, Vec3 vec31, Vec3 vec32)
    {
    this.setBlockBoundsBasedOnState(world, x, y, z);
    return super.collisionRayTrace(world, x, y, z, vec31, vec32);
    }
    }
    

    :::

  • Moddeurs confirmés Rédacteurs Administrateurs

    Le tile entity est null, c'est étrange, vérifie tout.


  • Tu veux que je vérifie quoi ? Le tile entity ? La classe du bloc ?

    La classe du tyle entity est un peu plus haut

  • Moddeurs confirmés Rédacteurs Administrateurs

    Il est bien enregistré ?


  • Oui, il est enregistrer comme ça

    GameRegistry.registerTileEntity(TileEntityCrossTomb.class, "Cross_Tomb");

  • Moddeurs confirmés Rédacteurs Administrateurs

    Je vois pas ce qui peut causer problème alors 😕
    Il n'y a pas de raison que le tile entity soit null.


  • Oh non !

    Faut pas que ça foire…
    Chui dèg, je vais continuer les tests de mon côté


    J'ai réussi !

    A vous de juger le travail !

    :::

    package viruz.zeamateis.block;
    
    import net.minecraft.block.Block;
    import net.minecraft.block.material.Material;
    import net.minecraft.entity.EntityLivingBase;
    import net.minecraft.entity.player.EntityPlayer;
    import net.minecraft.item.ItemStack;
    import net.minecraft.tileentity.TileEntity;
    import net.minecraft.util.AxisAlignedBB;
    import net.minecraft.util.Icon;
    import net.minecraft.util.MathHelper;
    import net.minecraft.util.MovingObjectPosition;
    import net.minecraft.util.Vec3;
    import net.minecraft.world.IBlockAccess;
    import net.minecraft.world.World;
    import viruz.zeamateis.core.ViruZCore;
    import viruz.zeamateis.proxy.client.ClientProxy;
    import viruz.zeamateis.tileEntity.TileEntityCrossTomb;
    import cpw.mods.fml.relauncher.Side;
    import cpw.mods.fml.relauncher.SideOnly;
    
    public class BlockWoodenCrossTomb extends Block {
    
    public BlockWoodenCrossTomb(int par1, Material par2Material)
    {
    super(par1, par2Material);
    this.setHardness(5.5F);
    this.setStepSound(Block.soundWoodFootstep);
    this.setCreativeTab(ViruZCore.Blocks);
    }
    
    public void setBlockBoundsBasedOnState(IBlockAccess access, int x, int y, int z)
    {
    TileEntity te = access.getBlockTileEntity(x, y, z);
    if(te instanceof TileEntityCrossTomb)
    {
    TileEntityCrossTomb tile = (TileEntityCrossTomb)te;
    switch(tile.getDirection())
    {
    case 0:
    this.setBlockBounds(0.125F, 0, 0.0625F, 0.875F, 1F, 0.1875F);
    break;
    case 1:
    this.setBlockBounds(0.8125F, 0, 0.125F, 0.9375F, 1F, 0.875F);
    break;
    case 2:
    this.setBlockBounds(0.125F, 0, 0.8125F, 0.875F, 1F, 0.9375F);
    break;
    case 3:
    this.setBlockBounds(0.0625F, 0, 0.125F, 0.1875F, 1F, 0.875F);
    break;
    }
    }
    
    }
    
    public boolean renderAsNormalBlock()
    {
    return false;
    }
    
    public boolean isOpaqueCube()
    {
    return false;
    }
    
    @SideOnly(Side.CLIENT)
    public int getRenderType()
    {
    return ClientProxy.renderInventoryTESRID;
    }
    
    public TileEntity createTileEntity(World world, int metadata)
    {
    return new TileEntityCrossTomb();
    }
    
    public boolean hasTileEntity(int metadata)
    {
    return true;
    }
    
    public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase living, ItemStack stack)
    {
    int direction = MathHelper.floor_double((double)(living.rotationYaw * 4.0F / 360.0F) + 2.5D) & 3;
    TileEntity te = world.getBlockTileEntity(x, y, z);
    if(te != null && te instanceof TileEntityCrossTomb)
    {
    ((TileEntityCrossTomb)te).setDirection((byte)direction);
    world.markBlockForUpdate(x, y, z);
    }
    
    }
    
    @SideOnly(Side.CLIENT)
    public AxisAlignedBB getSelectedBoundingBoxFromPool(World world, int x, int y, int z)
    {
    this.setBlockBoundsBasedOnState(world, x, y, z);
    return super.getSelectedBoundingBoxFromPool(world, x, y, z);
    }
    
    public AxisAlignedBB getCollisionBoundingBoxFromPool(World world, int x, int y, int z)
    {
    this.setBlockBoundsBasedOnState(world, x, y, z);
    return super.getCollisionBoundingBoxFromPool(world, x, y, z);
    }
    
    public Icon getIcon(int side, int metadata)
    {
    return Block.wood.getIcon(0, 0);
    }
    
    public MovingObjectPosition collisionRayTrace(World world, int x, int y, int z, Vec3 vec31, Vec3 vec32)
    {
    this.setBlockBoundsBasedOnState(world, x, y, z);
    return super.collisionRayTrace(world, x, y, z, vec31, vec32);
    }
    }
    

    :::