package sourcecoded.quantum.discovery; import cpw.mods.fml.common.eventhandler.SubscribeEvent; import net.minecraft.entity.player.EntityPlayerMP; import sourcecoded.quantum.api.QuantumAPI; import sourcecoded.quantum.api.discovery.DiscoveryRegistry; import sourcecoded.quantum.api.event.discovery.DiscoveryRegistrationEvent; import sourcecoded.quantum.api.event.discovery.DiscoveryUpdateEvent; import sourcecoded.quantum.network.MessageDiscoveryRequest; import sourcecoded.quantum.network.MessageDiscoveryUpdate; import sourcecoded.quantum.network.NetworkHandler; public class DiscoveryHandler { public static void init() { for (QADiscoveries.Category cat : QADiscoveries.Category.values()) DiscoveryRegistry.registerCategory(cat.get()); for (QADiscoveries.Item item : QADiscoveries.Item.values()) item.registerItem(); QuantumAPI.eventBus.register(new DiscoveryHandler()); QuantumAPI.eventBus.post(new DiscoveryRegistrationEvent()); } @SubscribeEvent public void onUpdateRequired(DiscoveryUpdateEvent event) { if (event.player == null) return; if (event.player.worldObj.isRemote) { //Request Update NetworkHandler.wrapper.sendToServer(new MessageDiscoveryRequest()); } else { //Send Update NetworkHandler.wrapper.sendTo(new MessageDiscoveryUpdate(event.player), (EntityPlayerMP) event.player); } } }