当前位置: 首页>>代码示例>>Java>>正文


Java ITurtleAccess.getPosition方法代码示例

本文整理汇总了Java中dan200.computercraft.api.turtle.ITurtleAccess.getPosition方法的典型用法代码示例。如果您正苦于以下问题:Java ITurtleAccess.getPosition方法的具体用法?Java ITurtleAccess.getPosition怎么用?Java ITurtleAccess.getPosition使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在dan200.computercraft.api.turtle.ITurtleAccess的用法示例。


在下文中一共展示了ITurtleAccess.getPosition方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: harvestBlock

import dan200.computercraft.api.turtle.ITurtleAccess; //导入方法依赖的package包/类
public static List<ItemStack> harvestBlock(ITurtleAccess turtle, FakeTurtlePlayer player, int dir, ItemStack itemToUse) {
	int x = turtle.getPosition().posX+Facing.offsetsXForSide[dir];
	int y = turtle.getPosition().posY+Facing.offsetsYForSide[dir];
	int z = turtle.getPosition().posZ+Facing.offsetsZForSide[dir];
	if (!turtle.getWorld().isAirBlock(x,y,z)) {
		Block block = turtle.getWorld().getBlock(x,y,z);
		player.setCurrentItemOrArmor(0, itemToUse);
		if (block.getBlockHardness(turtle.getWorld(), x,y,z) >= 0 && block.canHarvestBlock(player, block.getDamageValue(turtle.getWorld(),x,y,z))) {
			List<ItemStack> items = block.getDrops(turtle.getWorld(),x,y,z, block.getDamageValue(turtle.getWorld(),x,y,z), 0);
			turtle.getWorld().setBlockToAir(x,y,z);
			return items;
		}
	}
	return null;
}
 
开发者ID:austinv11,项目名称:PeripheralsPlusPlus,代码行数:16,代码来源:TurtleUtil.java

示例2: getEntitiesNearTurtle

import dan200.computercraft.api.turtle.ITurtleAccess; //导入方法依赖的package包/类
public static List<Entity> getEntitiesNearTurtle(ITurtleAccess turtle, FakeTurtlePlayer player, int dir) {
	int x = turtle.getPosition().posX+Facing.offsetsXForSide[dir];
	int y = turtle.getPosition().posY+Facing.offsetsYForSide[dir];
	int z = turtle.getPosition().posZ+Facing.offsetsZForSide[dir];
	AxisAlignedBB box = AxisAlignedBB.getBoundingBox(x, y, z, x+1.0D, y+1.0D, z+1.0D);
	return turtle.getWorld().getEntitiesWithinAABBExcludingEntity(player, box);
}
 
开发者ID:austinv11,项目名称:PeripheralsPlusPlus,代码行数:8,代码来源:TurtleUtil.java

示例3: addToInv

import dan200.computercraft.api.turtle.ITurtleAccess; //导入方法依赖的package包/类
public static void addToInv(ITurtleAccess turtle, ItemStack stack) {
	boolean drop = true;
	IInventory inv = turtle.getInventory();
	ChunkCoordinates coords = turtle.getPosition();
	for (int i = 0; i < inv.getSizeInventory(); i++) {
		ItemStack currentStack = inv.getStackInSlot(i);
		if (currentStack == null) {
			inv.setInventorySlotContents(i, stack);
			drop = false;
			break;
		}
		if (currentStack.isStackable() && currentStack.isItemEqual(stack)) {
			int space = currentStack.getMaxStackSize() - currentStack.stackSize;
			if (stack.stackSize > space) {
				currentStack.stackSize = currentStack.getMaxStackSize();
				stack.stackSize -= space;
				drop = true;
			} else {
				currentStack.stackSize += stack.stackSize;
				stack.stackSize = 0;
				drop = false;
				break;
			}
		}
	}
	if (drop) {
		int dir = turtle.getDirection();
		turtle.getWorld().spawnEntityInWorld(new EntityItem(turtle.getWorld(), coords.posX+Facing.offsetsXForSide[dir], coords.posY+Facing.offsetsYForSide[dir]+1, coords.posZ+Facing.offsetsZForSide[dir], stack.copy()));
	}
}
 
