本文整理汇总了Java中forestry.api.farming.IFarmHousing类的典型用法代码示例。如果您正苦于以下问题:Java IFarmHousing类的具体用法?Java IFarmHousing怎么用?Java IFarmHousing使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
IFarmHousing类属于forestry.api.farming包,在下文中一共展示了IFarmHousing类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: maintainCrops
import forestry.api.farming.IFarmHousing; //导入依赖的package包/类
@Override
protected boolean maintainCrops(World world, IFarmHousing farmHousing, BlockPos pos, FarmDirection direction, int extent) {
for (int i = 0; i < extent; i++) {
BlockPos position = translateWithOffset(pos, direction, i);
IBlockState state = world.getBlockState(position);
if (!world.isAirBlock(position) && !BlockUtil.isReplaceableBlock(state, world, position)) {
continue;
}
IBlockState groundState = world.getBlockState(position.down());
if (isAcceptedGround(groundState)) {
return trySetCrop(world, farmHousing, position);
}
}
return false;
}
示例2: onInsertion
import forestry.api.farming.IFarmHousing; //导入依赖的package包/类
@Override
public void onInsertion(int slot, TileEntity tile) {
if(!isCircuitable(tile))
return;
FarmLogic logic = null;
try {
logic = logicClass.getConstructor(new Class[] { IFarmHousing.class }).newInstance(new Object[] { (IFarmHousing)tile });
} catch (Exception ex) {
throw new RuntimeException("Failed to instantiate logic of class " + logicClass.getName() + ": " + ex.getMessage());
}
if(logic != null) {
if(isManual)
logic.setManual(isManual);
((IFarmHousing)tile).setFarmLogic(ForgeDirection.values()[slot + 2], logic);
}
}
示例3: doWork
import forestry.api.farming.IFarmHousing; //导入依赖的package包/类
@Override
public void doWork() {
if(activationDelay > 0) {
activationDelay--;
return;
}
// Hard limit to 4 cycles / second.
if (worldObj.getWorldTime() % 5 * 10 != 0)
return;
ITileStructure central = getCentralTE();
if(!(central instanceof IFarmHousing))
return;
if(((IFarmHousing)central).doWork()) {
powerProvider.useEnergy(MIN_ACTIVATION_ENERGY, MIN_ACTIVATION_ENERGY, true);
previousDelays = 0;
} else {
// If the central TE doesn't have work, we add to the activation delay to throttle the CPU usage.
activationDelay = 10*previousDelays < 120 ? 10*previousDelays : 120;
previousDelays++; // First delay is free!
}
}
示例4: getCircuitable
import forestry.api.farming.IFarmHousing; //导入依赖的package包/类
@Nullable
private IFarmHousing getCircuitable(Object tile) {
if (!isCircuitable(tile)) {
return null;
}
return (IFarmHousing) tile;
}
示例5: onRemoval
import forestry.api.farming.IFarmHousing; //导入依赖的package包/类
@Override
public void onRemoval(int slot, Object tile) {
IFarmHousing farmHousing = getCircuitable(tile);
if (farmHousing == null) {
return;
}
farmHousing.resetFarmLogic(FarmDirection.values()[slot]);
}
示例6: onInsertion
import forestry.api.farming.IFarmHousing; //导入依赖的package包/类
@Override
@SuppressWarnings("rawtypes")
public void onInsertion(int slot, Object tile) {
IFarmHousing housing = getCircuitable(tile);
if (housing == null)
return;
logic.setManual(false);
housing.setFarmLogic(FarmDirection.values()[slot], logic);
}
示例7: onRemoval
import forestry.api.farming.IFarmHousing; //导入依赖的package包/类
@Override
public void onRemoval(int slot, Object tile) {
if (!isCircuitable(tile))
return;
((IFarmHousing) tile).resetFarmLogic(FarmDirection.values()[slot]);
}
示例8: onRemoval
import forestry.api.farming.IFarmHousing; //导入依赖的package包/类
@Override
public void onRemoval(int slot, TileEntity tile) {
if(!isCircuitable(tile))
return;
((IFarmHousing)tile).resetFarmLogic(ForgeDirection.values()[slot + 2]);
}
示例9: FarmLogicCrops
import forestry.api.farming.IFarmHousing; //导入依赖的package包/类
public FarmLogicCrops(IFarmHousing housing, IFarmable[] seeds) {
super(housing,
new ItemStack[] { new ItemStack(Block.dirt) },
new ItemStack[] { new ItemStack(Block.tilledField) },
new ItemStack[] { new ItemStack(Block.dirt), new ItemStack(Block.grass) });
this.seeds = seeds;
}
示例10: FarmLogicHomogenous
import forestry.api.farming.IFarmHousing; //导入依赖的package包/类
public FarmLogicHomogenous(IFarmHousing housing, ItemStack[] resource, ItemStack[] ground, ItemStack[] waste, IFarmable[] germlings) {
super(housing);
this.resource = resource;
this.ground = ground;
this.waste = waste;
this.germlings = germlings;
}
示例11: FarmLogicArboreal
import forestry.api.farming.IFarmHousing; //导入依赖的package包/类
public FarmLogicArboreal(IFarmHousing housing) {
super(housing,
new ItemStack[] { new ItemStack(Block.dirt) },
new ItemStack[] { new ItemStack(ForestryBlock.soil.blockID, 1, 0), new ItemStack(ForestryBlock.soil.blockID, 1, -1) },
new ItemStack[] { new ItemStack(Block.sand) },
Farmables.farmables.get("farmArboreal").toArray(new IFarmable[0])
);
}
示例12: FarmLogicInfernal
import forestry.api.farming.IFarmHousing; //导入依赖的package包/类
public FarmLogicInfernal(IFarmHousing housing) {
super(housing,
new ItemStack[] { new ItemStack(Block.slowSand) },
new ItemStack[] { new ItemStack(Block.slowSand) },
new ItemStack[0],
Farmables.farmables.get("farmInfernal").toArray(new IFarmable[0]));
}
示例13: FarmLogicRubber
import forestry.api.farming.IFarmHousing; //导入依赖的package包/类
public FarmLogicRubber(IFarmHousing housing) {
super(housing);
if(PluginIC2.rubberwood == null || PluginIC2.resin == null) {
Proxies.log.warning("Failed to init a farm logic %s since IC2 was not found", getClass().getName());
inActive = true;
}
}
示例14: getFarmLogic
import forestry.api.farming.IFarmHousing; //导入依赖的package包/类
@Override
protected IFarmLogic getFarmLogic(IFarmHousing housing) throws Throwable{
ArrayList<IFarmable> origList = (ArrayList<IFarmable>)Farmables.farmables.get("farmVegetables");
ArrayList<IFarmable> backup = new ArrayList<IFarmable>(origList);
origList.clear();
origList.add(new FarmablePlastic(getBlock()));
IFarmLogic logic = getLogicClass("FarmLogicVegetable").getConstructor(IFarmHousing.class).newInstance(housing);
origList.clear();
origList.addAll(backup);
return logic;
}
示例15: collect
import forestry.api.farming.IFarmHousing; //导入依赖的package包/类
@Override
public Collection<ItemStack> collect(World world, IFarmHousing farmHousing) {
return null;
}