aboutsummaryrefslogtreecommitdiff
path: root/default-plugin
diff options
context:
space:
mode:
authorshedaniel <daniel@shedaniel.me>2021-03-28 20:35:46 +0800
committershedaniel <daniel@shedaniel.me>2021-03-28 20:35:46 +0800
commitebf2bb9dfa1f0e1abca845d7283e6e74ad8b00cd (patch)
treecc2e4c4d101aaaf5dcbc9dd5cebb9d7f7b3a7982 /default-plugin
parent9d835c7823978e04007414cfe3ebf128e23a6494 (diff)
downloadRoughlyEnoughItems-ebf2bb9dfa1f0e1abca845d7283e6e74ad8b00cd.tar.gz
RoughlyEnoughItems-ebf2bb9dfa1f0e1abca845d7283e6e74ad8b00cd.tar.bz2
RoughlyEnoughItems-ebf2bb9dfa1f0e1abca845d7283e6e74ad8b00cd.zip
Optimise > 1 million entries & Improve Favorites Dragging
Signed-off-by: shedaniel <daniel@shedaniel.me>
Diffstat (limited to 'default-plugin')
-rw-r--r--default-plugin/src/main/java/me/shedaniel/rei/plugin/client/favorites/GameModeFavoriteEntry.java6
-rw-r--r--default-plugin/src/main/java/me/shedaniel/rei/plugin/client/favorites/WeatherFavoriteEntry.java19
2 files changed, 13 insertions, 12 deletions
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 78bbe9ca6..1e45f89fd 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
@@ -104,7 +104,11 @@ public class GameModeFavoriteEntry extends FavoriteEntry {
public void render(PoseStack matrices, Rectangle bounds, int mouseX, int mouseY, float delta) {
int color = bounds.contains(mouseX, mouseY) ? 0xFFEEEEEE : 0xFFAAAAAA;
if (bounds.width > 4 && bounds.height > 4) {
- renderGameModeText(matrices, type, bounds.getCenterX(), bounds.getCenterY(), color);
+ matrices.pushPose();
+ matrices.translate(bounds.getCenterX(), bounds.getCenterY(), 0);
+ matrices.scale(bounds.getWidth() / 18f, bounds.getHeight() / 18f, 1);
+ renderGameModeText(matrices, type, 0, 0, color);
+ matrices.popPose();
}
}
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 b288a2f8f..13c66e1b0 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
@@ -24,8 +24,6 @@
package me.shedaniel.rei.plugin.client.favorites;
import com.mojang.blaze3d.vertex.PoseStack;
-import com.mojang.math.Vector4f;
-import me.shedaniel.clothconfig2.api.ScissorsHandler;
import me.shedaniel.math.Point;
import me.shedaniel.math.Rectangle;
import me.shedaniel.rei.api.client.REIHelper;
@@ -37,21 +35,16 @@ import me.shedaniel.rei.api.client.favorites.FavoriteMenuEntry;
import me.shedaniel.rei.api.client.gui.AbstractRenderer;
import me.shedaniel.rei.api.client.gui.Renderer;
import me.shedaniel.rei.api.client.gui.widgets.Tooltip;
-import me.shedaniel.rei.api.common.util.Animator;
import me.shedaniel.rei.api.common.util.CollectionUtils;
-import net.minecraft.Util;
import net.minecraft.client.Minecraft;
-import net.minecraft.client.gui.Font;
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;
-import net.minecraft.network.chat.Component;
import net.minecraft.network.chat.TranslatableComponent;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.sounds.SoundEvents;
-import net.minecraft.world.level.GameType;
import org.jetbrains.annotations.ApiStatus;
import org.jetbrains.annotations.Nullable;
@@ -120,10 +113,14 @@ public class WeatherFavoriteEntry extends FavoriteEntry {
public void render(PoseStack matrices, Rectangle bounds, int mouseX, int mouseY, float delta) {
int color = bounds.contains(mouseX, mouseY) ? 0xFFEEEEEE : 0xFFAAAAAA;
if (bounds.width > 4 && bounds.height > 4) {
- renderWeatherIcon(matrices, weather, bounds.getCenterX(), bounds.getCenterY(), color);
+ matrices.pushPose();
+ matrices.translate(bounds.getCenterX(), bounds.getCenterY(), 0);
+ matrices.scale(bounds.getWidth() / 18f, bounds.getHeight() / 18f, 1);
+ renderWeatherIcon(matrices, weather, 0, 0, color);
+ matrices.popPose();
}
}
-
+
private void renderWeatherIcon(PoseStack matrices, Weather type, int centerX, int centerY, int color) {
Minecraft.getInstance().getTextureManager().bind(CHEST_GUI_TEXTURE);
blit(matrices, centerX - 7, centerY - 7, type.getId() * 14, 14, 14, 14, 256, 256);
@@ -196,7 +193,7 @@ public class WeatherFavoriteEntry extends FavoriteEntry {
public enum Type implements FavoriteEntryType<WeatherFavoriteEntry> {
INSTANCE;
-
+
@Override
public WeatherFavoriteEntry read(CompoundTag object) {
String stringValue = object.getString(KEY);
@@ -208,7 +205,7 @@ public class WeatherFavoriteEntry extends FavoriteEntry {
public WeatherFavoriteEntry fromArgs(Object... args) {
return new WeatherFavoriteEntry((Weather) args[0]);
}
-
+
@Override
public CompoundTag save(WeatherFavoriteEntry entry, CompoundTag tag) {
tag.putString(KEY, entry.weather == null ? "NOT_SET" : entry.weather.name());