aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/me
diff options
context:
space:
mode:
authorUnknown <shekwancheung0528@gmail.com>2019-03-22 18:04:40 +0800
committerUnknown <shekwancheung0528@gmail.com>2019-03-22 18:04:40 +0800
commit19349d7da7ac6bb0939f59066dec61f09d9c5e8c (patch)
tree0948da627bcdc48ba75620c72a9f462e20b8a15f /src/main/java/me
parent246d9b218ed8dbdda42518109902ffe73b15bf57 (diff)
downloadRoughlyEnoughItems-19349d7da7ac6bb0939f59066dec61f09d9c5e8c.tar.gz
RoughlyEnoughItems-19349d7da7ac6bb0939f59066dec61f09d9c5e8c.tar.bz2
RoughlyEnoughItems-19349d7da7ac6bb0939f59066dec61f09d9c5e8c.zip
Updated to 19w12b
Diffstat (limited to 'src/main/java/me')
-rw-r--r--src/main/java/me/shedaniel/rei/client/ClientHelper.java2
-rw-r--r--src/main/java/me/shedaniel/rei/client/ConfigManager.java28
-rw-r--r--src/main/java/me/shedaniel/rei/gui/ContainerScreenOverlay.java2
-rw-r--r--src/main/java/me/shedaniel/rei/gui/RecipeViewingScreen.java8
-rw-r--r--src/main/java/me/shedaniel/rei/gui/config/ItemListOrderingEntry.java55
-rw-r--r--src/main/java/me/shedaniel/rei/gui/credits/CreditsScreen.java6
-rw-r--r--src/main/java/me/shedaniel/rei/gui/widget/ButtonWidget.java4
-rw-r--r--src/main/java/me/shedaniel/rei/mixin/MixinContainerScreen.java5
8 files changed, 69 insertions, 41 deletions
diff --git a/src/main/java/me/shedaniel/rei/client/ClientHelper.java b/src/main/java/me/shedaniel/rei/client/ClientHelper.java
index dc5ae16d1..16692a004 100644
--- a/src/main/java/me/shedaniel/rei/client/ClientHelper.java
+++ b/src/main/java/me/shedaniel/rei/client/ClientHelper.java
@@ -112,7 +112,7 @@ public class ClientHelper implements ClientModInitializer {
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.getItem().equals(Items.AIR))
+ if (!itemStack.isEmpty())
inventoryStacks.add(itemStack);
}));
return inventoryStacks;
diff --git a/src/main/java/me/shedaniel/rei/client/ConfigManager.java b/src/main/java/me/shedaniel/rei/client/ConfigManager.java
index 60020526f..7b6b2b534 100644
--- a/src/main/java/me/shedaniel/rei/client/ConfigManager.java
+++ b/src/main/java/me/shedaniel/rei/client/ConfigManager.java
@@ -131,21 +131,21 @@ public class ConfigManager implements me.shedaniel.rei.api.ConfigManager {
@Override
public void openConfigScreen(Screen parent) {
ClothConfigScreen.Builder builder = new ClothConfigScreen.Builder(parent, I18n.translate("text.rei.config.title"), null);
- builder.addCategory(I18n.translate("text.rei.config.general")).addOption(new BooleanListEntry("text.rei.config.cheating", config.cheating, bool -> config.cheating = bool));
- ConfigScreenBuilder.CategoryBuilder appearance = builder.addCategory(I18n.translate("text.rei.config.appearance"));
- appearance.addOption(new BooleanListEntry("text.rei.config.side_search_box", config.sideSearchField, bool -> config.sideSearchField = bool));
+ builder.addCategory("text.rei.config.general").addOption(new BooleanListEntry("text.rei.config.cheating", config.cheating, "text.cloth.reset_value", () -> false, bool -> config.cheating = bool));
+ ConfigScreenBuilder.CategoryBuilder appearance = builder.addCategory("text.rei.config.appearance");
+ appearance.addOption(new BooleanListEntry("text.rei.config.side_search_box", config.sideSearchField, "text.cloth.reset_value", () -> false, bool -> config.sideSearchField = bool));
appearance.addOption(new ItemListOrderingEntry("text.rei.config.list_ordering", new Pair<>(config.itemListOrdering, config.isAscending)));
- appearance.addOption(new BooleanListEntry("text.rei.config.mirror_rei", config.mirrorItemPanel, bool -> config.mirrorItemPanel = bool));
- appearance.addOption(new IntegerListEntry("text.rei.config.max_recipes_per_page", config.maxRecipePerPage, i -> config.maxRecipePerPage = i).setMinimum(2).setMaximum(99));
- ConfigScreenBuilder.CategoryBuilder modules = builder.addCategory(I18n.translate("text.rei.config.modules"));
- modules.addOption(new BooleanListEntry("text.rei.config.enable_craftable_only", config.enableCraftableOnlyButton, bool -> config.enableCraftableOnlyButton = bool));
- modules.addOption(new BooleanListEntry("text.rei.config.enable_util_buttons", config.showUtilsButtons, bool -> config.showUtilsButtons = bool));
- modules.addOption(new BooleanListEntry("text.rei.config.disable_recipe_book", config.disableRecipeBook, bool -> config.disableRecipeBook = bool));
- ConfigScreenBuilder.CategoryBuilder advanced = builder.addCategory(I18n.translate("text.rei.config.advanced"));
- advanced.addOption(new StringListEntry("text.rei.give_command", config.giveCommand, s -> config.giveCommand = s));
- advanced.addOption(new StringListEntry("text.rei.gamemode_command", config.gamemodeCommand, s -> config.gamemodeCommand = s));
- advanced.addOption(new StringListEntry("text.rei.weather_command", config.weatherCommand, s -> config.weatherCommand = s));
- advanced.addOption(new BooleanListEntry("text.rei.config.prefer_visible_recipes", config.preferVisibleRecipes, bool -> config.preferVisibleRecipes = bool));
+ appearance.addOption(new BooleanListEntry("text.rei.config.mirror_rei", config.mirrorItemPanel, "text.cloth.reset_value", () -> false, bool -> config.mirrorItemPanel = bool));
+ appearance.addOption(new IntegerListEntry("text.rei.config.max_recipes_per_page", config.maxRecipePerPage, "text.cloth.reset_value", () -> 3, i -> config.maxRecipePerPage = i).setMinimum(2).setMaximum(99));
+ ConfigScreenBuilder.CategoryBuilder modules = builder.addCategory("text.rei.config.modules");
+ modules.addOption(new BooleanListEntry("text.rei.config.enable_craftable_only", config.enableCraftableOnlyButton, "text.cloth.reset_value", () -> true, bool -> config.enableCraftableOnlyButton = bool));
+ modules.addOption(new BooleanListEntry("text.rei.config.enable_util_buttons", config.showUtilsButtons, "text.cloth.reset_value", () -> false, bool -> config.showUtilsButtons = bool));
+ modules.addOption(new BooleanListEntry("text.rei.config.disable_recipe_book", config.disableRecipeBook, "text.cloth.reset_value", () -> false, bool -> config.disableRecipeBook = bool));
+ ConfigScreenBuilder.CategoryBuilder advanced = builder.addCategory("text.rei.config.advanced");
+ advanced.addOption(new StringListEntry("text.rei.give_command", config.giveCommand, "text.cloth.reset_value", () -> "/give {player_name} {item_identifier}{nbt} {count}", s -> config.giveCommand = s));
+ advanced.addOption(new StringListEntry("text.rei.gamemode_command", config.gamemodeCommand, "text.cloth.reset_value", () -> "/gamemode {gamemode}", s -> config.gamemodeCommand = s));
+ advanced.addOption(new StringListEntry("text.rei.weather_command", config.weatherCommand, "text.cloth.reset_value", () -> "/weather {weather}", s -> config.weatherCommand = s));
+ advanced.addOption(new BooleanListEntry("text.rei.config.prefer_visible_recipes", config.preferVisibleRecipes, "text.cloth.reset_value", () -> false, bool -> config.preferVisibleRecipes = bool));
builder.setOnSave(savedConfig -> {
try {
ConfigManager.this.saveConfig();
diff --git a/src/main/java/me/shedaniel/rei/gui/ContainerScreenOverlay.java b/src/main/java/me/shedaniel/rei/gui/ContainerScreenOverlay.java
index e2039b811..038af95e6 100644
--- a/src/main/java/me/shedaniel/rei/gui/ContainerScreenOverlay.java
+++ b/src/main/java/me/shedaniel/rei/gui/ContainerScreenOverlay.java
@@ -197,7 +197,7 @@ public class ContainerScreenOverlay extends ScreenComponent {
@Override
public void onLabelClicked() {
- MinecraftClient.getInstance().getSoundLoader().play(PositionedSoundInstance.master(SoundEvents.UI_BUTTON_CLICK, 1.0F));
+ MinecraftClient.getInstance().getSoundManager().play(PositionedSoundInstance.master(SoundEvents.UI_BUTTON_CLICK, 1.0F));
page = 0;
itemListOverlay.updateList(getItemListArea(), page, searchTerm);
}
diff --git a/src/main/java/me/shedaniel/rei/gui/RecipeViewingScreen.java b/src/main/java/me/shedaniel/rei/gui/RecipeViewingScreen.java
index 33638e17c..46271d5eb 100644
--- a/src/main/java/me/shedaniel/rei/gui/RecipeViewingScreen.java
+++ b/src/main/java/me/shedaniel/rei/gui/RecipeViewingScreen.java
@@ -17,6 +17,7 @@ import net.minecraft.client.render.GuiLighting;
import net.minecraft.client.resource.language.I18n;
import net.minecraft.client.util.Window;
import net.minecraft.sound.SoundEvents;
+import net.minecraft.text.StringTextComponent;
import net.minecraft.text.TranslatableTextComponent;
import net.minecraft.util.Identifier;
import net.minecraft.util.math.MathHelper;
@@ -49,6 +50,7 @@ public class RecipeViewingScreen extends Screen {
private ButtonWidget recipeBack, recipeNext, categoryBack, categoryNext;
public RecipeViewingScreen(Window window, Map<RecipeCategory, List<RecipeDisplay>> categoriesMap) {
+ super(new StringTextComponent(""));
this.categoryPages = 0;
this.window = window;
this.widgets = Lists.newArrayList();
@@ -148,7 +150,7 @@ public class RecipeViewingScreen extends Screen {
@Override
public void onLabelClicked() {
- MinecraftClient.getInstance().getSoundLoader().play(PositionedSoundInstance.master(SoundEvents.UI_BUTTON_CLICK, 1.0F));
+ MinecraftClient.getInstance().getSoundManager().play(PositionedSoundInstance.master(SoundEvents.UI_BUTTON_CLICK, 1.0F));
ClientHelper.executeViewAllRecipesKeyBind();
}
});
@@ -200,7 +202,7 @@ public class RecipeViewingScreen extends Screen {
@Override
public void onLabelClicked() {
- MinecraftClient.getInstance().getSoundLoader().play(PositionedSoundInstance.master(SoundEvents.UI_BUTTON_CLICK, 1.0F));
+ MinecraftClient.getInstance().getSoundManager().play(PositionedSoundInstance.master(SoundEvents.UI_BUTTON_CLICK, 1.0F));
RecipeViewingScreen.this.choosePageActivated = true;
RecipeViewingScreen.this.onInitialized();
}
@@ -231,7 +233,7 @@ public class RecipeViewingScreen extends Screen {
@Override
public boolean mouseClicked(double mouseX, double mouseY, int button) {
if (getBounds().contains(mouseX, mouseY)) {
- MinecraftClient.getInstance().getSoundLoader().play(PositionedSoundInstance.master(SoundEvents.UI_BUTTON_CLICK, 1.0F));
+ MinecraftClient.getInstance().getSoundManager().play(PositionedSoundInstance.master(SoundEvents.UI_BUTTON_CLICK, 1.0F));
if (getId() + categoryPages * 6 == categories.indexOf(selectedCategory))
return false;
selectedCategory = categories.get(getId() + categoryPages * 6);
diff --git a/src/main/java/me/shedaniel/rei/gui/config/ItemListOrderingEntry.java b/src/main/java/me/shedaniel/rei/gui/config/ItemListOrderingEntry.java
index bb69ad06b..251320abc 100644
--- a/src/main/java/me/shedaniel/rei/gui/config/ItemListOrderingEntry.java
+++ b/src/main/java/me/shedaniel/rei/gui/config/ItemListOrderingEntry.java
@@ -1,5 +1,6 @@
package me.shedaniel.rei.gui.config;
+import com.google.common.collect.Lists;
import javafx.util.Pair;
import me.shedaniel.cloth.api.ClientUtils;
import me.shedaniel.cloth.gui.ClothConfigScreen.ListEntry;
@@ -14,49 +15,65 @@ import net.minecraft.client.util.Window;
import java.awt.*;
import java.util.Arrays;
-import java.util.Collections;
import java.util.List;
+import java.util.Optional;
import java.util.concurrent.atomic.AtomicReference;
public class ItemListOrderingEntry extends ListEntry {
private AtomicReference<Pair<ItemListOrdering, Boolean>> value;
private ButtonWidget buttonWidget;
+ private ButtonWidget resetButton;
+ private List<InputListener> widgets;
public ItemListOrderingEntry(String fieldName, Pair<ItemListOrdering, Boolean> val) {
super(fieldName);
this.value = new AtomicReference(val);
- this.buttonWidget = new ButtonWidget(0, 0, 150, 20, "") {
- public void onPressed() {
- int index = Arrays.asList(ItemListOrdering.values()).indexOf(value.get().getKey()) + 1;
- boolean currentAscending = value.get().getValue();
- if (index >= ItemListOrdering.values().length) {
- index = 0;
- currentAscending = !currentAscending;
- }
- ItemListOrderingEntry.this.value.set(new Pair<>(ItemListOrdering.values()[index], currentAscending));
- ((ListWidget) ItemListOrderingEntry.this.getParent()).getScreen().setEdited(true);
+ this.buttonWidget = new ButtonWidget(0, 0, 150, 20, "", widget -> {
+ int index = Arrays.asList(ItemListOrdering.values()).indexOf(value.get().getKey()) + 1;
+ boolean currentAscending = value.get().getValue();
+ if (index >= ItemListOrdering.values().length) {
+ index = 0;
+ currentAscending = !currentAscending;
}
- };
+ ItemListOrderingEntry.this.value.set(new Pair<>(ItemListOrdering.values()[index], currentAscending));
+ ((ListWidget) ItemListOrderingEntry.this.getParent()).getScreen().setEdited(true);
+ });
+ this.resetButton = new ButtonWidget(0, 0, MinecraftClient.getInstance().textRenderer.getStringWidth(I18n.translate("text.cloth.reset_value")) + 6, 20, I18n.translate("text.cloth.reset_value"), (widget) -> {
+ this.value.set((Pair) getDefaultValue().get());
+ ((ListWidget) this.getParent()).getScreen().setEdited(true);
+ });
+ this.widgets = Lists.newArrayList(this.buttonWidget, this.resetButton);
}
public Object getObject() {
return this.value.get();
}
+ @Override
+ public Optional<Object> getDefaultValue() {
+ return Optional.of(new Pair<>(ItemListOrdering.registry, true));
+ }
+
public void draw(int entryWidth, int height, int i3, int i4, boolean isSelected, float delta) {
Window window = MinecraftClient.getInstance().window;
Point mouse = ClientUtils.getMouseLocation();
+ this.resetButton.active = this.getDefaultValue().isPresent() && (((Pair<ItemListOrdering, Boolean>) this.getDefaultValue().get()).getKey() != this.value.get().getKey() || ((Pair<ItemListOrdering, Boolean>) this.getDefaultValue().get()).getValue().booleanValue() != this.value.get().getValue().booleanValue());
+ this.resetButton.y = this.getY();
this.buttonWidget.y = this.getY();
this.buttonWidget.setMessage(I18n.translate("text.rei.config.list_ordering_button", I18n.translate(value.get().getKey().getNameTranslationKey()), I18n.translate(value.get().getValue() ? "ordering.rei.ascending" : "ordering.rei.descending")));
if (MinecraftClient.getInstance().textRenderer.isRightToLeft()) {
MinecraftClient.getInstance().textRenderer.drawWithShadow(I18n.translate(this.getFieldName(), new Object[0]), (float) (window.getScaledWidth() - this.getX() - MinecraftClient.getInstance().textRenderer.getStringWidth(I18n.translate(this.getFieldName(), new Object[0]))), (float) (this.getY() + 5), 16777215);
- this.buttonWidget.x = this.getX();
+ this.resetButton.x = this.getX();
+ this.buttonWidget.x = this.getX() + this.resetButton.getWidth() + 2;
+ this.buttonWidget.setWidth(150 - this.resetButton.getWidth() - 2);
} else {
MinecraftClient.getInstance().textRenderer.drawWithShadow(I18n.translate(this.getFieldName(), new Object[0]), (float) this.getX(), (float) (this.getY() + 5), 16777215);
- this.buttonWidget.x = window.getScaledWidth() - this.getX() - this.buttonWidget.getWidth();
+ this.resetButton.x = window.getScaledWidth() - this.getX() - this.resetButton.getWidth();
+ this.buttonWidget.x = window.getScaledWidth() - this.getX() - 150;
+ this.buttonWidget.setWidth(150 - this.resetButton.getWidth() - 2);
}
-
this.buttonWidget.render(mouse.x, mouse.y, delta);
+ this.resetButton.render(mouse.x, mouse.y, delta);
}
public String getYesNoText(boolean bool) {
@@ -65,11 +82,11 @@ public class ItemListOrderingEntry extends ListEntry {
@Override
public List<? extends InputListener> getInputListeners() {
- return Collections.singletonList(buttonWidget);
+ return widgets;
}
public boolean isActive() {
- return this.buttonWidget.isHovered();
+ return this.buttonWidget.isHovered() || this.resetButton.isHovered();
}
public void setActive(boolean b) {
@@ -83,7 +100,9 @@ public class ItemListOrderingEntry extends ListEntry {
}
public boolean mouseClicked(double double_1, double double_2, int int_1) {
- return this.buttonWidget.mouseClicked(double_1, double_2, int_1);
+ if (this.buttonWidget.mouseClicked(double_1, double_2, int_1))
+ return true;
+ return this.resetButton.mouseClicked(double_1, double_2, int_1);
}
@Override
diff --git a/src/main/java/me/shedaniel/rei/gui/credits/CreditsScreen.java b/src/main/java/me/shedaniel/rei/gui/credits/CreditsScreen.java
index d4fa4bb6b..34b8827dc 100644
--- a/src/main/java/me/shedaniel/rei/gui/credits/CreditsScreen.java
+++ b/src/main/java/me/shedaniel/rei/gui/credits/CreditsScreen.java
@@ -1,18 +1,20 @@
package me.shedaniel.rei.gui.credits;
import me.shedaniel.rei.client.ScreenHelper;
+import me.shedaniel.rei.gui.widget.ButtonWidget;
import net.minecraft.client.gui.ContainerScreen;
import net.minecraft.client.gui.Screen;
-import net.minecraft.client.gui.widget.ButtonWidget;
import net.minecraft.client.resource.language.I18n;
import net.minecraft.text.StringTextComponent;
public class CreditsScreen extends Screen {
private Screen parent;
+ private ButtonWidget buttonDone;
private CreditsEntryListWidget entryListWidget;
public CreditsScreen(Screen parent) {
+ super(new StringTextComponent(""));
this.parent = parent;
}
@@ -34,7 +36,7 @@ public class CreditsScreen extends Screen {
for(String line : I18n.translate("text.rei.credit.text").split("\n"))
entryListWidget.creditsAddEntry(new CreditsEntry(new StringTextComponent(line)));
entryListWidget.creditsAddEntry(new CreditsEntry(new StringTextComponent("")));
- addButton(new ButtonWidget(screenWidth / 2 - 100, screenHeight - 26, I18n.translate("gui.done")) {
+ listeners.add(buttonDone = new ButtonWidget(screenWidth / 2 - 100, screenHeight - 26, 200, 20, I18n.translate("gui.done")) {
@Override
public void onPressed() {
CreditsScreen.this.client.openScreen(parent);
diff --git a/src/main/java/me/shedaniel/rei/gui/widget/ButtonWidget.java b/src/main/java/me/shedaniel/rei/gui/widget/ButtonWidget.java
index 5d4c04de4..16c669f50 100644
--- a/src/main/java/me/shedaniel/rei/gui/widget/ButtonWidget.java
+++ b/src/main/java/me/shedaniel/rei/gui/widget/ButtonWidget.java
@@ -124,7 +124,7 @@ public abstract class ButtonWidget extends HighlightableWidget {
@Override
public boolean mouseClicked(double mouseX, double mouseY, int button) {
if (bounds.contains(mouseX, mouseY) && enabled && button == 0) {
- MinecraftClient.getInstance().getSoundLoader().play(PositionedSoundInstance.master(SoundEvents.UI_BUTTON_CLICK, 1.0F));
+ MinecraftClient.getInstance().getSoundManager().play(PositionedSoundInstance.master(SoundEvents.UI_BUTTON_CLICK, 1.0F));
onPressed();
return true;
}
@@ -137,7 +137,7 @@ public abstract class ButtonWidget extends HighlightableWidget {
if (int_1 != 257 && int_1 != 32 && int_1 != 335) {
return false;
} else {
- MinecraftClient.getInstance().getSoundLoader().play(PositionedSoundInstance.master(SoundEvents.UI_BUTTON_CLICK, 1.0F));
+ MinecraftClient.getInstance().getSoundManager().play(PositionedSoundInstance.master(SoundEvents.UI_BUTTON_CLICK, 1.0F));
this.onPressed();
return true;
}
diff --git a/src/main/java/me/shedaniel/rei/mixin/MixinContainerScreen.java b/src/main/java/me/shedaniel/rei/mixin/MixinContainerScreen.java
index 31fae246d..b4715dbaf 100644
--- a/src/main/java/me/shedaniel/rei/mixin/MixinContainerScreen.java
+++ b/src/main/java/me/shedaniel/rei/mixin/MixinContainerScreen.java
@@ -9,6 +9,7 @@ import net.minecraft.client.gui.Screen;
import net.minecraft.client.gui.ingame.CreativePlayerInventoryScreen;
import net.minecraft.container.Slot;
import net.minecraft.item.ItemGroup;
+import net.minecraft.text.TextComponent;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Shadow;
import org.spongepowered.asm.mixin.injection.At;
@@ -29,6 +30,10 @@ public class MixinContainerScreen extends Screen implements ContainerScreenHooks
@Shadow
protected Slot focusedSlot;
+ protected MixinContainerScreen(TextComponent textComponent_1) {
+ super(textComponent_1);
+ }
+
@Override
public int rei_getContainerLeft() {
return left;