Essentia transformation bug (OP) Arcane terminal
R60D opened this issue ยท 2 comments
GTNewHorizons/GT-New-Horizons-Modpack#3848
version of Thaumic Energistics (thaumicenergistics-1.1.3.0)
What I suspect is happening, is the check isItemEqual
is not a robust enough check
Call chain:
public void onClientRequestExtract
https://github.com/Nividica/ThaumicEnergistics/blob/AE2-RV3/src/main/java/thaumicenergistics/common/container/ContainerPartArcaneCraftingTerminal.java#L1226
switch ( mouseButton )
case ThEGuiHelper.MOUSE_BUTTON_LEFT:
if( isShiftHeld )
targetSlot = this.locateMergeSlot( requestStack );
public final Slot locateMergeSlot
https://github.com/Nividica/ThaumicEnergistics/blob/AE2-RV3/src/main/java/thaumicenergistics/common/container/ContainerWithPlayerInventory.java#L304
for( Slot slot : this.playerSlots )
if( slot.getHasStack() )
ItemStack slotStack = slot.getStack();
if( ( slotStack.stackSize < slotStack.getMaxStackSize() ) && slotStack.isItemEqual( stack ) )
return slot;
An additional check should be something along the lines of
if(
// Slot has room for more
( slotStack.stackSize < slotStack.getMaxStackSize() )
// Same item
&& slotStack.isItemEqual( stack )
// Neither has NBT, or NBTs are equal
&& (
(!stack.hasTagCompound() && !slotStack.hasTagCompound() )
|| ItemStack.areItemStackTagsEqual(stack, slotStack)
)
){
There may be additional considerations for items with NBT