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 @Override
public void setInventorySlotContents(int var1, ItemStack var2) public void setInventorySlotContents(int var1, ItemStack var2)
{ {
if ( var2 == null ) if ( var2 == null && Platform.isServer() )
makePlate(); makePlate();
} }

View file

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

View file

@ -80,36 +80,43 @@ public class NetworkEventBus
return; return;
readClasses.add( c ); readClasses.add( c );
for (Method m : c.getMethods()) try
{ {
MENetworkEventSubscribe s = m.getAnnotation( MENetworkEventSubscribe.class ); for (Method m : c.getMethods())
if ( s != null )
{ {
Class types[] = m.getParameterTypes(); MENetworkEventSubscribe s = m.getAnnotation( MENetworkEventSubscribe.class );
if ( types.length == 1 ) if ( s != null )
{ {
if ( MENetworkEvent.class.isAssignableFrom( types[0] ) ) Class types[] = m.getParameterTypes();
if ( types.length == 1 )
{ {
if ( MENetworkEvent.class.isAssignableFrom( types[0] ) )
{
Hashtable<Class, MENetworkEventInfo> classEvents = events.get( types[0] ); Hashtable<Class, MENetworkEventInfo> classEvents = events.get( types[0] );
if ( classEvents == null ) if ( classEvents == null )
events.put( types[0], classEvents = new Hashtable() ); events.put( types[0], classEvents = new Hashtable() );
MENetworkEventInfo thisEvent = classEvents.get( listAs ); MENetworkEventInfo thisEvent = classEvents.get( listAs );
if ( thisEvent == null ) if ( thisEvent == null )
thisEvent = new MENetworkEventInfo(); thisEvent = new MENetworkEventInfo();
thisEvent.Add( types[0], c, m ); thisEvent.Add( types[0], c, m );
classEvents.put( listAs, thisEvent ); classEvents.put( listAs, thisEvent );
}
else
throw new RuntimeException( "Invalid ME Network Event Subscriber, " + m.getName() + "s Parameter must extend MENetworkEvent." );
} }
else 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.IPart;
import appeng.api.parts.IPartItem; import appeng.api.parts.IPartItem;
import appeng.core.AEConfig; import appeng.core.AEConfig;
import appeng.core.AELog;
import appeng.core.features.AEFeature; import appeng.core.features.AEFeature;
import appeng.core.features.ItemStackSrc; import appeng.core.features.ItemStackSrc;
import appeng.core.localization.GuiText; import appeng.core.localization.GuiText;
@ -74,7 +75,7 @@ public class OldItemPart extends AEBaseItem implements IPartItem, IItemGroup, II
} }
catch (Throwable e) catch (Throwable e)
{ {
e.printStackTrace(); AELog.integration(e);
return null; // part not supported.. return null; // part not supported..
} }

View file

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