forked from Anvilcraft/pccompat
parent
f991b3cdce
commit
86fb544d3a
34
build.gradle
34
build.gradle
|
@ -11,14 +11,14 @@ buildscript {
|
|||
}
|
||||
}
|
||||
dependencies {
|
||||
classpath ('com.anatawa12.forge:ForgeGradle:1.2-1.0.+') {
|
||||
classpath ("com.anatawa12.forge:ForgeGradle:1.2-1.0.+") {
|
||||
changing = true
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
apply plugin: 'forge'
|
||||
apply plugin: 'maven-publish'
|
||||
apply plugin: "forge"
|
||||
apply plugin: "maven-publish"
|
||||
|
||||
sourceCompatibility = JavaVersion.VERSION_1_8
|
||||
targetCompatibility = JavaVersion.VERSION_1_8
|
||||
|
@ -38,38 +38,46 @@ repositories {
|
|||
url = "https://s3.tilera.xyz/cdn/minecraft/libs/"
|
||||
metadataSources { artifact() }
|
||||
}
|
||||
maven {
|
||||
name "central"
|
||||
url "https://maven.thorfusion.com/artifactory/central/"
|
||||
}
|
||||
}
|
||||
|
||||
dependencies {
|
||||
implementation "covers1624:PowerConverters:1.7.10-2.11:deobf"
|
||||
implementation "cofh:CoFHCore:[1.7.10]3.1.4-329:dev"
|
||||
implementation "universalelectricity:universalelectricity:5.2.2:deobf"
|
||||
implementation "universalelectricity:basiccomponents:2.0.1:deobf"
|
||||
implementation "appeng:appliedenergistics2:rv3-beta-21:dev"
|
||||
implementation "codechicken:CodeChickenCore:1.7.10-1.0.7.48:dev"
|
||||
implementation "codechicken:CodeChickenLib:1.7.10-1.1.3.141:dev"
|
||||
implementation "codechicken:NotEnoughItems:1.7.10-1.0.5.120:dev"
|
||||
implementation "cofh:CoFHCore:[1.7.10]3.1.4-329:dev"
|
||||
implementation "com.eloraam.redpower:redpower:2.0pr10-dirty:deobf"
|
||||
implementation "com.hbm:HBM-NTM:1.0.27_X4627:deobf"
|
||||
implementation "covers1624:PowerConverters:1.7.10-2.11:deobf"
|
||||
implementation "universalelectricity:basiccomponents:2.0.1:deobf"
|
||||
implementation "universalelectricity:universalelectricity:5.2.2:deobf"
|
||||
}
|
||||
|
||||
processResources {
|
||||
inputs.property "version", project.version
|
||||
inputs.property "mcversion", project.minecraft.version
|
||||
|
||||
filesMatching('mcmod.info') {
|
||||
expand 'version':project.version, 'mcversion':project.minecraft.version
|
||||
filesMatching("mcmod.info") {
|
||||
expand "version":project.version, "mcversion":project.minecraft.version
|
||||
}
|
||||
}
|
||||
|
||||
task deobfJar(type: Jar) {
|
||||
from sourceSets.main.output
|
||||
classifier = 'deobf'
|
||||
classifier = "deobf"
|
||||
}
|
||||
|
||||
task sourcesJar(type: Jar) {
|
||||
from sourceSets.main.allSource
|
||||
classifier = 'sources'
|
||||
classifier = "sources"
|
||||
}
|
||||
|
||||
publishing {
|
||||
tasks.publish.dependsOn 'build'
|
||||
tasks.publish.dependsOn "build"
|
||||
publications {
|
||||
mavenJava(MavenPublication) {
|
||||
artifactId = project.archivesBaseName
|
||||
|
@ -81,7 +89,7 @@ publishing {
|
|||
}
|
||||
|
||||
repositories {
|
||||
if (project.hasProperty('mvnURL')) {
|
||||
if (project.hasProperty("mvnURL")) {
|
||||
maven {
|
||||
credentials {
|
||||
username findProperty("mvnUsername")
|
||||
|
|
|
@ -11,6 +11,7 @@ import cpw.mods.fml.common.event.FMLInitializationEvent;
|
|||
import cpw.mods.fml.common.event.FMLPreInitializationEvent;
|
||||
import net.anvilcraft.pccompat.mods.AppliedEnergisticsProxy;
|
||||
import net.anvilcraft.pccompat.mods.HBMProxy;
|
||||
import net.anvilcraft.pccompat.mods.RedPowerProxy;
|
||||
import net.anvilcraft.pccompat.mods.UniversalElectricityProxy;
|
||||
|
||||
@Mod(
|
||||
|
@ -18,7 +19,7 @@ import net.anvilcraft.pccompat.mods.UniversalElectricityProxy;
|
|||
name = "PC Compat",
|
||||
version = "0.1.0",
|
||||
dependencies
|
||||
= "required-after:PowerConverters3;after:basiccomponents;after:ae2;after:hbm"
|
||||
= "required-after:PowerConverters3;after:basiccomponents;after:appliedenergistics2;after:hbm;after:RedPowerCore"
|
||||
)
|
||||
public class PCCompat {
|
||||
public static HashSet<IModProxy> mods = new HashSet<>();
|
||||
|
@ -55,5 +56,7 @@ public class PCCompat {
|
|||
mods.add(new AppliedEnergisticsProxy());
|
||||
if (Loader.isModLoaded("hbm"))
|
||||
mods.add(new HBMProxy());
|
||||
if (Loader.isModLoaded("RedPowerCore"))
|
||||
mods.add(new RedPowerProxy());
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,40 @@
|
|||
package net.anvilcraft.pccompat.blocks;
|
||||
|
||||
import covers1624.powerconverters.block.BlockPowerConverter;
|
||||
import covers1624.powerconverters.gui.PCCreativeTab;
|
||||
import net.anvilcraft.pccompat.tiles.TileEntityRedPowerConsumer;
|
||||
import net.anvilcraft.pccompat.tiles.TileEntityRedPowerProducer;
|
||||
import net.minecraft.client.renderer.texture.IIconRegister;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
public class BlockPowerConverterRedPower extends BlockPowerConverter {
|
||||
public BlockPowerConverterRedPower() {
|
||||
super(2); // 1 Consumer, 1 Producer
|
||||
this.setCreativeTab(PCCreativeTab.tab);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void registerBlockIcons(IIconRegister reg) {
|
||||
for (int i = 0; i < 4; i++) {
|
||||
String state = i % 2 == 0 ? "off" : "on";
|
||||
String type = i < 2 ? "consumer" : "producer";
|
||||
|
||||
this._icons[i] = reg.registerIcon("pccompat:rp_" + type + "_" + state);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public TileEntity createNewTileEntity(World world, int metadata) {
|
||||
switch (metadata) {
|
||||
case 0:
|
||||
return new TileEntityRedPowerConsumer();
|
||||
|
||||
case 1:
|
||||
return new TileEntityRedPowerProducer();
|
||||
|
||||
default:
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,38 @@
|
|||
package net.anvilcraft.pccompat.items;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.stream.IntStream;
|
||||
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.creativetab.CreativeTabs;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemBlock;
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
||||
public class ItemBlockPowerConverterRedPower extends ItemBlock {
|
||||
public ItemBlockPowerConverterRedPower(Block block) {
|
||||
super(block);
|
||||
this.setHasSubtypes(true);
|
||||
this.setMaxDamage(0);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMetadata(int meta) {
|
||||
return meta;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getUnlocalizedName(ItemStack stack) {
|
||||
int meta = stack.getItemDamage();
|
||||
|
||||
return "pccompat:power_converter_rp_" + meta;
|
||||
}
|
||||
|
||||
@Override
|
||||
@SuppressWarnings({ "unchecked", "rawtypes" })
|
||||
public void getSubItems(Item alec1, CreativeTabs alec2, List list) {
|
||||
IntStream.range(0, 2)
|
||||
.mapToObj((i) -> new ItemStack(this, 1, i))
|
||||
.forEach(list::add);
|
||||
}
|
||||
}
|
|
@ -53,7 +53,7 @@ public class AppliedEnergisticsProxy implements IModProxy {
|
|||
Optional<ItemStack> cell
|
||||
= AEApi.instance().definitions().blocks().energyCell().maybeStack(1);
|
||||
if (acceptor.isPresent() || cell.isPresent()) {
|
||||
ItemStack stack = acceptor.isPresent() ? acceptor.get() : cell.get();
|
||||
ItemStack stack = acceptor.or(cell::get);
|
||||
new RecipeBuilder(new ShapedOreRecipeAdapter())
|
||||
.pattern("G G", " S ", "G G")
|
||||
.ingredient('G', "ingotGold")
|
||||
|
|
|
@ -0,0 +1,45 @@
|
|||
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.BlockPowerConverterRedPower;
|
||||
import net.anvilcraft.pccompat.items.ItemBlockPowerConverterRedPower;
|
||||
import net.anvilcraft.pccompat.tiles.TileEntityRedPowerConsumer;
|
||||
import net.anvilcraft.pccompat.tiles.TileEntityRedPowerProducer;
|
||||
import net.minecraft.block.Block;
|
||||
|
||||
public class RedPowerProxy implements IModProxy {
|
||||
public static PowerSystem powerSystem;
|
||||
public static Block blockPowerConverter;
|
||||
|
||||
@Override
|
||||
public void registerPowerSystem() {
|
||||
PowerSystemRegistry.registerPowerSystem(
|
||||
powerSystem = new PowerSystem("Bluetricity", "BT", 7000, "W")
|
||||
);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void registerBlocks() {
|
||||
GameRegistry.registerBlock(
|
||||
blockPowerConverter = new BlockPowerConverterRedPower(),
|
||||
ItemBlockPowerConverterRedPower.class,
|
||||
"power_converter_red_power"
|
||||
);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void registerTiles() {
|
||||
GameRegistry.registerTileEntity(
|
||||
TileEntityRedPowerConsumer.class, "red_power_consumer"
|
||||
);
|
||||
GameRegistry.registerTileEntity(
|
||||
TileEntityRedPowerProducer.class, "red_power_producer"
|
||||
);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void registerRecipes() {}
|
||||
}
|
|
@ -0,0 +1,40 @@
|
|||
package net.anvilcraft.pccompat.tiles;
|
||||
|
||||
import java.util.Map.Entry;
|
||||
|
||||
import com.eloraam.redpower.machine.TileBatteryBox;
|
||||
import covers1624.powerconverters.tile.main.TileEntityEnergyConsumer;
|
||||
import net.anvilcraft.pccompat.mods.RedPowerProxy;
|
||||
import net.minecraftforge.common.util.ForgeDirection;
|
||||
|
||||
public class TileEntityRedPowerConsumer extends TileEntityEnergyConsumer<TileBatteryBox> {
|
||||
private int btLastTick;
|
||||
|
||||
public TileEntityRedPowerConsumer() {
|
||||
super(RedPowerProxy.powerSystem, 0, TileBatteryBox.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateEntity() {
|
||||
super.updateEntity();
|
||||
|
||||
btLastTick = 0;
|
||||
for (Entry<ForgeDirection, TileBatteryBox> box : getTiles().entrySet()) {
|
||||
double toStore = Math.min(
|
||||
box.getValue().Storage,
|
||||
getTotalEnergyDemand() / getPowerSystem().getScaleAmmount()
|
||||
);
|
||||
box.getValue().Storage -= toStore;
|
||||
this.storeEnergy(toStore * getPowerSystem().getScaleAmmount(), false);
|
||||
box.getValue().getWorldObj().markBlockForUpdate(
|
||||
box.getValue().xCoord, box.getValue().yCoord, box.getValue().zCoord
|
||||
);
|
||||
btLastTick += toStore;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getInputRate() {
|
||||
return btLastTick;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,30 @@
|
|||
package net.anvilcraft.pccompat.tiles;
|
||||
|
||||
import java.util.Map.Entry;
|
||||
|
||||
import com.eloraam.redpower.machine.TileBatteryBox;
|
||||
import covers1624.powerconverters.tile.main.TileEntityEnergyProducer;
|
||||
import net.anvilcraft.pccompat.mods.RedPowerProxy;
|
||||
import net.minecraftforge.common.util.ForgeDirection;
|
||||
|
||||
public class TileEntityRedPowerProducer extends TileEntityEnergyProducer<TileBatteryBox> {
|
||||
public TileEntityRedPowerProducer() {
|
||||
super(RedPowerProxy.powerSystem, 0, TileBatteryBox.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
public double produceEnergy(double energy) {
|
||||
for (Entry<ForgeDirection, TileBatteryBox> box : getTiles().entrySet()) {
|
||||
double toStore = Math.min(
|
||||
(box.getValue().getMaxStorage() - box.getValue().Storage),
|
||||
energy / getPowerSystem().getScaleAmmount()
|
||||
);
|
||||
box.getValue().Storage += toStore;
|
||||
box.getValue().getWorldObj().markBlockForUpdate(
|
||||
box.getValue().xCoord, box.getValue().yCoord, box.getValue().zCoord
|
||||
);
|
||||
energy -= toStore * getPowerSystem().getScaleAmmount();
|
||||
}
|
||||
return energy;
|
||||
}
|
||||
}
|
|
@ -12,3 +12,6 @@ pccompat:power_converter_ae_1.name=AE Consumer
|
|||
|
||||
pccompat:power_converter_hbm_0.name=HBM Producer
|
||||
pccompat:power_converter_hbm_1.name=HBM Consumer
|
||||
|
||||
pccompat:power_converter_rp_0.name=Bluetricity Consumer
|
||||
pccompat:power_converter_rp_1.name=Bluetricity Producer
|
||||
|
|
Binary file not shown.
After Width: | Height: | Size: 907 B |
Binary file not shown.
After Width: | Height: | Size: 913 B |
Binary file not shown.
After Width: | Height: | Size: 913 B |
Binary file not shown.
After Width: | Height: | Size: 919 B |
Loading…
Reference in a new issue