Renamed Inscriber Recipe Type to Inscribe.
Missing Icon now supports Items. Fixed Missing Icons for debug Items. SkyStone Chests can now be disabled. More work on Website Recipes. Removed Unused method in Network Handler.
This commit is contained in:
parent
6beaa85da6
commit
49fcc7f510
16 changed files with 111 additions and 66 deletions
|
@ -142,7 +142,7 @@ public class AEBaseBlock extends BlockContainer implements IAEFeature
|
|||
public void registerNoIcons()
|
||||
{
|
||||
BlockRenderInfo info = getRendererInstance();
|
||||
FlipableIcon i = new FlipableIcon( new MissingIcon() );
|
||||
FlipableIcon i = new FlipableIcon( new MissingIcon( this ) );
|
||||
info.updateIcons( i, i, i, i, i, i );
|
||||
}
|
||||
|
||||
|
|
|
@ -33,7 +33,7 @@ public class BlockSkyChest extends AEBaseBlock implements ICustomCollision
|
|||
|
||||
public BlockSkyChest() {
|
||||
super( BlockSkyChest.class, Material.rock );
|
||||
setfeature( EnumSet.of( AEFeature.Core ) );
|
||||
setfeature( EnumSet.of( AEFeature.Core, AEFeature.SkyStoneChests ) );
|
||||
setTileEntiy( TileSkyChest.class );
|
||||
isOpaque = isFullSize = false;
|
||||
lightOpacity = 0;
|
||||
|
|
|
@ -1,62 +1,80 @@
|
|||
package appeng.client.texture;
|
||||
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.renderer.texture.TextureMap;
|
||||
import net.minecraft.util.IIcon;
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
|
||||
public class MissingIcon implements IIcon
|
||||
{
|
||||
|
||||
boolean isBlock;
|
||||
|
||||
public MissingIcon(Object forWhat) {
|
||||
isBlock = forWhat instanceof Block;
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
public IIcon getMissing()
|
||||
{
|
||||
return ((TextureMap) Minecraft.getMinecraft().getTextureManager()
|
||||
.getTexture( isBlock ? TextureMap.locationBlocksTexture : TextureMap.locationItemsTexture )).getAtlasSprite( "missingno" );
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getIconWidth()
|
||||
{
|
||||
return ExtraTextures.getMissing().getIconWidth();
|
||||
return getMissing().getIconWidth();
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getIconHeight()
|
||||
{
|
||||
return ExtraTextures.getMissing().getIconHeight();
|
||||
return getMissing().getIconHeight();
|
||||
}
|
||||
|
||||
@Override
|
||||
public float getMinU()
|
||||
{
|
||||
return ExtraTextures.getMissing().getMinU();
|
||||
return getMissing().getMinU();
|
||||
}
|
||||
|
||||
@Override
|
||||
public float getMaxU()
|
||||
{
|
||||
return ExtraTextures.getMissing().getMaxU();
|
||||
return getMissing().getMaxU();
|
||||
}
|
||||
|
||||
@Override
|
||||
public float getInterpolatedU(double var1)
|
||||
{
|
||||
return ExtraTextures.getMissing().getInterpolatedU( var1 );
|
||||
return getMissing().getInterpolatedU( var1 );
|
||||
}
|
||||
|
||||
@Override
|
||||
public float getMinV()
|
||||
{
|
||||
return ExtraTextures.getMissing().getMinV();
|
||||
return getMissing().getMinV();
|
||||
}
|
||||
|
||||
@Override
|
||||
public float getMaxV()
|
||||
{
|
||||
return ExtraTextures.getMissing().getMaxV();
|
||||
return getMissing().getMaxV();
|
||||
}
|
||||
|
||||
@Override
|
||||
public float getInterpolatedV(double var1)
|
||||
{
|
||||
return ExtraTextures.getMissing().getInterpolatedV( var1 );
|
||||
return getMissing().getInterpolatedV( var1 );
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getIconName()
|
||||
{
|
||||
return ExtraTextures.getMissing().getIconName();
|
||||
return getMissing().getIconName();
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -17,7 +17,7 @@ import appeng.api.implementations.items.ISpatialStorageCell;
|
|||
import appeng.api.implementations.items.IStorageComponent;
|
||||
import appeng.api.implementations.items.IUpgradeModule;
|
||||
import appeng.api.storage.ICellWorkbenchItem;
|
||||
import appeng.recipes.handlers.Inscriber;
|
||||
import appeng.recipes.handlers.Inscribe;
|
||||
import appeng.util.Platform;
|
||||
|
||||
public class SlotRestrictedInput extends AppEngSlot
|
||||
|
@ -140,7 +140,7 @@ public class SlotRestrictedInput extends AppEngSlot
|
|||
|
||||
case INSCRIBER_PLATE:
|
||||
|
||||
for (ItemStack is : Inscriber.plates)
|
||||
for (ItemStack is : Inscribe.plates)
|
||||
if ( Platform.isSameItemPrecise( is, i ) )
|
||||
return true;
|
||||
|
||||
|
@ -148,7 +148,7 @@ public class SlotRestrictedInput extends AppEngSlot
|
|||
|
||||
case INSCRIBER_INPUT:
|
||||
|
||||
for (ItemStack is : Inscriber.inputs)
|
||||
for (ItemStack is : Inscribe.inputs)
|
||||
if ( Platform.isSameItemPrecise( is, i ) )
|
||||
return true;
|
||||
|
||||
|
|
|
@ -128,7 +128,7 @@ import appeng.recipes.RecipeHandler;
|
|||
import appeng.recipes.game.ShapedRecipe;
|
||||
import appeng.recipes.game.ShapelessRecipe;
|
||||
import appeng.recipes.handlers.Grind;
|
||||
import appeng.recipes.handlers.Inscriber;
|
||||
import appeng.recipes.handlers.Inscribe;
|
||||
import appeng.recipes.handlers.Macerator;
|
||||
import appeng.recipes.handlers.Pulverizer;
|
||||
import appeng.recipes.handlers.Shaped;
|
||||
|
@ -178,7 +178,7 @@ public class Registration
|
|||
recipeRegistery.addNewCraftHandler( "macerator", Macerator.class );
|
||||
|
||||
recipeRegistery.addNewCraftHandler( "smelt", Smelt.class );
|
||||
recipeRegistery.addNewCraftHandler( "inscriber", Inscriber.class );
|
||||
recipeRegistery.addNewCraftHandler( "inscribe", Inscribe.class );
|
||||
|
||||
recipeRegistery.addNewCraftHandler( "shaped", Shaped.class );
|
||||
recipeRegistery.addNewCraftHandler( "shapeless", Shapeless.class );
|
||||
|
|
|
@ -8,7 +8,7 @@ public enum AEFeature
|
|||
|
||||
CertusQuartzWorldGen("World"), MeteoriteWorldGen("World"),
|
||||
|
||||
DecorativeLights("World"), DecorativeQuartzBlocks("World"),
|
||||
DecorativeLights("World"), DecorativeQuartzBlocks("World"), SkyStoneChests("World"),
|
||||
|
||||
GrindStone("World"), Flour("World"), Inscriber("World"),
|
||||
|
||||
|
@ -48,7 +48,7 @@ public enum AEFeature
|
|||
|
||||
DuplicateItems("Misc", false), Profiler("Services", false), VersionChecker("Services"), Debug("Misc", false), Creative("Misc"),
|
||||
|
||||
Logging("Misc"), IntegrationLogging("Misc", false), CustomRecipes("Crafting", false), WebsiteRecipes("Misc",false),
|
||||
Logging("Misc"), IntegrationLogging("Misc", false), CustomRecipes("Crafting", false), WebsiteRecipes("Misc", false),
|
||||
|
||||
inWorldSingularity("Crafting"), inWorldFluix("Crafting"), inWorldPurification("Crafting");
|
||||
|
||||
|
|
|
@ -9,8 +9,8 @@ import net.minecraft.tileentity.TileEntity;
|
|||
import appeng.api.util.AEItemDefinition;
|
||||
import appeng.block.AEBaseBlock;
|
||||
import appeng.block.AEBaseItemBlock;
|
||||
import appeng.core.CommonHelper;
|
||||
import appeng.core.AEConfig;
|
||||
import appeng.core.CommonHelper;
|
||||
import appeng.core.CreativeTab;
|
||||
import appeng.core.CreativeTabFacade;
|
||||
import appeng.items.parts.ItemFacade;
|
||||
|
@ -141,6 +141,8 @@ public class AEFeatureHandler implements AEItemDefinition
|
|||
@Override
|
||||
public Item item()
|
||||
{
|
||||
if ( ItemData == null && BlockData != null )
|
||||
return Item.getItemFromBlock( BlockData );
|
||||
return ItemData;
|
||||
}
|
||||
|
||||
|
|
|
@ -9,11 +9,8 @@ import cpw.mods.fml.common.eventhandler.SubscribeEvent;
|
|||
import cpw.mods.fml.common.gameevent.PlayerEvent.PlayerLoggedInEvent;
|
||||
import cpw.mods.fml.common.network.FMLEventChannel;
|
||||
import cpw.mods.fml.common.network.FMLNetworkEvent.ClientCustomPacketEvent;
|
||||
import cpw.mods.fml.common.network.FMLNetworkEvent.CustomNetworkEvent;
|
||||
import cpw.mods.fml.common.network.FMLNetworkEvent.ServerCustomPacketEvent;
|
||||
import cpw.mods.fml.common.network.NetworkHandshakeEstablished;
|
||||
import cpw.mods.fml.common.network.NetworkRegistry;
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
|
||||
public class NetworkHandler
|
||||
{
|
||||
|
@ -59,21 +56,6 @@ public class NetworkHandler
|
|||
}
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
public void newConection(CustomNetworkEvent cctse)
|
||||
{
|
||||
if ( cctse.wrappedEvent instanceof NetworkHandshakeEstablished )
|
||||
{
|
||||
NetworkHandshakeEstablished nhe = (NetworkHandshakeEstablished) cctse.wrappedEvent;
|
||||
if ( nhe.side == Side.SERVER && nhe.netHandler instanceof NetHandlerPlayServer )
|
||||
{
|
||||
NetHandlerPlayServer srv = (NetHandlerPlayServer) nhe.netHandler;
|
||||
// WorldSettings.getInstance().sendToPlayer( srv.playerEntity );
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
public void newConection(PlayerLoggedInEvent loginEvent)
|
||||
{
|
||||
|
|
|
@ -5,10 +5,12 @@ import java.util.LinkedList;
|
|||
import java.util.List;
|
||||
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.client.renderer.texture.IIconRegister;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.world.World;
|
||||
import appeng.api.util.WorldCoord;
|
||||
import appeng.client.texture.MissingIcon;
|
||||
import appeng.core.AELog;
|
||||
import appeng.core.features.AEFeature;
|
||||
import appeng.items.AEBaseItem;
|
||||
|
@ -72,4 +74,10 @@ public class ToolEraser extends AEBaseItem
|
|||
next.add( new WorldCoord( i, y, z ) );
|
||||
}
|
||||
|
||||
@Override
|
||||
public void registerIcons(IIconRegister par1IconRegister)
|
||||
{
|
||||
itemIcon = new MissingIcon( this );
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -2,10 +2,12 @@ package appeng.debug;
|
|||
|
||||
import java.util.EnumSet;
|
||||
|
||||
import net.minecraft.client.renderer.texture.IIconRegister;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.util.ChatComponentText;
|
||||
import net.minecraft.world.World;
|
||||
import appeng.client.texture.MissingIcon;
|
||||
import appeng.core.features.AEFeature;
|
||||
import appeng.helpers.MeteoritePlacer;
|
||||
import appeng.items.AEBaseItem;
|
||||
|
@ -34,4 +36,10 @@ public class ToolMeteoritePlacer extends AEBaseItem
|
|||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void registerIcons(IIconRegister par1IconRegister)
|
||||
{
|
||||
itemIcon = new MissingIcon( this );
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -196,14 +196,38 @@ public class RecipeHandler implements IRecipeHandler
|
|||
UniqueIdentifier id = GameRegistry.findUniqueIdentifierFor( is.getItem() );
|
||||
String realName = id.modId + ":" + id.name;
|
||||
|
||||
AELog.info( realName );
|
||||
|
||||
if ( is.getItem() instanceof ItemMaterial )
|
||||
realName += ":" + ((ItemMaterial) is.getItem()).getTypeByStack( is ).name();
|
||||
if ( is.getItem() == AEApi.instance().blocks().blockSkyStone.item() )
|
||||
{
|
||||
switch (is.getItemDamage())
|
||||
{
|
||||
case 1:
|
||||
realName += ".Block";
|
||||
break;
|
||||
case 2:
|
||||
realName += ".Brick";
|
||||
break;
|
||||
case 3:
|
||||
realName += ".SmallBrick";
|
||||
break;
|
||||
default:
|
||||
}
|
||||
}
|
||||
else if ( is.getItem() == AEApi.instance().blocks().blockSkyChest.item() )
|
||||
{
|
||||
switch (is.getItemDamage())
|
||||
{
|
||||
case 1:
|
||||
realName += ".Block";
|
||||
break;
|
||||
default:
|
||||
}
|
||||
}
|
||||
else if ( is.getItem() instanceof ItemMaterial )
|
||||
realName += "." + ((ItemMaterial) is.getItem()).getTypeByStack( is ).name();
|
||||
else if ( is.getItem() instanceof ItemPart )
|
||||
realName += ":" + ((ItemPart) is.getItem()).getTypeByStack( is ).name();
|
||||
realName += "." + ((ItemPart) is.getItem()).getTypeByStack( is ).name();
|
||||
else if ( is.getItemDamage() > 0 )
|
||||
realName += ":" + is.getItemDamage();
|
||||
realName += "." + is.getItemDamage();
|
||||
|
||||
return realName;
|
||||
|
||||
|
|
|
@ -12,7 +12,7 @@ import appeng.api.recipes.IIngredient;
|
|||
import appeng.recipes.RecipeHandler;
|
||||
import appeng.util.Platform;
|
||||
|
||||
public class Inscriber implements ICraftHandler, IWebsiteSeralizer
|
||||
public class Inscribe implements ICraftHandler, IWebsiteSeralizer
|
||||
{
|
||||
|
||||
public static HashSet<ItemStack> plates = new HashSet();
|
|
@ -91,27 +91,29 @@ public class Shaped implements ICraftHandler, IWebsiteSeralizer
|
|||
}
|
||||
|
||||
@Override
|
||||
public boolean canCraft(ItemStack reqOutput) throws RegistrationError, MissingIngredientError {
|
||||
return Platform.isSameItemPrecise( output.getItemStack(),reqOutput );
|
||||
public boolean canCraft(ItemStack reqOutput) throws RegistrationError, MissingIngredientError
|
||||
{
|
||||
return Platform.isSameItemPrecise( output.getItemStack(), reqOutput );
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getPattern( RecipeHandler h ) {
|
||||
String o = "shaped "+output.getQty()+"\n";
|
||||
public String getPattern(RecipeHandler h)
|
||||
{
|
||||
String o = "shaped " + output.getQty() + " " + cols + "x" + rows + "\n";
|
||||
|
||||
o += h.getName(output)+"\n";
|
||||
o += h.getName( output ) + "\n";
|
||||
|
||||
for ( int y = 0; y < rows; y++ )
|
||||
for ( int x= 0; x< cols; x++ )
|
||||
{
|
||||
IIngredient i = inputs.get(y).get(x);
|
||||
if ( i.isAir() )
|
||||
o += "air"+( x +1 == cols ? "\n" : " " );
|
||||
else
|
||||
o += h.getName(i)+( x +1 == cols ? "\n" : " " );
|
||||
}
|
||||
for (int y = 0; y < rows; y++)
|
||||
for (int x = 0; x < cols; x++)
|
||||
{
|
||||
IIngredient i = inputs.get( y ).get( x );
|
||||
|
||||
if ( i.isAir() )
|
||||
o += "air" + (x + 1 == cols ? "\n" : " ");
|
||||
else
|
||||
o += h.getName( i ) + (x + 1 == cols ? "\n" : " ");
|
||||
}
|
||||
|
||||
return o.trim();
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -56,7 +56,7 @@ public class Smelt implements ICraftHandler, IWebsiteSeralizer
|
|||
@Override
|
||||
public String getPattern( RecipeHandler h ) {
|
||||
return "smelt "+out.getQty()+"\n"+
|
||||
h.getName(in)+"\n"+
|
||||
h.getName(out);
|
||||
h.getName(out)+"\n"+
|
||||
h.getName(in);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -282,6 +282,7 @@ public class AEBaseTile extends TileEntity implements IOrientable, ICommonTile
|
|||
renderFragment = renderFragment | 1;
|
||||
else
|
||||
{
|
||||
// TODO: Optimize Network Load
|
||||
if ( worldObj != null )
|
||||
worldObj.markBlockForUpdate( xCoord, yCoord, zCoord );
|
||||
}
|
||||
|
|
|
@ -10,7 +10,7 @@ import net.minecraft.item.ItemStack;
|
|||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraftforge.common.util.ForgeDirection;
|
||||
import appeng.api.util.AECableType;
|
||||
import appeng.recipes.handlers.Inscriber;
|
||||
import appeng.recipes.handlers.Inscribe;
|
||||
import appeng.tile.events.AETileEventHandler;
|
||||
import appeng.tile.events.TileEventType;
|
||||
import appeng.tile.grid.AENetworkPowerTile;
|
||||
|
@ -145,14 +145,14 @@ public class TileInscriber extends AENetworkPowerTile
|
|||
{
|
||||
if ( i == 0 || i == 1 )
|
||||
{
|
||||
for (ItemStack s : Inscriber.plates)
|
||||
for (ItemStack s : Inscribe.plates)
|
||||
if ( Platform.isSameItemPrecise( s, itemstack ) )
|
||||
return true;
|
||||
}
|
||||
|
||||
if ( i == 2 )
|
||||
{
|
||||
for (ItemStack s : Inscriber.inputs)
|
||||
for (ItemStack s : Inscribe.inputs)
|
||||
if ( Platform.isSameItemPrecise( s, itemstack ) )
|
||||
return true;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue