Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

cleanup: rei #159

Merged
merged 3 commits into from
Sep 26, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions src/main/java/dev/galacticraft/mod/Constant.java
Original file line number Diff line number Diff line change
Expand Up @@ -664,6 +664,9 @@ interface Nbt {
String COLOR = "Color";
String PULL = "Pull";
String HEAT = "Heat";
String INPUTS = "Inputs";
String OUTPUTS = "Outputs";
String SHAPED = "Shaped";
}

interface Property {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@
* @author <a href="https://github.com/TeamGalacticraft">TeamGalacticraft</a>
*/
public class ElectricCompressorBlockEntity extends RecipeMachineBlockEntity<Inventory, CompressingRecipe> {
public static final int CHARGE_SLOT = 0;
public static final int CHARGE_SLOT = 9;
public static final int OUTPUT_SLOT = 10;
public static final int SECOND_OUTPUT_SLOT = OUTPUT_SLOT + 1;

Expand All @@ -66,14 +66,15 @@ public ElectricCompressorBlockEntity(BlockPos pos, BlockState state) {

@Override
protected MachineItemInv.Builder createInventory(MachineItemInv.Builder builder) {
builder.addSlot(CHARGE_SLOT, SlotType.CHARGE, EnergyUtil.IS_EXTRACTABLE, 8, 62);

for (int y = 0; y < 3; y++) {
for (int x = 0; x < 3; x++) {
builder.addSlot(y * 3 + x + 1, SlotType.INPUT, ConstantItemFilter.ANYTHING, x * 18 + 33, y * 18 + 18);
builder.addSlot(y * 3 + x, SlotType.INPUT, ConstantItemFilter.ANYTHING, x * 18 + 33, y * 18 + 18);
}
}

builder.addSlot(CHARGE_SLOT, SlotType.CHARGE, EnergyUtil.IS_EXTRACTABLE, 8, 62);

builder.addSlot(OUTPUT_SLOT, SlotType.OUTPUT, ConstantItemFilter.ANYTHING, new MachineItemInv.OutputSlotFunction(152, 29));
builder.addSlot(SECOND_OUTPUT_SLOT, SlotType.OUTPUT, ConstantItemFilter.ANYTHING, new MachineItemInv.OutputSlotFunction(152, 47));
return builder;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,19 +26,21 @@
import dev.galacticraft.mod.Constant;
import dev.galacticraft.mod.api.client.screen.MachineHandledScreen;
import dev.galacticraft.mod.block.entity.CircuitFabricatorBlockEntity;
import dev.galacticraft.mod.recipe.FabricationRecipe;
import dev.galacticraft.mod.screen.RecipeMachineScreenHandler;
import dev.galacticraft.mod.util.DrawableUtil;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
import net.minecraft.client.util.math.MatrixStack;
import net.minecraft.entity.player.PlayerInventory;
import net.minecraft.inventory.Inventory;
import net.minecraft.text.Text;

/**
* @author <a href="https://github.com/TeamGalacticraft">TeamGalacticraft</a>
*/
@Environment(EnvType.CLIENT)
public class CircuitFabricatorScreen extends MachineHandledScreen<CircuitFabricatorBlockEntity, RecipeMachineScreenHandler<CircuitFabricatorBlockEntity>> {
public class CircuitFabricatorScreen extends MachineHandledScreen<CircuitFabricatorBlockEntity, RecipeMachineScreenHandler<Inventory, FabricationRecipe, CircuitFabricatorBlockEntity>> {
private static final int PROGRESS_SIZE = 4;
private static final int INITIAL_PROGRESS_U = 0;
private static final int INITIAL_PROGRESS_V = 186;
Expand Down Expand Up @@ -74,7 +76,7 @@ public class CircuitFabricatorScreen extends MachineHandledScreen<CircuitFabrica
private static final int SENARY_PROGRESS_X = 158;
private static final int SENARY_PROGRESS_Y = 55;

public CircuitFabricatorScreen(RecipeMachineScreenHandler<CircuitFabricatorBlockEntity> handler, PlayerInventory inv, Text title) {
public CircuitFabricatorScreen(RecipeMachineScreenHandler<Inventory, FabricationRecipe, CircuitFabricatorBlockEntity> handler, PlayerInventory inv, Text title) {
super(handler, inv, title, Constant.ScreenTexture.CIRCUIT_FABRICATOR_SCREEN);
this.backgroundHeight = 176;
this.addWidget(this.createCapacitorWidget(8, 15, 48));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,12 +28,14 @@
import dev.galacticraft.mod.screen.RecipeMachineScreenHandler;
import net.minecraft.client.util.math.MatrixStack;
import net.minecraft.entity.player.PlayerInventory;
import net.minecraft.inventory.Inventory;
import net.minecraft.recipe.BlastingRecipe;
import net.minecraft.text.Text;

/**
* @author <a href="https://github.com/TeamGalacticraft">TeamGalacticraft</a>
*/
public class ElectricArcFurnaceScreen extends MachineHandledScreen<ElectricArcFurnaceBlockEntity, RecipeMachineScreenHandler<ElectricArcFurnaceBlockEntity>> {
public class ElectricArcFurnaceScreen extends MachineHandledScreen<ElectricArcFurnaceBlockEntity, RecipeMachineScreenHandler<Inventory, BlastingRecipe, ElectricArcFurnaceBlockEntity>> {
private static final int ARROW_X = 78;
private static final int ARROW_Y = 24;

Expand All @@ -43,7 +45,7 @@ public class ElectricArcFurnaceScreen extends MachineHandledScreen<ElectricArcFu
private static final int ARROW_WIDTH = 22;
private static final int ARROW_HEIGHT = 15;

public ElectricArcFurnaceScreen(RecipeMachineScreenHandler<ElectricArcFurnaceBlockEntity> handler, PlayerInventory inv, Text title) {
public ElectricArcFurnaceScreen(RecipeMachineScreenHandler<Inventory, BlastingRecipe, ElectricArcFurnaceBlockEntity> handler, PlayerInventory inv, Text title) {
super(handler, inv, title, Constant.ScreenTexture.ELECTRIC_ARC_FURNACE_SCREEN);
addWidget(this.createCapacitorWidget(8, 29, 48));
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,25 +26,27 @@
import dev.galacticraft.mod.Constant;
import dev.galacticraft.mod.api.client.screen.MachineHandledScreen;
import dev.galacticraft.mod.block.entity.ElectricCompressorBlockEntity;
import dev.galacticraft.mod.recipe.CompressingRecipe;
import dev.galacticraft.mod.screen.RecipeMachineScreenHandler;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
import net.minecraft.client.resource.language.I18n;
import net.minecraft.client.util.math.MatrixStack;
import net.minecraft.entity.player.PlayerInventory;
import net.minecraft.inventory.Inventory;
import net.minecraft.text.Text;

/**
* @author <a href="https://github.com/TeamGalacticraft">TeamGalacticraft</a>
*/
@Environment(EnvType.CLIENT)
public class ElectricCompressorScreen extends MachineHandledScreen<ElectricCompressorBlockEntity, RecipeMachineScreenHandler<ElectricCompressorBlockEntity>> {
public class ElectricCompressorScreen extends MachineHandledScreen<ElectricCompressorBlockEntity, RecipeMachineScreenHandler<Inventory, CompressingRecipe, ElectricCompressorBlockEntity>> {
private static final int PROGRESS_X = 177;
private static final int PROGRESS_Y = 0;
private static final int PROGRESS_WIDTH = 52;
private static final int PROGRESS_HEIGHT = 25;

public ElectricCompressorScreen(RecipeMachineScreenHandler<ElectricCompressorBlockEntity> handler, PlayerInventory inv, Text title) {
public ElectricCompressorScreen(RecipeMachineScreenHandler<Inventory, CompressingRecipe, ElectricCompressorBlockEntity> handler, PlayerInventory inv, Text title) {
super(handler, inv, title, Constant.ScreenTexture.ELECTRIC_COMPRESSOR_SCREEN);
this.addWidget(this.createCapacitorWidget(8, 9, 48));
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,12 +28,14 @@
import dev.galacticraft.mod.screen.RecipeMachineScreenHandler;
import net.minecraft.client.util.math.MatrixStack;
import net.minecraft.entity.player.PlayerInventory;
import net.minecraft.inventory.Inventory;
import net.minecraft.recipe.SmeltingRecipe;
import net.minecraft.text.Text;

/**
* @author <a href="https://github.com/TeamGalacticraft">TeamGalacticraft</a>
*/
public class ElectricFurnaceScreen extends MachineHandledScreen<ElectricFurnaceBlockEntity, RecipeMachineScreenHandler<ElectricFurnaceBlockEntity>> {
public class ElectricFurnaceScreen extends MachineHandledScreen<ElectricFurnaceBlockEntity, RecipeMachineScreenHandler<Inventory, SmeltingRecipe, ElectricFurnaceBlockEntity>> {
private static final int ARROW_X = 78;
private static final int ARROW_Y = 24;

Expand All @@ -43,7 +45,7 @@ public class ElectricFurnaceScreen extends MachineHandledScreen<ElectricFurnaceB
private static final int ARROW_WIDTH = 22;
private static final int ARROW_HEIGHT = 15;

public ElectricFurnaceScreen(RecipeMachineScreenHandler<ElectricFurnaceBlockEntity> handler, PlayerInventory inv, Text title) {
public ElectricFurnaceScreen(RecipeMachineScreenHandler<Inventory, SmeltingRecipe, ElectricFurnaceBlockEntity> handler, PlayerInventory inv, Text title) {
super(handler, inv, title, Constant.ScreenTexture.ELECTRIC_FURNACE_SCREEN);
this.addWidget(this.createCapacitorWidget(8, 29, 48));
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,15 +22,14 @@

package dev.galacticraft.mod.compat.rei.client;

import dev.galacticraft.mod.Constant;
import dev.galacticraft.mod.api.client.screen.MachineHandledScreen;
import dev.galacticraft.mod.block.GalacticraftBlock;
import dev.galacticraft.mod.compat.rei.client.category.DefaultCompressingCategory;
import dev.galacticraft.mod.compat.rei.client.category.DefaultFabricationCategory;
import dev.galacticraft.mod.compat.rei.client.display.DefaultFabricationDisplay;
import dev.galacticraft.mod.compat.rei.client.display.DefaultShapedCompressingDisplay;
import dev.galacticraft.mod.compat.rei.client.display.DefaultShapelessCompressingDisplay;
import dev.galacticraft.mod.compat.rei.client.transfer.DefaultTransferHandler;
import dev.galacticraft.mod.compat.rei.common.GalacticraftREIServerPlugin;
import dev.galacticraft.mod.compat.rei.common.display.DefaultFabricationDisplay;
import dev.galacticraft.mod.compat.rei.common.display.DefaultShapedCompressingDisplay;
import dev.galacticraft.mod.compat.rei.common.display.DefaultShapelessCompressingDisplay;
import dev.galacticraft.mod.item.GalacticraftItem;
import dev.galacticraft.mod.recipe.FabricationRecipe;
import dev.galacticraft.mod.recipe.GalacticraftRecipe;
Expand All @@ -43,30 +42,29 @@
import me.shedaniel.rei.api.client.registry.entry.EntryRegistry;
import me.shedaniel.rei.api.client.registry.screen.ExclusionZones;
import me.shedaniel.rei.api.client.registry.transfer.TransferHandlerRegistry;
import me.shedaniel.rei.api.common.category.CategoryIdentifier;
import me.shedaniel.rei.api.common.util.EntryStacks;
import java.util.ArrayList;
import java.util.List;
import me.shedaniel.rei.plugin.common.BuiltinPlugin;
import net.minecraft.item.ItemConvertible;

import net.minecraft.item.Item;
import java.util.Collections;

/**
* @author <a href="https://github.com/TeamGalacticraft">TeamGalacticraft</a>
*/
public class GalacticraftREIClientPlugin implements REIClientPlugin {
public static final CategoryIdentifier CIRCUIT_FABRICATION = CategoryIdentifier.of(Constant.MOD_ID, "plugins/circuit_fabricator");
public static final CategoryIdentifier COMPRESSING = CategoryIdentifier.of(Constant.MOD_ID, "plugins/compressing");

@Override
public void registerCategories(CategoryRegistry registry) {
registry.add(new DefaultFabricationCategory());
registry.add(new DefaultCompressingCategory());

registry.addWorkstations(CIRCUIT_FABRICATION, EntryStacks.of(GalacticraftBlock.CIRCUIT_FABRICATOR));
registry.addWorkstations(COMPRESSING, EntryStacks.of(GalacticraftBlock.COMPRESSOR), EntryStacks.of(GalacticraftBlock.ELECTRIC_COMPRESSOR));
registry.addWorkstations(GalacticraftREIServerPlugin.CIRCUIT_FABRICATION, EntryStacks.of(GalacticraftBlock.CIRCUIT_FABRICATOR));
registry.addWorkstations(GalacticraftREIServerPlugin.COMPRESSING, EntryStacks.of(GalacticraftBlock.COMPRESSOR), EntryStacks.of(GalacticraftBlock.ELECTRIC_COMPRESSOR));
registry.addWorkstations(BuiltinPlugin.BLASTING, EntryStacks.of(GalacticraftBlock.ELECTRIC_ARC_FURNACE));
registry.addWorkstations(BuiltinPlugin.SMELTING, EntryStacks.of(GalacticraftBlock.ELECTRIC_FURNACE));
registry.addWorkstations(BuiltinPlugin.FUEL, EntryStacks.of(GalacticraftBlock.COMPRESSOR));

registry.setPlusButtonArea(CIRCUIT_FABRICATION, bounds -> new Rectangle(bounds.getMinX() + 8, bounds.getMaxY() - 16, 10, 10));
registry.setPlusButtonArea(COMPRESSING,bounds -> new Rectangle(bounds.getMaxX() - 16, bounds.getMaxY() - 16, 10, 10));
registry.setPlusButtonArea(GalacticraftREIServerPlugin.CIRCUIT_FABRICATION, bounds -> new Rectangle(bounds.getMinX() + 8, bounds.getMaxY() - 16, 10, 10));
registry.setPlusButtonArea(GalacticraftREIServerPlugin.COMPRESSING, bounds -> new Rectangle(bounds.getMaxX() - 16, bounds.getMaxY() - 16, 10, 10));
}

@Override
Expand All @@ -78,29 +76,23 @@ public void registerDisplays(DisplayRegistry registry) {

@Override
public void registerEntries(EntryRegistry registry) {
for (Item item : GalacticraftItem.HIDDEN_ITEMS) {
for (ItemConvertible item : GalacticraftItem.HIDDEN_ITEMS) {
registry.removeEntry(EntryStacks.of(item));
}
}

@Override
public void registerExclusionZones(ExclusionZones zones) {
zones.register(MachineHandledScreen.class, provider -> {
MachineHandledScreen<?,?> machineScreen = provider;
List<Rectangle> rects = new ArrayList<>();

if (MachineHandledScreen.Tab.STATS.isOpen()) {
rects.add(new Rectangle(machineScreen.getX() + machineScreen.width, machineScreen.getY(), MachineHandledScreen.PANEL_WIDTH, MachineHandledScreen.PANEL_HEIGHT));
return Collections.singletonList(new Rectangle(provider.getX() + provider.width, provider.getY(), MachineHandledScreen.PANEL_WIDTH, MachineHandledScreen.PANEL_HEIGHT));
} else {
rects.add(new Rectangle(machineScreen.getX() + machineScreen.width, machineScreen.getY(), MachineHandledScreen.TAB_WIDTH, MachineHandledScreen.TAB_HEIGHT));
return Collections.singletonList(new Rectangle(provider.getX() + provider.width, provider.getY(), MachineHandledScreen.TAB_WIDTH, MachineHandledScreen.TAB_HEIGHT));
}

return rects;
});
}

@Override
public void registerTransferHandlers(TransferHandlerRegistry registry) {
registry.register(new DefaultTransferHandler());
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -23,11 +23,9 @@
package dev.galacticraft.mod.compat.rei.client.category;

import com.google.common.collect.Lists;
import com.mojang.blaze3d.systems.RenderSystem;
import dev.galacticraft.mod.Constant;
import dev.galacticraft.mod.block.GalacticraftBlock;
import dev.galacticraft.mod.compat.rei.client.GalacticraftREIClientPlugin;
import dev.galacticraft.mod.compat.rei.client.display.DefaultCompressingDisplay;
import dev.galacticraft.mod.compat.rei.common.GalacticraftREIServerPlugin;
import dev.galacticraft.mod.compat.rei.common.display.DefaultCompressingDisplay;
import me.shedaniel.math.Point;
import me.shedaniel.math.Rectangle;
import me.shedaniel.rei.api.client.gui.Renderer;
Expand All @@ -41,17 +39,13 @@
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
import net.minecraft.block.entity.AbstractFurnaceBlockEntity;
import net.minecraft.client.gui.Element;
import net.minecraft.client.render.DiffuseLighting;
import net.minecraft.client.util.math.MatrixStack;
import net.minecraft.item.ItemStack;
import net.minecraft.text.Text;
import net.minecraft.text.TranslatableText;
import net.minecraft.util.Identifier;
import net.minecraft.util.math.MathHelper;
import org.jetbrains.annotations.NotNull;

import java.util.*;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;

/**
Expand All @@ -62,7 +56,7 @@ public class DefaultCompressingCategory implements DisplayCategory<DefaultCompre

@Override
public CategoryIdentifier<? extends DefaultCompressingDisplay> getCategoryIdentifier() {
return GalacticraftREIClientPlugin.COMPRESSING;
return GalacticraftREIServerPlugin.COMPRESSING;
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,9 +24,8 @@

import dev.galacticraft.mod.Constant;
import dev.galacticraft.mod.block.GalacticraftBlock;
import dev.galacticraft.mod.compat.rei.client.GalacticraftREIClientPlugin;
import dev.galacticraft.mod.compat.rei.client.display.DefaultFabricationDisplay;
import dev.galacticraft.mod.item.GalacticraftItem;
import dev.galacticraft.mod.compat.rei.common.GalacticraftREIServerPlugin;
import dev.galacticraft.mod.compat.rei.common.display.DefaultFabricationDisplay;
import me.shedaniel.math.Point;
import me.shedaniel.math.Rectangle;
import me.shedaniel.rei.api.client.gui.Renderer;
Expand All @@ -37,24 +36,21 @@
import me.shedaniel.rei.api.common.util.EntryStacks;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
import net.minecraft.text.Text;
import net.minecraft.text.TranslatableText;
import org.jetbrains.annotations.NotNull;

import java.util.LinkedList;
import java.util.List;

import net.minecraft.item.ItemStack;
import net.minecraft.item.Items;
import net.minecraft.text.Text;
import net.minecraft.text.TranslatableText;

/**
* @author <a href="https://github.com/TeamGalacticraft">TeamGalacticraft</a>
*/
@Environment(EnvType.CLIENT)
public class DefaultFabricationCategory implements DisplayCategory<DefaultFabricationDisplay> {

@Override
public CategoryIdentifier<? extends DefaultFabricationDisplay> getCategoryIdentifier() {
return GalacticraftREIClientPlugin.CIRCUIT_FABRICATION;
return GalacticraftREIServerPlugin.CIRCUIT_FABRICATION;
}

@Override
Expand All @@ -81,14 +77,13 @@ public Text getTitle() {
// Redstone
// User input
// Output
widgets.add(Widgets.createSlot(new Point(startPoint.x + 1, startPoint.y + 1)).entry(EntryStacks.of(new ItemStack(Items.DIAMOND))));
widgets.add(Widgets.createSlot(new Point(startPoint.x + (18 * 7) + 1, startPoint.y + 1)).markOutput().entries(recipeDisplay.getInputEntries().get(0)));

widgets.add(Widgets.createSlot(new Point(startPoint.x + (18 * 3) + 1, startPoint.y + 47)).entry(EntryStacks.of(new ItemStack(GalacticraftItem.RAW_SILICON))));
widgets.add(Widgets.createSlot(new Point(startPoint.x + (18 * 3) + 1, startPoint.y + 47 + 18)).entry(EntryStacks.of(new ItemStack(GalacticraftItem.RAW_SILICON))));
widgets.add(Widgets.createSlot(new Point(startPoint.x + (18 * 6) + 1, startPoint.y + 47)).entry(EntryStacks.of(new ItemStack(Items.REDSTONE))));
widgets.add(Widgets.createSlot(new Point(startPoint.x + 1, startPoint.y + 1)).entries(recipeDisplay.getInputEntries().get(0)));
widgets.add(Widgets.createSlot(new Point(startPoint.x + 55, startPoint.y + 47)).entries(recipeDisplay.getInputEntries().get(1)));
widgets.add(Widgets.createSlot(new Point(startPoint.x + 55, startPoint.y + 65)).entries(recipeDisplay.getInputEntries().get(2)));
widgets.add(Widgets.createSlot(new Point(startPoint.x + 109, startPoint.y + 47)).entries(recipeDisplay.getInputEntries().get(3)));
widgets.add(Widgets.createSlot(new Point(startPoint.x + 127, startPoint.y + 1)).markOutput().entries(recipeDisplay.getInputEntries().get(4)));

widgets.add(Widgets.createSlot(new Point(startPoint.x + (18 * 8) + 1, startPoint.y + 47 + 18)).markOutput().entries(recipeDisplay.getOutputEntries().get(0)));
widgets.add(Widgets.createSlot(new Point(startPoint.x + 145, startPoint.y + 65)).markOutput().entries(recipeDisplay.getOutputEntries().get(0)));
return widgets;
}

Expand Down
Loading