开发者ID:austinv11,项目名称:PeripheralsPlusPlus,代码行数:31,代码来源:TurtleUtil.java

示例4: TileEntityPlayerSensor

import dan200.computercraft.api.turtle.ITurtleAccess; //导入方法依赖的package包/类
public TileEntityPlayerSensor(ITurtleAccess turtle) {
	location = new Location(turtle.getPosition().posX,turtle.getPosition().posY, turtle.getPosition().posZ, turtle.getWorld());
	this.turtle = turtle;
	this.xCoord = turtle.getPosition().posX;
	this.yCoord = turtle.getPosition().posY;
	this.zCoord = turtle.getPosition().posZ;
	this.setWorldObj(turtle.getWorld());
}
 
开发者ID:austinv11,项目名称:PeripheralsPlusPlus,代码行数:9,代码来源:TileEntityPlayerSensor.java

示例5: TileEntityChatBox

import dan200.computercraft.api.turtle.ITurtleAccess; //导入方法依赖的package包/类
public TileEntityChatBox(ITurtleAccess turtle) {
	this.xCoord = turtle.getPosition().posX;
	this.yCoord = turtle.getPosition().posY;
	this.zCoord = turtle.getPosition().posZ;
	this.setWorldObj(turtle.getWorld());
	this.turtle = turtle;
}
 
开发者ID:austinv11,项目名称:PeripheralsPlusPlus,代码行数:8,代码来源:TileEntityChatBox.java

示例6: TileEntityNoteBlock

import dan200.computercraft.api.turtle.ITurtleAccess; //导入方法依赖的package包/类
public TileEntityNoteBlock(ITurtleAccess turtle) {
	location = new Location(turtle.getPosition().posX, turtle.getPosition().posY, turtle.getPosition().posZ, turtle.getWorld());
	this.xCoord = (int) location.getX();
	this.yCoord = (int) location.getY();
	this.zCoord = (int) location.getZ();
	this.setWorldObj(location.getWorld());
	this.turtle = turtle;
}
 
开发者ID:austinv11,项目名称:PeripheralsPlusPlus,代码行数:9,代码来源:TileEntityNoteBlock.java

示例7: update

import dan200.computercraft.api.turtle.ITurtleAccess; //导入方法依赖的package包/类
@Override
protected void update(ITurtleAccess turtle, TurtleSide side, WrapperComputer peripheral) {
    final Object instance = peripheral.getInstance();
    if (instance instanceof TileEntity) {
        TileEntity tile = (TileEntity) instance;
        ChunkCoordinates coords = turtle.getPosition();
        tile.setWorldObj(turtle.getWorld());
        tile.xCoord = coords.posX;
        tile.yCoord = coords.posY;
        tile.zCoord = coords.posZ;
        tile.updateEntity();
    }
}
 
开发者ID:theoriginalbit,项目名称:MoarPeripherals,代码行数:14,代码来源:UpgradeChatBox.java

示例8: getEntitySearchAABB

import dan200.computercraft.api.turtle.ITurtleAccess; //导入方法依赖的package包/类
@Override
protected AxisAlignedBB getEntitySearchAABB(ITurtleAccess turtle, int dir) {
    final ChunkCoordinates coordinates = turtle.getPosition();
    int x = coordinates.posX;
    int y = coordinates.posY;
    int z = coordinates.posZ;
    return AxisAlignedBB.getBoundingBox(
            x - 1.5d,
            y - 1.5d,
            z - 1.5d,
            x + 1.5d,
            y + 1.5d,
            z + 1.5d
    );
}
 
开发者ID:theoriginalbit,项目名称:MoarPeripherals,代码行数:16,代码来源:UpgradeFeeder.java

示例9: getTurtleLocation

import dan200.computercraft.api.turtle.ITurtleAccess; //导入方法依赖的package包/类
@LuaFunction
@MultiReturn
public Object[] getTurtleLocation() {
    // look for the Turtle above
    ITurtleAccess turtle = TurtleUtil.getITurtle(worldObj, xCoord, yCoord + 1, zCoord);
    // if there was a turtle
    if (turtle != null) {
        // get the turtle's location
        final ChunkCoordinates coords = turtle.getPosition();
        // return the turtle's location
        return new Object[]{true, new Integer[]{coords.posX, coords.posY, coords.posZ}};
    }
    // no turtle
    return new Object[]{false, "No Turtle found above the teleport"};
}
 
