Fixed Bug: #0432 - Weird Inventory behavior in Quartz Cutting Knife

Removed logging from Migration Items.
Improved logging for http://openeye.openmods.info/crashes/42defba4fcc4c4571a45edaaba3af4c3
Improved logging for http://openeye.openmods.info/crashes/cbda180edb2fba39c4fe27a7f5266fec
This commit is contained in:
AlgorithmX2 2014-05-14 10:55:45 -05:00
parent f87e7a4ee8
commit 9ba1b133d7
5 changed files with 37 additions and 28 deletions

View file

@ -151,7 +151,7 @@ public class ContainerQuartzKnife extends AEBaseContainer implements IAEAppEngIn
@Override
public void setInventorySlotContents(int var1, ItemStack var2)
{
if ( var2 == null )
if ( var2 == null && Platform.isServer() )
makePlate();
}

View file

@ -17,6 +17,7 @@ import appeng.api.implementations.items.IItemGroup;
import appeng.api.parts.IPart;
import appeng.api.parts.IPartItem;
import appeng.core.AEConfig;
import appeng.core.AELog;
import appeng.core.features.AEFeature;
import appeng.core.features.AEFeatureHandler;
import appeng.core.features.ItemStackSrc;
@ -60,6 +61,7 @@ public class ItemMultiPart extends AEBaseItem implements IPartItem, IItemGroup
}
catch (Throwable e)
{
AELog.integration(e);
return null; // part not supported..
}

View file

@ -80,36 +80,43 @@ public class NetworkEventBus
return;
readClasses.add( c );
for (Method m : c.getMethods())
try
{
MENetworkEventSubscribe s = m.getAnnotation( MENetworkEventSubscribe.class );
if ( s != null )
for (Method m : c.getMethods())
{
Class types[] = m.getParameterTypes();
if ( types.length == 1 )
MENetworkEventSubscribe s = m.getAnnotation( MENetworkEventSubscribe.class );
if ( s != null )
{
if ( MENetworkEvent.class.isAssignableFrom( types[0] ) )
Class types[] = m.getParameterTypes();
if ( types.length == 1 )
{
Hashtable<Class, MENetworkEventInfo> classEvents = events.get( types[0] );
if ( classEvents == null )
events.put( types[0], classEvents = new Hashtable() );
MENetworkEventInfo thisEvent = classEvents.get( listAs );
if ( thisEvent == null )
thisEvent = new MENetworkEventInfo();
thisEvent.Add( types[0], c, m );
classEvents.put( listAs, thisEvent );
if ( MENetworkEvent.class.isAssignableFrom( types[0] ) )
{
Hashtable<Class, MENetworkEventInfo> classEvents = events.get( types[0] );
if ( classEvents == null )
events.put( types[0], classEvents = new Hashtable() );
MENetworkEventInfo thisEvent = classEvents.get( listAs );
if ( thisEvent == null )
thisEvent = new MENetworkEventInfo();
thisEvent.Add( types[0], c, m );
classEvents.put( listAs, thisEvent );
}
else
throw new RuntimeException( "Invalid ME Network Event Subscriber, " + m.getName() + "s Parameter must extend MENetworkEvent." );
}
else
throw new RuntimeException( "Invalid ME Network Event Subscriber, " + m.getName() + "s Parameter must extend MENetworkEvent." );
throw new RuntimeException( "Invalid ME Network Event Subscriber, " + m.getName() + " must have exactly 1 parameter." );
}
else
throw new RuntimeException( "Invalid ME Network Event Subscriber, " + m.getName() + " must have exactly 1 parameter." );
}
}
catch(Throwable t )
{
throw new RuntimeException( "Error while adding "+c.getName()+" to event bus", t );
}
}

View file

@ -18,6 +18,7 @@ import appeng.api.implementations.items.IItemGroup;
import appeng.api.parts.IPart;
import appeng.api.parts.IPartItem;
import appeng.core.AEConfig;
import appeng.core.AELog;
import appeng.core.features.AEFeature;
import appeng.core.features.ItemStackSrc;
import appeng.core.localization.GuiText;
@ -74,7 +75,7 @@ public class OldItemPart extends AEBaseItem implements IPartItem, IItemGroup, II
}
catch (Throwable e)
{
e.printStackTrace();
AELog.integration(e);
return null; // part not supported..
}

View file

@ -2,8 +2,9 @@ package appeng.util.item;
import io.netty.buffer.ByteBuf;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.DataInput;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.util.List;
@ -18,8 +19,6 @@ import appeng.api.storage.data.IAEItemStack;
import appeng.api.storage.data.IAETagCompound;
import appeng.util.Platform;
import com.google.common.io.ByteStreams;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
@ -329,8 +328,8 @@ public final class AEItemStack extends AEStack<IAEItemStack> implements IAEItemS
byte[] bd = new byte[len];
data.readBytes( bd );
DataInput di = ByteStreams.newDataInput( bd );
d.setTag( "tag", CompressedStreamTools.read( di ) );
ByteArrayInputStream di = new ByteArrayInputStream( bd );
d.setTag( "tag", CompressedStreamTools.read( new DataInputStream( di) ) );
}
// long priority = getPacketValue( PriorityType, data );