本文整理汇总了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;
}
示例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);
}
示例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()));
}
}
示例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());
}
示例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;
}
示例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;
}
示例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();
}
}
示例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
);
}
示例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"};
}
示例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);
}
示例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"));
}
}
示例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);
}
示例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);
}
示例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);
}
示例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);
}