pccompat/src/main/java/net/anvilcraft/pccompat/mods/GregTechProxy.java

86 lines
2.7 KiB
Java
Raw Normal View History

2023-07-19 14:31:56 +02:00
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;
2023-07-27 19:40:56 +02:00
import gregtech.api.GregTech_API;
2023-07-19 14:31:56 +02:00
import net.anvilcraft.pccompat.IModProxy;
2023-07-27 19:40:56 +02:00
import net.anvilcraft.pccompat.Utils;
2023-07-19 14:31:56 +02:00
import net.anvilcraft.pccompat.blocks.BlockPowerConverterGregTech;
2023-07-27 18:48:14 +02:00
import net.anvilcraft.pccompat.items.ItemBlockPowerConverter;
2023-07-27 19:40:56 +02:00
import net.anvilcraft.pccompat.recipe.RecipeBuilder;
import net.anvilcraft.pccompat.recipe.ShapedOreRecipeAdapter;
2023-07-19 14:31:56 +02:00
import net.anvilcraft.pccompat.tiles.TileEntityGregTechConsumer;
import net.anvilcraft.pccompat.tiles.TileEntityGregTechProducer;
import net.minecraft.block.Block;
2023-07-27 19:40:56 +02:00
import net.minecraft.item.ItemStack;
2023-07-27 18:48:14 +02:00
import net.minecraft.tileentity.TileEntity;
2023-07-19 14:31:56 +02:00
public class GregTechProxy implements IModProxy {
public static PowerSystem powerSystem;
public static Block blockPowerConverter;
@Override
public void registerPowerSystem() {
PowerSystemRegistry.registerPowerSystem(
powerSystem = new PowerSystem(
"GregTech",
"GT",
2023-07-19 14:31:56 +02:00
4000,
new String[] { "LV", "MV", "HV", "EV" },
new int[] { 32, 128, 512, 2048 },
"EU/t"
)
);
}
@Override
public void registerBlocks() {
GameRegistry.registerBlock(
2023-07-27 18:48:14 +02:00
blockPowerConverter = new BlockPowerConverterGregTech(this),
ItemBlockPowerConverter.class,
2023-07-19 14:31:56 +02:00
"power_converter_gregtech"
);
}
@Override
public void registerTiles() {
GameRegistry.registerTileEntity(
TileEntityGregTechConsumer.class, "gregtech_consumer"
);
GameRegistry.registerTileEntity(
TileEntityGregTechProducer.class, "gregtech_producer"
);
}
@Override
2023-07-27 19:40:56 +02:00
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);
}
}
2023-07-27 18:48:14 +02:00
@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);
}
2023-07-19 14:31:56 +02:00
}