diff options
| author | shedaniel <daniel@shedaniel.me> | 2022-02-17 15:38:59 +0800 |
|---|---|---|
| committer | shedaniel <daniel@shedaniel.me> | 2022-02-18 10:24:53 +0800 |
| commit | 732e0640dbf1dbe4b98d2a7f8682e9d10dcfac8f (patch) | |
| tree | 9d93217409cc6387b9a90d576320f792bb7b1365 /default-plugin/src/main/java/me/shedaniel | |
| parent | e0c9b792af72d971bdf59debd1f065521c37c126 (diff) | |
| download | RoughlyEnoughItems-732e0640dbf1dbe4b98d2a7f8682e9d10dcfac8f.tar.gz RoughlyEnoughItems-732e0640dbf1dbe4b98d2a7f8682e9d10dcfac8f.tar.bz2 RoughlyEnoughItems-732e0640dbf1dbe4b98d2a7f8682e9d10dcfac8f.zip | |
Implement changelog, close #772
Diffstat (limited to 'default-plugin/src/main/java/me/shedaniel')
| -rw-r--r-- | default-plugin/src/main/java/me/shedaniel/rei/plugin/client/favorites/TimeFavoriteEntry.java | 23 |
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)); |
