本文整理汇总了Java中net.minecraftforge.liquids.LiquidStack类的典型用法代码示例。如果您正苦于以下问题:Java LiquidStack类的具体用法?Java LiquidStack怎么用?Java LiquidStack使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
LiquidStack类属于net.minecraftforge.liquids包,在下文中一共展示了LiquidStack类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。
示例1: fill
import net.minecraftforge.liquids.LiquidStack; //导入依赖的package包/类
@Override
public int fill(LiquidStack resource, boolean doFill) {
if (liquid != null && !resource.isLiquidEqual(liquid)) return 0;
int toAdd = Math.min(CAPACITY - (liquid == null ? 0 : liquid.amount), resource.amount);
if (toAdd < 0) toAdd = 0;
if (doFill) {
if (liquid == null) {
liquid = resource.copy();
liquid.amount = toAdd;
}
else liquid.amount += toAdd;
if (toAdd != 0) updateLiquid();
}
return toAdd;
}
开发者ID:austinv11,项目名称:PeripheralsPlusPlus,代码行数:17,代码来源:PeripheralTank.java
示例2: fill
import net.minecraftforge.liquids.LiquidStack; //导入依赖的package包/类
public int fill(int tankIndex, LiquidStack resource, boolean doFill) {
if (tankIndex != 0)
return 0;
// We only accept water
if (!GeneratorFuel.fuels.containsKey(resource.itemID))
return 0;
int used = resourceTank.fill(resource, doFill);
if (doFill && used > 0) {
// TODO: Slow down updates
sendNetworkUpdate();
}
return used;
}
开发者ID:ForestryMC,项目名称:ForestryLegacy,代码行数:18,代码来源:MachineGenerator.java
示例3: drain
import net.minecraftforge.liquids.LiquidStack; //导入依赖的package包/类
@Override
public LiquidStack drain(int maxDrain, boolean doDrain) {
int used = maxDrain;
if (quantity < maxDrain) {
used = quantity;
}
LiquidStack product = new LiquidStack(liquidId, used, liquidMeta);
if (doDrain) {
quantity -= used;
// Reset liquid id if we are empty
if (quantity <= 0 && liquidId > 0) {
liquidId = 0;
liquidMeta = 0;
}
}
return product;
}
开发者ID:ForestryMC,项目名称:ForestryLegacy,代码行数:20,代码来源:TankSlot.java
示例4: matches
import net.minecraftforge.liquids.LiquidStack; //导入依赖的package包/类
public boolean matches(LiquidStack liquid1, LiquidStack liquid2) {
// No inputs, return.
if (liquid1 == null && liquid2 == null)
return false;
// Return if two ingredients are required but only one was supplied.
if ((ingredient1 != null && ingredient2 != null) && (liquid1 == null || liquid2 == null))
return false;
if (ingredient1 != null) {
if (ingredient2 == null)
return ingredient1.isLiquidEqual(liquid1) || ingredient1.isLiquidEqual(liquid2);
else
return (ingredient1.isLiquidEqual(liquid1) && ingredient2.isLiquidEqual(liquid2))
|| (ingredient2.isLiquidEqual(liquid1) && ingredient1.isLiquidEqual(liquid2));
} else if (ingredient2 != null)
return ingredient2.isLiquidEqual(liquid1) || ingredient2.isLiquidEqual(liquid2);
else
return false;
}
开发者ID:austinv11,项目名称:PeripheralsPlusPlus,代码行数:25,代码来源:RefineryRecipe.java
示例5: hasWork
import net.minecraftforge.liquids.LiquidStack; //导入依赖的package包/类
@Override
public boolean hasWork() {
// Always send redstone signal if we are in the process of bottling
if (fillingTime > 0)
return true;
// Otherwise only if we have sufficient raw materials for a new bottling
// process
if (inventoryStacks[SLOT_RESOURCE] == null)
return false;
LiquidContainerData container = LiquidHelper.getEmptyContainer(inventoryStacks[SLOT_RESOURCE], new LiquidStack(Block.waterStill, 1));
if (container == null)
return false;
if (resourceTank.quantity < container.stillLiquid.amount)
return false;
return true;
}
开发者ID:ForestryMC,项目名称:ForestryLegacy,代码行数:20,代码来源:MachineRaintank.java
示例6: fill
import net.minecraftforge.liquids.LiquidStack; //导入依赖的package包/类
@Override
public int fill(ForgeDirection from, LiquidStack resource, boolean doFill) {
// We only accept what is already in the tank or valid ingredients
if (resourceTank.quantity > 0 && resourceTank.liquidId != resource.itemID)
return 0;
else if (!MachineStill.RecipeManager.isInput(resource))
return 0;
int used = resourceTank.fill(resource, doFill);
if (doFill && used > 0) {
tile.sendNetworkUpdate();
}
return used;
}
开发者ID:ForestryMC,项目名称:ForestryLegacy,代码行数:18,代码来源:MachineStill.java
示例7: initLiquids
import net.minecraftforge.liquids.LiquidStack; //导入依赖的package包/类
private void initLiquids() {
try {
oilStill = (Block) Class.forName("buildcraft.BuildCraftEnergy").getField("oilStill").get(null);
oilMoving = (Block) Class.forName("buildcraft.BuildCraftEnergy").getField("oilMoving").get(null);
fuel = (Item) Class.forName("buildcraft.BuildCraftEnergy").getField("fuel").get(null);
} catch (Exception ex) {
Proxies.log.fine("Oil or fuel not found.");
return;
}
LiquidHelper.injectWaxContainer(new LiquidContainerData(new LiquidStack(oilStill, Defaults.BUCKET_VOLUME), new ItemStack(ForestryItem.waxCapsuleOil),
new ItemStack(ForestryItem.waxCapsule)));
LiquidHelper.injectWaxContainer(new LiquidContainerData(new LiquidStack(fuel, Defaults.BUCKET_VOLUME), new ItemStack(ForestryItem.waxCapsuleFuel),
new ItemStack(ForestryItem.waxCapsule)));
LiquidHelper.injectRefractoryContainer(new LiquidContainerData(new LiquidStack(oilStill, Defaults.BUCKET_VOLUME), new ItemStack(
ForestryItem.refractoryOil), new ItemStack(ForestryItem.refractoryEmpty)));
LiquidHelper.injectRefractoryContainer(new LiquidContainerData(new LiquidStack(fuel, Defaults.BUCKET_VOLUME),
new ItemStack(ForestryItem.refractoryFuel), new ItemStack(ForestryItem.refractoryEmpty)));
LiquidHelper.injectTinContainer(new LiquidContainerData(new LiquidStack(oilStill, Defaults.BUCKET_VOLUME), new ItemStack(ForestryItem.canOil),
new ItemStack(ForestryItem.canEmpty)));
LiquidHelper.injectTinContainer(new LiquidContainerData(new LiquidStack(fuel, Defaults.BUCKET_VOLUME), new ItemStack(ForestryItem.canFuel),
new ItemStack(ForestryItem.canEmpty)));
}
开发者ID:ForestryMC,项目名称:ForestryLegacy,代码行数:25,代码来源:PluginBuildCraft.java
示例8: doInit
import net.minecraftforge.liquids.LiquidStack; //导入依赖的package包/类
@Override
public void doInit() {
super.doInit();
definitionEngineTin.register();
definitionEngineCopper.register();
definitionEngineBronze.register();
definitionGenerator.register();
GeneratorFuel.fuels.put(ForestryItem.liquidBiofuel.itemID, new GeneratorFuel(new LiquidStack(ForestryItem.liquidBiofuel, 1), 32, 2));
GeneratorFuel.fuels.put(ForestryItem.liquidBiomass.itemID, new GeneratorFuel(new LiquidStack(ForestryItem.liquidBiomass, 1), 8, 1));
Circuit.energyElectricChoke1 = new CircuitElectricChoke("energyChoke1");
Circuit.energyFireDampener1 = new CircuitFireDampener("energyDampener1");
Circuit.energyElectricEfficiency1 = new CircuitElectricEfficiency("energyEfficiency1");
Circuit.energyElectricBoost1 = new CircuitElectricBoost("energyBoost1", 2, 7, 2, "electric.boost.1", new String[] {
"Increases output by 2 MJ/t", "Increases intake by 7 EU/t" });
Circuit.energyElectricBoost2 = new CircuitElectricBoost("energyBoost2", 2, 15, 4, "electric.boost.2", new String[] {
"Increases output by 4 MJ/t", "Increases intake by 15 EU/t" });
}
开发者ID:ForestryMC,项目名称:ForestryLegacy,代码行数:21,代码来源:PluginForestryEnergy.java
示例9: readFromNBT
import net.minecraftforge.liquids.LiquidStack; //导入依赖的package包/类
@Override
public void readFromNBT(NBTTagCompound nbttagcompound) {
super.readFromNBT(nbttagcompound);
heat = nbttagcompound.getInteger("Heat");
// Tank
moltenTank = new TankSlot(Defaults.BUCKET_VOLUME * 2);
if (nbttagcompound.hasKey("MoltenTank")) {
moltenTank.readFromNBT(nbttagcompound.getCompoundTag("MoltenTank"));
}
// Pending Smelt
if (nbttagcompound.hasKey("PendingSmelt")) {
NBTTagCompound smelt = nbttagcompound.getCompoundTag("PendingSmelt");
pendingSmelt = LiquidStack.loadLiquidStackFromNBT(smelt);
}
// / Inventory
inventory.readFromNBT(nbttagcompound);
}
开发者ID:ForestryMC,项目名称:ForestryLegacy,代码行数:23,代码来源:MachineFabricator.java
示例10: updateServerSide
import net.minecraftforge.liquids.LiquidStack; //导入依赖的package包/类
@Override
public void updateServerSide() {
// Can/capsule input/output needs to be handled here.
if (inventoryStacks[canSlot] != null) {
LiquidContainerData container = LiquidHelper.getEmptyContainer(inventoryStacks[canSlot],
new LiquidStack(productTank.liquidId, productTank.quantity, productTank.liquidMeta));
if (container != null) {
inventoryStacks[outputSlot] = bottleIntoContainer(inventoryStacks[canSlot], inventoryStacks[outputSlot], container, productTank);
if (inventoryStacks[canSlot].stackSize <= 0) {
inventoryStacks[canSlot] = null;
}
}
}
if (tile.worldObj.getWorldTime() % 20 * 10 != 0)
return;
checkRecipe();
if (getErrorState() == EnumErrorCode.NORECIPE && currentRecipe != null) {
setErrorState(EnumErrorCode.OK);
}
}
开发者ID:ForestryMC,项目名称:ForestryLegacy,代码行数:27,代码来源:MachineSqueezer.java
示例11: initRubberChain
import net.minecraftforge.liquids.LiquidStack; //导入依赖的package包/类
private void initRubberChain() {
treetap = Items.getItem("treetap");
resin = Items.getItem("resin");
rubberwood = Items.getItem("rubberWood");
rubbersapling = Items.getItem("rubberSapling");
rubberleaves = Items.getItem("rubberLeaves");
fuelcanFilled = Items.getItem("filledFuelCan");
fuelcanEmpty = Items.getItem("fuelCan");
if (treetap == null || resin == null || rubberwood == null || rubbersapling == null || rubberleaves == null || fuelcanFilled == null
|| fuelcanEmpty == null) {
Proxies.log.fine("Any of the following IC2 blocks and items could not be found: resin, rubber wood, saplings or leaves, filled fuel cans, empty fuel cans. Skipped adding rubber chain.");
return;
}
// Add crop provider
CropProviders.arborealCrops.add(new CropProviderRubber());
// Add extra recipes
RecipeManagers.centrifugeManager.addRecipe(20, new ItemStack(ForestryItem.propolis), resin);
ItemStack fuelcanStack = new ItemStack(fuelcanFilled.itemID, 1, 0);
NBTTagCompound compound = new NBTTagCompound();
compound.setInteger("value", 15288);
fuelcanStack.setTagCompound(compound);
RecipeManagers.bottlerManager.addRecipe(20, new LiquidStack(ForestryItem.liquidBiofuel, Defaults.BOTTLER_FUELCAN_VOLUME), fuelcanEmpty, fuelcanStack);
RecipeUtil.injectLeveledRecipe(rubbersapling, GameMode.getGameMode().getFermentedPerSapling(), new ItemStack(ForestryItem.liquidBiomass));
// Add backpack items
BackpackManager.backpackItems[2].add(rubbersapling);
BackpackManager.backpackItems[2].add(rubberleaves);
// Rubber wood is added via ore dictionary.
}
开发者ID:ForestryMC,项目名称:ForestryLegacy,代码行数:33,代码来源:PluginIC2.java
示例12: fill
import net.minecraftforge.liquids.LiquidStack; //导入依赖的package包/类
@Override
public int fill(int tankIndex, LiquidStack resource, boolean doFill) {
if (tankIndex == 0)
return fuelTank.fill(resource, doFill);
else if (tankIndex == 1)
return heatingTank.fill(resource, doFill);
else
return 0;
}
开发者ID:ForestryMC,项目名称:ForestryLegacy,代码行数:10,代码来源:EngineBronze.java
示例13: emptyInto
import net.minecraftforge.liquids.LiquidStack; //导入依赖的package包/类
public static int emptyInto(LiquidStack liquidStack, LiquidTank tank, boolean doFill) {
int filled = 0;
if (tank.getLiquid().amount != 0 && (tank.getLiquid().itemID != liquidStack.itemID || tank.getLiquid().itemMeta != liquidStack.itemMeta)) {
filled = 0;
} else if (tank.getLiquid().amount + liquidStack.amount <= tank.getCapacity()) {
if (doFill) {
tank.getLiquid().amount += liquidStack.amount;
tank.setLiquid(new LiquidStack(liquidStack.itemID, tank.getLiquid().amount, liquidStack.itemMeta));
}
filled = liquidStack.amount;
// Only partial space
} else {
int used = tank.getCapacity() - tank.getLiquid().amount;
if (doFill) {
tank.setLiquid(new LiquidStack(liquidStack.itemID, tank.getCapacity(), liquidStack.itemMeta));
}
filled = used;
}
return filled;
}
开发者ID:ForestryMC,项目名称:ForestryLegacy,代码行数:28,代码来源:LiquidUtil.java
示例14: drain
import net.minecraftforge.liquids.LiquidStack; //导入依赖的package包/类
@Override
public LiquidStack drain(int maxDrain, boolean doDrain) {
if (liquid == null) return null;
LiquidStack ret = liquid.copy();
ret.amount = Math.min(liquid.amount, maxDrain);
if (doDrain) {
liquid.amount -= ret.amount;
if (liquid.amount <= 0) liquid = null;
if (ret.amount != 0) updateLiquid();
}
return ret;
}
开发者ID:austinv11,项目名称:PeripheralsPlusPlus,代码行数:14,代码来源:PeripheralTank.java
示例15: checkRecipe
import net.minecraftforge.liquids.LiquidStack; //导入依赖的package包/类
private void checkRecipe() {
Recipe sameRec = RecipeManager.findMatchingRecipe(inventoryStacks[SLOT_RESOURCE], new LiquidStack(resourceTank.liquidId, resourceTank.quantity, resourceTank.liquidMeta));
if (currentRecipe != sameRec) {
currentRecipe = sameRec;
}
}
开发者ID:ForestryMC,项目名称:ForestryLegacy,代码行数:8,代码来源:MachineFermenter.java
示例16: findRefineryRecipe
import net.minecraftforge.liquids.LiquidStack; //导入依赖的package包/类
public static RefineryRecipe findRefineryRecipe(LiquidStack liquid1, LiquidStack liquid2) {
for (RefineryRecipe recipe : recipes)
if (recipe.matches(liquid1, liquid2))
return recipe;
return null;
}
开发者ID:austinv11,项目名称:PeripheralsPlusPlus,代码行数:8,代码来源:RefineryRecipe.java
示例17: getFuelForLiquid
import net.minecraftforge.liquids.LiquidStack; //导入依赖的package包/类
public static IronEngineFuel getFuelForLiquid(LiquidStack liquid) {
if (liquid == null)
return null;
if (liquid.itemID <= 0)
return null;
for (IronEngineFuel fuel : fuels)
if (fuel.liquid.isLiquidEqual(liquid))
return fuel;
return null;
}
开发者ID:austinv11,项目名称:PeripheralsPlusPlus,代码行数:13,代码来源:IronEngineFuel.java
示例18: getTank
import net.minecraftforge.liquids.LiquidStack; //导入依赖的package包/类
@Override
public ILiquidTank getTank(ForgeDirection direction, LiquidStack type) {
if (direction == tile.getOrientation().getRotation(ForgeDirection.UP))
return resourceTank;
else if (direction == tile.getOrientation().getRotation(ForgeDirection.DOWN))
return productTank;
return null;
}
开发者ID:ForestryMC,项目名称:ForestryLegacy,代码行数:9,代码来源:MachineStill.java
示例19: getCoolantForLiquid
import net.minecraftforge.liquids.LiquidStack; //导入依赖的package包/类
public static IronEngineCoolant getCoolantForLiquid(LiquidStack liquid) {
if (liquid == null)
return null;
if (liquid.itemID <= 0)
return null;
for (IronEngineCoolant coolant : coolants)
if (coolant.liquid.isLiquidEqual(liquid))
return coolant;
return null;
}
开发者ID:austinv11,项目名称:PeripheralsPlusPlus,代码行数:13,代码来源:IronEngineCoolant.java
示例20: fill
import net.minecraftforge.liquids.LiquidStack; //导入依赖的package包/类
@Override
public int fill(ForgeDirection from, LiquidStack resource, boolean doFill) {
// We only accept water
if (resource.itemID != Block.waterStill.blockID)
return 0;
int used = resourceTank.fill(resource, doFill);
if (doFill && used > 0) {
// updateNetworkTime.markTime(worldObj);
tile.sendNetworkUpdate();
}
return used;
}
开发者ID:ForestryMC,项目名称:ForestryLegacy,代码行数:16,代码来源:MachineRaintank.java
注:本文中的net.minecraftforge.liquids.LiquidStack类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论