cleanup, add recipe removal APIs and IMC messages
This commit is contained in:
parent
c04224d466
commit
b3e908d1ac
9 changed files with 59 additions and 32 deletions
|
@ -85,13 +85,11 @@ public class GuiRequester extends GuiAdvancedInterface {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void mouseClicked(int mouseX, int mouseY, int mouseButton) {
|
protected void slotClicked(AdvancedSlot slot, int mouseButton) {
|
||||||
super.mouseClicked(mouseX, mouseY, mouseButton);
|
super.slotClicked(slot, mouseButton);
|
||||||
|
|
||||||
RequestSlot slot = (RequestSlot) getSlotAtLocation(mouseX, mouseY);
|
if (slot instanceof RequestSlot) {
|
||||||
|
((RequestSlot) slot).setItem(mc.thePlayer.inventory.getItemStack());
|
||||||
if (slot != null) {
|
|
||||||
slot.setItem(mc.thePlayer.inventory.getItemStack());
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -53,20 +53,32 @@ public final class InterModComms {
|
||||||
} else if (m.key.equals("oil-gen-exclude")) {
|
} else if (m.key.equals("oil-gen-exclude")) {
|
||||||
processOilGenExcludeIMC(event, m);
|
processOilGenExcludeIMC(event, m);
|
||||||
} else if (m.key.equals("add-assembly-recipe")) {
|
} else if (m.key.equals("add-assembly-recipe")) {
|
||||||
processAssemblyRecipeIMC(event, m);
|
processAssemblyRecipeAddIMC(event, m);
|
||||||
} else if (m.key.equals("add-refinery-recipe")) {
|
} else if (m.key.equals("add-refinery-recipe")) {
|
||||||
processRefineryRecipeIMC(event, m);
|
processRefineryRecipeAddIMC(event, m);
|
||||||
} else if (m.key.equals("remove-assembly-recipe")) {
|
} else if (m.key.equals("remove-assembly-recipe")) {
|
||||||
//TODO
|
processAssemblyRecipeRemoveIMC(event, m);
|
||||||
} else if (m.key.equals("remove-refinery-recipe")) {
|
} else if (m.key.equals("remove-refinery-recipe")) {
|
||||||
//TODO
|
processRefineryRecipeRemoveIMC(event, m);
|
||||||
} else {
|
} else {
|
||||||
Logger.getLogger("Buildcraft").log(Level.WARNING, "Received IMC message with unknown key('%s') from %s!", new Object[]{m.key, m.getSender()});
|
Logger.getLogger("Buildcraft").log(Level.WARNING, "Received IMC message with unknown key('%s') from %s!", new Object[]{m.key, m.getSender()});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static void processAssemblyRecipeRemoveIMC(IMCEvent event, IMCMessage msg) {
|
||||||
|
if (msg.isStringMessage()) {
|
||||||
|
AssemblyRecipeManager.INSTANCE.removeRecipe(msg.getStringValue());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public static void processAssemblyRecipeIMC(IMCEvent event, IMCMessage msg) {
|
public static void processRefineryRecipeRemoveIMC(IMCEvent event, IMCMessage msg) {
|
||||||
|
if (msg.isStringMessage()) {
|
||||||
|
RefineryRecipeManager.INSTANCE.removeRecipe(msg.getStringValue());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void processAssemblyRecipeAddIMC(IMCEvent event, IMCMessage msg) {
|
||||||
boolean failed = false;
|
boolean failed = false;
|
||||||
if (!msg.isNBTMessage()) {
|
if (!msg.isNBTMessage()) {
|
||||||
failed = true;
|
failed = true;
|
||||||
|
@ -98,7 +110,7 @@ public final class InterModComms {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void processRefineryRecipeIMC(IMCEvent event, IMCMessage msg) {
|
public static void processRefineryRecipeAddIMC(IMCEvent event, IMCMessage msg) {
|
||||||
boolean failed = false;
|
boolean failed = false;
|
||||||
if (!msg.isNBTMessage()) {
|
if (!msg.isNBTMessage()) {
|
||||||
failed = true;
|
failed = true;
|
||||||
|
|
|
@ -128,7 +128,7 @@ public abstract class GuiAdvancedInterface extends GuiBuildCraft {
|
||||||
AdvancedSlot slot = getSlotAtLocation(mouseX, mouseY);
|
AdvancedSlot slot = getSlotAtLocation(mouseX, mouseY);
|
||||||
|
|
||||||
if (slot != null && slot.isDefined()) {
|
if (slot != null && slot.isDefined()) {
|
||||||
slotClicked(slot);
|
slotClicked(slot, mouseButton);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -141,7 +141,7 @@ public abstract class GuiAdvancedInterface extends GuiBuildCraft {
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO: Use this for all children of this class
|
// TODO: Use this for all children of this class
|
||||||
protected void slotClicked(AdvancedSlot slot) {
|
protected void slotClicked(AdvancedSlot slot, int mouseButton) {
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -14,7 +14,6 @@ import java.util.Map;
|
||||||
|
|
||||||
import net.minecraft.item.Item;
|
import net.minecraft.item.Item;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
|
|
||||||
import buildcraft.BuildCraftCore;
|
import buildcraft.BuildCraftCore;
|
||||||
import buildcraft.api.recipes.IAssemblyRecipeManager;
|
import buildcraft.api.recipes.IAssemblyRecipeManager;
|
||||||
import buildcraft.api.recipes.IFlexibleRecipe;
|
import buildcraft.api.recipes.IFlexibleRecipe;
|
||||||
|
@ -56,4 +55,14 @@ public class AssemblyRecipeManager implements IAssemblyRecipeManager {
|
||||||
public IFlexibleRecipe getRecipe(String id) {
|
public IFlexibleRecipe getRecipe(String id) {
|
||||||
return assemblyRecipes.get(id);
|
return assemblyRecipes.get(id);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void removeRecipe(IFlexibleRecipe<ItemStack> recipe) {
|
||||||
|
removeRecipe(recipe.getId());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void removeRecipe(String id) {
|
||||||
|
assemblyRecipes.remove(id);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -12,8 +12,8 @@ import java.util.Collection;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
|
||||||
|
import net.minecraft.item.ItemStack;
|
||||||
import net.minecraftforge.fluids.FluidStack;
|
import net.minecraftforge.fluids.FluidStack;
|
||||||
|
|
||||||
import buildcraft.BuildCraftCore;
|
import buildcraft.BuildCraftCore;
|
||||||
import buildcraft.api.recipes.IFlexibleRecipe;
|
import buildcraft.api.recipes.IFlexibleRecipe;
|
||||||
import buildcraft.api.recipes.IRefineryRecipeManager;
|
import buildcraft.api.recipes.IRefineryRecipeManager;
|
||||||
|
@ -62,4 +62,14 @@ public final class RefineryRecipeManager implements IRefineryRecipeManager {
|
||||||
public IFlexibleRecipe<FluidStack> getRecipe(String id) {
|
public IFlexibleRecipe<FluidStack> getRecipe(String id) {
|
||||||
return recipes.get(id);
|
return recipes.get(id);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void removeRecipe(IFlexibleRecipe<FluidStack> recipe) {
|
||||||
|
removeRecipe(recipe.getId());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void removeRecipe(String id) {
|
||||||
|
recipes.remove(id);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -278,8 +278,8 @@ public class GuiScienceBook extends GuiAdvancedInterface {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void slotClicked(AdvancedSlot slot) {
|
protected void slotClicked(AdvancedSlot slot, int mouseButton) {
|
||||||
super.slotClicked(slot);
|
super.slotClicked(slot, mouseButton);
|
||||||
|
|
||||||
if (slot instanceof TechnologySlot) {
|
if (slot instanceof TechnologySlot) {
|
||||||
setFocus(((TechnologySlot) slot).techno);
|
setFocus(((TechnologySlot) slot).techno);
|
||||||
|
|
|
@ -23,7 +23,6 @@ public class GuiHopper extends GuiContainer {
|
||||||
|
|
||||||
public GuiHopper(InventoryPlayer inventory, TileHopper tile) {
|
public GuiHopper(InventoryPlayer inventory, TileHopper tile) {
|
||||||
super(new ContainerHopper(inventory, tile));
|
super(new ContainerHopper(inventory, tile));
|
||||||
// TODO Auto-generated constructor stub
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -157,12 +157,12 @@ public class GuiAssemblyTable extends GuiAdvancedInterface {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void mouseClicked(int i, int j, int k) {
|
protected void slotClicked(AdvancedSlot aslot, int mouseButton) {
|
||||||
super.mouseClicked(i, j, k);
|
super.slotClicked(aslot, mouseButton);
|
||||||
|
|
||||||
RecipeSlot slot = (RecipeSlot) getSlotAtLocation(i, j);
|
if (aslot instanceof RecipeSlot) {
|
||||||
|
RecipeSlot slot = (RecipeSlot) aslot;
|
||||||
if (slot != null) {
|
|
||||||
if (slot.crafting == null) {
|
if (slot.crafting == null) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
|
@ -364,13 +364,12 @@ public class GuiGateInterface extends GuiAdvancedInterface {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void mouseClicked(int i, int j, int k) {
|
protected void slotClicked(AdvancedSlot slot, int mouseButton) {
|
||||||
if (gate == null) {
|
if (gate == null) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
super.mouseClicked(i, j, k);
|
|
||||||
|
|
||||||
AdvancedSlot slot = getSlotAtLocation(i, j);
|
super.slotClicked(slot, mouseButton);
|
||||||
|
|
||||||
if (slot instanceof TriggerSlot && container.hasTriggers()) {
|
if (slot instanceof TriggerSlot && container.hasTriggers()) {
|
||||||
TriggerSlot triggerSlot = (TriggerSlot) slot;
|
TriggerSlot triggerSlot = (TriggerSlot) slot;
|
||||||
|
@ -379,14 +378,14 @@ public class GuiGateInterface extends GuiAdvancedInterface {
|
||||||
|
|
||||||
if (triggerSlot.getStatement() == null) {
|
if (triggerSlot.getStatement() == null) {
|
||||||
|
|
||||||
if (k == 0) {
|
if (mouseButton == 0) {
|
||||||
changed = container.getFirstTrigger();
|
changed = container.getFirstTrigger();
|
||||||
} else {
|
} else {
|
||||||
changed = container.getLastTrigger();
|
changed = container.getLastTrigger();
|
||||||
}
|
}
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
Iterator<ITrigger> it = container.getTriggerIterator(k != 0);
|
Iterator<ITrigger> it = container.getTriggerIterator(mouseButton != 0);
|
||||||
|
|
||||||
for (; it.hasNext();) {
|
for (; it.hasNext();) {
|
||||||
ITrigger trigger = it.next();
|
ITrigger trigger = it.next();
|
||||||
|
@ -418,14 +417,14 @@ public class GuiGateInterface extends GuiAdvancedInterface {
|
||||||
IAction changed = null;
|
IAction changed = null;
|
||||||
if (actionSlot.getStatement() == null) {
|
if (actionSlot.getStatement() == null) {
|
||||||
|
|
||||||
if (k == 0) {
|
if (mouseButton == 0) {
|
||||||
changed = container.getFirstAction();
|
changed = container.getFirstAction();
|
||||||
} else {
|
} else {
|
||||||
changed = container.getLastAction();
|
changed = container.getLastAction();
|
||||||
}
|
}
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
Iterator<IAction> it = container.getActionIterator(k != 0);
|
Iterator<IAction> it = container.getActionIterator(mouseButton != 0);
|
||||||
|
|
||||||
for (; it.hasNext();) {
|
for (; it.hasNext();) {
|
||||||
IAction action = it.next();
|
IAction action = it.next();
|
||||||
|
|
Loading…
Reference in a new issue