Skip to content

Commit

Permalink
Use java.time for seasons
Browse files Browse the repository at this point in the history
  • Loading branch information
Sm0keySa1m0n committed Sep 5, 2023
1 parent 70cd7e7 commit 29fdf68
Showing 1 changed file with 13 additions and 12 deletions.
25 changes: 13 additions & 12 deletions src/main/java/mods/railcraft/season/Seasons.java
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package mods.railcraft.season;

import java.util.Calendar;
import java.time.LocalDate;
import java.time.Month;
import mods.railcraft.RailcraftConfig;
import mods.railcraft.world.entity.vehicle.SeasonalCart;
import net.minecraft.world.entity.vehicle.AbstractMinecart;
Expand All @@ -15,27 +16,27 @@ public final class Seasons {

static {
if (RailcraftConfig.COMMON.seasonsEnabled.get()) {
var cal = Calendar.getInstance();
int month = cal.get(Calendar.MONTH);
int day = cal.get(Calendar.DAY_OF_MONTH);
var date = LocalDate.now();
var month = date.getMonth();
var day = date.getDayOfMonth();

CHRISTMAS = switch (RailcraftConfig.COMMON.christmas.get()) {
case 1 -> true;
case 2 -> false;
default -> (month == Calendar.DECEMBER) || (month == Calendar.JANUARY);
case 1 -> true;
case 2 -> false;
default -> (month == Month.DECEMBER) || (month == Month.JANUARY);
};

HARVEST = switch (RailcraftConfig.COMMON.harvest.get()) {
case 1 -> true;
case 2 -> false;
default -> (month == Calendar.OCTOBER) || (month == Calendar.NOVEMBER);
default -> (month == Month.OCTOBER) || (month == Month.NOVEMBER);
};

HALLOWEEN = switch (RailcraftConfig.COMMON.halloween.get()) {
case 1 -> true;
case 2 -> false;
default ->
(month == Calendar.OCTOBER && day >= 21) || (month == Calendar.NOVEMBER && day <= 10);
default -> (month == Month.OCTOBER && day >= 21)
|| (month == Month.NOVEMBER && day <= 10);
};
} else {
HARVEST = false;
Expand All @@ -53,7 +54,7 @@ public static boolean isGhostTrain(AbstractMinecart cart) {
var season = cart instanceof SeasonalCart seasonal ? seasonal.getSeason() : Season.DEFAULT;
if (season == Season.DEFAULT) {
return (RailcraftConfig.CLIENT.ghostTrainEnabled.get() && HALLOWEEN)
|| cart.hasCustomName() && GHOST_TRAIN.equals(cart.getCustomName().getContents());
|| cart.hasCustomName() && GHOST_TRAIN.equals(cart.getCustomName().getString());
}
return season == Season.HALLOWEEN;
}
Expand All @@ -68,7 +69,7 @@ public static boolean isPolarExpress(AbstractMinecart cart) {
var level = cart.level();
return season == Season.DEFAULT
? (RailcraftConfig.CLIENT.polarExpressEnabled.get() && CHRISTMAS)
|| cart.hasCustomName() && POLAR_EXPRESS.equals(cart.getCustomName().getContents())
|| cart.hasCustomName() && POLAR_EXPRESS.equals(cart.getCustomName().getString())
|| level.getBiome(cart.blockPosition()).value().shouldSnow(level, cart.blockPosition())
: season == Season.CHRISTMAS;
}
Expand Down

0 comments on commit 29fdf68

Please sign in to comment.