Skip to content

Commit aaa0fca

Browse files
committed
sync event refactoring. Delombok some stuff and fix rogue classloading.
1 parent a479935 commit aaa0fca

File tree

7 files changed

+97
-60
lines changed

7 files changed

+97
-60
lines changed

src/main/java/com/falsepattern/lib/config/event/AllConfigSyncEvent.java

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,6 @@
2121
package com.falsepattern.lib.config.event;
2222

2323
import com.falsepattern.lib.StableAPI;
24-
import lombok.AccessLevel;
25-
import lombok.NoArgsConstructor;
2624
import lombok.val;
2725

2826
import cpw.mods.fml.common.FMLCommonHandler;
@@ -37,10 +35,12 @@
3735
*/
3836
@SideOnly(Side.CLIENT)
3937
@StableAPI(since = "0.10.0")
40-
@NoArgsConstructor(access = AccessLevel.PROTECTED,
41-
onConstructor_ = @StableAPI.Internal)
4238
public class AllConfigSyncEvent extends Event {
4339

40+
@StableAPI.Internal
41+
public AllConfigSyncEvent() {
42+
}
43+
4444
@StableAPI.Internal
4545
public static boolean postStart() {
4646
val event = new Start();
@@ -55,9 +55,11 @@ public static void postEnd() {
5555

5656
@SideOnly(Side.CLIENT)
5757
@StableAPI(since = "0.10.0")
58-
@NoArgsConstructor(access = AccessLevel.PUBLIC,
59-
onConstructor_ = @StableAPI.Internal)
6058
public static final class Start extends AllConfigSyncEvent {
59+
@StableAPI.Internal
60+
public Start() {
61+
}
62+
6163
@Override
6264
public boolean isCancelable() {
6365
return true;
@@ -66,8 +68,9 @@ public boolean isCancelable() {
6668

6769
@SideOnly(Side.CLIENT)
6870
@StableAPI(since = "0.10.0")
69-
@NoArgsConstructor(access = AccessLevel.PUBLIC,
70-
onConstructor_ = @StableAPI.Internal)
7171
public static final class End extends AllConfigSyncEvent {
72+
@StableAPI.Internal
73+
public End() {
74+
}
7275
}
7376
}

src/main/java/com/falsepattern/lib/config/event/ConfigSyncEvent.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,6 @@
2121
package com.falsepattern.lib.config.event;
2222

2323
import com.falsepattern.lib.StableAPI;
24-
import lombok.AccessLevel;
25-
import lombok.RequiredArgsConstructor;
2624
import lombok.val;
2725

2826
import cpw.mods.fml.common.FMLCommonHandler;
@@ -37,12 +35,15 @@
3735
*/
3836
@SideOnly(Side.CLIENT)
3937
@StableAPI(since = "0.10.0")
40-
@RequiredArgsConstructor(access = AccessLevel.PROTECTED,
41-
onConstructor_ = @StableAPI.Internal)
4238
public class ConfigSyncEvent extends Event {
4339
@StableAPI.Expose
4440
public final Class<?> configClass;
4541

42+
@StableAPI.Internal
43+
public ConfigSyncEvent(Class<?> configClass) {
44+
this.configClass = configClass;
45+
}
46+
4647
@StableAPI.Internal
4748
public static boolean postStart(Class<?> configClass) {
4849
val event = new Start(configClass);

src/main/java/com/falsepattern/lib/config/event/ConfigSyncRequestEvent.java

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,6 @@
2121
package com.falsepattern.lib.config.event;
2222

2323
import com.falsepattern.lib.StableAPI;
24-
import lombok.AccessLevel;
25-
import lombok.RequiredArgsConstructor;
2624

2725
import net.minecraft.entity.player.EntityPlayerMP;
2826
import cpw.mods.fml.common.FMLCommonHandler;
@@ -38,9 +36,11 @@
3836
* {@link #postClient}
3937
*/
4038
@StableAPI(since = "0.10.0")
41-
@RequiredArgsConstructor(access = AccessLevel.PROTECTED,
42-
onConstructor_ = @StableAPI.Internal)
4339
public class ConfigSyncRequestEvent extends Event {
40+
@StableAPI.Internal
41+
public ConfigSyncRequestEvent() {
42+
}
43+
4444
@StableAPI.Expose
4545
public static void postClient() {
4646
FMLCommonHandler.instance().bus().post(new Client());
@@ -52,18 +52,21 @@ public static void postServer(List<EntityPlayerMP> players) {
5252
}
5353

5454
@StableAPI(since = "0.10.0")
55-
@RequiredArgsConstructor(access = AccessLevel.PROTECTED,
56-
onConstructor_ = @StableAPI.Internal)
5755
public static final class Client extends ConfigSyncRequestEvent {
58-
56+
@StableAPI.Internal
57+
public Client() {
58+
}
5959
}
6060

6161
@StableAPI(since = "0.10.0")
62-
@RequiredArgsConstructor(access = AccessLevel.PUBLIC,
63-
onConstructor_ = @StableAPI.Internal)
6462
public static final class Server extends ConfigSyncRequestEvent {
6563
private final List<EntityPlayerMP> players;
6664

65+
@StableAPI.Internal
66+
public Server(List<EntityPlayerMP> players) {
67+
this.players = players;
68+
}
69+
6770
@StableAPI.Expose
6871
public List<EntityPlayerMP> getPlayers() {
6972
return Collections.unmodifiableList(players);

src/main/java/com/falsepattern/lib/config/event/ConfigValidationFailureEvent.java

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,6 @@
2727
import com.falsepattern.lib.toasts.GuiToast;
2828
import com.falsepattern.lib.toasts.SimpleToast;
2929
import com.falsepattern.lib.toasts.icon.ToastBG;
30-
import lombok.AccessLevel;
31-
import lombok.RequiredArgsConstructor;
3230
import lombok.val;
3331

3432
import net.minecraft.util.EnumChatFormatting;
@@ -40,8 +38,6 @@
4038
import java.lang.reflect.Field;
4139

4240
@StableAPI(since = "0.10.0")
43-
@RequiredArgsConstructor(access = AccessLevel.PROTECTED,
44-
onConstructor_ = @StableAPI.Internal)
4541
public abstract class ConfigValidationFailureEvent extends Event {
4642
@StableAPI.Expose
4743
public final String reason;
@@ -54,6 +50,15 @@ public abstract class ConfigValidationFailureEvent extends Event {
5450
@StableAPI.Expose
5551
public final int listIndex;
5652

53+
@StableAPI.Internal
54+
public ConfigValidationFailureEvent(String reason, Class<?> configClass, String fieldName, boolean listElement, int listIndex) {
55+
this.reason = reason;
56+
this.configClass = configClass;
57+
this.fieldName = fieldName;
58+
this.listElement = listElement;
59+
this.listIndex = listIndex;
60+
}
61+
5762
@StableAPI.Internal
5863
public static void postNumericRangeOutOfBounds(Field field, int listIndex, String value, String min, String max) {
5964
FMLCommonHandler.instance()
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
package com.falsepattern.lib.internal.impl.config;
2+
3+
import com.falsepattern.lib.config.event.ConfigSyncRequestEvent;
4+
import com.falsepattern.lib.internal.FalsePatternLib;
5+
import com.falsepattern.lib.internal.impl.config.net.SyncPrompt;
6+
import lombok.AccessLevel;
7+
import lombok.NoArgsConstructor;
8+
import lombok.SneakyThrows;
9+
import lombok.val;
10+
11+
import net.minecraft.client.entity.EntityClientPlayerMP;
12+
import net.minecraft.entity.player.EntityPlayerMP;
13+
import net.minecraftforge.common.MinecraftForge;
14+
import net.minecraftforge.event.entity.EntityJoinWorldEvent;
15+
import cpw.mods.fml.common.FMLCommonHandler;
16+
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
17+
import cpw.mods.fml.relauncher.Side;
18+
import cpw.mods.fml.relauncher.SideOnly;
19+
20+
@NoArgsConstructor(access = AccessLevel.PRIVATE)
21+
public final class ConfigSyncEventHandler {
22+
private static ConfigSyncEventHandler instance;
23+
24+
public static void registerBus() {
25+
if (instance == null) {
26+
instance = new ConfigSyncEventHandler();
27+
MinecraftForge.EVENT_BUS.register(instance);
28+
FMLCommonHandler.instance().bus().register(instance);
29+
}
30+
}
31+
@SneakyThrows
32+
@SubscribeEvent
33+
public void onJoinWorld(EntityJoinWorldEvent e) {
34+
if (e.world.isRemote && e.entity instanceof EntityClientPlayerMP) {
35+
ConfigurationManagerImpl.sendSyncRequest();
36+
}
37+
}
38+
39+
@SideOnly(Side.CLIENT)
40+
@SneakyThrows
41+
@SubscribeEvent
42+
public void onSyncRequestClient(ConfigSyncRequestEvent.Client e) {
43+
ConfigurationManagerImpl.sendSyncRequest();
44+
}
45+
46+
@SubscribeEvent
47+
public void onSyncRequestServer(ConfigSyncRequestEvent.Server e) {
48+
val players = e.getPlayers();
49+
if (players.size() == 0) {
50+
FalsePatternLib.NETWORK.sendToAll(new SyncPrompt());
51+
} else {
52+
for (EntityPlayerMP player : e.getPlayers()) {
53+
FalsePatternLib.NETWORK.sendTo(new SyncPrompt(), player);
54+
}
55+
}
56+
}
57+
}

src/main/java/com/falsepattern/lib/internal/impl/config/ConfigurationManagerImpl.java

Lines changed: 1 addition & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -24,11 +24,9 @@
2424
import com.falsepattern.lib.config.ConfigException;
2525
import com.falsepattern.lib.config.event.AllConfigSyncEvent;
2626
import com.falsepattern.lib.config.event.ConfigSyncEvent;
27-
import com.falsepattern.lib.config.event.ConfigSyncRequestEvent;
2827
import com.falsepattern.lib.config.event.ConfigValidationFailureEvent;
2928
import com.falsepattern.lib.internal.FalsePatternLib;
3029
import com.falsepattern.lib.internal.config.LibraryConfig;
31-
import com.falsepattern.lib.internal.impl.config.net.SyncPrompt;
3230
import com.falsepattern.lib.internal.impl.config.net.SyncRequest;
3331
import com.falsepattern.lib.text.FormattedText;
3432
import com.falsepattern.lib.toasts.GuiToast;
@@ -39,15 +37,11 @@
3937
import com.google.common.collect.HashBiMap;
4038
import lombok.AccessLevel;
4139
import lombok.NoArgsConstructor;
42-
import lombok.SneakyThrows;
4340
import lombok.val;
4441

45-
import net.minecraft.client.entity.EntityClientPlayerMP;
46-
import net.minecraft.entity.player.EntityPlayerMP;
4742
import net.minecraft.util.EnumChatFormatting;
4843
import net.minecraftforge.common.MinecraftForge;
4944
import net.minecraftforge.common.config.Configuration;
50-
import net.minecraftforge.event.entity.EntityJoinWorldEvent;
5145
import cpw.mods.fml.client.config.IConfigElement;
5246
import cpw.mods.fml.client.event.ConfigChangedEvent;
5347
import cpw.mods.fml.common.FMLCommonHandler;
@@ -265,39 +259,12 @@ public static void registerBus() {
265259
MinecraftForge.EVENT_BUS.register(instance);
266260
}
267261

268-
private static void sendSyncRequest() throws IOException {
262+
static void sendSyncRequest() throws IOException {
269263
val event = new SyncRequest();
270264
event.transmit();
271265
FalsePatternLib.NETWORK.sendToServer(event);
272266
}
273267

274-
@SneakyThrows
275-
@SubscribeEvent
276-
public void onJoinWorld(EntityJoinWorldEvent e) {
277-
if (e.world.isRemote && e.entity instanceof EntityClientPlayerMP) {
278-
sendSyncRequest();
279-
}
280-
}
281-
282-
@SideOnly(Side.CLIENT)
283-
@SneakyThrows
284-
@SubscribeEvent
285-
public void onSyncRequestClient(ConfigSyncRequestEvent.Client e) {
286-
sendSyncRequest();
287-
}
288-
289-
@SubscribeEvent
290-
public void onSyncRequestServer(ConfigSyncRequestEvent.Server e) {
291-
val players = e.getPlayers();
292-
if (players.size() == 0) {
293-
FalsePatternLib.NETWORK.sendToAll(new SyncPrompt());
294-
} else {
295-
for (EntityPlayerMP player : e.getPlayers()) {
296-
FalsePatternLib.NETWORK.sendTo(new SyncPrompt(), player);
297-
}
298-
}
299-
}
300-
301268
@SubscribeEvent
302269
public void onConfigChanged(ConfigChangedEvent.OnConfigChangedEvent event) {
303270
init();

src/main/java/com/falsepattern/lib/internal/proxy/CommonProxy.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
import com.falsepattern.lib.config.ConfigurationManager;
2525
import com.falsepattern.lib.internal.FalsePatternLib;
2626
import com.falsepattern.lib.internal.config.LibraryConfig;
27+
import com.falsepattern.lib.internal.impl.config.ConfigSyncEventHandler;
2728
import com.falsepattern.lib.internal.impl.config.ConfigurationManagerImpl;
2829
import com.falsepattern.lib.internal.impl.config.net.SyncPrompt;
2930
import com.falsepattern.lib.internal.impl.config.net.SyncPromptHandler;
@@ -86,7 +87,7 @@ public void preInit(FMLPreInitializationEvent e) {
8687
}
8788

8889
public void postInit(FMLPostInitializationEvent e) {
89-
90+
ConfigSyncEventHandler.registerBus();
9091
}
9192

9293

0 commit comments

Comments
 (0)