mirror of
https://github.com/GTNewHorizons/JustEnoughCalculation.git
synced 2026-11-14 01:04:06 +00:00
Starting on record edit
This commit is contained in:
1 parent
e891649d92
commit
e227cdc927
24 files changed
+287
-79
No files matched your search
@@ -114,4 +114,60 @@ public class ItemStackWrapper {
|
||||
else return 0;
|
||||
}
|
||||
}
|
||||
|
||||
public static class Click {
|
||||
public static boolean leftClick(ItemStack itemStack, boolean doChange){
|
||||
if(itemStack == null || itemStack.stackSize>=64){
|
||||
return false;
|
||||
}else {
|
||||
if(doChange){
|
||||
itemStack.stackSize += 1;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
public static boolean leftShift(ItemStack itemStack, boolean doChange){
|
||||
if(itemStack == null || itemStack.stackSize>=64){
|
||||
return false;
|
||||
}else {
|
||||
if(doChange){
|
||||
if(itemStack.stackSize == 1){
|
||||
itemStack.stackSize = 10;
|
||||
}else if(itemStack.stackSize <= 54){
|
||||
itemStack.stackSize += 10;
|
||||
}else {
|
||||
itemStack.stackSize = 64;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
public static boolean rightClick(ItemStack itemStack, boolean doChange){
|
||||
if(itemStack == null){
|
||||
return false;
|
||||
}else {
|
||||
if(doChange){
|
||||
itemStack.stackSize -= 1;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
public static boolean rightShift(ItemStack itemStack, boolean doChange){
|
||||
if(itemStack == null || itemStack.stackSize>=64){
|
||||
return false;
|
||||
}else {
|
||||
if(doChange){
|
||||
if(itemStack.stackSize <= 10){
|
||||
itemStack.stackSize = 0;
|
||||
} else {
|
||||
itemStack.stackSize -= 10;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -8,10 +8,9 @@ import net.minecraftforge.client.event.GuiScreenEvent;
|
||||
import net.minecraftforge.fml.common.eventhandler.EventPriority;
|
||||
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
|
||||
import org.lwjgl.input.Mouse;
|
||||
import pers.towdium.justEnoughCalculation.gui.calculator.ContainerCalculator;
|
||||
import pers.towdium.justEnoughCalculation.gui.calculator.GuiCalculator;
|
||||
import pers.towdium.justEnoughCalculation.gui.recipeEditor.ContainerRecipeEditor;
|
||||
import pers.towdium.justEnoughCalculation.gui.recipeEditor.GuiRecipeEditor;
|
||||
import pers.towdium.justEnoughCalculation.gui.guis.calculator.ContainerCalculator;
|
||||
import pers.towdium.justEnoughCalculation.gui.guis.calculator.GuiCalculator;
|
||||
import pers.towdium.justEnoughCalculation.gui.guis.recipeEditor.GuiRecipeEditor;
|
||||
import pers.towdium.justEnoughCalculation.plugin.JEIPlugin;
|
||||
|
||||
import java.util.Date;
|
||||
@@ -38,7 +37,7 @@ public class GuiEventHandler {
|
||||
time = new Date().getTime();
|
||||
if(guiContainer.getSlotUnderMouse() != null){
|
||||
guiContainer.setActiveSlot(guiContainer.getSlotUnderMouse().getSlotIndex());
|
||||
((ContainerRecipeEditor)((GuiRecipeEditor) event.gui).inventorySlots).getPlayer().playSound("random.click", 1f, 1f );
|
||||
event.gui.mc.thePlayer.playSound("random.click", 1f, 1f );
|
||||
event.setCanceled(true);
|
||||
return;
|
||||
}
|
||||
@@ -47,7 +46,7 @@ public class GuiEventHandler {
|
||||
boolean over = ((ItemListOverlay)JEIPlugin.runtime.getItemListOverlay()).isMouseOver(x, y);
|
||||
if(!over || (y>25 && y<guiContainer.height-15)){
|
||||
((GuiRecipeEditor) event.gui).setActiveSlot(-1);
|
||||
((ContainerRecipeEditor)((GuiRecipeEditor) event.gui).inventorySlots).getPlayer().playSound("random.click", 1f, 1f );
|
||||
event.gui.mc.thePlayer.playSound("random.click", 1f, 1f );
|
||||
event.setCanceled(true);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,12 +3,15 @@ package pers.towdium.justEnoughCalculation.gui;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.fml.common.network.IGuiHandler;
|
||||
import pers.towdium.justEnoughCalculation.gui.calculator.ContainerCalculator;
|
||||
import pers.towdium.justEnoughCalculation.gui.calculator.GuiCalculator;
|
||||
import pers.towdium.justEnoughCalculation.gui.itemPicker.ContainerItemPicker;
|
||||
import pers.towdium.justEnoughCalculation.gui.itemPicker.GuiItemPicker;
|
||||
import pers.towdium.justEnoughCalculation.gui.recipeEditor.ContainerRecipeEditor;
|
||||
import pers.towdium.justEnoughCalculation.gui.recipeEditor.GuiRecipeEditor;
|
||||
import pers.towdium.justEnoughCalculation.gui.guis.calculator.ContainerCalculator;
|
||||
import pers.towdium.justEnoughCalculation.gui.guis.calculator.GuiCalculator;
|
||||
import pers.towdium.justEnoughCalculation.gui.guis.itemPicker.ContainerItemPicker;
|
||||
import pers.towdium.justEnoughCalculation.gui.guis.itemPicker.GuiItemPicker;
|
||||
import pers.towdium.justEnoughCalculation.gui.commom.recipe.ContainerRecipe;
|
||||
import pers.towdium.justEnoughCalculation.gui.guis.recipeEditor.ContainerRecipeEditor;
|
||||
import pers.towdium.justEnoughCalculation.gui.guis.recipeEditor.GuiRecipeEditor;
|
||||
import pers.towdium.justEnoughCalculation.gui.guis.recipePicker.GuiRecipePicker;
|
||||
|
||||
|
||||
/**
|
||||
* @author Towdium
|
||||
@@ -18,6 +21,7 @@ public class GuiHandler implements IGuiHandler {
|
||||
public static final int CALCULATOR = 0;
|
||||
public static final int ITEM_PICKER = 1;
|
||||
public static final int RECIPE_EDITOR = 2;
|
||||
public static final int RECIPE_PICKER = 3;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -30,7 +34,8 @@ public class GuiHandler implements IGuiHandler {
|
||||
switch (ID) {
|
||||
case GuiId.CALCULATOR: return new GuiCalculator(new ContainerCalculator(player, player.getHeldItem()));
|
||||
case GuiId.ITEM_PICKER: return new GuiItemPicker(new ContainerItemPicker());
|
||||
case GuiId.RECIPE_EDITOR: return new GuiRecipeEditor(new ContainerRecipeEditor(player));
|
||||
case GuiId.RECIPE_EDITOR: return new GuiRecipeEditor(new ContainerRecipeEditor());
|
||||
case GuiId.RECIPE_PICKER: return new GuiRecipePicker(new ContainerRecipe());
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package pers.towdium.justEnoughCalculation.gui;
|
||||
package pers.towdium.justEnoughCalculation.gui.commom;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
+7
-13
@@ -1,4 +1,4 @@
|
||||
package pers.towdium.justEnoughCalculation.gui.recipeEditor;
|
||||
package pers.towdium.justEnoughCalculation.gui.commom.recipe;
|
||||
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.inventory.Container;
|
||||
@@ -10,27 +10,25 @@ import pers.towdium.justEnoughCalculation.core.Recipe;
|
||||
/**
|
||||
* @author Towdium
|
||||
*/
|
||||
public class ContainerRecipeEditor extends Container {
|
||||
public class ContainerRecipe extends Container {
|
||||
|
||||
InventoryRecipeEditor inventoryRecipeEditor;
|
||||
EntityPlayer player;
|
||||
InventoryRecipe inventoryRecipe;
|
||||
|
||||
public ContainerRecipeEditor(EntityPlayer player){
|
||||
inventoryRecipeEditor = new InventoryRecipeEditor();
|
||||
public ContainerRecipe(){
|
||||
inventoryRecipe = new InventoryRecipe();
|
||||
int i, left, top;
|
||||
i = 0; left = 9; top = 9;
|
||||
for(int a = 0; a < 2; a++){
|
||||
for(int b =0; b < 2; b++){
|
||||
addSlotToContainer(new Slot(inventoryRecipeEditor,i+2*a+b,left+b*59,top+a*24));
|
||||
addSlotToContainer(new Slot(inventoryRecipe,i+2*a+b,left+b*59,top+a*24));
|
||||
}
|
||||
}
|
||||
i = 4; left = 9; top = 69;
|
||||
for(int a = 0; a < 4; a++){
|
||||
for(int b =0; b < 3; b++){
|
||||
addSlotToContainer(new Slot(inventoryRecipeEditor,i+3*a+b,left+b*59,top+a*24));
|
||||
addSlotToContainer(new Slot(inventoryRecipe,i+3*a+b,left+b*59,top+a*24));
|
||||
}
|
||||
}
|
||||
this.player = player;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -73,10 +71,6 @@ public class ContainerRecipeEditor extends Container {
|
||||
return null;
|
||||
}
|
||||
|
||||
public EntityPlayer getPlayer() {
|
||||
return player;
|
||||
}
|
||||
|
||||
public Recipe buildRecipe(){
|
||||
ItemStack[] output = new ItemStack[4];
|
||||
boolean flag1 = false, flag2 = false;
|
||||
+16
-23
@@ -1,4 +1,4 @@
|
||||
package pers.towdium.justEnoughCalculation.gui.recipeEditor;
|
||||
package pers.towdium.justEnoughCalculation.gui.commom.recipe;
|
||||
|
||||
import net.minecraft.client.gui.GuiButton;
|
||||
import net.minecraft.client.gui.GuiScreen;
|
||||
@@ -6,27 +6,25 @@ import net.minecraft.client.gui.inventory.GuiContainer;
|
||||
import net.minecraft.client.renderer.GlStateManager;
|
||||
import net.minecraft.inventory.Slot;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import net.minecraft.util.StatCollector;
|
||||
import pers.towdium.justEnoughCalculation.JustEnoughCalculation;
|
||||
import pers.towdium.justEnoughCalculation.core.Recipe;
|
||||
import pers.towdium.justEnoughCalculation.network.packets.PacketRecipeUpdate;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
/**
|
||||
* @author Towdium
|
||||
*/
|
||||
public class GuiRecipeEditor extends GuiContainer{
|
||||
GuiScreen parent;
|
||||
public class GuiRecipe extends GuiContainer{
|
||||
protected GuiScreen parent;
|
||||
protected int activeSlot = -1;
|
||||
|
||||
public GuiRecipeEditor(ContainerRecipeEditor containerRecipeEditor, GuiScreen parent){
|
||||
super(containerRecipeEditor);
|
||||
|
||||
public GuiRecipe(ContainerRecipe containerRecipe, GuiScreen parent){
|
||||
super(containerRecipe);
|
||||
this.parent = parent;
|
||||
}
|
||||
|
||||
public GuiRecipeEditor(ContainerRecipeEditor containerRecipeEditor){
|
||||
super(containerRecipeEditor);
|
||||
public GuiRecipe(ContainerRecipe containerRecipe){
|
||||
super(containerRecipe);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -45,14 +43,12 @@ public class GuiRecipeEditor extends GuiContainer{
|
||||
buttonList.add(new GuiButton(i+3*a+b, left+b*59, top+a*24, 20, 20, "X"));
|
||||
}
|
||||
}
|
||||
buttonList.add(new GuiButton(16, guiLeft+125, guiTop+7, 44, 20, StatCollector.translateToLocal("gui.recipeEditor.save")));
|
||||
buttonList.add(new GuiButton(17, guiLeft+125, guiTop+31, 44, 20, StatCollector.translateToLocal("gui.recipeEditor.clear")));
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void drawGuiContainerBackgroundLayer(float partialTicks, int mouseX, int mouseY) {
|
||||
GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F);
|
||||
this.mc.getTextureManager().bindTexture(new ResourceLocation(JustEnoughCalculation.Reference.MODID,"textures/gui/guiRecipeEditor.png"));
|
||||
this.mc.getTextureManager().bindTexture(new ResourceLocation(JustEnoughCalculation.Reference.MODID,"textures/gui/guiRecipe.png"));
|
||||
this.drawTexturedModalRect(this.guiLeft, this.guiTop, 0, 0, this.xSize, this.ySize);
|
||||
if(activeSlot != -1){
|
||||
Slot slot = inventorySlots.getSlot(activeSlot);
|
||||
@@ -66,15 +62,6 @@ public class GuiRecipeEditor extends GuiContainer{
|
||||
if(buttonId <= 15){
|
||||
Slot slot = inventorySlots.getSlot(buttonId);
|
||||
slot.inventory.setInventorySlotContents(slot.getSlotIndex(), null);
|
||||
}else if(buttonId == 16) {
|
||||
Recipe recipe = ((ContainerRecipeEditor)inventorySlots).buildRecipe();
|
||||
JustEnoughCalculation.proxy.getPlayerHandler().addRecipe(recipe, null);
|
||||
JustEnoughCalculation.networkWrapper.sendToServer(new PacketRecipeUpdate(recipe, -1));
|
||||
mc.displayGuiScreen(parent);
|
||||
}else if(buttonId == 17) {
|
||||
for(Slot slot : inventorySlots.inventorySlots){
|
||||
slot.inventory.setInventorySlotContents(slot.getSlotIndex(), null);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -87,7 +74,7 @@ public class GuiRecipeEditor extends GuiContainer{
|
||||
Slot slot = getSlotUnderMouse();
|
||||
if(slot != null && mouseButton == 0 && slot.getStack() == null){
|
||||
activeSlot = slot.getSlotIndex();
|
||||
((ContainerRecipeEditor)inventorySlots).getPlayer().playSound("random.click", 1f, 1f );
|
||||
mc.thePlayer.playSound("random.click", 1f, 1f );
|
||||
}
|
||||
}
|
||||
|
||||
@@ -107,6 +94,12 @@ public class GuiRecipeEditor extends GuiContainer{
|
||||
}
|
||||
}
|
||||
|
||||
public void click(int mouseX, int mouseY, int mouseButton){
|
||||
try {
|
||||
this.mouseClicked(mouseX, mouseY, mouseButton);
|
||||
} catch (IOException ignored) {}
|
||||
}
|
||||
|
||||
public int getActiveSlot() {
|
||||
return activeSlot;
|
||||
}
|
||||
+12
@@ -0,0 +1,12 @@
|
||||
package pers.towdium.justEnoughCalculation.gui.commom.recipe;
|
||||
|
||||
import net.minecraft.inventory.InventoryBasic;
|
||||
|
||||
/**
|
||||
* @author Towdium
|
||||
*/
|
||||
public class InventoryRecipe extends InventoryBasic {
|
||||
public InventoryRecipe() {
|
||||
super("Recipe", false, 16);
|
||||
}
|
||||
}
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package pers.towdium.justEnoughCalculation.gui.calculator;
|
||||
package pers.towdium.justEnoughCalculation.gui.guis.calculator;
|
||||
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.inventory.Container;
|
||||
+5
-7
@@ -1,4 +1,4 @@
|
||||
package pers.towdium.justEnoughCalculation.gui.calculator;
|
||||
package pers.towdium.justEnoughCalculation.gui.guis.calculator;
|
||||
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.gui.FontRenderer;
|
||||
@@ -14,11 +14,9 @@ import net.minecraft.util.StatCollector;
|
||||
import pers.towdium.justEnoughCalculation.JustEnoughCalculation;
|
||||
import pers.towdium.justEnoughCalculation.core.Calculator;
|
||||
import pers.towdium.justEnoughCalculation.core.ItemStackWrapper;
|
||||
import pers.towdium.justEnoughCalculation.gui.GuiTooltipScreen;
|
||||
import pers.towdium.justEnoughCalculation.gui.recipeEditor.ContainerRecipeEditor;
|
||||
import pers.towdium.justEnoughCalculation.gui.recipeEditor.GuiRecipeEditor;
|
||||
import pers.towdium.justEnoughCalculation.network.PlayerHandlerClient;
|
||||
import pers.towdium.justEnoughCalculation.network.PlayerHandlerServer;
|
||||
import pers.towdium.justEnoughCalculation.gui.commom.GuiTooltipScreen;
|
||||
import pers.towdium.justEnoughCalculation.gui.guis.recipeEditor.ContainerRecipeEditor;
|
||||
import pers.towdium.justEnoughCalculation.gui.guis.recipeEditor.GuiRecipeEditor;
|
||||
import pers.towdium.justEnoughCalculation.network.packets.PacketSyncRecord;
|
||||
|
||||
import java.io.IOException;
|
||||
@@ -123,7 +121,7 @@ public class GuiCalculator extends GuiTooltipScreen{
|
||||
break;
|
||||
case 2:
|
||||
JustEnoughCalculation.proxy.getPlayerHandler().syncItemCalculator(inventorySlots.getSlot(0).getStack(), textFieldAmount.getText());
|
||||
mc.displayGuiScreen(new GuiRecipeEditor(new ContainerRecipeEditor(((ContainerCalculator)inventorySlots).getPlayer()), this));
|
||||
mc.displayGuiScreen(new GuiRecipeEditor(new ContainerRecipeEditor(), this));
|
||||
break;
|
||||
case 6:
|
||||
switch (mode){
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package pers.towdium.justEnoughCalculation.gui.calculator;
|
||||
package pers.towdium.justEnoughCalculation.gui.guis.calculator;
|
||||
|
||||
import net.minecraft.inventory.InventoryBasic;
|
||||
import net.minecraft.item.ItemStack;
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package pers.towdium.justEnoughCalculation.gui.itemPicker;
|
||||
package pers.towdium.justEnoughCalculation.gui.guis.itemPicker;
|
||||
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.inventory.Container;
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package pers.towdium.justEnoughCalculation.gui.itemPicker;
|
||||
package pers.towdium.justEnoughCalculation.gui.guis.itemPicker;
|
||||
|
||||
import net.minecraft.client.gui.GuiButton;
|
||||
import net.minecraft.client.gui.GuiTextField;
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package pers.towdium.justEnoughCalculation.gui.itemPicker;
|
||||
package pers.towdium.justEnoughCalculation.gui.guis.itemPicker;
|
||||
|
||||
import net.minecraft.inventory.InventoryBasic;
|
||||
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
package pers.towdium.justEnoughCalculation.gui.guis.recipeEditor;
|
||||
|
||||
import pers.towdium.justEnoughCalculation.gui.commom.recipe.ContainerRecipe;
|
||||
|
||||
|
||||
/**
|
||||
* @author Towdium
|
||||
*/
|
||||
public class ContainerRecipeEditor extends ContainerRecipe {
|
||||
}
|
||||
+55
@@ -0,0 +1,55 @@
|
||||
package pers.towdium.justEnoughCalculation.gui.guis.recipeEditor;
|
||||
|
||||
import net.minecraft.client.gui.GuiButton;
|
||||
import net.minecraft.client.gui.GuiScreen;
|
||||
import net.minecraft.client.gui.inventory.GuiContainer;
|
||||
import net.minecraft.client.renderer.GlStateManager;
|
||||
import net.minecraft.inventory.Slot;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import net.minecraft.util.StatCollector;
|
||||
import pers.towdium.justEnoughCalculation.JustEnoughCalculation;
|
||||
import pers.towdium.justEnoughCalculation.core.Recipe;
|
||||
import pers.towdium.justEnoughCalculation.gui.commom.recipe.ContainerRecipe;
|
||||
import pers.towdium.justEnoughCalculation.gui.commom.recipe.GuiRecipe;
|
||||
import pers.towdium.justEnoughCalculation.network.packets.PacketRecipeUpdate;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
/**
|
||||
* @author Towdium
|
||||
*/
|
||||
public class GuiRecipeEditor extends GuiRecipe{
|
||||
public GuiRecipeEditor(ContainerRecipeEditor containerRecipeEditor, GuiScreen parent){
|
||||
super(containerRecipeEditor, parent);
|
||||
}
|
||||
|
||||
public GuiRecipeEditor(ContainerRecipeEditor containerRecipeEditor){
|
||||
super(containerRecipeEditor);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initGui() {
|
||||
super.initGui();
|
||||
buttonList.add(new GuiButton(16, guiLeft+125, guiTop+7, 44, 20, StatCollector.translateToLocal("gui.recipeEditor.save")));
|
||||
buttonList.add(new GuiButton(17, guiLeft+125, guiTop+31, 44, 20, StatCollector.translateToLocal("gui.recipeEditor.clear")));
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void actionPerformed(GuiButton button) throws IOException {
|
||||
super.actionPerformed(button);
|
||||
int buttonId = button.id;
|
||||
if(buttonId <= 15){
|
||||
Slot slot = inventorySlots.getSlot(buttonId);
|
||||
slot.inventory.setInventorySlotContents(slot.getSlotIndex(), null);
|
||||
}else if(buttonId == 16) {
|
||||
Recipe recipe = ((ContainerRecipe)inventorySlots).buildRecipe();
|
||||
JustEnoughCalculation.proxy.getPlayerHandler().addRecipe(recipe, null);
|
||||
JustEnoughCalculation.networkWrapper.sendToServer(new PacketRecipeUpdate(recipe, -1));
|
||||
mc.displayGuiScreen(parent);
|
||||
}else if(buttonId == 17) {
|
||||
for(Slot slot : inventorySlots.inventorySlots){
|
||||
slot.inventory.setInventorySlotContents(slot.getSlotIndex(), null);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+76
@@ -0,0 +1,76 @@
|
||||
package pers.towdium.justEnoughCalculation.gui.guis.recipePicker;
|
||||
|
||||
import net.minecraft.client.gui.GuiButton;
|
||||
import net.minecraft.client.gui.GuiScreen;
|
||||
import net.minecraft.inventory.Slot;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.util.StatCollector;
|
||||
import pers.towdium.justEnoughCalculation.JustEnoughCalculation;
|
||||
import pers.towdium.justEnoughCalculation.core.Recipe;
|
||||
import pers.towdium.justEnoughCalculation.gui.commom.recipe.ContainerRecipe;
|
||||
import pers.towdium.justEnoughCalculation.gui.commom.recipe.GuiRecipe;
|
||||
import pers.towdium.justEnoughCalculation.gui.guis.recipeEditor.ContainerRecipeEditor;
|
||||
import pers.towdium.justEnoughCalculation.gui.guis.recipeEditor.GuiRecipeEditor;
|
||||
import java.io.IOException;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author Towdium
|
||||
*/
|
||||
public class GuiRecipePicker extends GuiRecipe{
|
||||
ItemStack dest;
|
||||
List<Recipe> recipes;
|
||||
int index;
|
||||
|
||||
public GuiRecipePicker(ContainerRecipe containerRecipe, GuiScreen parent){
|
||||
super(containerRecipe, parent);
|
||||
}
|
||||
|
||||
public GuiRecipePicker(ContainerRecipe containerRecipe){
|
||||
super(containerRecipe);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initGui() {
|
||||
super.initGui();
|
||||
buttonList.add(new GuiButton(16, guiLeft+125, guiTop+7, 20, 20, StatCollector.translateToLocal("<")));
|
||||
buttonList.add(new GuiButton(17, guiLeft+149, guiTop+7, 20, 20, StatCollector.translateToLocal(">")));
|
||||
buttonList.add(new GuiButton(18, guiLeft+125, guiTop+31, 44, 20, StatCollector.translateToLocal("gui.recipePicker.delete")));
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void actionPerformed(GuiButton button) throws IOException {
|
||||
super.actionPerformed(button);
|
||||
int buttonId = button.id;
|
||||
if(buttonId == 16) {
|
||||
if(index>0){
|
||||
index--;
|
||||
updateLayout();
|
||||
}
|
||||
}else if(buttonId == 17) {
|
||||
if(index<recipes.size()-1){
|
||||
index++;
|
||||
updateLayout();
|
||||
}
|
||||
}else if(buttonId == 18) {
|
||||
JustEnoughCalculation.proxy.getPlayerHandler().removeRecipe(recipes.get(index), null);
|
||||
mc.displayGuiScreen(parent);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void mouseClicked(int mouseX, int mouseY, int mouseButton) throws IOException {
|
||||
super.mouseClicked(mouseX, mouseY, mouseButton);
|
||||
Slot slot = getSlotUnderMouse();
|
||||
if(slot != null){
|
||||
GuiRecipeEditor recipeEditor = new GuiRecipeEditor(new ContainerRecipeEditor(), parent);
|
||||
mc.displayGuiScreen(recipeEditor);
|
||||
recipeEditor.click(mouseX, mouseY, mouseButton);
|
||||
recipeEditor.setActiveSlot(slot.getSlotIndex());
|
||||
}
|
||||
}
|
||||
|
||||
public void updateLayout(){
|
||||
|
||||
}
|
||||
}
|
||||
-15
@@ -1,15 +0,0 @@
|
||||
package pers.towdium.justEnoughCalculation.gui.recipeEditor;
|
||||
|
||||
import net.minecraft.inventory.InventoryBasic;
|
||||
|
||||
/**
|
||||
* @author Towdium
|
||||
*/
|
||||
public class InventoryRecipeEditor extends InventoryBasic {
|
||||
public InventoryRecipeEditor() {
|
||||
super("Recipe editor", false, 16);
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -20,7 +20,7 @@ public class ItemCalculator extends Item {
|
||||
|
||||
@Override
|
||||
public ItemStack onItemRightClick(ItemStack itemStackIn, World worldIn, EntityPlayer playerIn) {
|
||||
playerIn.openGui(JustEnoughCalculation.instance, GuiHandler.GuiId.CALCULATOR, worldIn, 0, 0, 0);
|
||||
playerIn.openGui(JustEnoughCalculation.instance, GuiHandler.GuiId.RECIPE_PICKER, worldIn, 0, 0, 0);
|
||||
return itemStackIn;
|
||||
}
|
||||
|
||||
|
||||
@@ -34,4 +34,8 @@ public interface IPlayerHandler {
|
||||
void handleLogin(net.minecraftforge.event.entity.player.PlayerEvent.LoadFromFile event);
|
||||
|
||||
void handleSave(net.minecraftforge.event.entity.player.PlayerEvent.SaveToFile event);
|
||||
|
||||
boolean removeRecipe(Recipe recipe, UUID uuid);
|
||||
|
||||
boolean containsRecipe(Recipe recipe, UUID uuid);
|
||||
}
|
||||
@@ -143,6 +143,16 @@ public class PlayerHandlerClient implements IPlayerHandler {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean removeRecipe(Recipe recipe, UUID uuid) {
|
||||
return recipes.remove(recipe);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean containsRecipe(Recipe recipe, UUID uuid) {
|
||||
return recipes.contains(recipe);
|
||||
}
|
||||
|
||||
ImmutableList<int[]> getAllUnsortedRecipeIndexOf(ItemStack itemStack){
|
||||
ImmutableList.Builder<int[]> builder = new ImmutableList.Builder<>();
|
||||
int size = recipes.size();
|
||||
|
||||
@@ -80,6 +80,16 @@ public class PlayerHandlerServer implements IPlayerHandler {
|
||||
players.get(UUID.fromString(event.playerUUID)).handleSave(event);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean removeRecipe(Recipe recipe, UUID uuid) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean containsRecipe(Recipe recipe, UUID uuid) {
|
||||
return false;
|
||||
}
|
||||
|
||||
public PlayerHandlerClient getClient(UUID uuid){
|
||||
return players.get(uuid);
|
||||
}
|
||||
|
||||
+1
-1
@@ -8,7 +8,7 @@ import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.inventory.Container;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import pers.towdium.justEnoughCalculation.core.ItemStackWrapper;
|
||||
import pers.towdium.justEnoughCalculation.gui.recipeEditor.ContainerRecipeEditor;
|
||||
import pers.towdium.justEnoughCalculation.gui.guis.recipeEditor.ContainerRecipeEditor;
|
||||
|
||||
import javax.annotation.Nonnull;
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
Reference in new issue
Block a user