]> git.lizzy.rs Git - BoundingBoxOutlineReloaded.git/blob - src/main/java/com/irtimaled/bbor/forge/ForgeNetworkHelper.java
Update for Forge 1.13.2
[BoundingBoxOutlineReloaded.git] / src / main / java / com / irtimaled / bbor / forge / ForgeNetworkHelper.java
1 package com.irtimaled.bbor.forge;
2
3 import com.irtimaled.bbor.common.EventBus;
4 import com.irtimaled.bbor.common.messages.PayloadReader;
5 import net.minecraft.util.ResourceLocation;
6 import net.minecraftforge.fml.network.NetworkEvent;
7 import net.minecraftforge.fml.network.NetworkRegistry;
8
9 import java.util.function.Consumer;
10 import java.util.function.Function;
11
12 class ForgeNetworkHelper {
13     private static final String PROTOCOL_VERSION = Integer.toString(1);
14
15     static <T extends NetworkEvent> void addBusEventConsumer(String name, Function<PayloadReader, ?> getEventSupplier) {
16         addConsumer(name, e -> EventBus.publish(getEventSupplier.apply(new PayloadReader(e.getPayload()))));
17     }
18
19     static <T extends NetworkEvent> void addConsumer(String name, Consumer<T> consumer) {
20         NetworkRegistry.newEventChannel(new ResourceLocation(name), () -> PROTOCOL_VERSION, PROTOCOL_VERSION::equals, PROTOCOL_VERSION::equals)
21                 .addListener(consumer);
22     }
23 }