thaumic-machinery/src/main/java/net/anvilcraft/thaummach/CommonProxy.java

118 lines
5.1 KiB
Java
Raw Normal View History

2022-11-28 22:31:53 +01:00
package net.anvilcraft.thaummach;
2023-05-18 22:41:38 +02:00
import cpw.mods.fml.common.network.IGuiHandler;
2022-11-28 22:31:53 +01:00
import cpw.mods.fml.common.registry.GameRegistry;
2023-05-21 17:12:27 +02:00
import net.anvilcraft.thaummach.container.ContainerArcaneFurnace;
2023-05-18 22:41:38 +02:00
import net.anvilcraft.thaummach.container.ContainerBore;
2023-05-25 20:45:13 +02:00
import net.anvilcraft.thaummach.container.ContainerCondenser;
2023-05-20 19:50:11 +02:00
import net.anvilcraft.thaummach.container.ContainerCrystallizer;
2023-05-26 18:40:04 +02:00
import net.anvilcraft.thaummach.container.ContainerRepairer;
2023-05-21 17:39:11 +02:00
import net.anvilcraft.thaummach.container.ContainerSoulBrazier;
2023-05-19 19:00:16 +02:00
import net.anvilcraft.thaummach.container.ContainerVoidChest;
import net.anvilcraft.thaummach.container.ContainerVoidInterface;
2023-05-21 17:12:27 +02:00
import net.anvilcraft.thaummach.tiles.TileArcaneFurnace;
import net.anvilcraft.thaummach.tiles.TileBore;
2023-05-25 20:45:13 +02:00
import net.anvilcraft.thaummach.tiles.TileCondenser;
2022-11-28 22:31:53 +01:00
import net.anvilcraft.thaummach.tiles.TileConduit;
import net.anvilcraft.thaummach.tiles.TileConduitPump;
import net.anvilcraft.thaummach.tiles.TileConduitTank;
import net.anvilcraft.thaummach.tiles.TileConduitValve;
import net.anvilcraft.thaummach.tiles.TileConduitValveAdvanced;
import net.anvilcraft.thaummach.tiles.TileCrucible;
import net.anvilcraft.thaummach.tiles.TileCrystallizer;
import net.anvilcraft.thaummach.tiles.TileFilter;
2023-05-26 22:00:25 +02:00
import net.anvilcraft.thaummach.tiles.TileGenerator;
2022-11-28 22:31:53 +01:00
import net.anvilcraft.thaummach.tiles.TilePurifier;
2023-05-26 18:40:04 +02:00
import net.anvilcraft.thaummach.tiles.TileRepairer;
2023-05-13 20:32:47 +02:00
import net.anvilcraft.thaummach.tiles.TileSeal;
2023-05-16 19:20:32 +02:00
import net.anvilcraft.thaummach.tiles.TileSoulBrazier;
2023-05-13 22:09:34 +02:00
import net.anvilcraft.thaummach.tiles.TileVoidChest;
2023-05-16 15:51:07 +02:00
import net.anvilcraft.thaummach.tiles.TileVoidInterface;
2023-05-26 22:00:25 +02:00
import net.minecraft.client.gui.inventory.GuiContainer;
2023-05-18 22:41:38 +02:00
import net.minecraft.entity.player.EntityPlayer;
2023-05-26 22:00:25 +02:00
import net.minecraft.inventory.Container;
2023-05-18 22:41:38 +02:00
import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.World;
2022-11-28 22:31:53 +01:00
2023-05-18 22:41:38 +02:00
public class CommonProxy implements IGuiHandler {
2022-11-28 22:31:53 +01:00
public void preInit() {}
public void init() {}
2022-11-28 22:31:53 +01:00
public void registerTileEntities() {
2023-05-25 20:45:13 +02:00
// clang-format off
2023-05-21 17:12:27 +02:00
GameRegistry.registerTileEntity(TileArcaneFurnace.class, "arcane_furnace");
GameRegistry.registerTileEntity(TileBore.class, "bore");
2023-05-25 20:45:13 +02:00
GameRegistry.registerTileEntity(TileCondenser.class, "condenser");
2022-11-28 22:31:53 +01:00
GameRegistry.registerTileEntity(TileConduit.class, "conduit");
GameRegistry.registerTileEntity(TileConduitPump.class, "conduit_pump");
GameRegistry.registerTileEntity(TileConduitTank.class, "conduit_tank");
GameRegistry.registerTileEntity(TileConduitValve.class, "conduit_valve");
2023-05-25 20:45:13 +02:00
GameRegistry.registerTileEntity(TileConduitValveAdvanced.class, "conduit_valve_advanced");
2022-11-28 22:31:53 +01:00
GameRegistry.registerTileEntity(TileCrucible.class, "crucible");
GameRegistry.registerTileEntity(TileCrystallizer.class, "crystallizer");
GameRegistry.registerTileEntity(TileFilter.class, "filter");
2023-05-26 22:00:25 +02:00
GameRegistry.registerTileEntity(TileGenerator.class, "generator");
2022-11-28 22:31:53 +01:00
GameRegistry.registerTileEntity(TilePurifier.class, "purifier");
2023-05-26 18:40:04 +02:00
GameRegistry.registerTileEntity(TileRepairer.class, "repairer");
2023-05-13 20:32:47 +02:00
GameRegistry.registerTileEntity(TileSeal.class, "seal");
2023-05-25 20:45:13 +02:00
GameRegistry.registerTileEntity(TileSoulBrazier.class, "soulBrazier");
2023-05-13 22:09:34 +02:00
GameRegistry.registerTileEntity(TileVoidChest.class, "voidChest");
2023-05-16 15:51:07 +02:00
GameRegistry.registerTileEntity(TileVoidInterface.class, "voidInterface");
2023-05-25 20:45:13 +02:00
// clang-format on
2022-11-28 22:31:53 +01:00
}
2023-05-18 22:41:38 +02:00
@Override
public Object
getServerGuiElement(int id, EntityPlayer player, World world, int x, int y, int z) {
TileEntity te = world.getTileEntity(x, y, z);
switch (GuiID.get(id)) {
2023-05-21 17:12:27 +02:00
case ARCANE_FURNACE:
return new ContainerArcaneFurnace(
player.inventory, (TileArcaneFurnace) te
);
2023-05-18 22:41:38 +02:00
case BORE:
return new ContainerBore(player.inventory, (TileBore) te);
2023-05-25 20:45:13 +02:00
case CONDENSER:
return new ContainerCondenser(player.inventory, (TileCondenser) te);
2023-05-21 17:12:27 +02:00
case CRYSTALLIZER:
return new ContainerCrystallizer(player.inventory, (TileCrystallizer) te);
2023-05-26 18:40:04 +02:00
case REPAIRER:
return new ContainerRepairer(player.inventory, (TileRepairer) te);
2023-05-21 17:39:11 +02:00
case SOUL_BRAZIER:
return new ContainerSoulBrazier(player.inventory, (TileSoulBrazier) te);
2023-05-19 19:00:16 +02:00
case VOID_CHEST:
return new ContainerVoidChest(player.inventory, (TileVoidChest) te);
case VOID_INTERFACE:
return new ContainerVoidInterface(
player.inventory, (TileVoidInterface) te
);
2023-05-26 22:00:25 +02:00
// GUIs with no meaningful container
case GENERATOR:
return new Container() {
@Override
public boolean canInteractWith(EntityPlayer player) {
return true;
}
};
2023-05-18 22:41:38 +02:00
default:
throw new IllegalArgumentException("ALEC");
}
}
@Override
public Object
getClientGuiElement(int id, EntityPlayer player, World world, int x, int y, int z) {
return null;
}
2022-11-28 22:31:53 +01:00
}