mirror of
https://github.com/MightyPirates/OpenComputers.git
synced 2025-09-18 11:48:02 -04:00
industrial craft 2 stuff
This commit is contained in:
parent
1df0015d49
commit
331e89abf9
@ -5,6 +5,7 @@ import cpw.mods.fml.common.event.FMLInitializationEvent;
|
||||
import li.cil.oc.driver.Registry;
|
||||
import li.cil.oc.driver.buildcraft.HandlerBuildCraft;
|
||||
import li.cil.oc.driver.enderstorage.HandlerEnderStorage;
|
||||
import li.cil.oc.driver.ic2.HandlerIndustrialCraft2;
|
||||
import li.cil.oc.driver.thermalexpansion.HandlerThermalExpansion;
|
||||
import li.cil.oc.driver.vanilla.HandlerVanilla;
|
||||
|
||||
@ -17,6 +18,7 @@ public class OpenComponents {
|
||||
public void init(final FMLInitializationEvent e) {
|
||||
Registry.add(new HandlerBuildCraft());
|
||||
Registry.add(new HandlerEnderStorage());
|
||||
Registry.add(new HandlerIndustrialCraft2());
|
||||
Registry.add(new HandlerThermalExpansion());
|
||||
Registry.add(new HandlerVanilla());
|
||||
}
|
||||
|
@ -0,0 +1,48 @@
|
||||
package li.cil.oc.driver.ic2;
|
||||
|
||||
import ic2.api.energy.tile.IEnergyConductor;
|
||||
import li.cil.oc.api.network.Arguments;
|
||||
import li.cil.oc.api.network.Callback;
|
||||
import li.cil.oc.api.network.Context;
|
||||
import li.cil.oc.api.network.ManagedEnvironment;
|
||||
import li.cil.oc.driver.ManagedTileEntityEnvironment;
|
||||
import li.cil.oc.driver.TileEntityDriver;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
public final class DriverEnergyConductor extends TileEntityDriver {
|
||||
@Override
|
||||
public Class<?> getFilterClass() {
|
||||
return IEnergyConductor.class;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ManagedEnvironment createEnvironment(final World world, final int x, final int y, final int z) {
|
||||
return new Environment((IEnergyConductor) world.getBlockTileEntity(x, y, z));
|
||||
}
|
||||
|
||||
public static final class Environment extends ManagedTileEntityEnvironment<IEnergyConductor> {
|
||||
public Environment(final IEnergyConductor tileEntity) {
|
||||
super(tileEntity, "energy_conductor");
|
||||
}
|
||||
|
||||
@Callback
|
||||
public Object[] getConductionLoss(final Context context, final Arguments args) {
|
||||
return new Object[]{tileEntity.getConductionLoss()};
|
||||
}
|
||||
|
||||
@Callback
|
||||
public Object[] getConductorBreakdownEnergy(final Context context, final Arguments args) {
|
||||
return new Object[]{tileEntity.getConductorBreakdownEnergy()};
|
||||
}
|
||||
|
||||
@Callback
|
||||
public Object[] getInsulationBreakdownEnergy(final Context context, final Arguments args) {
|
||||
return new Object[]{tileEntity.getInsulationBreakdownEnergy()};
|
||||
}
|
||||
|
||||
@Callback
|
||||
public Object[] getInsulationEnergyAbsorption(final Context context, final Arguments args) {
|
||||
return new Object[]{tileEntity.getInsulationEnergyAbsorption()};
|
||||
}
|
||||
}
|
||||
}
|
33
src/main/java/li/cil/oc/driver/ic2/DriverEnergySink.java
Normal file
33
src/main/java/li/cil/oc/driver/ic2/DriverEnergySink.java
Normal file
@ -0,0 +1,33 @@
|
||||
package li.cil.oc.driver.ic2;
|
||||
|
||||
import ic2.api.energy.tile.IEnergySink;
|
||||
import li.cil.oc.api.network.Arguments;
|
||||
import li.cil.oc.api.network.Callback;
|
||||
import li.cil.oc.api.network.Context;
|
||||
import li.cil.oc.api.network.ManagedEnvironment;
|
||||
import li.cil.oc.driver.ManagedTileEntityEnvironment;
|
||||
import li.cil.oc.driver.TileEntityDriver;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
public final class DriverEnergySink extends TileEntityDriver {
|
||||
@Override
|
||||
public Class<?> getFilterClass() {
|
||||
return IEnergySink.class;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ManagedEnvironment createEnvironment(final World world, final int x, final int y, final int z) {
|
||||
return new Environment((IEnergySink) world.getBlockTileEntity(x, y, z));
|
||||
}
|
||||
|
||||
public static final class Environment extends ManagedTileEntityEnvironment<IEnergySink> {
|
||||
public Environment(final IEnergySink tileEntity) {
|
||||
super(tileEntity, "energy_sink");
|
||||
}
|
||||
|
||||
@Callback
|
||||
public Object[] getMaxSafeInput(final Context context, final Arguments args) {
|
||||
return new Object[]{tileEntity.getMaxSafeInput()};
|
||||
}
|
||||
}
|
||||
}
|
33
src/main/java/li/cil/oc/driver/ic2/DriverEnergySource.java
Normal file
33
src/main/java/li/cil/oc/driver/ic2/DriverEnergySource.java
Normal file
@ -0,0 +1,33 @@
|
||||
package li.cil.oc.driver.ic2;
|
||||
|
||||
import ic2.api.energy.tile.IEnergySource;
|
||||
import li.cil.oc.api.network.Arguments;
|
||||
import li.cil.oc.api.network.Callback;
|
||||
import li.cil.oc.api.network.Context;
|
||||
import li.cil.oc.api.network.ManagedEnvironment;
|
||||
import li.cil.oc.driver.ManagedTileEntityEnvironment;
|
||||
import li.cil.oc.driver.TileEntityDriver;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
public final class DriverEnergySource extends TileEntityDriver {
|
||||
@Override
|
||||
public Class<?> getFilterClass() {
|
||||
return IEnergySource.class;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ManagedEnvironment createEnvironment(final World world, final int x, final int y, final int z) {
|
||||
return new Environment((IEnergySource) world.getBlockTileEntity(x, y, z));
|
||||
}
|
||||
|
||||
public static final class Environment extends ManagedTileEntityEnvironment<IEnergySource> {
|
||||
public Environment(final IEnergySource tileEntity) {
|
||||
super(tileEntity, "energy_source");
|
||||
}
|
||||
|
||||
@Callback
|
||||
public Object[] getOfferedEnergy(final Context context, final Arguments args) {
|
||||
return new Object[]{tileEntity.getOfferedEnergy()};
|
||||
}
|
||||
}
|
||||
}
|
43
src/main/java/li/cil/oc/driver/ic2/DriverEnergyStorage.java
Normal file
43
src/main/java/li/cil/oc/driver/ic2/DriverEnergyStorage.java
Normal file
@ -0,0 +1,43 @@
|
||||
package li.cil.oc.driver.ic2;
|
||||
|
||||
import ic2.api.tile.IEnergyStorage;
|
||||
import li.cil.oc.api.network.Arguments;
|
||||
import li.cil.oc.api.network.Callback;
|
||||
import li.cil.oc.api.network.Context;
|
||||
import li.cil.oc.api.network.ManagedEnvironment;
|
||||
import li.cil.oc.driver.ManagedTileEntityEnvironment;
|
||||
import li.cil.oc.driver.TileEntityDriver;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
public final class DriverEnergyStorage extends TileEntityDriver {
|
||||
@Override
|
||||
public Class<?> getFilterClass() {
|
||||
return IEnergyStorage.class;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ManagedEnvironment createEnvironment(final World world, final int x, final int y, final int z) {
|
||||
return new Environment((IEnergyStorage) world.getBlockTileEntity(x, y, z));
|
||||
}
|
||||
|
||||
public static final class Environment extends ManagedTileEntityEnvironment<IEnergyStorage> {
|
||||
public Environment(final IEnergyStorage tileEntity) {
|
||||
super(tileEntity, "energy_storage");
|
||||
}
|
||||
|
||||
@Callback
|
||||
public Object[] getCapacity(final Context context, final Arguments args) {
|
||||
return new Object[]{tileEntity.getCapacity()};
|
||||
}
|
||||
|
||||
@Callback
|
||||
public Object[] getOutput(final Context context, final Arguments args) {
|
||||
return new Object[]{tileEntity.getOutput()};
|
||||
}
|
||||
|
||||
@Callback
|
||||
public Object[] getStored(final Context context, final Arguments args) {
|
||||
return new Object[]{tileEntity.getStored()};
|
||||
}
|
||||
}
|
||||
}
|
48
src/main/java/li/cil/oc/driver/ic2/DriverReactor.java
Normal file
48
src/main/java/li/cil/oc/driver/ic2/DriverReactor.java
Normal file
@ -0,0 +1,48 @@
|
||||
package li.cil.oc.driver.ic2;
|
||||
|
||||
import ic2.api.reactor.IReactor;
|
||||
import li.cil.oc.api.network.Arguments;
|
||||
import li.cil.oc.api.network.Callback;
|
||||
import li.cil.oc.api.network.Context;
|
||||
import li.cil.oc.api.network.ManagedEnvironment;
|
||||
import li.cil.oc.driver.ManagedTileEntityEnvironment;
|
||||
import li.cil.oc.driver.TileEntityDriver;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
public final class DriverReactor extends TileEntityDriver {
|
||||
@Override
|
||||
public Class<?> getFilterClass() {
|
||||
return IReactor.class;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ManagedEnvironment createEnvironment(final World world, final int x, final int y, final int z) {
|
||||
return new Environment((IReactor) world.getBlockTileEntity(x, y, z));
|
||||
}
|
||||
|
||||
public static final class Environment extends ManagedTileEntityEnvironment<IReactor> {
|
||||
public Environment(final IReactor tileEntity) {
|
||||
super(tileEntity, "reactor");
|
||||
}
|
||||
|
||||
@Callback
|
||||
public Object[] getHeat(final Context context, final Arguments args) {
|
||||
return new Object[]{tileEntity.getHeat()};
|
||||
}
|
||||
|
||||
@Callback
|
||||
public Object[] getMaxHeat(final Context context, final Arguments args) {
|
||||
return new Object[]{tileEntity.getMaxHeat()};
|
||||
}
|
||||
|
||||
@Callback
|
||||
public Object[] getReactorEnergyOutput(final Context context, final Arguments args) {
|
||||
return new Object[]{tileEntity.getReactorEnergyOutput()};
|
||||
}
|
||||
|
||||
@Callback
|
||||
public Object[] producesEnergy(final Context context, final Arguments args) {
|
||||
return new Object[]{tileEntity.produceEnergy()};
|
||||
}
|
||||
}
|
||||
}
|
69
src/main/java/li/cil/oc/driver/ic2/DriverReactorChamber.java
Normal file
69
src/main/java/li/cil/oc/driver/ic2/DriverReactorChamber.java
Normal file
@ -0,0 +1,69 @@
|
||||
package li.cil.oc.driver.ic2;
|
||||
|
||||
import ic2.api.reactor.IReactor;
|
||||
import ic2.api.reactor.IReactorChamber;
|
||||
import li.cil.oc.api.network.Arguments;
|
||||
import li.cil.oc.api.network.Callback;
|
||||
import li.cil.oc.api.network.Context;
|
||||
import li.cil.oc.api.network.ManagedEnvironment;
|
||||
import li.cil.oc.driver.ManagedTileEntityEnvironment;
|
||||
import li.cil.oc.driver.TileEntityDriver;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
public final class DriverReactorChamber extends TileEntityDriver {
|
||||
@Override
|
||||
public Class<?> getFilterClass() {
|
||||
return IReactorChamber.class;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ManagedEnvironment createEnvironment(final World world, final int x, final int y, final int z) {
|
||||
return new Environment((IReactorChamber) world.getBlockTileEntity(x, y, z));
|
||||
}
|
||||
|
||||
public static final class Environment extends ManagedTileEntityEnvironment<IReactorChamber> {
|
||||
public Environment(final IReactorChamber tileEntity) {
|
||||
super(tileEntity, "reactor_chamber");
|
||||
}
|
||||
|
||||
@Callback
|
||||
public Object[] getHeat(final Context context, final Arguments args) {
|
||||
final IReactor reactor = tileEntity.getReactor();
|
||||
if (reactor != null) {
|
||||
return new Object[]{reactor.getHeat()};
|
||||
} else {
|
||||
return new Object[]{0};
|
||||
}
|
||||
}
|
||||
|
||||
@Callback
|
||||
public Object[] getMaxHeat(final Context context, final Arguments args) {
|
||||
final IReactor reactor = tileEntity.getReactor();
|
||||
if (reactor != null) {
|
||||
return new Object[]{tileEntity.getReactor().getMaxHeat()};
|
||||
} else {
|
||||
return new Object[]{0};
|
||||
}
|
||||
}
|
||||
|
||||
@Callback
|
||||
public Object[] getReactorEnergyOutput(final Context context, final Arguments args) {
|
||||
final IReactor reactor = tileEntity.getReactor();
|
||||
if (reactor != null) {
|
||||
return new Object[]{tileEntity.getReactor().getReactorEnergyOutput()};
|
||||
} else {
|
||||
return new Object[]{0};
|
||||
}
|
||||
}
|
||||
|
||||
@Callback
|
||||
public Object[] producesEnergy(final Context context, final Arguments args) {
|
||||
final IReactor reactor = tileEntity.getReactor();
|
||||
if (reactor != null) {
|
||||
return new Object[]{tileEntity.getReactor().produceEnergy()};
|
||||
} else {
|
||||
return new Object[]{false};
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,40 @@
|
||||
package li.cil.oc.driver.ic2;
|
||||
|
||||
import ic2.api.item.ElectricItem;
|
||||
import ic2.api.item.IElectricItem;
|
||||
import li.cil.oc.api.Driver;
|
||||
import li.cil.oc.driver.IModHandler;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
public class HandlerIndustrialCraft2 implements IModHandler {
|
||||
@Override
|
||||
public String getModId() {
|
||||
return "IC2";
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initialize() {
|
||||
Driver.add(new DriverReactor());
|
||||
Driver.add(new DriverReactorChamber());
|
||||
Driver.add(new DriverEnergyConductor());
|
||||
Driver.add(new DriverEnergySink());
|
||||
Driver.add(new DriverEnergySource());
|
||||
Driver.add(new DriverEnergyStorage());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void populate(Map<String, Object> map, ItemStack stack) {
|
||||
final Item item = stack.getItem();
|
||||
if (item instanceof IElectricItem) {
|
||||
final IElectricItem electricItem = (IElectricItem) item;
|
||||
map.put("canProvideEnergy", electricItem.canProvideEnergy(stack));
|
||||
map.put("charge", ElectricItem.manager.getCharge(stack));
|
||||
map.put("maxCharge", electricItem.getMaxCharge(stack));
|
||||
map.put("tier", electricItem.getTier(stack));
|
||||
map.put("transferLimit", electricItem.getTransferLimit(stack));
|
||||
}
|
||||
}
|
||||
}
|
@ -18,7 +18,7 @@ public final class HandlerThermalExpansion implements IModHandler {
|
||||
public void initialize() {
|
||||
Driver.add(new DriverEnderAttuned());
|
||||
Driver.add(new DriverEnergyHandler());
|
||||
Driver.add(new DriverEnergyInfo()); ;
|
||||
Driver.add(new DriverEnergyInfo());
|
||||
Driver.add(new DriverRedstoneControl());
|
||||
Driver.add(new DriverSecureTile());
|
||||
}
|
||||
|
@ -3,23 +3,18 @@
|
||||
"modlist": [{
|
||||
"modid": "OpenComputers|Components",
|
||||
"name": "OpenComponents",
|
||||
"description": "This mod is an addon of OpenComputers that adds a bunch of drivers.",
|
||||
"description": "This mod is an addon for OpenComputers that adds a bunch of drivers.",
|
||||
"version": "1.0.0",
|
||||
"mcversion": "1.6.4",
|
||||
"url": "https://github.com/MightyPirates/OpenComputers/wiki",
|
||||
"url": "https://github.com/MightyPirates/OpenComponents",
|
||||
"authors": ["Florian 'Sangar' Nücke", "Johannes 'Lord Joda' Lohrer"],
|
||||
"credits" : "Inspired by OpenPeripherals.",
|
||||
"credits" : "OpenPeripherals",
|
||||
"requiredMods": [ "Forge@[9.11.1.940,)", "OpenComputers@[1.2.0,)" ],
|
||||
"dependencies": [
|
||||
"BuildCraft|Energy",
|
||||
"ComputerCraft",
|
||||
"BuildCraft|Core",
|
||||
"EnderStorage",
|
||||
"IC2",
|
||||
"MineFactoryReloaded",
|
||||
"ProjRed|Transmission",
|
||||
"RedLogic",
|
||||
"StargateTech2",
|
||||
"ThermalExpansion",
|
||||
"UniversalElectricity"
|
||||
"ThermalExpansion"
|
||||
],
|
||||
"useDependencyInformation": "true"
|
||||
}]
|
||||
|
Loading…
x
Reference in New Issue
Block a user