2021-05-17 03:02:24 +08:00
|
|
|
package com.gtnewhorizon.structurelib;
|
|
|
|
|
|
2021-05-17 07:44:45 +08:00
|
|
|
import com.gtnewhorizon.structurelib.block.BlockHint;
|
|
|
|
|
import com.gtnewhorizon.structurelib.item.ItemBlockHint;
|
2021-06-22 23:58:19 +08:00
|
|
|
import com.gtnewhorizon.structurelib.item.ItemConstructableTrigger;
|
2021-05-29 22:33:15 +08:00
|
|
|
import com.gtnewhorizon.structurelib.item.ItemFrontRotationTool;
|
2022-08-08 17:40:12 +08:00
|
|
|
import com.gtnewhorizon.structurelib.net.AlignmentMessage;
|
|
|
|
|
import com.gtnewhorizon.structurelib.net.UpdateHintParticleMessage;
|
2021-05-17 03:02:24 +08:00
|
|
|
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;
|
2021-05-17 03:02:24 +08:00
|
|
|
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.
|
|
|
|
|
*/
|
2022-08-08 17:40:12 +08:00
|
|
|
@Mod(
|
|
|
|
|
modid = StructureLibAPI.MOD_ID,
|
|
|
|
|
name = "StructureLib",
|
|
|
|
|
version = "GRADLETOKEN_VERSION",
|
|
|
|
|
acceptableRemoteVersions = "*",
|
|
|
|
|
guiFactory = "com.gtnewhorizon.structurelib.GuiFactory")
|
2021-05-17 03:02:24 +08:00
|
|
|
public class StructureLib {
|
2022-07-08 17:14:18 +08:00
|
|
|
public static boolean DEBUG_MODE = Boolean.getBoolean("structurelib.debug");
|
2022-08-08 17:40:12 +08:00
|
|
|
public static boolean PANIC_MODE = Boolean.getBoolean("structurelib.panic");
|
2022-07-08 17:14:18 +08:00
|
|
|
public static Logger LOGGER = LogManager.getLogger("StructureLib");
|
2021-05-29 19:05:50 +08:00
|
|
|
|
2022-08-08 17:40:12 +08:00
|
|
|
@SidedProxy(
|
|
|
|
|
serverSide = "com.gtnewhorizon.structurelib.CommonProxy",
|
|
|
|
|
clientSide = "com.gtnewhorizon.structurelib.ClientProxy")
|
2022-07-08 17:14:18 +08:00
|
|
|
static CommonProxy proxy;
|
2022-08-08 17:40:12 +08:00
|
|
|
|
2022-07-08 17:14:18 +08:00
|
|
|
static SimpleNetworkWrapper net = NetworkRegistry.INSTANCE.newSimpleChannel(StructureLibAPI.MOD_ID);
|
2021-05-29 22:33:15 +08:00
|
|
|
|
2022-07-08 17:14:18 +08:00
|
|
|
static {
|
2022-08-08 17:40:12 +08:00
|
|
|
net.registerMessage(
|
|
|
|
|
AlignmentMessage.ServerHandler.class, AlignmentMessage.AlignmentQuery.class, 0, Side.SERVER);
|
2022-07-08 17:14:18 +08:00
|
|
|
net.registerMessage(AlignmentMessage.ClientHandler.class, AlignmentMessage.AlignmentData.class, 1, Side.CLIENT);
|
2022-08-08 17:40:12 +08:00
|
|
|
net.registerMessage(UpdateHintParticleMessage.Handler.class, UpdateHintParticleMessage.class, 2, Side.CLIENT);
|
2022-07-08 17:14:18 +08:00
|
|
|
}
|
2021-05-29 19:05:50 +08:00
|
|
|
|
2022-07-08 17:14:18 +08:00
|
|
|
public static final XSTR RANDOM = new XSTR();
|
2021-05-17 07:44:45 +08:00
|
|
|
|
2022-07-08 17:14:18 +08:00
|
|
|
static Block blockHint;
|
|
|
|
|
static Item itemBlockHint;
|
|
|
|
|
static Item itemFrontRotationTool;
|
|
|
|
|
static Item itemConstructableTrigger;
|
|
|
|
|
public static final CreativeTabs creativeTab = new CreativeTabs("structurelib") {
|
|
|
|
|
@Override
|
|
|
|
|
@SideOnly(Side.CLIENT)
|
|
|
|
|
public Item getTabIconItem() {
|
|
|
|
|
return StructureLibAPI.getItemBlockHint();
|
|
|
|
|
}
|
|
|
|
|
};
|
2021-05-17 07:44:45 +08:00
|
|
|
|
2022-07-08 17:14:18 +08:00
|
|
|
@Mod.EventHandler
|
|
|
|
|
public void preInit(FMLPreInitializationEvent e) {
|
|
|
|
|
ConfigurationHandler.INSTANCE.init(e.getSuggestedConfigurationFile());
|
|
|
|
|
GameRegistry.registerBlock(blockHint = new BlockHint(), ItemBlockHint.class, "blockhint");
|
|
|
|
|
itemBlockHint = ItemBlock.getItemFromBlock(StructureLibAPI.getBlockHint());
|
2022-08-08 17:40:12 +08:00
|
|
|
GameRegistry.registerItem(
|
|
|
|
|
itemFrontRotationTool = new ItemFrontRotationTool(), itemFrontRotationTool.getUnlocalizedName());
|
|
|
|
|
GameRegistry.registerItem(
|
|
|
|
|
itemConstructableTrigger = new ItemConstructableTrigger(),
|
|
|
|
|
itemConstructableTrigger.getUnlocalizedName());
|
2022-07-08 17:14:18 +08:00
|
|
|
proxy.preInit(e);
|
|
|
|
|
}
|
2021-05-29 19:05:50 +08:00
|
|
|
|
2022-07-08 17:14:18 +08:00
|
|
|
public static void addClientSideChatMessages(String... messages) {
|
|
|
|
|
proxy.addClientSideChatMessages(messages);
|
|
|
|
|
}
|
2021-05-29 19:05:50 +08:00
|
|
|
|
2022-07-08 17:14:18 +08:00
|
|
|
public static EntityPlayer getCurrentPlayer() {
|
|
|
|
|
return proxy.getCurrentPlayer();
|
|
|
|
|
}
|
2021-05-29 19:05:50 +08:00
|
|
|
|
2022-07-08 17:14:18 +08:00
|
|
|
public static boolean isCurrentPlayer(EntityPlayer player) {
|
|
|
|
|
return proxy.isCurrentPlayer(player);
|
|
|
|
|
}
|
2022-08-08 17:40:12 +08:00
|
|
|
|
|
|
|
|
public static long getOverworldTime() {
|
|
|
|
|
return proxy.getOverworldTime();
|
|
|
|
|
}
|
2021-05-17 03:02:24 +08:00
|
|
|
}
|