aboutsummaryrefslogtreecommitdiff
path: root/RoughlyEnoughItems-default-plugin/src/main/java/me/shedaniel/rei/plugin/DefaultPlugin.java
diff options
context:
space:
mode:
authorShnupbups <shnupbups@gmail.com>2020-08-22 22:02:39 +0800
committershedaniel <daniel@shedaniel.me>2020-08-22 22:02:39 +0800
commita2df00581046648bcfcd99bb37dcbaaf87eb951a (patch)
treed79478235f296c18693c358db414faa9a581cd62 /RoughlyEnoughItems-default-plugin/src/main/java/me/shedaniel/rei/plugin/DefaultPlugin.java
parent28b5f0d67e4e7e87063c613dbe60849f86b58edf (diff)
downloadRoughlyEnoughItems-a2df00581046648bcfcd99bb37dcbaaf87eb951a.tar.gz
RoughlyEnoughItems-a2df00581046648bcfcd99bb37dcbaaf87eb951a.tar.bz2
RoughlyEnoughItems-a2df00581046648bcfcd99bb37dcbaaf87eb951a.zip
Tilling and Pathing (#403)
Signed-off-by: shedaniel <daniel@shedaniel.me>
Diffstat (limited to 'RoughlyEnoughItems-default-plugin/src/main/java/me/shedaniel/rei/plugin/DefaultPlugin.java')
-rw-r--r--RoughlyEnoughItems-default-plugin/src/main/java/me/shedaniel/rei/plugin/DefaultPlugin.java29
1 files changed, 28 insertions, 1 deletions
diff --git a/RoughlyEnoughItems-default-plugin/src/main/java/me/shedaniel/rei/plugin/DefaultPlugin.java b/RoughlyEnoughItems-default-plugin/src/main/java/me/shedaniel/rei/plugin/DefaultPlugin.java
index 81d0c8dd9..331c61603 100644
--- a/RoughlyEnoughItems-default-plugin/src/main/java/me/shedaniel/rei/plugin/DefaultPlugin.java
+++ b/RoughlyEnoughItems-default-plugin/src/main/java/me/shedaniel/rei/plugin/DefaultPlugin.java
@@ -50,6 +50,9 @@ import me.shedaniel.rei.plugin.fuel.DefaultFuelCategory;
import me.shedaniel.rei.plugin.fuel.DefaultFuelDisplay;
import me.shedaniel.rei.plugin.information.DefaultInformationCategory;
import me.shedaniel.rei.plugin.information.DefaultInformationDisplay;
+import me.shedaniel.rei.plugin.pathing.DefaultPathingCategory;
+import me.shedaniel.rei.plugin.pathing.DefaultPathingDisplay;
+import me.shedaniel.rei.plugin.pathing.DummyShovelItem;
import me.shedaniel.rei.plugin.smelting.DefaultSmeltingDisplay;
import me.shedaniel.rei.plugin.smithing.DefaultSmithingCategory;
import me.shedaniel.rei.plugin.smithing.DefaultSmithingDisplay;
@@ -59,6 +62,9 @@ import me.shedaniel.rei.plugin.stonecutting.DefaultStoneCuttingDisplay;
import me.shedaniel.rei.plugin.stripping.DefaultStrippingCategory;
import me.shedaniel.rei.plugin.stripping.DefaultStrippingDisplay;
import me.shedaniel.rei.plugin.stripping.DummyAxeItem;
+import me.shedaniel.rei.plugin.tilling.DefaultTillingCategory;
+import me.shedaniel.rei.plugin.tilling.DefaultTillingDisplay;
+import me.shedaniel.rei.plugin.tilling.DummyHoeItem;
import me.shedaniel.rei.utils.CollectionUtils;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
@@ -86,7 +92,6 @@ import org.jetbrains.annotations.ApiStatus;
import org.jetbrains.annotations.NotNull;
import java.util.*;
-import java.util.function.Consumer;
import java.util.function.UnaryOperator;
import static me.shedaniel.rei.impl.Internals.attachInstance;
@@ -107,6 +112,8 @@ public class DefaultPlugin implements REIPluginV0, BuiltinPlugin {
public static final Identifier FUEL = BuiltinPlugin.FUEL;
public static final Identifier SMITHING = BuiltinPlugin.SMITHING;
public static final Identifier BEACON = BuiltinPlugin.BEACON;
+ public static final Identifier TILLING = BuiltinPlugin.TILLING;
+ public static final Identifier PATHING = BuiltinPlugin.PATHING;
public static final Identifier INFO = BuiltinPlugin.INFO;
private static final Identifier DISPLAY_TEXTURE = new Identifier("roughlyenoughitems", "textures/gui/display.png");
private static final Identifier DISPLAY_TEXTURE_DARK = new Identifier("roughlyenoughitems", "textures/gui/display_dark.png");
@@ -202,6 +209,8 @@ public class DefaultPlugin implements REIPluginV0, BuiltinPlugin {
new DefaultStrippingCategory(),
new DefaultSmithingCategory(),
new DefaultBeaconBaseCategory(),
+ new DefaultTillingCategory(),
+ new DefaultPathingCategory(),
new DefaultInformationCategory()
);
}
@@ -255,6 +264,12 @@ public class DefaultPlugin implements REIPluginV0, BuiltinPlugin {
DummyAxeItem.getStrippedBlocksMap().entrySet().stream().sorted(Comparator.comparing(b -> Registry.BLOCK.getId(b.getKey()))).forEach(set -> {
recipeHelper.registerDisplay(new DefaultStrippingDisplay(EntryStack.create(set.getKey()), EntryStack.create(set.getValue())));
});
+ DummyHoeItem.getTilledBlocksMap().entrySet().stream().sorted(Comparator.comparing(b -> Registry.BLOCK.getId(b.getKey()))).forEach(set -> {
+ recipeHelper.registerDisplay(new DefaultTillingDisplay(EntryStack.create(set.getKey()), EntryStack.create(set.getValue().getBlock())));
+ });
+ DummyShovelItem.getPathBlocksMap().entrySet().stream().sorted(Comparator.comparing(b -> Registry.BLOCK.getId(b.getKey()))).forEach(set -> {
+ recipeHelper.registerDisplay(new DefaultPathingDisplay(EntryStack.create(set.getKey()), EntryStack.create(set.getValue().getBlock())));
+ });
recipeHelper.registerDisplay(new DefaultBeaconBaseDisplay(CollectionUtils.map(Lists.newArrayList(BlockTags.BEACON_BASE_BLOCKS.values()), ItemStack::new)));
}
@@ -324,6 +339,18 @@ public class DefaultPlugin implements REIPluginV0, BuiltinPlugin {
recipeHelper.registerWorkingStations(STRIPPING, EntryStack.create(item));
}
}
+ Tag<Item> hoes = MinecraftClient.getInstance().getNetworkHandler().getTagManager().getItems().getTag(new Identifier("fabric", "hoes"));
+ if (hoes != null) {
+ for (Item item : hoes.values()) {
+ recipeHelper.registerWorkingStations(TILLING, EntryStack.create(item));
+ }
+ }
+ Tag<Item> shovels = MinecraftClient.getInstance().getNetworkHandler().getTagManager().getItems().getTag(new Identifier("fabric", "shovels"));
+ if (shovels != null) {
+ for (Item item : shovels.values()) {
+ recipeHelper.registerWorkingStations(PATHING, EntryStack.create(item));
+ }
+ }
recipeHelper.removeAutoCraftButton(FUEL);
recipeHelper.removeAutoCraftButton(COMPOSTING);
recipeHelper.removeAutoCraftButton(BEACON);