aboutsummaryrefslogtreecommitdiff
path: root/src/main
diff options
context:
space:
mode:
Diffstat (limited to 'src/main')
-rw-r--r--src/main/java/me/shedaniel/rei/api/ConfigObject.java1
-rw-r--r--src/main/java/me/shedaniel/rei/gui/VillagerRecipeViewingScreen.java22
-rw-r--r--src/main/java/me/shedaniel/rei/gui/renderers/FluidRenderer.java29
-rw-r--r--src/main/java/me/shedaniel/rei/gui/widget/SlotWidget.java2
-rw-r--r--src/main/java/me/shedaniel/rei/plugin/composting/DefaultCompostingCategory.java1
-rw-r--r--src/main/java/me/shedaniel/rei/utils/ClothScreenRegistry.java11
6 files changed, 46 insertions, 20 deletions
diff --git a/src/main/java/me/shedaniel/rei/api/ConfigObject.java b/src/main/java/me/shedaniel/rei/api/ConfigObject.java
index f60d6bc35..187e3b76e 100644
--- a/src/main/java/me/shedaniel/rei/api/ConfigObject.java
+++ b/src/main/java/me/shedaniel/rei/api/ConfigObject.java
@@ -10,6 +10,7 @@ import me.shedaniel.rei.gui.config.ItemListOrdering;
import me.shedaniel.rei.gui.config.RecipeScreenType;
import me.shedaniel.rei.gui.config.SearchFieldLocation;
import me.zeroeightsix.fiber.tree.ConfigNode;
+import me.zeroeightsix.fiber.tree.ConfigValue;
public interface ConfigObject {
diff --git a/src/main/java/me/shedaniel/rei/gui/VillagerRecipeViewingScreen.java b/src/main/java/me/shedaniel/rei/gui/VillagerRecipeViewingScreen.java
index 2489baf0f..c7e85edb5 100644
--- a/src/main/java/me/shedaniel/rei/gui/VillagerRecipeViewingScreen.java
+++ b/src/main/java/me/shedaniel/rei/gui/VillagerRecipeViewingScreen.java
@@ -33,10 +33,7 @@ import net.minecraft.text.TranslatableText;
import net.minecraft.util.Formatting;
import net.minecraft.util.math.MathHelper;
-import java.util.Collections;
-import java.util.List;
-import java.util.Map;
-import java.util.Optional;
+import java.util.*;
import java.util.stream.Collectors;
public class VillagerRecipeViewingScreen extends Screen {
@@ -146,12 +143,27 @@ public class VillagerRecipeViewingScreen extends Screen {
selectedRecipeIndex = finalIndex;
VillagerRecipeViewingScreen.this.init();
}
-
+
+ @Override
+ public boolean isHovered(int mouseX, int mouseY) {
+ return (isMouseOver(mouseX, mouseY) && scrollListBounds.contains(mouseX, mouseY)) || focused;
+ }
+
@Override
protected int getTextureId(boolean boolean_1) {
enabled = selectedRecipeIndex != finalIndex;
return super.getTextureId(boolean_1);
}
+
+ @Override
+ public boolean mouseClicked(double mouseX, double mouseY, int button) {
+ if ((isMouseOver(mouseX, mouseY) && scrollListBounds.contains(mouseX, mouseY)) && enabled && button == 0) {
+ minecraft.getSoundManager().play(PositionedSoundInstance.master(SoundEvents.UI_BUTTON_CLICK, 1.0F));
+ onPressed();
+ return true;
+ }
+ return false;
+ }
});
index++;
}
diff --git a/src/main/java/me/shedaniel/rei/gui/renderers/FluidRenderer.java b/src/main/java/me/shedaniel/rei/gui/renderers/FluidRenderer.java
index 1e6f6663f..db34ce0ac 100644
--- a/src/main/java/me/shedaniel/rei/gui/renderers/FluidRenderer.java
+++ b/src/main/java/me/shedaniel/rei/gui/renderers/FluidRenderer.java
@@ -23,6 +23,8 @@ import net.minecraft.client.texture.Sprite;
import net.minecraft.client.texture.SpriteAtlasTexture;
import net.minecraft.fluid.Fluid;
import net.minecraft.util.Lazy;
+import net.minecraft.util.Pair;
+import net.minecraft.util.math.BlockPos;
import net.minecraft.util.registry.Registry;
import java.util.Collections;
@@ -30,13 +32,16 @@ import java.util.List;
public abstract class FluidRenderer extends Renderer {
public boolean drawTooltip = false;
- public Lazy<Sprite> sprite = new Lazy<>(() -> {
+ public Lazy<Pair<Sprite, Integer>> sprite = new Lazy<>(() -> {
try {
FluidRenderHandler fluidRenderHandler = FluidRenderHandlerRegistry.INSTANCE.get(getFluid());
if (fluidRenderHandler == null)
return null;
- Sprite[] sprites = fluidRenderHandler.getFluidSprites(null, null, getFluid().getDefaultState());
- return sprites[0];
+ Sprite[] sprites = fluidRenderHandler.getFluidSprites(MinecraftClient.getInstance().world, MinecraftClient.getInstance().world == null ? null : BlockPos.ORIGIN, getFluid().getDefaultState());
+ int color = -1;
+ if (MinecraftClient.getInstance().world != null)
+ color = fluidRenderHandler.getFluidColor(MinecraftClient.getInstance().world, BlockPos.ORIGIN, getFluid().getDefaultState());
+ return new Pair<>(sprites[0], color);
} catch (Exception e) {
e.printStackTrace();
return null;
@@ -47,17 +52,23 @@ public abstract class FluidRenderer extends Renderer {
public void render(int x, int y, double mouseX, double mouseY, float delta) {
x = x - 8;
y = y - 6;
- Sprite f = this.sprite.get();
- if (f != null) {
+ Pair<Sprite, Integer> pair = this.sprite.get();
+ if (pair != null) {
+ Sprite sprite = pair.getLeft();
+ Integer int_5 = pair.getRight();
+ int a = 255;
+ int r = (int_5 >> 16 & 255);
+ int g = (int_5 >> 8 & 255);
+ int b = (int_5 & 255);
MinecraftClient.getInstance().getTextureManager().bindTexture(SpriteAtlasTexture.BLOCK_ATLAS_TEX);
GuiLighting.disable();
Tessellator tess = Tessellator.getInstance();
BufferBuilder bb = tess.getBufferBuilder();
bb.begin(7, VertexFormats.POSITION_UV_COLOR);
- bb.vertex(x + 16, y, blitOffset).texture(f.getMaxU(), f.getMinV()).color(255, 255, 255, 255).next();
- bb.vertex(x, y, blitOffset).texture(f.getMinU(), f.getMinV()).color(255, 255, 255, 255).next();
- bb.vertex(x, y + 16, blitOffset).texture(f.getMinU(), f.getMaxV()).color(255, 255, 255, 255).next();
- bb.vertex(x + 16, y + 16, blitOffset).texture(f.getMaxU(), f.getMaxV()).color(255, 255, 255, 255).next();
+ bb.vertex(x + 16, y, blitOffset).texture(sprite.getMaxU(), sprite.getMinV()).color(r, g, b, a).next();
+ bb.vertex(x, y, blitOffset).texture(sprite.getMinU(), sprite.getMinV()).color(r, g, b, a).next();
+ bb.vertex(x, y + 16, blitOffset).texture(sprite.getMinU(), sprite.getMaxV()).color(r, g, b, a).next();
+ bb.vertex(x + 16, y + 16, blitOffset).texture(sprite.getMaxU(), sprite.getMaxV()).color(r, g, b, a).next();
tess.draw();
}
this.blitOffset = 0;
diff --git a/src/main/java/me/shedaniel/rei/gui/widget/SlotWidget.java b/src/main/java/me/shedaniel/rei/gui/widget/SlotWidget.java
index 9b20b0e90..b01cefd89 100644
--- a/src/main/java/me/shedaniel/rei/gui/widget/SlotWidget.java
+++ b/src/main/java/me/shedaniel/rei/gui/widget/SlotWidget.java
@@ -140,7 +140,7 @@ public class SlotWidget extends WidgetWithBounds {
GlStateManager.disableLighting();
GlStateManager.disableDepthTest();
GlStateManager.colorMask(true, true, true, false);
- int color = darkTheme ? 0xFF5E5E5E : -2130706433;
+ int color = darkTheme ? -1877929711 : -2130706433;
blitOffset = 300;
fillGradient(x, y, x + 16, y + 16, color, color);
blitOffset = 0;
diff --git a/src/main/java/me/shedaniel/rei/plugin/composting/DefaultCompostingCategory.java b/src/main/java/me/shedaniel/rei/plugin/composting/DefaultCompostingCategory.java
index b89e0e7cb..3af55e096 100644
--- a/src/main/java/me/shedaniel/rei/plugin/composting/DefaultCompostingCategory.java
+++ b/src/main/java/me/shedaniel/rei/plugin/composting/DefaultCompostingCategory.java
@@ -103,6 +103,7 @@ public class DefaultCompostingCategory implements RecipeCategory<DefaultComposti
return 140;
}
+ @SuppressWarnings("deprecation")
@Override
public int getFixedRecipesPerPage() {
return 1;
diff --git a/src/main/java/me/shedaniel/rei/utils/ClothScreenRegistry.java b/src/main/java/me/shedaniel/rei/utils/ClothScreenRegistry.java
index df4cb4c0c..a759a62e1 100644
--- a/src/main/java/me/shedaniel/rei/utils/ClothScreenRegistry.java
+++ b/src/main/java/me/shedaniel/rei/utils/ClothScreenRegistry.java
@@ -34,7 +34,7 @@ public class ClothScreenRegistry {
} catch (IOException | FiberException e) {
e.printStackTrace();
}
- }).registerConfigEntryFunction(ItemListOrderingConfig.class, o -> {
+ }).registerNodeEntryFunction(ItemListOrderingConfig.class, o -> {
ConfigValue<ItemListOrderingConfig> configValue = (ConfigValue<ItemListOrderingConfig>) o;
return configEntryBuilder.startEnumSelector("config.roughlyenoughitems." + configValue.getName(), ItemListOrderingConfig.class, configValue.getValue())
.setDefaultValue(configValue.getDefaultValue())
@@ -42,7 +42,7 @@ public class ClothScreenRegistry {
.setSaveConsumer(var -> configValue.setValue((ItemListOrderingConfig) var))
.setErrorSupplier(var -> error((List) configValue.getConstraints(), var, ItemListOrderingConfig.class))
.build();
- }).registerConfigEntryFunction(RecipeScreenType.class, o -> {
+ }).registerNodeEntryFunction(RecipeScreenType.class, o -> {
ConfigValue<RecipeScreenType> configValue = (ConfigValue<RecipeScreenType>) o;
return configEntryBuilder.startEnumSelector("config.roughlyenoughitems." + configValue.getName(), RecipeScreenType.class, configValue.getValue())
.setDefaultValue(configValue.getDefaultValue())
@@ -50,7 +50,7 @@ public class ClothScreenRegistry {
.setSaveConsumer(var -> configValue.setValue((RecipeScreenType) var))
.setErrorSupplier(var -> error((List) configValue.getConstraints(), var, RecipeScreenType.class))
.build();
- }).registerConfigEntryFunction(ItemCheatingMode.class, o -> {
+ }).registerNodeEntryFunction(ItemCheatingMode.class, o -> {
ConfigValue<ItemCheatingMode> configValue = (ConfigValue<ItemCheatingMode>) o;
return configEntryBuilder.startEnumSelector("config.roughlyenoughitems." + configValue.getName(), ItemCheatingMode.class, configValue.getValue())
.setDefaultValue(configValue.getDefaultValue())
@@ -58,7 +58,7 @@ public class ClothScreenRegistry {
.setSaveConsumer(var -> configValue.setValue((ItemCheatingMode) var))
.setErrorSupplier(var -> error((List) configValue.getConstraints(), var, ItemCheatingMode.class))
.build();
- }).registerConfigEntryFunction(SearchFieldLocation.class, o -> {
+ }).registerNodeEntryFunction(SearchFieldLocation.class, o -> {
ConfigValue<SearchFieldLocation> configValue = (ConfigValue<SearchFieldLocation>) o;
return configEntryBuilder.startEnumSelector("config.roughlyenoughitems." + configValue.getName(), SearchFieldLocation.class, configValue.getValue())
.setDefaultValue(configValue.getDefaultValue())
@@ -66,7 +66,8 @@ public class ClothScreenRegistry {
.setSaveConsumer(var -> configValue.setValue((SearchFieldLocation) var))
.setErrorSupplier(var -> error((List) configValue.getConstraints(), var, SearchFieldLocation.class))
.build();
- }).build().getScreen();
+ })
+ .build().getScreen();
}
}