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

84 lines
3.6 KiB
Java
Raw Normal View History

2022-11-23 18:28:39 +01:00
package net.anvilcraft.thaummach;
2022-11-28 22:31:53 +01:00
import cpw.mods.fml.common.Mod;
import cpw.mods.fml.common.SidedProxy;
import cpw.mods.fml.common.event.FMLInitializationEvent;
2022-11-28 22:31:53 +01:00
import cpw.mods.fml.common.event.FMLPreInitializationEvent;
2023-05-19 19:00:16 +02:00
import cpw.mods.fml.common.event.FMLServerAboutToStartEvent;
2023-05-16 19:20:32 +02:00
import cpw.mods.fml.common.network.NetworkRegistry;
import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint;
import cpw.mods.fml.common.network.simpleimpl.SimpleNetworkWrapper;
import cpw.mods.fml.common.registry.EntityRegistry;
2023-05-16 19:20:32 +02:00
import cpw.mods.fml.relauncher.Side;
import dev.tilera.auracore.api.HelperLocation;
import net.anvilcraft.thaummach.entities.EntitySingularity;
2023-05-16 19:20:32 +02:00
import net.anvilcraft.thaummach.packets.IPacketFX;
2023-05-19 19:00:16 +02:00
import net.anvilcraft.thaummach.packets.PacketChangeVoidInterfaceChannel;
import net.anvilcraft.thaummach.packets.PacketChangeVoidInterfaceContainerPage;
2023-05-27 16:57:09 +02:00
import net.anvilcraft.thaummach.packets.PacketDuplicatorPress;
import net.anvilcraft.thaummach.packets.PacketDuplicatorSetRepeat;
2023-06-01 18:30:06 +02:00
import net.anvilcraft.thaummach.packets.PacketEnchanterStart;
2023-05-16 19:20:32 +02:00
import net.anvilcraft.thaummach.packets.PacketFXSparkle;
import net.anvilcraft.thaummach.packets.PacketFXWisp;
2023-05-19 19:00:16 +02:00
import net.anvilcraft.thaummach.tiles.TileSeal;
import net.anvilcraft.thaummach.tiles.TileVoidInterface;
2023-05-16 19:20:32 +02:00
import net.minecraft.world.World;
2022-11-28 22:31:53 +01:00
@Mod(modid = "thaummach")
2022-11-23 18:28:39 +01:00
public class ThaumicMachinery {
2023-05-18 22:41:38 +02:00
@Mod.Instance("thaummach")
public static ThaumicMachinery INSTANCE;
2022-11-28 22:31:53 +01:00
@SidedProxy(
modId = "thaummach",
serverSide = "net.anvilcraft.thaummach.CommonProxy",
clientSide = "net.anvilcraft.thaummach.ClientProxy"
)
public static CommonProxy proxy;
2023-05-16 19:20:32 +02:00
public static SimpleNetworkWrapper channel;
2022-11-28 22:31:53 +01:00
@Mod.EventHandler
public void preInit(FMLPreInitializationEvent ev) {
2023-05-16 19:20:32 +02:00
channel = NetworkRegistry.INSTANCE.newSimpleChannel("thaummach");
int pktid = 0;
2023-05-27 16:57:09 +02:00
// clang-format off
channel.registerMessage(new PacketChangeVoidInterfaceChannel.Handler(), PacketChangeVoidInterfaceChannel.class, pktid++, Side.SERVER);
channel.registerMessage(new PacketChangeVoidInterfaceContainerPage.Handler(), PacketChangeVoidInterfaceContainerPage.class, pktid++, Side.SERVER);
channel.registerMessage(new PacketDuplicatorPress.Handler(), PacketDuplicatorPress.class, pktid++, Side.CLIENT);
channel.registerMessage(new PacketDuplicatorSetRepeat.Handler(), PacketDuplicatorSetRepeat.class, pktid++, Side.SERVER);
2023-06-01 18:30:06 +02:00
channel.registerMessage(new PacketEnchanterStart.Handler(), PacketEnchanterStart.class, pktid++, Side.SERVER);
2023-05-27 16:57:09 +02:00
channel.registerMessage(new PacketFXSparkle.Handler(), PacketFXSparkle.class, pktid++, Side.CLIENT);
channel.registerMessage(new PacketFXWisp.Handler(), PacketFXWisp.class, pktid++, Side.CLIENT);
// clang-format on
2023-05-18 22:41:38 +02:00
NetworkRegistry.INSTANCE.registerGuiHandler(this, proxy);
2022-11-28 22:31:53 +01:00
proxy.registerTileEntities();
TMBlocks.init();
TMItems.init();
proxy.preInit();
}
@Mod.EventHandler
public void init(FMLInitializationEvent ev) {
int entId = 0;
EntityRegistry.registerModEntity(
EntitySingularity.class, "singularity", entId++, this, 64, 2, true
);
proxy.init();
2022-11-28 22:31:53 +01:00
}
2023-05-16 19:20:32 +02:00
2023-05-19 19:00:16 +02:00
@Mod.EventHandler
public void onServerAboutToStart(FMLServerAboutToStartEvent ev) {
TileVoidInterface.VOID_INTERFACES.clear();
TileSeal.SEALS.clear();
}
2023-05-16 19:20:32 +02:00
public static void sendFXPacket(World worldObj, IPacketFX pkt) {
HelperLocation loc = pkt.getLocation();
channel.sendToAllAround(
pkt, new TargetPoint(worldObj.provider.dimensionId, loc.x, loc.y, loc.z, 32)
);
}
2022-11-23 18:28:39 +01:00
}