Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.example.examplemod;
- import net.minecraftforge.fml.common.Mod;
- import net.minecraftforge.fml.common.Mod.EventHandler;
- import net.minecraftforge.fml.common.event.FMLInitializationEvent;
- import net.minecraftforge.fml.common.event.FMLInterModComms;
- import java.util.function.Function;
- @Mod(modid = ExampleMod.MODID, version = ExampleMod.VERSION)
- public class ExampleMod
- {
- public static final String MODID = "examplemod";
- public static final String VERSION = "1.0";
- @EventHandler
- public void init(FMLInitializationEvent event)
- {
- FMLInterModComms.sendFunctionMessage("modWithApi", "requestAPI", "com.example.examplemod.ExampleMod$FunctionCallback");
- }
- static ApiInterface modInterface;
- public static class FunctionCallback implements Function<ApiInterface, Void> {
- @Override
- public Void apply(ApiInterface apiInterface) {
- modInterface = apiInterface;
- return null;
- }
- }
- // in YOUR mod
- public interface ApiInterface {
- }
- @Mod(modid = "modWithApi")
- public static class MyMod {
- @EventHandler
- public void modComms(FMLInterModComms.IMCEvent event) {
- for (FMLInterModComms.IMCMessage message : event.getMessages()) {
- if (message.isFunctionMessage()) {
- message.getFunctionValue(ApiInterface.class, Void.class).get().apply(new MyImpl());
- }
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement