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:
parent
f87e7a4ee8
commit
9ba1b133d7
5 changed files with 37 additions and 28 deletions
|
@ -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();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -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..
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -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 );
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -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..
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -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 );
|
||||||
|
|
Loading…
Reference in a new issue