generated from tilera/1710mod
parent
4e4b32d541
commit
8e257346ba
|
@ -13,6 +13,7 @@ import net.anvilcraft.pccompat.mods.AppliedEnergisticsProxy;
|
|||
import net.anvilcraft.pccompat.mods.GregTechProxy;
|
||||
import net.anvilcraft.pccompat.mods.HBMProxy;
|
||||
import net.anvilcraft.pccompat.mods.ProjectRedProxy;
|
||||
import net.anvilcraft.pccompat.mods.RailcraftProxy;
|
||||
import net.anvilcraft.pccompat.mods.RedPowerProxy;
|
||||
import net.anvilcraft.pccompat.mods.UltraTechProxy;
|
||||
import net.anvilcraft.pccompat.mods.UniversalElectricityProxy;
|
||||
|
@ -22,7 +23,7 @@ import net.anvilcraft.pccompat.mods.UniversalElectricityProxy;
|
|||
name = "PC Compat",
|
||||
version = "0.1.0",
|
||||
dependencies
|
||||
= "required-after:PowerConverters3;after:basiccomponents;after:appliedenergistics2;after:hbm;after:RedPowerCore;after:ProjRed|Expansion;after:gregtech;after:UltraTech"
|
||||
= "required-after:PowerConverters3;after:basiccomponents;after:appliedenergistics2;after:hbm;after:RedPowerCore;after:ProjRed|Expansion;after:gregtech;after:UltraTech;after:Railcraft"
|
||||
)
|
||||
public class PCCompat {
|
||||
public static HashSet<IModProxy> mods = new HashSet<>();
|
||||
|
@ -67,5 +68,7 @@ public class PCCompat {
|
|||
mods.add(new GregTechProxy());
|
||||
if (Loader.isModLoaded("UltraTech"))
|
||||
mods.add(new UltraTechProxy());
|
||||
if (Loader.isModLoaded("Railcraft"))
|
||||
mods.add(new RailcraftProxy());
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,30 @@
|
|||
package net.anvilcraft.pccompat.blocks;
|
||||
|
||||
import covers1624.powerconverters.block.BlockPowerConverter;
|
||||
import covers1624.powerconverters.gui.PCCreativeTab;
|
||||
import net.anvilcraft.pccompat.Utils;
|
||||
import net.anvilcraft.pccompat.tiles.TileEntityRailcraftConsumer;
|
||||
import net.anvilcraft.pccompat.tiles.TileEntityRailcraftProducer;
|
||||
import net.minecraft.client.renderer.texture.IIconRegister;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
public class BlockPowerConverterRailcraft extends BlockPowerConverter {
|
||||
|
||||
public BlockPowerConverterRailcraft() {
|
||||
super(2);
|
||||
this.setCreativeTab(PCCreativeTab.tab);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void registerBlockIcons(IIconRegister reg) {
|
||||
Utils.registerStandardPowerConverterBlockIcons(reg, this._icons, "rc");
|
||||
}
|
||||
|
||||
@Override
|
||||
public TileEntity createNewTileEntity(World world, int meta) {
|
||||
return meta == 0 ? new TileEntityRailcraftConsumer()
|
||||
: new TileEntityRailcraftProducer();
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,16 @@
|
|||
package net.anvilcraft.pccompat.items;
|
||||
|
||||
import net.minecraft.block.Block;
|
||||
|
||||
public class ItemBlockPowerConverterRailcraft extends AbstractItemBlockPowerConverter {
|
||||
|
||||
public ItemBlockPowerConverterRailcraft(Block block) {
|
||||
super(block);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getModPrefix() {
|
||||
return "rc";
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,49 @@
|
|||
package net.anvilcraft.pccompat.mods;
|
||||
|
||||
import covers1624.powerconverters.api.registry.PowerSystemRegistry;
|
||||
import covers1624.powerconverters.api.registry.PowerSystemRegistry.PowerSystem;
|
||||
import cpw.mods.fml.common.registry.GameRegistry;
|
||||
import net.anvilcraft.pccompat.IModProxy;
|
||||
import net.anvilcraft.pccompat.blocks.BlockPowerConverterRailcraft;
|
||||
import net.anvilcraft.pccompat.items.ItemBlockPowerConverterRailcraft;
|
||||
import net.anvilcraft.pccompat.tiles.TileEntityRailcraftConsumer;
|
||||
import net.anvilcraft.pccompat.tiles.TileEntityRailcraftProducer;
|
||||
import net.minecraft.block.Block;
|
||||
|
||||
public class RailcraftProxy implements IModProxy {
|
||||
|
||||
public static PowerSystem powerSystem;
|
||||
public static Block blockPowerConverter;
|
||||
|
||||
@Override
|
||||
public void registerPowerSystem() {
|
||||
PowerSystemRegistry.registerPowerSystem(
|
||||
powerSystem = new PowerSystem("Railcraft", "Charge", 4000, "C")
|
||||
);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void registerBlocks() {
|
||||
GameRegistry.registerBlock(
|
||||
blockPowerConverter = new BlockPowerConverterRailcraft(),
|
||||
ItemBlockPowerConverterRailcraft.class,
|
||||
"power_converter_railcraft"
|
||||
);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void registerTiles() {
|
||||
GameRegistry.registerTileEntity(
|
||||
TileEntityRailcraftConsumer.class, "railcraft_consumer"
|
||||
);
|
||||
GameRegistry.registerTileEntity(
|
||||
TileEntityRailcraftProducer.class, "railcraft_producer"
|
||||
);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void registerRecipes() {
|
||||
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,62 @@
|
|||
package net.anvilcraft.pccompat.tiles;
|
||||
|
||||
import covers1624.powerconverters.tile.main.TileEntityEnergyConsumer;
|
||||
import mods.railcraft.api.electricity.IElectricGrid;
|
||||
import mods.railcraft.api.electricity.IElectricGrid.ChargeHandler.ConnectType;
|
||||
import net.anvilcraft.pccompat.mods.RailcraftProxy;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
|
||||
public class TileEntityRailcraftConsumer extends TileEntityEnergyConsumer<IElectricGrid> implements IElectricGrid {
|
||||
|
||||
private ChargeHandler chargeHandler;
|
||||
private double lastTransfer = 0.0;
|
||||
|
||||
public TileEntityRailcraftConsumer() {
|
||||
super(RailcraftProxy.powerSystem, 0, IElectricGrid.class);
|
||||
this.chargeHandler = new ChargeHandler(this, ConnectType.BLOCK);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ChargeHandler getChargeHandler() {
|
||||
return this.chargeHandler;
|
||||
}
|
||||
|
||||
@Override
|
||||
public TileEntity getTile() {
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void readFromNBT(NBTTagCompound tagCompound) {
|
||||
super.readFromNBT(tagCompound);
|
||||
this.chargeHandler.readFromNBT(tagCompound);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateEntity() {
|
||||
super.updateEntity();
|
||||
if (!this.worldObj.isRemote) {
|
||||
this.chargeHandler.tick();
|
||||
double demand = this.getTotalEnergyDemand() / this.getPowerSystem().getScaleAmmount();
|
||||
double consumed = 0;
|
||||
if (demand > 0) {
|
||||
consumed = this.chargeHandler.removeCharge(demand);
|
||||
this.storeEnergy(consumed * this.getPowerSystem().getScaleAmmount(), false);
|
||||
}
|
||||
this.lastTransfer = consumed;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void writeToNBT(NBTTagCompound tagCompound) {
|
||||
super.writeToNBT(tagCompound);
|
||||
this.chargeHandler.writeToNBT(tagCompound);
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getInputRate() {
|
||||
return this.lastTransfer;
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,57 @@
|
|||
package net.anvilcraft.pccompat.tiles;
|
||||
|
||||
import covers1624.powerconverters.tile.main.TileEntityEnergyProducer;
|
||||
import mods.railcraft.api.electricity.IElectricGrid;
|
||||
import mods.railcraft.api.electricity.IElectricGrid.ChargeHandler.ConnectType;
|
||||
import net.anvilcraft.pccompat.mods.RailcraftProxy;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
|
||||
public class TileEntityRailcraftProducer extends TileEntityEnergyProducer<IElectricGrid> implements IElectricGrid {
|
||||
|
||||
private ChargeHandler chargeHandler;
|
||||
|
||||
public TileEntityRailcraftProducer() {
|
||||
super(RailcraftProxy.powerSystem, 0, IElectricGrid.class);
|
||||
this.chargeHandler = new ChargeHandler(this, ConnectType.BLOCK);
|
||||
}
|
||||
|
||||
@Override
|
||||
public double produceEnergy(double energy) {
|
||||
double charge = energy / this.getPowerSystem().getScaleAmmount();
|
||||
double toProduce = Math.min(charge, this.chargeHandler.getCapacity() - this.chargeHandler.getCharge());
|
||||
this.chargeHandler.addCharge(toProduce);
|
||||
return energy - toProduce * this.getPowerSystem().getScaleAmmount();
|
||||
}
|
||||
|
||||
@Override
|
||||
public ChargeHandler getChargeHandler() {
|
||||
return this.chargeHandler;
|
||||
}
|
||||
|
||||
@Override
|
||||
public TileEntity getTile() {
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void readFromNBT(NBTTagCompound tagCompound) {
|
||||
super.readFromNBT(tagCompound);
|
||||
this.chargeHandler.readFromNBT(tagCompound);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateEntity() {
|
||||
super.updateEntity();
|
||||
if (!this.worldObj.isRemote) {
|
||||
this.chargeHandler.tick();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void writeToNBT(NBTTagCompound tagCompound) {
|
||||
super.writeToNBT(tagCompound);
|
||||
this.chargeHandler.writeToNBT(tagCompound);
|
||||
}
|
||||
|
||||
}
|
|
@ -30,3 +30,6 @@ pccompat:power_converter_gt_7.name=GregTech EV Producer
|
|||
|
||||
pccompat:power_converter_ut_0.name=Quantum Power Consumer
|
||||
pccompat:power_converter_ut_1.name=Quantum Power Producer
|
||||
|
||||
pccompat:power_converter_rc_0.name=Railcraft Consumer
|
||||
pccompat:power_converter_rc_1.name=Railcraft Producer
|
||||
|
|
Loading…
Reference in a new issue