开发者ID:theoriginalbit,项目名称:MoarPeripherals,代码行数:16,代码来源:TileTurtleTeleport.java

示例10: requiredFuelInternal

import dan200.computercraft.api.turtle.ITurtleAccess; //导入方法依赖的package包/类
private int requiredFuelInternal(ITurtleAccess turtle, int x, int y, int z) {
    if (turtle == null) return 0;
    // find out how far they wish to teleport
    final ChunkCoordinates coords = turtle.getPosition();
    final double distance = Math.sqrt(coords.getDistanceSquared(x, y, z));
    // calculate the fuel required to get to this location
    return (int) Math.ceil(distance * ConfigData.teleportFuelMultiplier);
}
 
开发者ID:theoriginalbit,项目名称:MoarPeripherals,代码行数:9,代码来源:TileTurtleTeleport.java

示例11: setTurtle

import dan200.computercraft.api.turtle.ITurtleAccess; //导入方法依赖的package包/类
public void setTurtle(ITurtleAccess turtle, int direction) {
	this.turtle = turtle;
	this.world = turtle.getWorld();
	this.pos = turtle.getPosition();
	this.direction = direction;
	this.offsetX = pos.posX + Facing.offsetsXForSide[direction];
	this.offsetY = pos.posY + Facing.offsetsYForSide[direction];
	this.offsetZ = pos.posZ + Facing.offsetsZForSide[direction];
	if (!this.world.isRemote) {
		WorldServer server = DimensionManager.getWorld(this.world.provider.dimensionId);
		this.fakePlayer = new FakePlayer(server, new GameProfile(null, "turtlePlayer"));
	}
}
 
开发者ID:SlimeVoid,项目名称:TurtleExtension,代码行数:14,代码来源:TurtleUpgradeBase.java

示例12: PlayerTurtle

import dan200.computercraft.api.turtle.ITurtleAccess; //导入方法依赖的package包/类
public PlayerTurtle(ITurtleAccess turtle) {
    super((WorldServer) turtle.getWorld(), new GameProfile(null, "MoarPeripheralsTurtle"));
    final ChunkCoordinates coordinates = turtle.getPosition();
    setPosition(coordinates.posX + 0.5d, coordinates.posY + 0.5d, coordinates.posZ + 0.5d);
}
 
开发者ID:thraaawn,项目名称:CCFactoryManager,代码行数:6,代码来源:PlayerTurtle.java

示例13: FakeTurtlePlayer

import dan200.computercraft.api.turtle.ITurtleAccess; //导入方法依赖的package包/类
public FakeTurtlePlayer(ITurtleAccess turtle) {
	this((WorldServer) turtle.getWorld());
	ChunkCoordinates position = turtle.getPosition();
	setPosition(position.posX + 0.5D, position.posY + 0.5D, position.posZ + 0.5D);
}
 
开发者ID:austinv11,项目名称:PeripheralsPlusPlus,代码行数:6,代码来源:FakeTurtlePlayer.java

示例14: PeripheralChunkLoader

import dan200.computercraft.api.turtle.ITurtleAccess; //导入方法依赖的package包/类
public PeripheralChunkLoader(ITurtleAccess turtle) {
	this.turtle = turtle;
	this.pos = new ChunkCoordIntPair(turtle.getPosition().posX >> 4, turtle.getPosition().posZ >> 4);
}
 
开发者ID:austinv11,项目名称:PeripheralsPlusPlus,代码行数:5,代码来源:PeripheralChunkLoader.java

示例15: isTurtleValid

import dan200.computercraft.api.turtle.ITurtleAccess; //导入方法依赖的package包/类
public static boolean isTurtleValid(ITurtleAccess access) {
	World world = access.getWorld();
	if (world == null) return false;
	ChunkCoordinates coords = access.getPosition();
	return world.blockExists(coords.posX, coords.posY, coords.posZ);
}
 
开发者ID:OpenMods,项目名称:OpenPeripheral-Addons,代码行数:7,代码来源:CCUtils.java


注:本文中的dan200.computercraft.api.turtle.ITurtleAccess.getPosition方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。