Skip to content

Commit 7ec076c

Browse files
committed
Optimize initialization.
1 parent 56ed3aa commit 7ec076c

File tree

4 files changed

+32
-21
lines changed

4 files changed

+32
-21
lines changed

gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ org.gradle.jvmargs=-Xmx7G -Dfile.encoding=utf-8
44
org.gradle.daemon=false
55

66
mc_version=1.16.4
7-
mod_version=1.0.1
7+
mod_version=1.0.2
88
mappings_version=20201028-1.16.3
99
forge_version=35.1.10
1010

src/main/java/xyz/scottc/oreunification/Config.java

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,15 @@
11
package xyz.scottc.oreunification;
22

33
import net.minecraftforge.common.ForgeConfigSpec;
4+
import net.minecraftforge.eventbus.api.SubscribeEvent;
5+
import net.minecraftforge.fml.common.Mod;
6+
import net.minecraftforge.fml.config.ModConfig;
47

58
import java.util.Arrays;
69
import java.util.Collections;
710
import java.util.List;
811

12+
@Mod.EventBusSubscriber(modid = OreUnification.MODID, bus = Mod.EventBusSubscriber.Bus.MOD)
913
public class Config {
1014

1115
public static ForgeConfigSpec SERVER_CONFIG;
@@ -27,6 +31,7 @@ public class Config {
2731
initEventsSettings();
2832

2933
SERVER_CONFIG = SERVER_BUILDER.build();
34+
OreUnification.init();
3035
}
3136

3237
private static void initMatchingSettings() {
@@ -58,7 +63,7 @@ private static void initMatchingSettings() {
5863
tagsWhiteList = SERVER_BUILDER
5964
.comment("Whitelist for tags to be replaced.\n[Notice]If you want to match all the occurrences, you have to add \"*\"!\n(e.g. \"forge:ingots/*\")\nYou can use * but you cannot use other regex.")
6065
.translation("config.oreunification.tags_whitelist_comment")
61-
.defineList("WhiteList", Arrays.asList("forge:ingots/*", "forge:nuggets/*", "forge:dusts/*", "forge:gems/*", "forge:ores/*"), Config::isItemOrTag);
66+
.defineList("WhiteList", Arrays.asList("forge:ingots/*", "forge:nuggets/*", "forge:dusts/*", "forge:gems/*", "forge:ores/*", "forge:storage_blocks"), Config::isItemOrTag);
6267

6368
tagsBlackList = SERVER_BUILDER
6469
.comment("Blacklist for tags to be replaced.\nThe priority of blacklist is higher than that of whitelist. So if you have both \"forge:ingots/*\" in the whitelist and blacklist, \"forge:ingots/*\" will not be replaced.")
@@ -109,4 +114,16 @@ private static boolean isItemOrTag(Object s) {
109114
return false;
110115
}
111116

117+
@SubscribeEvent
118+
public static void onLoading(ModConfig.Loading event) {
119+
OreUnification.init();
120+
OreUnification.LOGGER.info("Config Loaded!");
121+
}
122+
123+
@SubscribeEvent
124+
public static void onReloading(ModConfig.Reloading event) {
125+
OreUnification.init();
126+
OreUnification.LOGGER.info("Config Reloaded!");
127+
}
128+
112129
}

src/main/java/xyz/scottc/oreunification/EventHandler.java

Lines changed: 0 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,6 @@
1414
@Mod.EventBusSubscriber(modid = OreUnification.MODID, bus = Mod.EventBusSubscriber.Bus.FORGE)
1515
public class EventHandler {
1616

17-
static {
18-
init();
19-
}
20-
2117
public static boolean isEnableTickEventListener, isEnableEntityJoinWorldListener;
2218
public static int playerTickEventGap;
2319

@@ -26,7 +22,6 @@ public class EventHandler {
2622
public static void onPlayerTick(TickEvent.PlayerTickEvent event) {
2723
if (isEnableTickEventListener) {
2824
if (!event.player.getEntityWorld().isRemote && event.phase == TickEvent.Phase.END && event.player.world.getGameTime() % playerTickEventGap == 0) {
29-
init();
3025
PlayerEntity player = event.player;
3126
for (int i = 0; i < player.inventory.getSizeInventory(); i++) {
3227
ItemStack stack = player.inventory.getStackInSlot(i);
@@ -44,7 +39,6 @@ public static void onPlayerTick(TickEvent.PlayerTickEvent event) {
4439
public static void onEntityJoinWorld(EntityJoinWorldEvent event) {
4540
if (isEnableEntityJoinWorldListener) {
4641
if (!event.getWorld().isRemote && event.getEntity() instanceof ItemEntity) {
47-
init();
4842
ItemEntity itemEntity = (ItemEntity) event.getEntity();
4943
ItemStack itemStack = itemEntity.getItem();
5044
Item item = itemStack.getItem();
@@ -57,17 +51,4 @@ public static void onEntityJoinWorld(EntityJoinWorldEvent event) {
5751
}
5852
}
5953

60-
public static void init() {
61-
OreUnification.isEnableItemsWhiteList = Config.isEnableItemsWhiteList.get();
62-
OreUnification.itemsWhiteList = Config.itemsWhiteList.get();
63-
OreUnification.tagsWhiteList = Config.tagsWhiteList.get();
64-
OreUnification.itemsBlackList = Config.itemsBlackList.get();
65-
OreUnification.tagsBlackList = Config.tagsBlackList.get();
66-
OreUnification.modsPriority = Config.modsPriority.get();
67-
68-
isEnableTickEventListener = Config.isEnableTickEventListener.get();
69-
isEnableEntityJoinWorldListener = Config.isEnableEntityJoinWorldListener.get();
70-
playerTickEventGap = Config.playerTickEventGap.get();
71-
}
72-
7354
}

src/main/java/xyz/scottc/oreunification/OreUnification.java

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,19 @@ public OreUnification() {
3636
ModLoadingContext.get().registerConfig(ModConfig.Type.SERVER, Config.SERVER_CONFIG);
3737
}
3838

39+
public static void init() {
40+
OreUnification.isEnableItemsWhiteList = Config.isEnableItemsWhiteList.get();
41+
OreUnification.itemsWhiteList = Config.itemsWhiteList.get();
42+
OreUnification.tagsWhiteList = Config.tagsWhiteList.get();
43+
OreUnification.itemsBlackList = Config.itemsBlackList.get();
44+
OreUnification.tagsBlackList = Config.tagsBlackList.get();
45+
OreUnification.modsPriority = Config.modsPriority.get();
46+
47+
EventHandler.isEnableTickEventListener = Config.isEnableTickEventListener.get();
48+
EventHandler.isEnableEntityJoinWorldListener = Config.isEnableEntityJoinWorldListener.get();
49+
EventHandler.playerTickEventGap = Config.playerTickEventGap.get();
50+
}
51+
3952
public static @NotNull Item replace(Item target, ResourceLocation validTag) {
4053
if (isNeedToReplace(target)) {
4154
ITag<Item> itemITag = ItemTags.getCollection().get(validTag);

0 commit comments

Comments
 (0)