From fee12aa0885da204ec874cd5ada371c42501c873 Mon Sep 17 00:00:00 2001 From: Unknown Date: Mon, 31 Dec 2018 13:12:25 +0800 Subject: packetadder wip --- src/main/java/me/shedaniel/Core.java | 47 ++++++++++++++++++++++++++++++++---- 1 file changed, 42 insertions(+), 5 deletions(-) (limited to 'src/main/java/me/shedaniel/Core.java') diff --git a/src/main/java/me/shedaniel/Core.java b/src/main/java/me/shedaniel/Core.java index 61f985db1..b5c28f61b 100755 --- a/src/main/java/me/shedaniel/Core.java +++ b/src/main/java/me/shedaniel/Core.java @@ -1,22 +1,32 @@ package me.shedaniel; +import me.shedaniel.library.KeyBindManager; +import me.shedaniel.listenerdefinitions.IEvent; +import me.shedaniel.listenerdefinitions.PacketAdder; +import me.shedaniel.listeners.DrawContainerListener; +import me.shedaniel.listeners.ResizeListener; import me.shedaniel.network.CheatPacket; import me.shedaniel.network.DeletePacket; -import net.minecraft.network.EnumPacketDirection; -import org.dimdev.rift.listener.PacketAdder; +import me.shedaniel.plugin.VanillaPlugin; +import net.fabricmc.api.ModInitializer; +import net.minecraft.network.NetworkSide; + +import java.util.ArrayList; +import java.util.LinkedList; +import java.util.List; /** * Created by James on 7/27/2018. */ -public class Core implements PacketAdder { +public class Core implements ModInitializer, PacketAdder { @Override public void registerHandshakingPackets(PacketRegistrationReceiver receiver) { } @Override public void registerPlayPackets(PacketRegistrationReceiver receiver) { - receiver.registerPacket(EnumPacketDirection.SERVERBOUND, CheatPacket.class); - receiver.registerPacket(EnumPacketDirection.SERVERBOUND, DeletePacket.class); + receiver.registerPacket(NetworkSide.SERVER, CheatPacket.class); + receiver.registerPacket(NetworkSide.SERVER, DeletePacket.class); } @Override @@ -29,5 +39,32 @@ public class Core implements PacketAdder { } + private static List events = new LinkedList<>(); + + @Override + public void onInitialize() { + registerEvents(); + } + + private void registerEvents() { + registerEvent(new DrawContainerListener()); + registerEvent(new ResizeListener()); + registerEvent(new KeyBindManager()); + registerEvent(new VanillaPlugin()); + registerEvent(new ClientListener()); + } + + public static void registerEvent(IEvent event) { + events.add(event); + } + + public static List getListeners(Class listenerInterface) { + List list = new ArrayList<>(); + events.forEach(iEvent -> { + if (listenerInterface.isAssignableFrom(iEvent.getClass())) + list.add(listenerInterface.cast(iEvent)); + }); + return list; + } } -- cgit