aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/me/shedaniel/rei/impl/ClientHelperImpl.java
diff options
context:
space:
mode:
authorshedaniel <daniel@shedaniel.me>2020-01-20 22:00:51 +0800
committershedaniel <daniel@shedaniel.me>2020-01-20 22:00:51 +0800
commitc0b54fae494fcd8bba476eb0153c8689a85231cc (patch)
treef5b7266225093fa811e05e2f6dcf320c7e0ae146 /src/main/java/me/shedaniel/rei/impl/ClientHelperImpl.java
parentc683eb4cf0b621c5ac176915e3aeea604cea26fd (diff)
downloadRoughlyEnoughItems-c0b54fae494fcd8bba476eb0153c8689a85231cc.tar.gz
RoughlyEnoughItems-c0b54fae494fcd8bba476eb0153c8689a85231cc.tar.bz2
RoughlyEnoughItems-c0b54fae494fcd8bba476eb0153c8689a85231cc.zip
Fix #246
Diffstat (limited to 'src/main/java/me/shedaniel/rei/impl/ClientHelperImpl.java')
-rw-r--r--src/main/java/me/shedaniel/rei/impl/ClientHelperImpl.java37
1 files changed, 27 insertions, 10 deletions
diff --git a/src/main/java/me/shedaniel/rei/impl/ClientHelperImpl.java b/src/main/java/me/shedaniel/rei/impl/ClientHelperImpl.java
index e05e6b004..7dcdc069c 100644
--- a/src/main/java/me/shedaniel/rei/impl/ClientHelperImpl.java
+++ b/src/main/java/me/shedaniel/rei/impl/ClientHelperImpl.java
@@ -5,9 +5,9 @@
package me.shedaniel.rei.impl;
-import com.google.common.collect.ImmutableList;
import com.google.common.collect.Maps;
import io.netty.buffer.Unpooled;
+import me.sargunvohra.mcmods.autoconfig1u.annotation.ConfigEntry;
import me.shedaniel.clothconfig2.api.FakeModifierKeyCodeAdder;
import me.shedaniel.clothconfig2.api.ModifierKeyCode;
import me.shedaniel.rei.RoughlyEnoughItemsCore;
@@ -31,21 +31,41 @@ import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.item.Items;
import net.minecraft.text.TranslatableText;
-import net.minecraft.util.DefaultedList;
import net.minecraft.util.Formatting;
import net.minecraft.util.Identifier;
+import net.minecraft.util.Lazy;
import net.minecraft.util.PacketByteBuf;
import net.minecraft.util.registry.Registry;
import org.jetbrains.annotations.ApiStatus;
import java.lang.reflect.Field;
+import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
+import java.util.UUID;
@ApiStatus.Internal
public class ClientHelperImpl implements ClientHelper, ClientModInitializer {
+ @ApiStatus.Internal public final Lazy<Boolean> isYog = new Lazy<>(() -> {
+ try {
+ if (MinecraftClient.getInstance().getSession().getProfile().getId().equals(UUID.fromString("f9546389-9415-4358-9c29-2c26b25bff5b")))
+ return true;
+ } catch (Throwable ignored) {
+ }
+ return false;
+ });
+ @ApiStatus.Internal public final Lazy<Boolean> ok = new Lazy<>(() -> {
+ try {
+ if (isYog.get())
+ return true;
+ LocalDateTime now = LocalDateTime.now();
+ return now.getMonthValue() == 4 && now.getDayOfMonth() == 1;
+ } catch (Throwable ignored) {
+ }
+ return false;
+ });
public static ClientHelperImpl instance;
private final Map<String, String> modNameCache = Maps.newHashMap();
@@ -150,12 +170,9 @@ public class ClientHelperImpl implements ClientHelper, ClientModInitializer {
@Override
public List<ItemStack> getInventoryItemsTypes() {
- List<DefaultedList<ItemStack>> field_7543 = ImmutableList.of(MinecraftClient.getInstance().player.inventory.main, MinecraftClient.getInstance().player.inventory.armor, MinecraftClient.getInstance().player.inventory.offHand);
- List<ItemStack> inventoryStacks = new ArrayList<>();
- field_7543.forEach(itemStacks -> itemStacks.forEach(itemStack -> {
- if (!itemStack.isEmpty())
- inventoryStacks.add(itemStack);
- }));
+ List<ItemStack> inventoryStacks = new ArrayList<>(MinecraftClient.getInstance().player.inventory.main);
+ inventoryStacks.addAll(MinecraftClient.getInstance().player.inventory.armor);
+ inventoryStacks.addAll(MinecraftClient.getInstance().player.inventory.offHand);
return inventoryStacks;
}
@@ -233,9 +250,9 @@ public class ClientHelperImpl implements ClientHelper, ClientModInitializer {
if (!FabricLoader.getInstance().isModLoaded("amecs")) {
try {
ConfigObjectImpl.General general = ConfigObject.getInstance().getGeneral();
- ConfigObjectImpl.General instance = general.getClass().newInstance();
+ ConfigObjectImpl.General instance = general.getClass().getConstructor().newInstance();
for (Field declaredField : general.getClass().getDeclaredFields()) {
- if (declaredField.getType() == ModifierKeyCode.class) {
+ if (declaredField.getType() == ModifierKeyCode.class && !declaredField.isAnnotationPresent(ConfigEntry.Gui.Excluded.class)) {
declaredField.setAccessible(true);
FakeModifierKeyCodeAdder.INSTANCE.registerModifierKeyCode(category, "config.roughlyenoughitems." + declaredField.getName(), () -> {
try {