kamishibusan
8/30/2017 - 12:32 PM

minecraftmodexample.example000_009.e004_damage_block.BlockDamageBlock.java

package net.nyagosu.minecraftmodexample.example000_009.e004_damage_block;

import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.Entity;
import net.minecraft.util.DamageSource;
import net.minecraft.util.math.AxisAlignedBB;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
import net.nyagosu.minecraftmodexample.MinecraftModExample;

public class BlockDamageBlock extends Block {

	public BlockDamageBlock()
	{
		super(Material.GROUND);
		this.setCreativeTab(MinecraftModExample.base_tab);
	}

  //エンティティが触れると呼ばれるイベント
	public void onEntityCollidedWithBlock(World worldIn, BlockPos pos, IBlockState state, Entity entityIn)
	{
    //エンティティにダメージを与える。
		entityIn.attackEntityFrom(DamageSource.GENERIC, 1.0F);
	}

	public AxisAlignedBB getCollisionBoundingBox(IBlockState blockState, IBlockAccess worldIn, BlockPos pos)
	{
    //1.0x1.0x1.0より少し小さいサイズを指定しないとダメ。
		return new AxisAlignedBB(0.0125D, 0.0D, 0.0125D, 0.9875D, 0.9875D, 0.9875D);
	}
}