pccompat/src/main/java/net/anvilcraft/pccompat/mods/GregTechProxy.java
LordMZTE a442b8d950
Some checks failed
ci/woodpecker/manual/central-override Pipeline was successful
ci/woodpecker/tag/central-override Pipeline failed
ci/woodpecker/push/central-override Pipeline was successful
chore: use mod names for power systems instead of units
2023-07-28 21:04:54 +02:00

86 lines
2.7 KiB
Java

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 gregtech.api.GregTech_API;
import net.anvilcraft.pccompat.IModProxy;
import net.anvilcraft.pccompat.Utils;
import net.anvilcraft.pccompat.blocks.BlockPowerConverterGregTech;
import net.anvilcraft.pccompat.items.ItemBlockPowerConverter;
import net.anvilcraft.pccompat.recipe.RecipeBuilder;
import net.anvilcraft.pccompat.recipe.ShapedOreRecipeAdapter;
import net.anvilcraft.pccompat.tiles.TileEntityGregTechConsumer;
import net.anvilcraft.pccompat.tiles.TileEntityGregTechProducer;
import net.minecraft.block.Block;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
public class GregTechProxy implements IModProxy {
public static PowerSystem powerSystem;
public static Block blockPowerConverter;
@Override
public void registerPowerSystem() {
PowerSystemRegistry.registerPowerSystem(
powerSystem = new PowerSystem(
"GregTech",
"GT",
4000,
new String[] { "LV", "MV", "HV", "EV" },
new int[] { 32, 128, 512, 2048 },
"EU/t"
)
);
}
@Override
public void registerBlocks() {
GameRegistry.registerBlock(
blockPowerConverter = new BlockPowerConverterGregTech(this),
ItemBlockPowerConverter.class,
"power_converter_gregtech"
);
}
@Override
public void registerTiles() {
GameRegistry.registerTileEntity(
TileEntityGregTechConsumer.class, "gregtech_consumer"
);
GameRegistry.registerTileEntity(
TileEntityGregTechProducer.class, "gregtech_producer"
);
}
@Override
public void registerRecipes() {
for (int i = 0; i < 4; i++) {
new RecipeBuilder(new ShapedOreRecipeAdapter())
.pattern("G G", " T ", "G G")
.ingredient('G', "ingotGold")
.ingredient('T', new ItemStack(GregTech_API.sBlockMachines, 1, 21 + i))
.output(new ItemStack(blockPowerConverter, 1, i * 2))
.register();
Utils.registerConversionRecipes(blockPowerConverter, i * 2, i * 2 + 1);
}
}
@Override
public int getMetaCount() {
return 8;
}
@Override
public String getModPrefix() {
return "gt";
}
@Override
public TileEntity createTileEntity(int meta) {
return meta % 2 != 0 ? new TileEntityGregTechProducer(meta / 2)
: new TileEntityGregTechConsumer(meta / 2);
}
}