mirror of
https://github.com/GTNewHorizons/ThaumicEnergistics.git
synced 2026-10-25 20:32:27 +00:00
Allow NEI to mark Aspect
This commit is contained in:
1 parent
776fa14756
commit
fa030a2def
6 files changed
+77
-7
No files matched your search
@@ -1,6 +1,8 @@
|
||||
package thaumicenergistics.client.gui;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import net.minecraft.item.ItemStack;
|
||||
import org.lwjgl.opengl.GL11;
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
@@ -204,12 +206,19 @@ public class GuiEssentiaCellWorkbench
|
||||
// Call super
|
||||
super.mouseClicked( mouseX, mouseY, mouseButton );
|
||||
|
||||
ItemStack temp = null;
|
||||
if( draggedStack != null )
|
||||
{
|
||||
temp = draggedStack.copy();
|
||||
draggedStack = null;
|
||||
}
|
||||
|
||||
for( SimpleAspectWidget partitionWidget : this.partitionWidgets )
|
||||
{
|
||||
if( partitionWidget.isMouseOverWidget( mouseX, mouseY ) )
|
||||
{
|
||||
// Get the aspect of the currently held item
|
||||
Aspect itemAspect = EssentiaItemContainerHelper.INSTANCE.getFilterAspectFromItem( this.player.inventory.getItemStack() );
|
||||
Aspect itemAspect = EssentiaItemContainerHelper.INSTANCE.getFilterAspectFromItem(temp == null ? this.player.inventory.getItemStack() : temp);
|
||||
|
||||
// Get the aspect of the widget
|
||||
Aspect widgetAspect = partitionWidget.getAspect();
|
||||
|
||||
@@ -2,6 +2,8 @@ package thaumicenergistics.client.gui;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import net.minecraft.item.ItemStack;
|
||||
import org.lwjgl.opengl.GL11;
|
||||
import appeng.api.config.RedstoneMode;
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
@@ -284,6 +286,13 @@ public class GuiEssentiaIO
|
||||
// Call super
|
||||
super.mouseClicked( mouseX, mouseY, mouseButton );
|
||||
|
||||
ItemStack temp = null;
|
||||
if( draggedStack != null )
|
||||
{
|
||||
temp = draggedStack.copy();
|
||||
draggedStack = null;
|
||||
}
|
||||
|
||||
// Loop over all widgets
|
||||
for( WidgetAspectSlot aspectSlot : this.aspectSlotList )
|
||||
{
|
||||
@@ -291,7 +300,7 @@ public class GuiEssentiaIO
|
||||
if( aspectSlot.isMouseOverWidget( mouseX, mouseY ) )
|
||||
{
|
||||
// Get the aspect of the currently held item
|
||||
Aspect itemAspect = EssentiaItemContainerHelper.INSTANCE.getFilterAspectFromItem( this.player.inventory.getItemStack() );
|
||||
Aspect itemAspect = EssentiaItemContainerHelper.INSTANCE.getFilterAspectFromItem(temp == null ? this.player.inventory.getItemStack() : temp);
|
||||
|
||||
// Is there an aspect?
|
||||
if( itemAspect != null )
|
||||
|
||||
@@ -2,6 +2,8 @@ package thaumicenergistics.client.gui;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import net.minecraft.item.ItemStack;
|
||||
import org.lwjgl.opengl.GL11;
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
@@ -232,12 +234,19 @@ public class GuiEssentiaStorageBus
|
||||
// Call super
|
||||
super.mouseClicked( mouseX, mouseY, mouseButton );
|
||||
|
||||
ItemStack temp = null;
|
||||
if( draggedStack != null )
|
||||
{
|
||||
temp = draggedStack.copy();
|
||||
draggedStack = null;
|
||||
}
|
||||
|
||||
for( WidgetAspectSlot aspectSlot : this.aspectWidgetList )
|
||||
{
|
||||
if( aspectSlot.isMouseOverWidget( mouseX, mouseY ) )
|
||||
{
|
||||
// Get the aspect of the currently held item
|
||||
Aspect itemAspect = EssentiaItemContainerHelper.INSTANCE.getFilterAspectFromItem( this.player.inventory.getItemStack() );
|
||||
Aspect itemAspect = EssentiaItemContainerHelper.INSTANCE.getFilterAspectFromItem(temp == null ? this.player.inventory.getItemStack() : temp);
|
||||
|
||||
// Is there an aspect?
|
||||
if( itemAspect != null )
|
||||
|
||||
@@ -12,6 +12,7 @@ import net.minecraft.client.gui.GuiButton;
|
||||
import net.minecraft.client.gui.inventory.GuiContainer;
|
||||
import net.minecraft.inventory.Container;
|
||||
import net.minecraft.inventory.Slot;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import thaumicenergistics.api.gui.IWidgetHost;
|
||||
import thaumicenergistics.client.gui.ThEGuiHelper;
|
||||
import thaumicenergistics.client.gui.buttons.ThEGuiButtonBase;
|
||||
@@ -39,6 +40,7 @@ public abstract class ThEBaseGui
|
||||
* Lines to draw when drawTooltip is called.
|
||||
*/
|
||||
protected final List<String> tooltip = new ArrayList<String>();
|
||||
public ItemStack draggedStack;
|
||||
|
||||
public ThEBaseGui( final Container container )
|
||||
{
|
||||
|
||||
@@ -9,6 +9,7 @@ import java.util.List;
|
||||
import appeng.util.Platform;
|
||||
import codechicken.nei.PositionedStack;
|
||||
import codechicken.nei.api.API;
|
||||
import codechicken.nei.api.INEIGuiAdapter;
|
||||
import codechicken.nei.api.IOverlayHandler;
|
||||
import codechicken.nei.api.IStackPositioner;
|
||||
import codechicken.nei.recipe.IRecipeHandler;
|
||||
@@ -19,6 +20,7 @@ import net.minecraft.nbt.CompressedStreamTools;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.nbt.NBTTagList;
|
||||
import thaumicenergistics.client.gui.GuiArcaneCraftingTerminal;
|
||||
import thaumicenergistics.client.gui.abstraction.ThEBaseGui;
|
||||
import thaumicenergistics.common.container.ContainerPartArcaneCraftingTerminal;
|
||||
import thaumicenergistics.common.items.ItemEnum;
|
||||
import thaumicenergistics.common.network.NetworkHandler;
|
||||
@@ -237,6 +239,20 @@ public class ModuleNEI
|
||||
|
||||
}
|
||||
|
||||
static class NEIGuiHandler extends INEIGuiAdapter
|
||||
{
|
||||
@Override
|
||||
public boolean handleDragNDrop(GuiContainer gui, int mousex, int mousey, ItemStack draggedStack, int button)
|
||||
{
|
||||
if (gui instanceof ThEBaseGui && draggedStack !=null && draggedStack.getItem() !=null )
|
||||
{
|
||||
((ThEBaseGui)gui).draggedStack = draggedStack;
|
||||
}
|
||||
|
||||
return super.handleDragNDrop(gui, mousex, mousey, draggedStack, button);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Starting X offset for slots in NEI
|
||||
*/
|
||||
@@ -266,8 +282,9 @@ public class ModuleNEI
|
||||
// Register the handlers
|
||||
API.registerGuiOverlayHandler( thaumicenergistics.client.gui.GuiArcaneCraftingTerminal.class, craftingOverlayHandler, "crafting" );
|
||||
API.registerGuiOverlayHandler( thaumicenergistics.client.gui.GuiArcaneCraftingTerminal.class, arcaneOverlayHandler, "arcaneshapedrecipes" );
|
||||
API.registerGuiOverlayHandler( thaumicenergistics.client.gui.GuiArcaneCraftingTerminal.class, arcaneOverlayHandler,
|
||||
"arcaneshapelessrecipes" );
|
||||
API.registerGuiOverlayHandler( thaumicenergistics.client.gui.GuiArcaneCraftingTerminal.class, arcaneOverlayHandler, "arcaneshapelessrecipes" );
|
||||
|
||||
API.registerNEIGuiHandler(new NEIGuiHandler());
|
||||
|
||||
// Hide the crafting aspect item
|
||||
API.hideItem( ItemEnum.CRAFTING_ASPECT.getStack() );
|
||||
|
||||
+26
-2
@@ -1,5 +1,6 @@
|
||||
package thaumicenergistics.common.integration.tc;
|
||||
|
||||
import com.djgiannuzz.thaumcraftneiplugin.items.ItemAspect;
|
||||
import org.apache.commons.lang3.tuple.ImmutablePair;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemStack;
|
||||
@@ -57,7 +58,12 @@ public final class EssentiaItemContainerHelper
|
||||
/**
|
||||
* Wispy Essence.
|
||||
*/
|
||||
WispEssence;
|
||||
WispEssence,
|
||||
|
||||
/**
|
||||
* thaumcraftneiplugin.items.ItemAspect
|
||||
*/
|
||||
ItemAspect;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -555,6 +561,9 @@ public final class EssentiaItemContainerHelper
|
||||
case WispEssence:
|
||||
return this.getAspectFromAnyContainerItem( itemStack );
|
||||
|
||||
case ItemAspect:
|
||||
return this.getAspectFromItemAspect(itemStack);
|
||||
|
||||
case Invalid:
|
||||
break;
|
||||
|
||||
@@ -608,7 +617,11 @@ public final class EssentiaItemContainerHelper
|
||||
{
|
||||
return AspectItemType.JarLabel;
|
||||
}
|
||||
|
||||
//ItemAspect?
|
||||
if( item instanceof ItemAspect )
|
||||
{
|
||||
return AspectItemType.ItemAspect;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -929,4 +942,15 @@ public final class EssentiaItemContainerHelper
|
||||
rLabel.setAspects( label, aspects );
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the aspect of the ItemAspect.
|
||||
*
|
||||
* @param itemStack
|
||||
* @return
|
||||
*/
|
||||
public Aspect getAspectFromItemAspect(ItemStack itemStack){
|
||||
return ItemAspect.getAspects(itemStack).getAspects()[0];
|
||||
}
|
||||
|
||||
}
|
||||
Reference in new issue
Block a user