本文整理汇总了Java中dan200.computercraft.api.turtle.ITurtleAccess类的典型用法代码示例。如果您正苦于以下问题:Java ITurtleAccess类的具体用法?Java ITurtleAccess怎么用?Java ITurtleAccess使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
ITurtleAccess类属于dan200.computercraft.api.turtle包,在下文中一共展示了ITurtleAccess类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。
示例1: update
import dan200.computercraft.api.turtle.ITurtleAccess; //导入依赖的package包/类
@Override
public void update(ITurtleAccess turtle, TurtleSide side)
{
//CRMod.infoLog("chunky.update(): getUpgrade="+turtle.getUpgrade(side));
if(turtle.getWorld().isRemote)//on Client getPeripheral doesn't work (CC1.63pr3)
return;
IPeripheral p = turtle.getPeripheral(side);
if( p instanceof ChunkyPeripheral)
{
((ChunkyPeripheral) p).update();
}
else
{
if(p!=null)
ChunkyPeripherals.logger.error("update called on a turtle without chunky module ( p is "+p.getClass().getName()+")");
else
ChunkyPeripherals.logger.error("update called on a turtle without chunky module ( p is null )");
}
}
开发者ID:c-rizz,项目名称:ChunkyPeripherals,代码行数:20,代码来源:ChunkyUpgrade.java
示例2: useTool
import dan200.computercraft.api.turtle.ITurtleAccess; //导入依赖的package包/类
@Override
public TurtleCommandResult useTool(ITurtleAccess turtle, TurtleSide side, TurtleVerb verb, int direction)
{
return TurtleCommandResult.failure();
/*
if(FMLCommonHandler.instance().getEffectiveSide()==Side.CLIENT)//on Client getPeripheral doesn't work (CC1.63pr3)
return TurtleCommandResult.failure();
if(verb==TurtleVerb.Dig)
{
IPeripheral p = turtle.getPeripheral(side);
if(direction>1)//se la direzione non è su o giù
direction = 2;
ITurtleCommand dig = new MinyChunkyPeripheral.DigCommand(direction);
return dig.execute(turtle);
}
else
{
return TurtleCommandResult.failure("Unsupported action");
}
*/
}
开发者ID:c-rizz,项目名称:ChunkyPeripherals,代码行数:25,代码来源:MinyChunkyUpgrade.java
示例3: PeripheralBarrel
import dan200.computercraft.api.turtle.ITurtleAccess; //导入依赖的package包/类
public PeripheralBarrel(ITurtleAccess turtle, TurtleSide side) {
this.turtle = turtle;
this.side = side;
NBTTagCompound tag = turtle.getUpgradeNBTData(side);
if (tag.getInteger("maxSize") > 0)
MAX_SIZE = tag.getInteger("maxSize");
if (tag.getInteger("stackSize") > 0)
STACK_SIZE = tag.getInteger("stackSize");
CURRENT_USAGE = tag.getInteger("currentUsage");
if (tag.getBoolean("isKnown"))
{
ITEM_TYPE_STORED = Item.getItemById(tag.getInteger("itemID"));
ITEM_META_STORED = tag.getInteger("stackMeta");
}
checkUsageStats();
}
开发者ID:austinv11,项目名称:PeripheralsPlusPlus,代码行数:17,代码来源:PeripheralBarrel.java
示例4: update
import dan200.computercraft.api.turtle.ITurtleAccess; //导入依赖的package包/类
@Override
public void update(ITurtleAccess turtle, TurtleSide side) {
if (!Config.enableRidableTurtle) {
return;
}
World world = turtle.getWorld();
if (!world.isRemote) {
try {
getEntity(turtle);
} catch (Exception e) {
EntityRidableTurtle ridableTurtle = new EntityRidableTurtle(world);
ridableTurtle.setPosition(turtle.getPosition().posX + 0.5, turtle.getPosition().posY,
turtle.getPosition().posZ + 0.5);
ridableTurtle.setTurtle(turtle);
world.spawnEntityInWorld(ridableTurtle);
}
}
}
开发者ID:austinv11,项目名称:PeripheralsPlusPlus,代码行数:19,代码来源:TurtleRidable.java
示例5: attackEntity
import dan200.computercraft.api.turtle.ITurtleAccess; //导入依赖的package包/类
@Override
protected ArrayList<ItemStack> attackEntity(ITurtleAccess turtle, Entity entity) throws TurtleFailureAttack {
final IInventory inv = turtle.getInventory();
final int selected = turtle.getSelectedSlot();
final ItemStack currStack = inv.getStackInSlot(selected);
if (currStack == null || currStack.stackSize <= 0) {
throw new TurtleFailureAttack("selected slot empty");
}
final EntityAnimal animal = (EntityAnimal) entity;
if (animal.getGrowingAge() == 0 && !animal.isInLove() && animal.isBreedingItem(currStack)) {
animal.setTarget(null); // remove anything they're following
animal.func_146082_f(null); // set it in love
--currStack.stackSize;
if (currStack.stackSize == 0) {
inv.setInventorySlotContents(selected, null);
}
}
return null;
}
开发者ID:theoriginalbit,项目名称:MoarPeripherals,代码行数:20,代码来源:UpgradeFeeder.java
示例6: teleportTo
import dan200.computercraft.api.turtle.ITurtleAccess; //导入依赖的package包/类
@LuaFunction
@MultiReturn
public Object[] teleportTo(int x, int y, int z) {
// look for the Turtle above
final ITurtleAccess turtle = TurtleUtil.getITurtle(worldObj, xCoord, yCoord + 1, zCoord);
// if there was a turtle
if (turtle != null) {
// make sure it can teleport there
if (!worldObj.isAirBlock(x, y, z)) {
return new Object[]{false, "Teleport failed"};
}
// check there is enough fuel to teleport
int requiredFuel = requiredFuelInternal(turtle, x, y, z);
if (requiredFuel > turtle.getFuelLevel()) {
return new Object[]{false, "Not enough fuel"};
}
// consume the fuel and teleport the Turtle
turtle.consumeFuel(requiredFuel);
turtle.teleportTo(worldObj, x, y, z);
// show teleport particles and play teleport sounds at both sides
doTeleportFX(new ChunkCoordinates(x, y, z));
return new Object[]{true};
}
// no turtle
return new Object[]{false, "No Turtle found above the teleport"};
}
开发者ID:theoriginalbit,项目名称:MoarPeripherals,代码行数:27,代码来源:TileTurtleTeleport.java
示例7: WirelessChunkyPeripheral
import dan200.computercraft.api.turtle.ITurtleAccess; //导入依赖的package包/类
public WirelessChunkyPeripheral(ITurtleAccess t, TurtleSide side)
{
super(t);
Class wirelessModemClass = null;
ITurtleUpgrade turtleModemObject = (ITurtleUpgrade) CCReflectionHelper.runMainCCClassMethod("getTurtleUpgrade", 1);
wirelessModemSubPeripheral = turtleModemObject.createPeripheral(t,side);
methodsNumber = wirelessModemSubPeripheral.getMethodNames().length;
}
开发者ID:c-rizz,项目名称:ChunkyPeripherals,代码行数:12,代码来源:WirelessChunkyPeripheral.java
示例8: update
import dan200.computercraft.api.turtle.ITurtleAccess; //导入依赖的package包/类
@Override
public void update(ITurtleAccess turtle, TurtleSide side)
{
//update the chunky part of the peripheral
super.update(turtle,side);
//do what dan does
if(turtle.getWorld().isRemote)
return;
IPeripheral p = turtle.getPeripheral(side);
if( p!=null && p instanceof WirelessChunkyPeripheral)
{
Object subPeripheral = ((WirelessChunkyPeripheral)p).getSubPeripheral();
if((Boolean) CCReflectionHelper.invokeMethod(subPeripheral, true, "pollChanged"))
{
turtle.getUpgradeNBTData(side).setBoolean("active", (Boolean) CCReflectionHelper.invokeMethod(subPeripheral, true, "isActive"));
turtle.updateUpgradeNBTData(side);
}
}
else
{
if(p!=null)
ChunkyPeripherals.logger.error("update called on a turtle without wireless chunky module ( p is "+p.getClass().getName()+")");
else
ChunkyPeripherals.logger.error("update called on a turtle without wireless chunky module ( p is null )");
}
}
开发者ID:c-rizz,项目名称:ChunkyPeripherals,代码行数:29,代码来源:WirelessChunkyUpgrade.java
示例9: getIcon
import dan200.computercraft.api.turtle.ITurtleAccess; //导入依赖的package包/类
@Override
public IIcon getIcon(ITurtleAccess turtle, TurtleSide side)
{
if(side==TurtleSide.Left)
return iconLeft;
else
return iconRight;
}
开发者ID:c-rizz,项目名称:ChunkyPeripherals,代码行数:9,代码来源:MinyChunkyUpgrade.java
示例10: onMessage
import dan200.computercraft.api.turtle.ITurtleAccess; //导入依赖的package包/类
@Override
public IMessage onMessage(SynthResponsePacket message, MessageContext ctx) {
if (message.side == null)
((TileEntitySpeaker) message.world.getTileEntity(message.x, message.y, message.z)).onSpeechCompletion(message.text, null);
else
try {
ITurtleAccess turtle = ReflectionHelper.getTurtle(message.world.getTileEntity(message.x, message.y, message.z));
((TileEntitySpeaker)turtle.getPeripheral(message.side)).onSpeechCompletion(message.text, null);
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
开发者ID:austinv11,项目名称:PeripheralsPlusPlus,代码行数:14,代码来源:SynthResponsePacket.java
示例11: onMessage
import dan200.computercraft.api.turtle.ITurtleAccess; //导入依赖的package包/类
@Override
public IMessage onMessage(AudioResponsePacket message, MessageContext ctx) {
if (message.side == null)
((TileEntitySpeaker) message.world.getTileEntity(message.x, message.y, message.z)).onSpeechCompletion(message.text, message.lang);
else
try {
ITurtleAccess turtle = ReflectionHelper.getTurtle(message.world.getTileEntity(message.x, message.y, message.z));
((TileEntitySpeaker)turtle.getPeripheral(message.side)).onSpeechCompletion(message.text, message.lang);
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
开发者ID:austinv11,项目名称:PeripheralsPlusPlus,代码行数:14,代码来源:AudioResponsePacket.java
示例12: 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
示例13: 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
示例14: 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
示例15: getPeripheral
import dan200.computercraft.api.turtle.ITurtleAccess; //导入依赖的package包/类
public static <T> T getPeripheral(ITurtleAccess turtle, Class<T> clazz) {
for (TurtleSide side : EnumSet.allOf(TurtleSide.class)) {
IPeripheral peripheral = turtle.getPeripheral(side);
if (peripheral != null && clazz.isAssignableFrom(peripheral.getClass()))
return (T)peripheral;
}
return null;
}
开发者ID:austinv11,项目名称:PeripheralsPlusPlus,代码行数:10,代码来源:TurtleUtil.java
示例16: getPeripheralSide
import dan200.computercraft.api.turtle.ITurtleAccess; //导入依赖的package包/类
public static TurtleSide getPeripheralSide(ITurtleAccess turtle, Class clazz) {
for (TurtleSide side : EnumSet.allOf(TurtleSide.class)) {
IPeripheral peripheral = turtle.getPeripheral(side);
if (peripheral != null && clazz.isAssignableFrom(peripheral.getClass()))
return side;
}
return null;
}
开发者ID:austinv11,项目名称:PeripheralsPlusPlus,代码行数:10,代码来源:TurtleUtil.java
示例17: getTurtle
import dan200.computercraft.api.turtle.ITurtleAccess; //导入依赖的package包/类
public static ITurtleAccess getTurtle(TileEntity te) throws Exception {
if (te instanceof ITurtleAccess)
return (ITurtleAccess) te;
Class teClass = te.getClass();
if (teClass.getName().equals("dan200.computercraft.shared.turtle.blocks.TileTurtleExpanded") || teClass.getName().equals("dan200.computercraft.shared.turtle.blocks.TileTurtleAdvanced") || teClass.getName().equals("dan200.computercraft.shared.turtle.blocks.TileTurtle")) {
Method getAccess = teClass.getMethod("getAccess", new Class[0]);
ITurtleAccess turtle = (ITurtleAccess)getAccess.invoke(te, new Object[0]);
if (turtle != null)
return turtle;
}
return null;
}
开发者ID:austinv11,项目名称:PeripheralsPlusPlus,代码行数:13,代码来源:ReflectionHelper.java
示例18: update
import dan200.computercraft.api.turtle.ITurtleAccess; //导入依赖的package包/类
@Override
public void update(ITurtleAccess turtle, TurtleSide side) {
IPeripheral peripheral = turtle.getPeripheral(side);
if (peripheral instanceof TileEntityNoteBlock) {
((TileEntityNoteBlock) peripheral).updateEntity(true);
}
}
开发者ID:austinv11,项目名称:PeripheralsPlusPlus,代码行数:8,代码来源:TurtleNoteBlock.java
示例19: PeripheralTank
import dan200.computercraft.api.turtle.ITurtleAccess; //导入依赖的package包/类
public PeripheralTank(ITurtleAccess turtle, TurtleSide side) {
this.turtle = turtle;
this.side = side;
if (!turtle.getWorld().isRemote) {
NBTTagCompound turtleTag = turtle.getUpgradeNBTData(side);
NBTTagCompound tankData = turtleTag.getCompoundTag("TankData");
if (tankData != null) {
fluidTank.readFromNBT(tankData);
}
}
}
开发者ID:austinv11,项目名称:PeripheralsPlusPlus,代码行数:14,代码来源:PeripheralTank.java
示例20: PeripheralXP
import dan200.computercraft.api.turtle.ITurtleAccess; //导入依赖的package包/类
public PeripheralXP(ITurtleAccess turtleAccess, TurtleSide side) {
turtle = turtleAccess;
this.side = side;
NBTTagCompound tag = turtle.getUpgradeNBTData(side);
experience = tag.getInteger("experience");
experienceRemainder = tag.getInteger("experienceRemainder");
experienceLevel = tag.getInteger("experienceLevel");
random.setSeed(tag.getLong("rndSeed"));
}
开发者ID:austinv11,项目名称:PeripheralsPlusPlus,代码行数:10,代码来源:PeripheralXP.java
注:本文中的dan200.computercraft.api.turtle.ITurtleAccess类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论