Browse Source

Build 3

- Fix water color
- Fix dark theme slot hover color
- Fix villager recipe screen click area
Danielshe 5 years ago
parent
commit
c15354c40b

+ 3 - 3
build.gradle

@@ -48,7 +48,7 @@ dependencies {
     modImplementation("me.shedaniel.cloth:config-2:${cloth_config_version}") {
         transitive = false
     }
-    modApi("me.shedaniel.cloth:fiber2cloth:1.0.1") {
+    modApi("me.shedaniel.cloth:fiber2cloth:1.1.0") {
         transitive = false
     }
     modApi "me.zeroeightsix:fiber:0.6.0-7"
@@ -60,12 +60,12 @@ dependencies {
         include("me.shedaniel.cloth:config-2:${cloth_config_version}") {
             transitive = false
         }
-        include("me.shedaniel.cloth:fiber2cloth:1.0.1") {
+        include("me.shedaniel.cloth:fiber2cloth:1.1.0") {
             transitive = false
         }
         include "me.zeroeightsix:fiber:0.6.0-7"
     }
-    modImplementation "io.github.prospector.modmenu:ModMenu:${modmenu_version}"
+    modImplementation "io.github.prospector:modmenu:${modmenu_version}"
     compile "org.lwjgl:lwjgl-jemalloc:3.2.1"
     compileOnly "com.google.code.findbugs:jsr305:3.0.2"
     implementation 'org.jetbrains:annotations:15.0'

+ 1 - 1
gradle.properties

@@ -5,5 +5,5 @@ fabricloader_version=0.4.8+build.155
 jankson_version=1.1.0
 cloth_events_version=0.4.0
 cloth_config_version=1.0.0
-modmenu_version=1.5.4-85
+modmenu_version=1.7.9+build.118
 fabric_api=0.3.0+build.198

+ 1 - 0
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 {
     

+ 17 - 5
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++;
         }

+ 20 - 9
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;

+ 1 - 1
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;

+ 1 - 0
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;

+ 6 - 5
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();
     }
     
 }