Skip to content

Commit

Permalink
Merge pull request #1072 from Thaumic-Tinkerer/feature/todo
Browse files Browse the repository at this point in the history
Added framework for MobAspects API
  • Loading branch information
eimi-codes committed Oct 31, 2022
2 parents 03cea90 + da7786a commit a43bc8e
Showing 1 changed file with 104 additions and 81 deletions.
185 changes: 104 additions & 81 deletions src/main/java/com/nekokittygames/thaumictinkerer/ThaumicTinkerer.java
@@ -1,5 +1,7 @@
package com.nekokittygames.thaumictinkerer;

import com.nekokittygames.thaumictinkerer.api.MobAspect;
import com.nekokittygames.thaumictinkerer.api.MobAspects;
import com.nekokittygames.thaumictinkerer.api.ThaumicTinkererAPI;
import com.nekokittygames.thaumictinkerer.common.blocks.ModBlocks;
import com.nekokittygames.thaumictinkerer.common.commands.CommandDumpEnchants;
Expand All @@ -15,7 +17,10 @@
import com.nekokittygames.thaumictinkerer.common.proxy.ITTProxy;
import com.nekokittygames.thaumictinkerer.common.research.theorycraft.AidBlackQuartz;
import com.nekokittygames.thaumictinkerer.common.research.theorycraft.CardExperience;
import java.io.IOException;
import java.net.URISyntaxException;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.monster.EntityEndermite;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.common.Mod.EventHandler;
Expand All @@ -31,89 +36,107 @@
import thaumcraft.api.research.ResearchCategories;
import thaumcraft.api.research.theorycraft.TheorycraftManager;

import java.io.IOException;
import java.net.URISyntaxException;

