本文整理了Java中net.minecraft.block.Block.collisionRayTrace()
方法的一些代码示例,展示了Block.collisionRayTrace()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Block.collisionRayTrace()
方法的具体详情如下:
包路径:net.minecraft.block.Block
类名称:Block
方法名:collisionRayTrace
暂无
代码示例来源:origin: AppliedEnergistics/Applied-Energistics-2
final RayTraceResult r = super.collisionRayTrace( state, w, pos, a, b );
return super.collisionRayTrace( state, w, pos, a, b );
代码示例来源:origin: DimensionalDevelopment/VanillaFix
@Override
public RayTraceResult collisionRayTrace(World world, BlockPos pos, Vec3d start, Vec3d end) {
return block.collisionRayTrace(this, world, pos, start, end);
}
代码示例来源:origin: McJtyMods/XNet
protected RayTraceResult originalCollisionRayTrace(IBlockState blockState, World world, BlockPos pos, Vec3d start, Vec3d end) {
return super.collisionRayTrace(blockState, world, pos, start, end);
}
代码示例来源:origin: AppliedEnergistics/Applied-Energistics-2
final RayTraceResult r = super.collisionRayTrace( state, w, pos, ld.getA(), ld.getB() );
代码示例来源:origin: DimensionalDevelopment/VanillaFix
@Override
public RayTraceResult collisionRayTrace(World worldIn, BlockPos pos, Vec3d start, Vec3d end) {
return normalState.getBlock().collisionRayTrace(this, worldIn, pos, start, end);
}
代码示例来源:origin: Electrical-Age/ElectricalAge
@Override
public MovingObjectPosition collisionRayTrace(World world, int x, int y, int z, Vec3 startVec, Vec3 endVec) {
int meta = world.getBlockMetadata(x, y, z);
switch (meta) {
case tFloor:
this.maxY = 0.0625;
break;
case tLadder:
this.maxX = 0.01;
this.maxY = 0.01;
this.maxZ = 0.01;
break;
default:
break;
}
MovingObjectPosition m = super.collisionRayTrace(world, x, y, z, startVec, endVec);
switch (meta) {
case tFloor:
this.maxY = 1;
break;
case tLadder:
this.maxX = 1;
this.maxY = 1;
this.maxZ = 1;
break;
default:
break;
}
return m;
}
代码示例来源:origin: TheCBProject/EnderStorage
@Override
public RayTraceResult collisionRayTrace(IBlockState state, World world, BlockPos pos, Vec3d start, Vec3d end) {
TileEntity tile = world.getTileEntity(pos);
if (tile != null && tile instanceof TileFrequencyOwner) {
return RayTracer.rayTraceCuboidsClosest(start, end, pos, ((TileFrequencyOwner) tile).getIndexedCuboids());
}
return super.collisionRayTrace(state, world, pos, start, end);
}
代码示例来源:origin: AppliedEnergistics/Applied-Energistics-2
final RayTraceResult mop = block.collisionRayTrace( world.getBlockState( pos ), world, pos, dir.getA(), dir.getB() );
final RayTraceResult mop = block.collisionRayTrace( world.getBlockState( pos ), world, pos, dir.getA(), dir.getB() );
final RayTraceResult mop = state.getBlock().collisionRayTrace( state, world, pos, dir.getA(), dir.getB() );
代码示例来源:origin: AlgorithmX2/Chisels-and-Bits
@Override
public boolean rotate(
final World world,
final BlockPos pos,
final EntityPlayer player )
{
final IMultipartContainer container = MultipartHelper.getContainer( world, pos ).orElse( null );
if ( container != null )
{
final IBlockState state = world.getBlockState( pos );
final Block blk = state.getBlock();
if ( blk != null )
{
final Pair<Vec3d, Vec3d> atob = RayTraceHelper.getRayTraceVectors( player );
final RayTraceResult crt = blk.collisionRayTrace( state, world, pos, atob.getKey(), atob.getValue() );
if ( crt.hitInfo instanceof PartInfo )
{
// TODO : rotate the parts.
}
}
}
return false;
}
代码示例来源:origin: AlgorithmX2/Chisels-and-Bits
@Override
public EnumActionResult onItemUse(
final EntityPlayer playerIn,
final World worldIn,
final BlockPos pos,
final EnumHand hand,
final EnumFacing facing,
final float hitX,
final float hitY,
final float hitZ )
{
if ( worldIn.isRemote )
{
if ( playerIn.isSneaking() )
{
ClientSide.instance.tapeMeasures.clear();
return EnumActionResult.SUCCESS;
}
final Pair<Vec3d, Vec3d> PlayerRay = ModUtil.getPlayerRay( playerIn );
final Vec3d ray_from = PlayerRay.getLeft();
final Vec3d ray_to = PlayerRay.getRight();
final RayTraceResult mop = playerIn.worldObj.getBlockState( pos ).getBlock().collisionRayTrace( playerIn.getEntityWorld().getBlockState( pos ), playerIn.worldObj, pos, ray_from, ray_to );
if ( mop != null && mop.typeOfHit == RayTraceResult.Type.BLOCK )
{
final BitLocation loc = new BitLocation( mop, true, BitOperation.CHISEL );
ClientSide.instance.pointAt( ChiselToolType.TAPEMEASURE, loc, hand );
}
}
return EnumActionResult.SUCCESS;
}
代码示例来源:origin: AlgorithmX2/Chisels-and-Bits
final Vec3d ray_to = PlayerRay.getRight();
final RayTraceResult mop = player.worldObj.getBlockState( pos ).getBlock().collisionRayTrace( player.getEntityWorld().getBlockState( pos ), player.worldObj, pos, ray_from, ray_to );
if ( mop != null && mop.typeOfHit == RayTraceResult.Type.BLOCK )
final Vec3d ray_to = PlayerRay.getRight();
final RayTraceResult mop = player.worldObj.getBlockState( pos ).getBlock().collisionRayTrace( player.worldObj.getBlockState( pos ), player.worldObj, pos, ray_from, ray_to );
if ( mop != null && mop.typeOfHit == RayTraceResult.Type.BLOCK )
代码示例来源:origin: RS485/LogisticsPipes
private void updateSelection(Vector3d start, Vector3d end) {
start.add(origin);
end.add(origin);
List<RayTraceResult> hits = new ArrayList<>();
LogisticsBlockGenericPipe.ignoreSideRayTrace = true;
for (DoubleCoordinates bc : configurables) {
IBlockState bs = bc.getBlockState(world);
Block block = bs.getBlock();
if (block != null) {
if(block instanceof LogisticsBlockGenericPipe) {
cachedLPBlockTrace = LPBlocks.pipe.doRayTrace(world, bc.getBlockPos(), start.toVec3d(), end.toVec3d());
} else {
cachedLPBlockTrace = null;
}
RayTraceResult hit = block.collisionRayTrace(bc.getBlockState(world), world, bc.getBlockPos(), start.toVec3d(), end.toVec3d());
if (hit != null) {
hits.add(hit);
}
}
}
LogisticsBlockGenericPipe.ignoreSideRayTrace = false;
selection = null;
RayTraceResult hit = getClosestHit(start.toVec3d(), hits);
if (hit != null) {
TileEntity te = world.getTileEntity(hit.getBlockPos());
if(te != null) {
selection = new SelectedFace(te, hit.sideHit, hit);
}
}
}
代码示例来源:origin: AlgorithmX2/Chisels-and-Bits
return super.collisionRayTrace( blockState, worldIn, pos, a, b );
内容来源于网络,如有侵权,请联系作者删除!