@@ -0,0 +1,16 @@
|
|||||||
|
package com.raoulvdberge.refinedstorage;
|
||||||
|
|
||||||
|
import net.minecraft.client.settings.KeyBinding;
|
||||||
|
import net.minecraftforge.client.settings.KeyConflictContext;
|
||||||
|
import net.minecraftforge.fml.client.registry.ClientRegistry;
|
||||||
|
import org.lwjgl.input.Keyboard;
|
||||||
|
|
||||||
|
public final class RSKeyBindings {
|
||||||
|
private static final String categoryName = RS.ID;
|
||||||
|
|
||||||
|
public static final KeyBinding focusSearchBar = new KeyBinding("key.rs.focusSearchBar", KeyConflictContext.GUI, Keyboard.KEY_TAB, categoryName);
|
||||||
|
|
||||||
|
public static void init() {
|
||||||
|
ClientRegistry.registerKeyBinding(focusSearchBar);
|
||||||
|
}
|
||||||
|
}
|
@@ -0,0 +1,36 @@
|
|||||||
|
package com.raoulvdberge.refinedstorage.api.autocrafting;
|
||||||
|
|
||||||
|
import com.raoulvdberge.refinedstorage.api.network.INetworkMaster;
|
||||||
|
import net.minecraft.item.ItemStack;
|
||||||
|
import net.minecraftforge.common.MinecraftForge;
|
||||||
|
import net.minecraftforge.fml.common.eventhandler.Event;
|
||||||
|
import net.minecraftforge.items.ItemHandlerHelper;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Event fired upon completion of an auto crafting task
|
||||||
|
*/
|
||||||
|
public class AutoCraftingEvent extends Event {
|
||||||
|
private ItemStack crafted;
|
||||||
|
private INetworkMaster network;
|
||||||
|
|
||||||
|
private AutoCraftingEvent(INetworkMaster network, ItemStack crafted) {
|
||||||
|
this.crafted = crafted;
|
||||||
|
this.network = network;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ItemStack getCrafted() {
|
||||||
|
return crafted;
|
||||||
|
}
|
||||||
|
|
||||||
|
public INetworkMaster getNetwork() {
|
||||||
|
return network;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void fire(INetworkMaster network, ItemStack crafted) {
|
||||||
|
MinecraftForge.EVENT_BUS.post(new AutoCraftingEvent(network, crafted));
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void fire(INetworkMaster network, ItemStack crafted, int quantity) {
|
||||||
|
fire(network, ItemHandlerHelper.copyStackWithSize(crafted, quantity));
|
||||||
|
}
|
||||||
|
}
|
@@ -179,6 +179,7 @@ public class CraftingManager implements ICraftingManager {
|
|||||||
ICraftingTask task = craftingTaskIterator.next();
|
ICraftingTask task = craftingTaskIterator.next();
|
||||||
|
|
||||||
if (task.update(usedCrafters)) {
|
if (task.update(usedCrafters)) {
|
||||||
|
AutoCraftingEvent.fire(network, task.getRequested(), task.getQuantity());
|
||||||
craftingTaskIterator.remove();
|
craftingTaskIterator.remove();
|
||||||
|
|
||||||
craftingTasksChanged = true;
|
craftingTasksChanged = true;
|
||||||
|
@@ -27,6 +27,7 @@ import net.minecraft.item.ItemStack;
|
|||||||
import net.minecraft.item.crafting.CraftingManager;
|
import net.minecraft.item.crafting.CraftingManager;
|
||||||
import net.minecraft.nbt.NBTTagCompound;
|
import net.minecraft.nbt.NBTTagCompound;
|
||||||
import net.minecraft.util.NonNullList;
|
import net.minecraft.util.NonNullList;
|
||||||
|
import net.minecraftforge.fml.common.FMLCommonHandler;
|
||||||
import net.minecraftforge.items.IItemHandler;
|
import net.minecraftforge.items.IItemHandler;
|
||||||
import net.minecraftforge.items.ItemHandlerHelper;
|
import net.minecraftforge.items.ItemHandlerHelper;
|
||||||
import net.minecraftforge.items.wrapper.CombinedInvWrapper;
|
import net.minecraftforge.items.wrapper.CombinedInvWrapper;
|
||||||
@@ -359,6 +360,8 @@ public class NetworkNodeGrid extends NetworkNode implements IGrid {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
FMLCommonHandler.instance().firePlayerCraftingEvent(player, ItemHandlerHelper.copyStackWithSize(crafted, craftedItems), matrix);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void onCreatePattern() {
|
public void onCreatePattern() {
|
||||||
|
@@ -12,6 +12,8 @@ import org.apache.commons.lang3.ArrayUtils;
|
|||||||
import javax.annotation.Nullable;
|
import javax.annotation.Nullable;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import java.util.Set;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
public class Comparer implements IComparer {
|
public class Comparer implements IComparer {
|
||||||
private Map<Integer, Boolean> oredictCache = new HashMap<>();
|
private Map<Integer, Boolean> oredictCache = new HashMap<>();
|
||||||
@@ -210,6 +212,14 @@ public class Comparer implements IComparer {
|
|||||||
stack.getTagCompound().removeTag("dropped");
|
stack.getTagCompound().removeTag("dropped");
|
||||||
stack.getTagCompound().removeTag("energy");
|
stack.getTagCompound().removeTag("energy");
|
||||||
break;
|
break;
|
||||||
|
case "draconicevolution":
|
||||||
|
stack.getTagCompound().removeTag("Energy");
|
||||||
|
stack.getTagCompound().removeTag("DEUpgrades");
|
||||||
|
Set<String> profiles = stack.getTagCompound().getKeySet().stream().filter(key -> key.startsWith("Profile")).collect(Collectors.toSet());
|
||||||
|
for (String profile : profiles) {
|
||||||
|
stack.getTagCompound().removeTag(profile);
|
||||||
|
}
|
||||||
|
break;
|
||||||
case "minecraft":
|
case "minecraft":
|
||||||
stack.getTagCompound().removeTag("RepairCost");
|
stack.getTagCompound().removeTag("RepairCost");
|
||||||
break;
|
break;
|
||||||
|
@@ -4,6 +4,7 @@ import com.google.common.collect.ArrayListMultimap;
|
|||||||
import com.google.common.collect.ListMultimap;
|
import com.google.common.collect.ListMultimap;
|
||||||
import com.google.common.collect.Multimaps;
|
import com.google.common.collect.Multimaps;
|
||||||
import com.raoulvdberge.refinedstorage.RS;
|
import com.raoulvdberge.refinedstorage.RS;
|
||||||
|
import com.raoulvdberge.refinedstorage.RSKeyBindings;
|
||||||
import com.raoulvdberge.refinedstorage.api.network.grid.IItemGridHandler;
|
import com.raoulvdberge.refinedstorage.api.network.grid.IItemGridHandler;
|
||||||
import com.raoulvdberge.refinedstorage.apiimpl.network.node.NetworkNodeGrid;
|
import com.raoulvdberge.refinedstorage.apiimpl.network.node.NetworkNodeGrid;
|
||||||
import com.raoulvdberge.refinedstorage.block.GridType;
|
import com.raoulvdberge.refinedstorage.block.GridType;
|
||||||
@@ -578,7 +579,7 @@ public class GuiGrid extends GuiBase implements IGridDisplay {
|
|||||||
updateJEI();
|
updateJEI();
|
||||||
|
|
||||||
sortItems();
|
sortItems();
|
||||||
} else if (keyCode == Keyboard.KEY_TAB && (grid.getSearchBoxMode() == NetworkNodeGrid.SEARCH_BOX_MODE_NORMAL || grid.getSearchBoxMode() == NetworkNodeGrid.SEARCH_BOX_MODE_JEI_SYNCHRONIZED)) {
|
} else if (keyCode == RSKeyBindings.focusSearchBar.getKeyCode() && (grid.getSearchBoxMode() == NetworkNodeGrid.SEARCH_BOX_MODE_NORMAL || grid.getSearchBoxMode() == NetworkNodeGrid.SEARCH_BOX_MODE_JEI_SYNCHRONIZED)) {
|
||||||
searchField.setFocused(!searchField.isFocused());
|
searchField.setFocused(!searchField.isFocused());
|
||||||
} else {
|
} else {
|
||||||
super.keyTyped(character, keyCode);
|
super.keyTyped(character, keyCode);
|
||||||
|
@@ -1,9 +1,6 @@
|
|||||||
package com.raoulvdberge.refinedstorage.proxy;
|
package com.raoulvdberge.refinedstorage.proxy;
|
||||||
|
|
||||||
import com.raoulvdberge.refinedstorage.RS;
|
import com.raoulvdberge.refinedstorage.*;
|
||||||
import com.raoulvdberge.refinedstorage.RSBlocks;
|
|
||||||
import com.raoulvdberge.refinedstorage.RSItems;
|
|
||||||
import com.raoulvdberge.refinedstorage.RSUtils;
|
|
||||||
import com.raoulvdberge.refinedstorage.apiimpl.autocrafting.CraftingPattern;
|
import com.raoulvdberge.refinedstorage.apiimpl.autocrafting.CraftingPattern;
|
||||||
import com.raoulvdberge.refinedstorage.block.*;
|
import com.raoulvdberge.refinedstorage.block.*;
|
||||||
import com.raoulvdberge.refinedstorage.gui.GuiCraftingPreview;
|
import com.raoulvdberge.refinedstorage.gui.GuiCraftingPreview;
|
||||||
@@ -260,6 +257,8 @@ public class ProxyClient extends ProxyCommon {
|
|||||||
public void init(FMLInitializationEvent e) {
|
public void init(FMLInitializationEvent e) {
|
||||||
super.init(e);
|
super.init(e);
|
||||||
|
|
||||||
|
RSKeyBindings.init();
|
||||||
|
|
||||||
ItemColors itemColors = Minecraft.getMinecraft().getItemColors();
|
ItemColors itemColors = Minecraft.getMinecraft().getItemColors();
|
||||||
|
|
||||||
itemColors.registerItemColorHandler((stack, tintIndex) -> {
|
itemColors.registerItemColorHandler((stack, tintIndex) -> {
|
||||||
|
Reference in New Issue
Block a user