@Mod(modid = LibMisc.MOD_ID, name = LibMisc.MOD_NAME, version = LibMisc.MOD_VERSION, dependencies = LibMisc.MOD_DEPENDENCIES)
@Mod(modid = LibMisc.MOD_ID, name = LibMisc.MOD_NAME,
version = LibMisc.MOD_VERSION, dependencies = LibMisc.MOD_DEPENDENCIES)
public class ThaumicTinkerer {
public static Logger logger;

private static CreativeTabs tab;

@SidedProxy(serverSide = "com.nekokittygames.thaumictinkerer.common.proxy.CommonProxy", clientSide = "com.nekokittygames.thaumictinkerer.client.proxy.ClientProxy")
public static ITTProxy proxy;


@Mod.Instance(LibMisc.MOD_ID)
public static ThaumicTinkerer instance;

public static CreativeTabs getTab() {
return tab;
}

public static void setTab(CreativeTabs tab) {
ThaumicTinkerer.tab = tab;
public static Logger logger;

private static CreativeTabs tab;

@SidedProxy(serverSide =
"com.nekokittygames.thaumictinkerer.common.proxy.CommonProxy",
clientSide =
"com.nekokittygames.thaumictinkerer.client.proxy.ClientProxy")
public static ITTProxy proxy;

@Mod.Instance(LibMisc.MOD_ID) public static ThaumicTinkerer instance;

public static CreativeTabs getTab() { return tab; }

public static void setTab(CreativeTabs tab) { ThaumicTinkerer.tab = tab; }

@EventHandler
public void preInit(FMLPreInitializationEvent event) {
tab = new ThaumicTInkererCreativeTab();
logger = event.getModLog();

proxy.preInit(event);
PacketHandler.registerMessages(LibMisc.MOD_ID);
}

@Mod.EventHandler
public void serverLoad(FMLServerStartingEvent event) {
event.registerServerCommand(new CommandRefreshMultiblocks());
event.registerServerCommand(new CommandDumpEnchants());
}

@EventHandler
public void processIMC(FMLInterModComms.IMCEvent event) {
for (FMLInterModComms.IMCMessage message : event.getMessages()) {
if (message.key.equalsIgnoreCase("addDislocateBlacklist") &&
message.isStringMessage()) {
ThaumicTinkererAPI.getDislocationBlacklist().add(
message.getStringValue());
}
if (message.key.equalsIgnoreCase("addTabletBlacklist") &&
message.isStringMessage()) {
ThaumicTinkererAPI.getAnimationTabletBlacklist().add(
message.getStringValue());
}
if (message.key.equalsIgnoreCase("addMobAspect") &&
message.isNBTMessage()) {
MobAspects.getAspects().put(
EntityEndermite.class,
new MobAspect(EntityEndermite.class, new AspectList()));
}
}

@EventHandler
public void preInit(FMLPreInitializationEvent event) {
tab = new ThaumicTInkererCreativeTab();
logger = event.getModLog();

proxy.preInit(event);
PacketHandler.registerMessages(LibMisc.MOD_ID);
}

@Mod.EventHandler
public void serverLoad(FMLServerStartingEvent event) {
event.registerServerCommand(new CommandRefreshMultiblocks());
event.registerServerCommand(new CommandDumpEnchants());

}

@EventHandler
public void processIMC(FMLInterModComms.IMCEvent event) {
for(FMLInterModComms.IMCMessage message:event.getMessages()) {
if(message.key.equalsIgnoreCase("addDislocateBlacklist") && message.isStringMessage())
{
ThaumicTinkererAPI.getDislocationBlacklist().add(message.getStringValue());
}
if(message.key.equalsIgnoreCase("addTabletBlacklist") && message.isStringMessage())
{
ThaumicTinkererAPI.getAnimationTabletBlacklist().add(message.getStringValue());
}
}
}

@EventHandler
public void init(FMLInitializationEvent event) {
try {
MultiblockManager.initMultiblocks();
} catch (URISyntaxException | IOException e) {
e.printStackTrace();
}
proxy.init(event);
ResearchCategories.registerCategory("THAUMIC_TINKERER", null, new AspectList(), new ResourceLocation("thaumictinkerer", "textures/items/share_book.png"), new ResourceLocation("thaumictinkerer", "textures/misc/sky1.png"), new ResourceLocation("thaumictinkerer", "textures/misc/sky1.png"));
ThaumcraftApi.registerResearchLocation(new ResourceLocation("thaumictinkerer", "research/misc"));
ThaumcraftApi.registerResearchLocation(new ResourceLocation("thaumictinkerer", "research/baubles"));
ThaumcraftApi.registerResearchLocation(new ResourceLocation("thaumictinkerer", "research/machines"));
ThaumcraftApi.registerResearchLocation(new ResourceLocation("thaumictinkerer", "research/foci"));
TheorycraftManager.registerCard(CardExperience.class);
TheorycraftManager.registerAid(new AidBlackQuartz(ModBlocks.black_quartz_block));
BotaniaCompat.addTheorycraft();
proxy.registerRenderers();
initFoci();
//IDustTrigger.registerDustTrigger(ModBlocks.osmotic_enchanter);

}

@EventHandler
public void init(FMLInitializationEvent event) {
try {
MultiblockManager.initMultiblocks();
} catch (URISyntaxException | IOException e) {
e.printStackTrace();
}

private void initFoci() {
if(TTConfig.DislocationFocusEnabled)
FocusEngine.registerElement(FocusEffectDislocate.class, new ResourceLocation("thaumictinkerer", "textures/foci_icons/dislocation.png"), 15121988);
if(TTConfig.TelekenesisFocusEnabled) {
logger.info("Initializing Telekenetic powers");
FocusEngine.registerElement(FocusEffectTelekenesis.class, new ResourceLocation("thaumictinkerer", "textures/foci_icons/telekenesis.png"), 13566207);
}
proxy.init(event);
ResearchCategories.registerCategory(
"THAUMIC_TINKERER", null, new AspectList(),
new ResourceLocation("thaumictinkerer",
"textures/items/share_book.png"),
new ResourceLocation("thaumictinkerer", "textures/misc/sky1.png"),
new ResourceLocation("thaumictinkerer", "textures/misc/sky1.png"));
ThaumcraftApi.registerResearchLocation(
new ResourceLocation("thaumictinkerer", "research/misc"));
ThaumcraftApi.registerResearchLocation(
new ResourceLocation("thaumictinkerer", "research/baubles"));
ThaumcraftApi.registerResearchLocation(
new ResourceLocation("thaumictinkerer", "research/machines"));
ThaumcraftApi.registerResearchLocation(
new ResourceLocation("thaumictinkerer", "research/foci"));
TheorycraftManager.registerCard(CardExperience.class);
TheorycraftManager.registerAid(
new AidBlackQuartz(ModBlocks.black_quartz_block));
BotaniaCompat.addTheorycraft();
proxy.registerRenderers();
initFoci();
// IDustTrigger.registerDustTrigger(ModBlocks.osmotic_enchanter);
}

private void initFoci() {
if (TTConfig.DislocationFocusEnabled)
FocusEngine.registerElement(
FocusEffectDislocate.class,
new ResourceLocation("thaumictinkerer",
"textures/foci_icons/dislocation.png"),
15121988);
if (TTConfig.TelekenesisFocusEnabled) {
logger.info("Initializing Telekenetic powers");
FocusEngine.registerElement(
FocusEffectTelekenesis.class,
new ResourceLocation("thaumictinkerer",
"textures/foci_icons/telekenesis.png"),
13566207);
}
}
}

0 comments on commit a43bc8e

Please sign in to comment.