From 66bd26b6ab2172a834d06e9f70d09a659faa8ebd Mon Sep 17 00:00:00 2001 From: shedaniel Date: Fri, 28 Oct 2022 19:21:36 +0800 Subject: Update to 22w43a --- .../rei/plugin/client/DefaultClientPlugin.java | 39 +++++++++++++++++++--- .../categories/DefaultInformationCategory.java | 2 +- .../client/categories/tag/DefaultTagCategory.java | 6 ++-- .../client/categories/tag/ValueTagNodeWidget.java | 4 +-- .../client/favorites/GameModeFavoriteEntry.java | 5 ++- .../plugin/client/favorites/TimeFavoriteEntry.java | 5 ++- .../client/favorites/WeatherFavoriteEntry.java | 5 ++- .../rei/plugin/common/displays/tag/TagNodes.java | 3 +- 8 files changed, 47 insertions(+), 22 deletions(-) (limited to 'default-plugin/src') diff --git a/default-plugin/src/main/java/me/shedaniel/rei/plugin/client/DefaultClientPlugin.java b/default-plugin/src/main/java/me/shedaniel/rei/plugin/client/DefaultClientPlugin.java index 63121cc06..64751dcf5 100644 --- a/default-plugin/src/main/java/me/shedaniel/rei/plugin/client/DefaultClientPlugin.java +++ b/default-plugin/src/main/java/me/shedaniel/rei/plugin/client/DefaultClientPlugin.java @@ -23,9 +23,7 @@ package me.shedaniel.rei.plugin.client; -import com.google.common.collect.Iterators; -import com.google.common.collect.Lists; -import com.google.common.collect.Sets; +import com.google.common.collect.*; import dev.architectury.platform.Platform; import it.unimi.dsi.fastutil.objects.ReferenceOpenHashSet; import it.unimi.dsi.fastutil.objects.ReferenceSet; @@ -44,7 +42,6 @@ import me.shedaniel.rei.api.common.entry.EntryStack; import me.shedaniel.rei.api.common.util.EntryIngredients; import me.shedaniel.rei.api.common.util.EntryStacks; import me.shedaniel.rei.impl.ClientInternals; -import me.shedaniel.rei.impl.VersionAdapter; import me.shedaniel.rei.plugin.autocrafting.recipebook.DefaultRecipeBookHandler; import me.shedaniel.rei.plugin.client.categories.*; import me.shedaniel.rei.plugin.client.categories.anvil.DefaultAnvilCategory; @@ -73,6 +70,7 @@ import me.shedaniel.rei.plugin.common.displays.crafting.DefaultCustomDisplay; import me.shedaniel.rei.plugin.common.displays.tag.DefaultTagDisplay; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; +import net.minecraft.client.Minecraft; import net.minecraft.client.gui.screens.inventory.*; import net.minecraft.client.gui.screens.recipebook.RecipeUpdateListener; import net.minecraft.core.Registry; @@ -81,6 +79,7 @@ import net.minecraft.resources.ResourceLocation; import net.minecraft.tags.BlockTags; import net.minecraft.tags.ItemTags; import net.minecraft.tags.TagKey; +import net.minecraft.world.flag.FeatureFlagSet; import net.minecraft.world.item.*; import net.minecraft.world.item.alchemy.Potion; import net.minecraft.world.item.alchemy.PotionBrewing; @@ -120,7 +119,37 @@ public class DefaultClientPlugin implements REIClientPlugin, BuiltinClientPlugin @Override public void registerEntries(EntryRegistry registry) { - VersionAdapter.INSTANCE.registerDefaultItems(registry); + FeatureFlagSet features = Minecraft.getInstance().player.getLevel().enabledFeatures(); + Multimap> items = HashMultimap.create(); + + for (CreativeModeTab tab : CreativeModeTabs.TABS) { + if (tab != CreativeModeTabs.TAB_HOTBAR && tab != CreativeModeTabs.TAB_INVENTORY) { + try { + for (ItemStack stack : tab.getDisplayItems(features)) { + try { + items.put(stack.getItem(), EntryStacks.of(stack)); + } catch (Exception ignore) { + } + } + } catch (Exception exception) { + exception.printStackTrace(); + } + } + } + + for (Item item : Registry.ITEM) { + Collection> stacks = items.get(item); + if (stacks.isEmpty()) { + try { + registry.addEntry(EntryStacks.of(item.getDefaultInstance())); + } catch (Exception ignore) { + registry.addEntry(EntryStacks.of(item)); + } + } else { + registry.addEntries(stacks); + } + } + for (Fluid fluid : Registry.FLUID) { FluidState state = fluid.defaultFluidState(); if (!state.isEmpty() && state.isSource()) { diff --git a/default-plugin/src/main/java/me/shedaniel/rei/plugin/client/categories/DefaultInformationCategory.java b/default-plugin/src/main/java/me/shedaniel/rei/plugin/client/categories/DefaultInformationCategory.java index 1e9bab83f..0e8074db9 100644 --- a/default-plugin/src/main/java/me/shedaniel/rei/plugin/client/categories/DefaultInformationCategory.java +++ b/default-plugin/src/main/java/me/shedaniel/rei/plugin/client/categories/DefaultInformationCategory.java @@ -26,7 +26,6 @@ package me.shedaniel.rei.plugin.client.categories; import com.google.common.collect.Lists; import com.mojang.blaze3d.systems.RenderSystem; import com.mojang.blaze3d.vertex.*; -import com.mojang.math.Matrix4f; import me.shedaniel.clothconfig2.ClothConfigInitializer; import me.shedaniel.clothconfig2.api.scroll.ScrollingContainer; import me.shedaniel.math.Point; @@ -51,6 +50,7 @@ import net.minecraft.client.renderer.GameRenderer; import net.minecraft.network.chat.Component; import net.minecraft.network.chat.FormattedText; import net.minecraft.util.FormattedCharSequence; +import org.joml.Matrix4f; import java.util.Collections; import java.util.List; diff --git a/default-plugin/src/main/java/me/shedaniel/rei/plugin/client/categories/tag/DefaultTagCategory.java b/default-plugin/src/main/java/me/shedaniel/rei/plugin/client/categories/tag/DefaultTagCategory.java index bd6c8b1df..4b771fc08 100644 --- a/default-plugin/src/main/java/me/shedaniel/rei/plugin/client/categories/tag/DefaultTagCategory.java +++ b/default-plugin/src/main/java/me/shedaniel/rei/plugin/client/categories/tag/DefaultTagCategory.java @@ -25,7 +25,6 @@ package me.shedaniel.rei.plugin.client.categories.tag; import com.mojang.blaze3d.platform.Window; import com.mojang.blaze3d.vertex.PoseStack; -import com.mojang.math.Matrix4f; import me.shedaniel.clothconfig2.api.animator.ValueAnimator; import me.shedaniel.math.FloatingRectangle; import me.shedaniel.math.Point; @@ -51,6 +50,7 @@ import net.minecraft.network.chat.Component; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.item.Items; import org.jetbrains.annotations.Nullable; +import org.joml.Matrix4f; import java.util.ArrayList; import java.util.List; @@ -191,9 +191,9 @@ public class DefaultTagCategory implements DisplayCategory Widgets.withTranslate(widget, () -> expanded[0] || !boundsAnimator.value().equals(boundsAnimator.target()) ? translateMatrix : identity)); } diff --git a/default-plugin/src/main/java/me/shedaniel/rei/plugin/client/categories/tag/ValueTagNodeWidget.java b/default-plugin/src/main/java/me/shedaniel/rei/plugin/client/categories/tag/ValueTagNodeWidget.java index 5936e1842..e1c1854fb 100644 --- a/default-plugin/src/main/java/me/shedaniel/rei/plugin/client/categories/tag/ValueTagNodeWidget.java +++ b/default-plugin/src/main/java/me/shedaniel/rei/plugin/client/categories/tag/ValueTagNodeWidget.java @@ -25,7 +25,6 @@ package me.shedaniel.rei.plugin.client.categories.tag; import com.google.common.base.Predicates; import com.mojang.blaze3d.vertex.PoseStack; -import com.mojang.math.Matrix4f; import me.shedaniel.math.Point; import me.shedaniel.math.Rectangle; import me.shedaniel.rei.api.client.gui.widgets.*; @@ -35,6 +34,7 @@ import me.shedaniel.rei.plugin.common.displays.tag.TagNode; import net.minecraft.client.gui.components.events.GuiEventListener; import net.minecraft.core.Holder; import net.minecraft.core.HolderSet; +import org.joml.Matrix4f; import java.util.ArrayList; import java.util.Collections; @@ -71,7 +71,7 @@ public class ValueTagNodeWidget extends TagNodeWidget { i++; } this.widget = Widgets.withTranslate(Widgets.concat(this.widgets), - $ -> Matrix4f.createTranslateMatrix(getBounds().x, getBounds().y, 0)); + $ -> new Matrix4f().translate(getBounds().x, getBounds().y, 0)); this.children = Collections.singletonList(this.widget); } diff --git a/default-plugin/src/main/java/me/shedaniel/rei/plugin/client/favorites/GameModeFavoriteEntry.java b/default-plugin/src/main/java/me/shedaniel/rei/plugin/client/favorites/GameModeFavoriteEntry.java index a4dccf718..7bf641433 100644 --- a/default-plugin/src/main/java/me/shedaniel/rei/plugin/client/favorites/GameModeFavoriteEntry.java +++ b/default-plugin/src/main/java/me/shedaniel/rei/plugin/client/favorites/GameModeFavoriteEntry.java @@ -38,7 +38,6 @@ import me.shedaniel.rei.api.client.gui.Renderer; import me.shedaniel.rei.api.client.gui.widgets.Tooltip; import me.shedaniel.rei.api.client.gui.widgets.TooltipContext; import me.shedaniel.rei.api.common.util.CollectionUtils; -import me.shedaniel.rei.impl.VersionAdapter; import net.minecraft.ChatFormatting; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.Font; @@ -148,7 +147,7 @@ public class GameModeFavoriteEntry extends FavoriteEntry { if (mode == null) { mode = GameType.byId(Minecraft.getInstance().gameMode.getPlayerMode().getId() + 1 % 4); } - VersionAdapter.INSTANCE.sendCommand(StringUtils.removeStart(ConfigObject.getInstance().getGamemodeCommand().replaceAll("\\{gamemode}", mode.name().toLowerCase(Locale.ROOT)), "/")); + Minecraft.getInstance().player.connection.sendCommand(StringUtils.removeStart(ConfigObject.getInstance().getGamemodeCommand().replaceAll("\\{gamemode}", mode.name().toLowerCase(Locale.ROOT)), "/")); Minecraft.getInstance().getSoundManager().play(SimpleSoundInstance.forUI(SoundEvents.UI_BUTTON_CLICK, 1.0F)); return true; } @@ -276,7 +275,7 @@ public class GameModeFavoriteEntry extends FavoriteEntry { public boolean mouseClicked(double mouseX, double mouseY, int button) { boolean disabled = this.minecraft.gameMode.getPlayerMode() == gameMode; if (!disabled && rendering && mouseX >= x && mouseX <= x + width && mouseY >= y && mouseY <= y + 12) { - VersionAdapter.INSTANCE.sendCommand(StringUtils.removeStart(ConfigObject.getInstance().getGamemodeCommand().replaceAll("\\{gamemode}", gameMode.name().toLowerCase(Locale.ROOT)), "/")); + Minecraft.getInstance().player.connection.sendCommand(StringUtils.removeStart(ConfigObject.getInstance().getGamemodeCommand().replaceAll("\\{gamemode}", gameMode.name().toLowerCase(Locale.ROOT)), "/")); minecraft.getSoundManager().play(SimpleSoundInstance.forUI(SoundEvents.UI_BUTTON_CLICK, 1.0F)); closeMenu(); return true; 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 66245d37d..13ec9b2e7 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 @@ -39,7 +39,6 @@ import me.shedaniel.rei.api.client.gui.Renderer; import me.shedaniel.rei.api.client.gui.widgets.Tooltip; import me.shedaniel.rei.api.client.gui.widgets.TooltipContext; import me.shedaniel.rei.api.common.util.CollectionUtils; -import me.shedaniel.rei.impl.VersionAdapter; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.components.events.GuiEventListener; import net.minecraft.client.multiplayer.ClientLevel; @@ -182,7 +181,7 @@ public class TimeFavoriteEntry extends FavoriteEntry { if (time == null) { time = nextTime(); } - VersionAdapter.INSTANCE.sendCommand(StringUtils.removeStart(ConfigObject.getInstance().getTimeCommand().replaceAll("\\{time}", time.getPart().toLowerCase(Locale.ROOT)), "/")); + Minecraft.getInstance().player.connection.sendCommand(StringUtils.removeStart(ConfigObject.getInstance().getTimeCommand().replaceAll("\\{time}", time.getPart().toLowerCase(Locale.ROOT)), "/")); Minecraft.getInstance().getSoundManager().play(SimpleSoundInstance.forUI(SoundEvents.UI_BUTTON_CLICK, 1.0F)); return true; } @@ -304,7 +303,7 @@ public class TimeFavoriteEntry extends FavoriteEntry { @Override public boolean mouseClicked(double mouseX, double mouseY, int button) { if (rendering && mouseX >= x && mouseX <= x + width && mouseY >= y && mouseY <= y + 12) { - VersionAdapter.INSTANCE.sendCommand(StringUtils.removeStart(ConfigObject.getInstance().getTimeCommand().replaceAll("\\{time}", time.getPart().toLowerCase(Locale.ROOT)), "/")); + Minecraft.getInstance().player.connection.sendCommand(StringUtils.removeStart(ConfigObject.getInstance().getTimeCommand().replaceAll("\\{time}", time.getPart().toLowerCase(Locale.ROOT)), "/")); minecraft.getSoundManager().play(SimpleSoundInstance.forUI(SoundEvents.UI_BUTTON_CLICK, 1.0F)); closeMenu(); return true; diff --git a/default-plugin/src/main/java/me/shedaniel/rei/plugin/client/favorites/WeatherFavoriteEntry.java b/default-plugin/src/main/java/me/shedaniel/rei/plugin/client/favorites/WeatherFavoriteEntry.java index f1f18d345..0767bdbfe 100644 --- a/default-plugin/src/main/java/me/shedaniel/rei/plugin/client/favorites/WeatherFavoriteEntry.java +++ b/default-plugin/src/main/java/me/shedaniel/rei/plugin/client/favorites/WeatherFavoriteEntry.java @@ -39,7 +39,6 @@ import me.shedaniel.rei.api.client.gui.Renderer; import me.shedaniel.rei.api.client.gui.widgets.Tooltip; import me.shedaniel.rei.api.client.gui.widgets.TooltipContext; import me.shedaniel.rei.api.common.util.CollectionUtils; -import me.shedaniel.rei.impl.VersionAdapter; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.components.events.GuiEventListener; import net.minecraft.client.multiplayer.ClientLevel; @@ -155,7 +154,7 @@ public class WeatherFavoriteEntry extends FavoriteEntry { public boolean doAction(int button) { if (button == 0) { if (weather != null) { - VersionAdapter.INSTANCE.sendCommand(StringUtils.removeStart(ConfigObject.getInstance().getWeatherCommand().replaceAll("\\{weather}", weather.name().toLowerCase(Locale.ROOT)), "/")); + Minecraft.getInstance().player.connection.sendCommand(StringUtils.removeStart(ConfigObject.getInstance().getWeatherCommand().replaceAll("\\{weather}", weather.name().toLowerCase(Locale.ROOT)), "/")); Minecraft.getInstance().getSoundManager().play(SimpleSoundInstance.forUI(SoundEvents.UI_BUTTON_CLICK, 1.0F)); } return true; @@ -313,7 +312,7 @@ public class WeatherFavoriteEntry extends FavoriteEntry { @Override public boolean mouseClicked(double mouseX, double mouseY, int button) { if (rendering && mouseX >= x && mouseX <= x + width && mouseY >= y && mouseY <= y + 12) { - VersionAdapter.INSTANCE.sendCommand(StringUtils.removeStart(ConfigObject.getInstance().getWeatherCommand().replaceAll("\\{weather}", weather.name().toLowerCase(Locale.ROOT)), "/")); + Minecraft.getInstance().player.connection.sendCommand(StringUtils.removeStart(ConfigObject.getInstance().getWeatherCommand().replaceAll("\\{weather}", weather.name().toLowerCase(Locale.ROOT)), "/")); minecraft.getSoundManager().play(SimpleSoundInstance.forUI(SoundEvents.UI_BUTTON_CLICK, 1.0F)); closeMenu(); return true; diff --git a/default-plugin/src/main/java/me/shedaniel/rei/plugin/common/displays/tag/TagNodes.java b/default-plugin/src/main/java/me/shedaniel/rei/plugin/common/displays/tag/TagNodes.java index da9fd0bea..119e944e2 100644 --- a/default-plugin/src/main/java/me/shedaniel/rei/plugin/common/displays/tag/TagNodes.java +++ b/default-plugin/src/main/java/me/shedaniel/rei/plugin/common/displays/tag/TagNodes.java @@ -32,7 +32,6 @@ import dev.architectury.utils.EnvExecutor; import io.netty.buffer.Unpooled; import it.unimi.dsi.fastutil.ints.IntArrayList; import it.unimi.dsi.fastutil.ints.IntList; -import me.shedaniel.rei.impl.VersionAdapter; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; import net.minecraft.client.Minecraft; @@ -208,7 +207,7 @@ public class TagNodes { TagNode self = TagNode.ofReference(tagKey); List> holders = new ArrayList<>(); for (int element : tagData.otherElements()) { - Optional> holder = VersionAdapter.INSTANCE.getHolder(registry, element); + Optional> holder = registry.getHolder(element); if (holder.isPresent()) { holders.add(holder.get()); } -- cgit