本文整理汇总了Java中net.darkhax.tesla.api.ITeslaProducer类的典型用法代码示例。如果您正苦于以下问题:Java ITeslaProducer类的具体用法?Java ITeslaProducer怎么用?Java ITeslaProducer使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
ITeslaProducer类属于net.darkhax.tesla.api包,在下文中一共展示了ITeslaProducer类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: preInit
import net.darkhax.tesla.api.ITeslaProducer; //导入依赖的package包/类
@EventHandler
public void preInit (FMLPreInitializationEvent event) {
CapabilityManager.INSTANCE.register(ITeslaConsumer.class, new CapabilityTeslaConsumer<ITeslaConsumer>(), BaseTeslaContainer.class);
CapabilityManager.INSTANCE.register(ITeslaProducer.class, new CapabilityTeslaProducer<ITeslaProducer>(), BaseTeslaContainer.class);
CapabilityManager.INSTANCE.register(ITeslaHolder.class, new CapabilityTeslaHolder<ITeslaHolder>(), BaseTeslaContainer.class);
}
示例2: preInit
import net.darkhax.tesla.api.ITeslaProducer; //导入依赖的package包/类
@EventHandler
public void preInit (FMLPreInitializationEvent event) {
CapabilityManager.INSTANCE.register(ITeslaConsumer.class, new CapabilityTeslaConsumer<>(), BaseTeslaContainer.class);
CapabilityManager.INSTANCE.register(ITeslaProducer.class, new CapabilityTeslaProducer<>(), BaseTeslaContainer.class);
CapabilityManager.INSTANCE.register(ITeslaHolder.class, new CapabilityTeslaHolder<>(), BaseTeslaContainer.class);
}
示例3: consumePowerFromAllFaces
import net.darkhax.tesla.api.ITeslaProducer; //导入依赖的package包/类
/**
* Attempts to consume power from all producers touching the given BlockPos.
*
* @param world The world that this is happening in.
* @param pos The position to search around.
* @param amount The amount of power to request from each individual face.
* @param simulated Whether or not this is being ran as part of a simulation.
* @return The amount of power that was successfully consumed.
*/
public static long consumePowerFromAllFaces (World world, BlockPos pos, long amount, boolean simulated) {
long recievedPower = 0L;
for (final ITeslaProducer producer : getConnectedCapabilities(TeslaCapabilities.CAPABILITY_PRODUCER, world, pos)) {
recievedPower += producer.takePower(amount, simulated);
}
return recievedPower;
}
示例4: createTeslaCapability
import net.darkhax.tesla.api.ITeslaProducer; //导入依赖的package包/类
@SuppressWarnings("rawtypes")
@Optional.Method(modid = Configs.TESLA)
static Entry<Capability, Map<EnumFacing, Object>> createTeslaCapability(IRFProvider provider) {
Map<EnumFacing, Object> forge = new HashMap<>();
for (EnumFacing f : EnumFacing.VALUES) {
forge.put(f, new ITeslaProducer() {
@Override
public long takePower(long power, boolean simulated) {
return provider.extractRF(f, power, simulated);
}
});
}
return new EmptyEntry<>(TeslaCapabilities.CAPABILITY_PRODUCER, forge);
}
示例5: tryPushEnergy
import net.darkhax.tesla.api.ITeslaProducer; //导入依赖的package包/类
/** Provide (push-only) adjacent energy */
public static void tryPushEnergy(TileEntityRF origin) {
TileEntity adjacent;
ITeslaProducer producer;
ITeslaConsumer consumer;
long calc;
for(EnumFacing face : EnumFacing.values()) {
// make sure the tile exists and isn't another export bus / LE generator
if((adjacent = origin.getWorld().getTileEntity(origin.getPos().offset(face))) != null &&
!(adjacent instanceof TileEntityRF)) {
EnumFacing swap = face.getOpposite();
// only push energy, unlike the RF handler
if(origin.hasCapability(TeslaCapabilities.CAPABILITY_PRODUCER, face) &&
adjacent.hasCapability(TeslaCapabilities.CAPABILITY_CONSUMER, swap)) {
producer = origin.getCapability(TeslaCapabilities.CAPABILITY_PRODUCER, face);
consumer = adjacent.getCapability(TeslaCapabilities.CAPABILITY_CONSUMER, swap);
} else {
continue; // nothing to do here
}
// make sure the operation is valid, then do it
if((calc = producer.takePower(Long.MAX_VALUE, true)) > 0) {
if(consumer.givePower(Long.MAX_VALUE, true) > 0) {
long realTesla = consumer.givePower(calc, false);
producer.takePower(realTesla, false);
}
}
}
}
}
示例6: update
import net.darkhax.tesla.api.ITeslaProducer; //导入依赖的package包/类
@Override
public void update()
{
if (attachedTile == null)
{
getAttachedTile();
}
if (connectedCoils != null)
{
IBlockState state = world.getBlockState(pos);
EnumFacing facing = state.getValue(BlockTeslaCoil.FACING);
ITeslaHolder holder = attachedTile.getCapability(TeslaCapabilities.CAPABILITY_HOLDER, facing.getOpposite());
if (hasConnectedCapability(TeslaCapabilities.CAPABILITY_CONSUMER) &&
attachedTile.hasCapability(TeslaCapabilities.CAPABILITY_PRODUCER, facing.getOpposite()) &&
holder.getStoredPower() > 0)
{
List<ITeslaConsumer> consumers = getConnectedCapabilities(TeslaCapabilities.CAPABILITY_CONSUMER);
ITeslaProducer producer = attachedTile.getCapability(TeslaCapabilities.CAPABILITY_PRODUCER, facing.getOpposite());
for(ITeslaConsumer consumer : consumers)
{
producer.takePower(consumer.givePower(producer.takePower(Config.teslaCoilTransferRate, true), false), false);
}
}
}
}
示例7: getCapability
import net.darkhax.tesla.api.ITeslaProducer; //导入依赖的package包/类
@Override
public IEnergyStorage getCapability(@Nullable ICapabilityProvider provider, @Nullable EnumFacing side) {
if (provider == null) {
return null;
}
ITeslaHolder capHolder = provider.getCapability(NullHelper.notnull(TeslaCapabilities.CAPABILITY_HOLDER, "Tesla broke"), side);
ITeslaConsumer capConsumer = provider.getCapability(NullHelper.notnull(TeslaCapabilities.CAPABILITY_CONSUMER, "Tesla broke"), side);
ITeslaProducer capProducer = provider.getCapability(NullHelper.notnull(TeslaCapabilities.CAPABILITY_PRODUCER, "Tesla broke"), side);
if (capHolder == null && capConsumer == null && capProducer == null) {
return null;
}
return new TeslaToForgeAdapter(capHolder, capConsumer, capProducer);
}
示例8: writeNBT
import net.darkhax.tesla.api.ITeslaProducer; //导入依赖的package包/类
@Override
public NBTBase writeNBT (Capability<ITeslaProducer> capability, ITeslaProducer instance, EnumFacing side) {
return null;
}
示例9: writeNBT
import net.darkhax.tesla.api.ITeslaProducer; //导入依赖的package包/类
@Override
public NBTBase writeNBT (Capability<ITeslaProducer> capability, ITeslaProducer instance, EnumFacing side) {
return null;
}
示例10: producer
import net.darkhax.tesla.api.ITeslaProducer; //导入依赖的package包/类
@CapabilityInject(ITeslaProducer.class)
public static void producer(Capability tesla)
{
TeslaControllerBase.PRODUCER = new Producer(tesla);
}
示例11: TeslaToForgeAdapter
import net.darkhax.tesla.api.ITeslaProducer; //导入依赖的package包/类
public TeslaToForgeAdapter(ITeslaHolder capHolder, ITeslaConsumer capConsumer, ITeslaProducer capProducer) {
this.capHolder = capHolder;
this.capConsumer = capConsumer;
this.capProducer = capProducer;
}
示例12: consumePowerFromAllFaces
import net.darkhax.tesla.api.ITeslaProducer; //导入依赖的package包/类
/**
* Attempts to consume power from all producers touching the given BlockPos.
*
* @param world The world that this is happening in.
* @param pos The position to search around.
* @param amount The amount of power to request from each individual face.
* @param simulated Whether or not this is being ran as part of a simulation.
* @return The amount of power that was successfully consumed.
*/
public static long consumePowerFromAllFaces (World world, BlockPos pos, long amount, boolean simulated) {
long recievedPower = 0L;
for (final ITeslaProducer producer : getConnectedCapabilities(TeslaCapabilities.CAPABILITY_PRODUCER, world, pos))
recievedPower += producer.takePower(amount, simulated);
return recievedPower;
}
示例13: getTeslaProducer
import net.darkhax.tesla.api.ITeslaProducer; //导入依赖的package包/类
/**
* Gets an ITeslaProducer implementation from the capability provider.
*
* @param provider The provider to get the capability from.
* @param side The side to access;
* @return A Tesla producer implementation, or null if none could be found.
*/
public static ITeslaProducer getTeslaProducer (ICapabilityProvider provider, EnumFacing side) {
return (ITeslaProducer) provider.getCapability(TeslaCapabilities.CAPABILITY_HOLDER, side);
}
示例14: readNBT
import net.darkhax.tesla.api.ITeslaProducer; //导入依赖的package包/类
@Override
public void readNBT (Capability<ITeslaProducer> capability, ITeslaProducer instance, EnumFacing side, NBTBase nbt) {
}
示例15: getTeslaProducer
import net.darkhax.tesla.api.ITeslaProducer; //导入依赖的package包/类
/**
* Gets an ITeslaProducer implementation from the capability provider.
*
* @param provider The provider to get the capability from.
* @param side The side to access;
* @return A Tesla producer implementation, or null if none could be found.
*/
public static ITeslaProducer getTeslaProducer (ICapabilityProvider provider, EnumFacing side) {
return provider.getCapability(TeslaCapabilities.CAPABILITY_PRODUCER, side);
}