Files
StructureLib/src/main/java/com/gtnewhorizon/structurelib/StructureLib.java
T

74 lines
2.9 KiB
Java
Raw Normal View History

package com.gtnewhorizon.structurelib;
2021-05-29 19:05:50 +08:00
import com.gtnewhorizon.structurelib.alignment.AlignmentMessage;
2021-05-17 07:44:45 +08:00
import com.gtnewhorizon.structurelib.block.BlockHint;
import com.gtnewhorizon.structurelib.item.ItemBlockHint;
2021-05-29 22:33:15 +08:00
import com.gtnewhorizon.structurelib.item.ItemFrontRotationTool;
import com.gtnewhorizon.structurelib.proxy.CommonProxy;
import com.gtnewhorizon.structurelib.util.XSTR;
import cpw.mods.fml.common.Mod;
import cpw.mods.fml.common.SidedProxy;
2021-05-17 07:44:45 +08:00
import cpw.mods.fml.common.event.FMLPreInitializationEvent;
2021-05-29 19:05:50 +08:00
import cpw.mods.fml.common.network.NetworkRegistry;
import cpw.mods.fml.common.network.simpleimpl.SimpleNetworkWrapper;
2021-05-17 07:44:45 +08:00
import cpw.mods.fml.common.registry.GameRegistry;
2021-05-27 13:32:38 +08:00
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
2021-05-17 07:44:45 +08:00
import net.minecraft.block.Block;
2021-05-27 13:32:38 +08:00
import net.minecraft.creativetab.CreativeTabs;
2021-05-29 19:05:50 +08:00
import net.minecraft.entity.player.EntityPlayer;
2021-05-27 13:32:38 +08:00
import net.minecraft.item.Item;
import net.minecraft.item.ItemBlock;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
2021-05-29 19:05:50 +08:00
/**
* This class does not contain a stable API. Refrain from using this class.
*/
2021-05-27 13:32:38 +08:00
@Mod(modid = StructureLib.MOD_ID, name = "StructureLib", version = "${version}", acceptableRemoteVersions = "*")
public class StructureLib {
public static boolean DEBUG_MODE = true;
public static Logger LOGGER = LogManager.getLogger("StructureLib");
public static final String MOD_ID = "structurelib";
2021-05-29 19:05:50 +08:00
@SidedProxy(serverSide = "com.gtnewhorizon.structurelib.proxy.CommonProxy", clientSide = "com.gtnewhorizon.structurelib.proxy.ClientProxy")
2021-05-29 19:05:50 +08:00
static CommonProxy proxy;
static SimpleNetworkWrapper net = NetworkRegistry.INSTANCE.newSimpleChannel(MOD_ID);
2021-05-29 22:33:15 +08:00
2021-05-29 19:05:50 +08:00
static {
net.registerMessage(AlignmentMessage.ServerHandler.class, AlignmentMessage.AlignmentQuery.class, 0, Side.SERVER);
net.registerMessage(AlignmentMessage.ClientHandler.class, AlignmentMessage.AlignmentData.class, 1, Side.CLIENT);
}
public static final XSTR RANDOM = new XSTR();
2021-05-17 07:44:45 +08:00
2021-05-29 19:05:50 +08:00
static Block blockHint;
static Item itemBlockHint;
2021-05-29 22:33:15 +08:00
static Item itemFrontRotationTool;
2021-05-29 19:05:50 +08:00
public static final CreativeTabs creativeTab = new CreativeTabs("structurelib") {
2021-05-27 13:32:38 +08:00
@Override
@SideOnly(Side.CLIENT)
public Item getTabIconItem() {
2021-05-29 19:05:50 +08:00
return StructureLibAPI.getItemBlockHint();
2021-05-27 13:32:38 +08:00
}
};
2021-05-17 07:44:45 +08:00
@Mod.EventHandler
public void preInit(FMLPreInitializationEvent e) {
GameRegistry.registerBlock(blockHint = new BlockHint(), ItemBlockHint.class, "blockhint");
2021-05-29 19:05:50 +08:00
itemBlockHint = ItemBlock.getItemFromBlock(StructureLibAPI.getBlockHint());
2021-05-29 22:33:15 +08:00
GameRegistry.registerItem(itemFrontRotationTool = new ItemFrontRotationTool(), itemFrontRotationTool.getUnlocalizedName());
2021-05-29 19:05:50 +08:00
}
public static void addClientSideChatMessages(String... messages) {
proxy.addClientSideChatMessages(messages);
}
public static EntityPlayer getCurrentPlayer() {
return proxy.getCurrentPlayer();
}
public static boolean isCurrentPlayer(EntityPlayer player) {
return proxy.isCurrentPlayer(player);
2021-05-17 07:44:45 +08:00
}
}