aboutsummaryrefslogtreecommitdiff
path: root/default-plugin/src/main/java
diff options
context:
space:
mode:
authorshedaniel <daniel@shedaniel.me>2022-02-17 15:38:59 +0800
committershedaniel <daniel@shedaniel.me>2022-02-18 10:24:53 +0800
commit732e0640dbf1dbe4b98d2a7f8682e9d10dcfac8f (patch)
tree9d93217409cc6387b9a90d576320f792bb7b1365 /default-plugin/src/main/java
parente0c9b792af72d971bdf59debd1f065521c37c126 (diff)
downloadRoughlyEnoughItems-732e0640dbf1dbe4b98d2a7f8682e9d10dcfac8f.tar.gz
RoughlyEnoughItems-732e0640dbf1dbe4b98d2a7f8682e9d10dcfac8f.tar.bz2
RoughlyEnoughItems-732e0640dbf1dbe4b98d2a7f8682e9d10dcfac8f.zip
Implement changelog, close #772
Diffstat (limited to 'default-plugin/src/main/java')
-rw-r--r--default-plugin/src/main/java/me/shedaniel/rei/plugin/client/favorites/TimeFavoriteEntry.java23
1 files changed, 20 insertions, 3 deletions
diff --git a/default-plugin/src/main/java/me/shedaniel/rei/plugin/client/favorites/TimeFavoriteEntry.java b/default-plugin/src/main/java/me/shedaniel/rei/plugin/client/favorites/TimeFavoriteEntry.java
index 56b4684e7..69d8abfc1 100644
--- a/default-plugin/src/main/java/me/shedaniel/rei/plugin/client/favorites/TimeFavoriteEntry.java
+++ b/default-plugin/src/main/java/me/shedaniel/rei/plugin/client/favorites/TimeFavoriteEntry.java
@@ -41,6 +41,7 @@ import me.shedaniel.rei.api.client.gui.widgets.Tooltip;
import me.shedaniel.rei.api.common.util.CollectionUtils;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.components.events.GuiEventListener;
+import net.minecraft.client.multiplayer.ClientLevel;
import net.minecraft.client.resources.language.I18n;
import net.minecraft.client.resources.sounds.SimpleSoundInstance;
import net.minecraft.nbt.CompoundTag;
@@ -93,11 +94,11 @@ public class TimeFavoriteEntry extends FavoriteEntry {
public Renderer getRenderer(boolean showcase) {
if (time == null) {
List<Renderer> renderers = IntStream.range(0, 4).mapToObj(TimeFavoriteEntry::getRenderer).collect(Collectors.toList());
- return new CompoundFavoriteRenderer(showcase, renderers, () -> Minecraft.getInstance().gameMode.getPlayerMode().getId()) {
+ return new CompoundFavoriteRenderer(showcase, renderers, () -> nextTime().ordinal()) {
@Override
@Nullable
public Tooltip getTooltip(Point mouse) {
- return Tooltip.create(mouse, new TranslatableComponent("text.rei.gamemode_button.tooltip.dropdown"));
+ return Tooltip.create(mouse, new TranslatableComponent("text.rei.time_button.tooltip.dropdown"));
}
@Override
@@ -116,6 +117,22 @@ public class TimeFavoriteEntry extends FavoriteEntry {
return getRenderer(time.ordinal());
}
+ private Time nextTime() {
+ ClientLevel level = Minecraft.getInstance().level;
+ long dayTime = level.getDayTime();
+ if (dayTime <= 1000) {
+ return Time.MORN;
+ } else if (dayTime <= 6000) {
+ return Time.NOON;
+ } else if (dayTime <= 12000) {
+ return Time.EVENING;
+ } else if (dayTime <= 18000) {
+ return Time.NIGHT;
+ } else {
+ return Time.MORN;
+ }
+ }
+
private static Renderer getRenderer(int id) {
Time time = Time.values()[id];
return new AbstractRenderer() {
@@ -161,7 +178,7 @@ public class TimeFavoriteEntry extends FavoriteEntry {
if (button == 0) {
Time time = this.time;
if (time == null) {
- time = Time.values()[Minecraft.getInstance().gameMode.getPlayerMode().getId() + 1 % 4];
+ time = nextTime();
}
Minecraft.getInstance().player.chat(ConfigObject.getInstance().getTimeCommand().replaceAll("\\{time}", time.getPart().toLowerCase(Locale.ROOT)));
Minecraft.getInstance().getSoundManager().play(SimpleSoundInstance.forUI(SoundEvents.UI_BUTTON_CLICK, 1.0F));