forked from Anvilcraft/pccompat
parent
f991b3cdce
commit
86fb544d3a
34
build.gradle
34
build.gradle
|
@ -11,14 +11,14 @@ buildscript {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
dependencies {
|
dependencies {
|
||||||
classpath ('com.anatawa12.forge:ForgeGradle:1.2-1.0.+') {
|
classpath ("com.anatawa12.forge:ForgeGradle:1.2-1.0.+") {
|
||||||
changing = true
|
changing = true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
apply plugin: 'forge'
|
apply plugin: "forge"
|
||||||
apply plugin: 'maven-publish'
|
apply plugin: "maven-publish"
|
||||||
|
|
||||||
sourceCompatibility = JavaVersion.VERSION_1_8
|
sourceCompatibility = JavaVersion.VERSION_1_8
|
||||||
targetCompatibility = JavaVersion.VERSION_1_8
|
targetCompatibility = JavaVersion.VERSION_1_8
|
||||||
|
@ -38,38 +38,46 @@ repositories {
|
||||||
url = "https://s3.tilera.xyz/cdn/minecraft/libs/"
|
url = "https://s3.tilera.xyz/cdn/minecraft/libs/"
|
||||||
metadataSources { artifact() }
|
metadataSources { artifact() }
|
||||||
}
|
}
|
||||||
|
maven {
|
||||||
|
name "central"
|
||||||
|
url "https://maven.thorfusion.com/artifactory/central/"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
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 "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 "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 {
|
processResources {
|
||||||
inputs.property "version", project.version
|
inputs.property "version", project.version
|
||||||
inputs.property "mcversion", project.minecraft.version
|
inputs.property "mcversion", project.minecraft.version
|
||||||
|
|
||||||
filesMatching('mcmod.info') {
|
filesMatching("mcmod.info") {
|
||||||
expand 'version':project.version, 'mcversion':project.minecraft.version
|
expand "version":project.version, "mcversion":project.minecraft.version
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
task deobfJar(type: Jar) {
|
task deobfJar(type: Jar) {
|
||||||
from sourceSets.main.output
|
from sourceSets.main.output
|
||||||
classifier = 'deobf'
|
classifier = "deobf"
|
||||||
}
|
}
|
||||||
|
|
||||||
task sourcesJar(type: Jar) {
|
task sourcesJar(type: Jar) {
|
||||||
from sourceSets.main.allSource
|
from sourceSets.main.allSource
|
||||||
classifier = 'sources'
|
classifier = "sources"
|
||||||
}
|
}
|
||||||
|
|
||||||
publishing {
|
publishing {
|
||||||
tasks.publish.dependsOn 'build'
|
tasks.publish.dependsOn "build"
|
||||||
publications {
|
publications {
|
||||||
mavenJava(MavenPublication) {
|
mavenJava(MavenPublication) {
|
||||||
artifactId = project.archivesBaseName
|
artifactId = project.archivesBaseName
|
||||||
|
@ -81,7 +89,7 @@ publishing {
|
||||||
}
|
}
|
||||||
|
|
||||||
repositories {
|
repositories {
|
||||||
if (project.hasProperty('mvnURL')) {
|
if (project.hasProperty("mvnURL")) {
|
||||||
maven {
|
maven {
|
||||||
credentials {
|
credentials {
|
||||||
username findProperty("mvnUsername")
|
username findProperty("mvnUsername")
|
||||||
|
|
|
@ -11,6 +11,7 @@ import cpw.mods.fml.common.event.FMLInitializationEvent;
|
||||||
import cpw.mods.fml.common.event.FMLPreInitializationEvent;
|
import cpw.mods.fml.common.event.FMLPreInitializationEvent;
|
||||||
import net.anvilcraft.pccompat.mods.AppliedEnergisticsProxy;
|
import net.anvilcraft.pccompat.mods.AppliedEnergisticsProxy;
|
||||||
import net.anvilcraft.pccompat.mods.HBMProxy;
|
import net.anvilcraft.pccompat.mods.HBMProxy;
|
||||||
|
import net.anvilcraft.pccompat.mods.RedPowerProxy;
|
||||||
import net.anvilcraft.pccompat.mods.UniversalElectricityProxy;
|
import net.anvilcraft.pccompat.mods.UniversalElectricityProxy;
|
||||||
|
|
||||||
@Mod(
|
@Mod(
|
||||||
|
@ -18,7 +19,7 @@ import net.anvilcraft.pccompat.mods.UniversalElectricityProxy;
|
||||||
name = "PC Compat",
|
name = "PC Compat",
|
||||||
version = "0.1.0",
|
version = "0.1.0",
|
||||||
dependencies
|
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 class PCCompat {
|
||||||
public static HashSet<IModProxy> mods = new HashSet<>();
|
public static HashSet<IModProxy> mods = new HashSet<>();
|
||||||
|
@ -55,5 +56,7 @@ public class PCCompat {
|
||||||
mods.add(new AppliedEnergisticsProxy());
|
mods.add(new AppliedEnergisticsProxy());
|
||||||
if (Loader.isModLoaded("hbm"))
|
if (Loader.isModLoaded("hbm"))
|
||||||
mods.add(new HBMProxy());
|
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
|
Optional<ItemStack> cell
|
||||||
= AEApi.instance().definitions().blocks().energyCell().maybeStack(1);
|
= AEApi.instance().definitions().blocks().energyCell().maybeStack(1);
|
||||||
if (acceptor.isPresent() || cell.isPresent()) {
|
if (acceptor.isPresent() || cell.isPresent()) {
|
||||||
ItemStack stack = acceptor.isPresent() ? acceptor.get() : cell.get();
|
ItemStack stack = acceptor.or(cell::get);
|
||||||
new RecipeBuilder(new ShapedOreRecipeAdapter())
|
new RecipeBuilder(new ShapedOreRecipeAdapter())
|
||||||
.pattern("G G", " S ", "G G")
|
.pattern("G G", " S ", "G G")
|
||||||
.ingredient('G', "ingotGold")
|
.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_0.name=HBM Producer
|
||||||
pccompat:power_converter_hbm_1.name=HBM Consumer
|
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