• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Java LiquidStack类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了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;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java Float32Array类代码示例发布时间:2022-05-22
下一篇:
Java QZoneShareContent类代码示例发布时间:2022-05-22
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap