Skip to content

Commit c7764f3

Browse files
committed
speedup config update
1 parent a154779 commit c7764f3

File tree

4 files changed

+13
-6
lines changed

4 files changed

+13
-6
lines changed

CHANGELOG.md

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,2 @@
1-
# 1.3.0
2-
- Add blacklist(registry name/ mod id)
3-
- Support config reload
1+
# 1.3.1
2+
- Speedup config update

gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ org.gradle.caching = true
44

55
loom.platform = forge
66

7-
mod_version = 1.3.0
7+
mod_version = 1.3.1
88
maven_group = me.kall.fluidium
99
archives_name = fluidium
1010

src/main/java/me/kall/fluidium/Fluidium.java

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package me.kall.fluidium;
22

3+
import com.google.common.base.Suppliers;
34
import me.kall.fluidium.common.api.IFluid;
45
import me.kall.fluidium.common.config.FluidiumConfig;
56
import net.minecraft.core.BlockPos;
@@ -18,12 +19,19 @@
1819
import net.minecraftforge.registries.ForgeRegistries;
1920
import org.jetbrains.annotations.NotNull;
2021

22+
import java.util.HashSet;
2123
import java.util.List;
24+
import java.util.Set;
25+
import java.util.function.Supplier;
26+
import java.util.stream.Collectors;
2227

2328
@Mod(Fluidium.MOD_ID)
2429
public final class Fluidium {
2530
public static final String MOD_ID = "fluidium";
2631

32+
private static final Supplier<Set<ResourceLocation>> BLACKLIST = Suppliers.memoize(() -> FluidiumConfig.BLACKLIST.get().stream().map(ResourceLocation::parse).collect(Collectors.toSet()));
33+
private static final Supplier<Set<String>> MOD_ID_LIST = Suppliers.memoize(() -> new HashSet<>(FluidiumConfig.MOD_ID_LIST.get()));
34+
2735
public Fluidium(@NotNull FMLJavaModLoadingContext context) {
2836
context.registerConfig(ModConfig.Type.COMMON, FluidiumConfig.INSTANCE);
2937
IEventBus modBus = context.getModEventBus();
@@ -36,7 +44,7 @@ private static void updateFluidTickable(boolean update) {
3644
ForgeRegistries.FLUIDS.getEntries().forEach(entry -> {
3745
ResourceLocation id = entry.getKey().location();
3846
Fluid fluid = entry.getValue();
39-
boolean alwaysTick = FluidiumConfig.BLACKLIST.get().contains(id.toString()) || FluidiumConfig.MOD_ID_LIST.get().contains(id.getNamespace());
47+
boolean alwaysTick = BLACKLIST.get().contains(id) || MOD_ID_LIST.get().contains(id.getNamespace());
4048
((IFluid) fluid).fluidium$setShouldAlwaysTick(alwaysTick);
4149
});
4250
}

src/main/java/me/kall/fluidium/common/mixin/ServerLevelMixin.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ public abstract class ServerLevelMixin {
2828

2929
int fluidDelay = fluid.getTickDelay(level);
3030

31-
if (Fluidium.shouldOptimize(this.players(), pos, FluidiumConfig.OPT_DIST.get()) && ThreadLocalRandom.current().nextFloat(0.0F, 1.0F) < FluidiumConfig.TICK_CHANCE.get().floatValue()) {
31+
if (Fluidium.shouldOptimize(this.players(), pos, FluidiumConfig.OPT_DIST.get()) && ThreadLocalRandom.current().nextFloat() < FluidiumConfig.TICK_CHANCE.get().floatValue()) {
3232
level.scheduleTick(pos, fluid, fluidDelay);
3333
ci.cancel();
3434
}

0 commit comments

Comments
 (0)