Permalink
Browse files

Merge master into palette-improvements

  • Loading branch information...
Lignum committed Sep 10, 2017
2 parents 7c9dcc4 + 88b1124 commit cc64f084d74ad686c179a374149fd422ab7f0a94
Showing with 884 additions and 699 deletions.
  1. +2 −2 build.gradle
  2. +12 −9 src/main/java/dan200/computercraft/ComputerCraft.java
  3. +2 −2 src/main/java/dan200/computercraft/api/pocket/IPocketUpgrade.java
  4. +2 −2 src/main/java/dan200/computercraft/api/turtle/ITurtleUpgrade.java
  5. +14 −0 src/main/java/dan200/computercraft/client/gui/GuiConfigCC.java
  6. +4 −2 src/main/java/dan200/computercraft/client/gui/widgets/Widget.java
  7. +3 −3 src/main/java/dan200/computercraft/client/proxy/ComputerCraftProxyClient.java
  8. +1 −1 src/main/java/dan200/computercraft/client/render/TurtleSmartItemModel.java
  9. +0 −1 src/main/java/dan200/computercraft/core/apis/http/HTTPRequest.java
  10. +15 −20 src/main/java/dan200/computercraft/shared/common/BlockGeneric.java
  11. +14 −14 src/main/java/dan200/computercraft/shared/common/ColourableRecipe.java
  12. +10 −10 src/main/java/dan200/computercraft/shared/common/TileGeneric.java
  13. +2 −2 src/main/java/dan200/computercraft/shared/computer/blocks/BlockCommandComputer.java
  14. +2 −2 src/main/java/dan200/computercraft/shared/computer/blocks/BlockComputer.java
  15. +4 −4 src/main/java/dan200/computercraft/shared/computer/blocks/TileCommandComputer.java
  16. +1 −1 src/main/java/dan200/computercraft/shared/computer/blocks/TileComputer.java
  17. +24 −24 src/main/java/dan200/computercraft/shared/computer/blocks/TileComputerBase.java
  18. +1 −1 src/main/java/dan200/computercraft/shared/computer/core/ClientComputer.java
  19. +5 −1 src/main/java/dan200/computercraft/shared/computer/items/ComputerItemFactory.java
  20. +5 −3 src/main/java/dan200/computercraft/shared/computer/items/IComputerItem.java
  21. +3 −3 src/main/java/dan200/computercraft/shared/computer/items/ItemCommandComputer.java
  22. +6 −6 src/main/java/dan200/computercraft/shared/computer/items/ItemComputer.java
  23. +2 −2 src/main/java/dan200/computercraft/shared/computer/items/ItemComputerBase.java
  24. +2 −1 src/main/java/dan200/computercraft/shared/media/inventory/ContainerHeldItem.java
  25. +6 −3 src/main/java/dan200/computercraft/shared/media/items/ItemDiskExpanded.java
  26. +9 −7 src/main/java/dan200/computercraft/shared/media/items/ItemDiskLegacy.java
  27. +15 −10 src/main/java/dan200/computercraft/shared/media/items/ItemPrintout.java
  28. +7 −6 src/main/java/dan200/computercraft/shared/media/items/ItemTreasureDisk.java
  29. +12 −8 src/main/java/dan200/computercraft/shared/media/recipes/DiskRecipe.java
  30. +13 −9 src/main/java/dan200/computercraft/shared/media/recipes/PrintoutRecipe.java
  31. +2 −2 src/main/java/dan200/computercraft/shared/peripheral/common/BlockPeripheral.java
  32. +3 −1 src/main/java/dan200/computercraft/shared/peripheral/common/IPeripheralItem.java
  33. +4 −3 src/main/java/dan200/computercraft/shared/peripheral/common/ItemAdvancedModem.java
  34. +26 −21 src/main/java/dan200/computercraft/shared/peripheral/common/ItemCable.java
  35. +4 −3 src/main/java/dan200/computercraft/shared/peripheral/common/ItemPeripheral.java
  36. +2 −2 src/main/java/dan200/computercraft/shared/peripheral/common/ItemPeripheralBase.java
  37. +5 −1 src/main/java/dan200/computercraft/shared/peripheral/common/PeripheralItemFactory.java
  38. +11 −10 src/main/java/dan200/computercraft/shared/peripheral/diskdrive/ContainerDiskDrive.java
  39. +48 −38 src/main/java/dan200/computercraft/shared/peripheral/diskdrive/TileDiskDrive.java
  40. +22 −21 src/main/java/dan200/computercraft/shared/peripheral/modem/TileCable.java
  41. +4 −4 src/main/java/dan200/computercraft/shared/peripheral/modem/TileModemBase.java
  42. +8 −7 src/main/java/dan200/computercraft/shared/peripheral/monitor/TileMonitor.java
  43. +11 −10 src/main/java/dan200/computercraft/shared/peripheral/printer/ContainerPrinter.java
  44. +73 −59 src/main/java/dan200/computercraft/shared/peripheral/printer/TilePrinter.java
  45. +13 −12 src/main/java/dan200/computercraft/shared/pocket/apis/PocketAPI.java
  46. +1 −1 src/main/java/dan200/computercraft/shared/pocket/core/PocketServerComputer.java
  47. +1 −1 src/main/java/dan200/computercraft/shared/pocket/inventory/ContainerPocketComputer.java
  48. +24 −26 src/main/java/dan200/computercraft/shared/pocket/items/ItemPocketComputer.java
  49. +4 −1 src/main/java/dan200/computercraft/shared/pocket/items/PocketComputerItemFactory.java
  50. +1 −1 src/main/java/dan200/computercraft/shared/pocket/peripherals/PocketModem.java
  51. +1 −1 src/main/java/dan200/computercraft/shared/pocket/peripherals/PocketSpeaker.java
  52. +20 −16 src/main/java/dan200/computercraft/shared/pocket/recipes/PocketComputerUpgradeRecipe.java
  53. +15 −10 src/main/java/dan200/computercraft/shared/proxy/CCTurtleProxyCommon.java
  54. +8 −7 src/main/java/dan200/computercraft/shared/proxy/ComputerCraftProxyCommon.java
  55. +4 −3 src/main/java/dan200/computercraft/shared/proxy/ICCTurtleProxy.java
  56. +2 −1 src/main/java/dan200/computercraft/shared/proxy/IComputerCraftProxy.java
  57. +6 −6 src/main/java/dan200/computercraft/shared/turtle/apis/TurtleAPI.java
  58. +2 −2 src/main/java/dan200/computercraft/shared/turtle/blocks/BlockTurtle.java
  59. +51 −41 src/main/java/dan200/computercraft/shared/turtle/blocks/TileTurtle.java
  60. +7 −6 src/main/java/dan200/computercraft/shared/turtle/core/TurtleBrain.java
  61. +9 −8 src/main/java/dan200/computercraft/shared/turtle/core/TurtleCompareCommand.java
  62. +1 −1 src/main/java/dan200/computercraft/shared/turtle/core/TurtleCraftCommand.java
  63. +3 −4 src/main/java/dan200/computercraft/shared/turtle/core/TurtleDropCommand.java
  64. +3 −4 src/main/java/dan200/computercraft/shared/turtle/core/TurtleEquipCommand.java
  65. +1 −1 src/main/java/dan200/computercraft/shared/turtle/core/TurtleMoveCommand.java
  66. +48 −30 src/main/java/dan200/computercraft/shared/turtle/core/TurtlePlaceCommand.java
  67. +13 −6 src/main/java/dan200/computercraft/shared/turtle/core/TurtlePlayer.java
  68. +6 −6 src/main/java/dan200/computercraft/shared/turtle/core/TurtleRefuelCommand.java
  69. +9 −10 src/main/java/dan200/computercraft/shared/turtle/core/TurtleSuckCommand.java
  70. +2 −2 src/main/java/dan200/computercraft/shared/turtle/core/TurtleTransferToCommand.java
  71. +6 −4 src/main/java/dan200/computercraft/shared/turtle/entity/TurtleVisionCamera.java
  72. +11 −9 src/main/java/dan200/computercraft/shared/turtle/inventory/ContainerTurtle.java
  73. +3 −0 src/main/java/dan200/computercraft/shared/turtle/items/ITurtleItem.java
  74. +5 −6 src/main/java/dan200/computercraft/shared/turtle/items/ItemTurtleBase.java
  75. +7 −5 src/main/java/dan200/computercraft/shared/turtle/items/ItemTurtleLegacy.java
  76. +7 −5 src/main/java/dan200/computercraft/shared/turtle/items/ItemTurtleNormal.java
  77. +6 −3 src/main/java/dan200/computercraft/shared/turtle/items/TurtleItemFactory.java
  78. +13 −9 src/main/java/dan200/computercraft/shared/turtle/recipes/TurtleRecipe.java
  79. +32 −28 src/main/java/dan200/computercraft/shared/turtle/recipes/TurtleUpgradeRecipe.java
  80. +2 −1 src/main/java/dan200/computercraft/shared/turtle/upgrades/TurtleCraftingTable.java
  81. +28 −22 src/main/java/dan200/computercraft/shared/turtle/upgrades/TurtleInventoryCrafting.java
  82. +2 −1 src/main/java/dan200/computercraft/shared/turtle/upgrades/TurtleModem.java
  83. +1 −0 src/main/java/dan200/computercraft/shared/turtle/upgrades/TurtleSpeaker.java
  84. +4 −3 src/main/java/dan200/computercraft/shared/turtle/upgrades/TurtleTool.java
  85. +3 −3 src/main/java/dan200/computercraft/shared/util/CreativeTabMain.java
  86. +3 −3 src/main/java/dan200/computercraft/shared/util/CreativeTabTreasure.java
  87. +1 −1 src/main/java/dan200/computercraft/shared/util/DirectionUtil.java
  88. +3 −1 src/main/java/dan200/computercraft/shared/util/IEntityDropConsumer.java
  89. +3 −2 src/main/java/dan200/computercraft/shared/util/ImpostorRecipe.java
  90. +4 −2 src/main/java/dan200/computercraft/shared/util/ImpostorShapelessRecipe.java
  91. +30 −23 src/main/java/dan200/computercraft/shared/util/InventoryUtil.java
  92. +1 −1 src/main/java/dan200/computercraft/shared/util/RedstoneUtil.java
  93. +6 −5 src/main/java/dan200/computercraft/shared/util/WorldUtil.java
  94. 0 src/main/resources/assets/computercraft/lang/{en_US.lang → en_us.lang}
  95. +8 −8 src/main/resources/assets/computercraft/lua/rom/apis/io.lua
  96. +13 −5 src/main/resources/assets/computercraft/lua/rom/apis/window.lua
  97. +5 −0 src/main/resources/assets/computercraft/lua/rom/programs/list.lua
  98. +1 −1 src/main/resources/mcmod.info
@@ -28,7 +28,7 @@ group = "dan200.computercraft"
archivesBaseName = "ComputerCraft"
minecraft {
version = "1.9.4-12.17.0.1959"
version = "1.11.2-13.20.0.2294"
runDir = "run"
replace '${version}', project.version
@@ -37,7 +37,7 @@ minecraft {
// stable_# stables are built at the discretion of the MCP team.
// Use non-default mappings at your own risk. they may not allways work.
// simply re-run your setup task after changing the mappings to update your workspace.
mappings = "snapshot_20160518"
mappings = "snapshot_20161227"
// makeObfSourceJar = false // an Srg named sources jar is made by default. uncomment this to disable.
}
@@ -58,6 +58,7 @@
import net.minecraft.server.MinecraftServer;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.EnumHand;
import net.minecraft.util.NonNullList;
import net.minecraft.util.SoundEvent;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World;
@@ -75,6 +76,7 @@
import org.apache.commons.io.IOUtils;
import org.apache.logging.log4j.Logger;
import javax.annotation.Nonnull;
import java.io.*;
import java.net.MalformedURLException;
import java.net.URISyntaxException;
@@ -96,7 +98,7 @@
)
public class ComputerCraft
{
public static final String MOD_ID = "ComputerCraft";
public static final String MOD_ID = "computercraft";
public static final String LOWER_ID = "computercraft";
// GUI IDs
@@ -364,6 +366,7 @@ public static void syncConfig() {
http_blacklist = new AddressPredicate( Config.http_blacklist.getStringList() );
disable_lua51_features = Config.disable_lua51_features.getBoolean();
default_computer_settings = Config.default_computer_settings.getString();
logPeripheralErrors = Config.logPeripheralErrors.getBoolean();
enableCommandBlock = Config.enableCommandBlock.getBoolean();
@@ -462,7 +465,7 @@ public static void playRecord( SoundEvent record, String recordInfo, World world
proxy.playRecord( record, recordInfo, world, pos );
}
public static String getRecordInfo( ItemStack recordStack )
public static String getRecordInfo( @Nonnull ItemStack recordStack )
{
return proxy.getRecordInfo( recordStack );
}
@@ -714,9 +717,9 @@ public static int getBundledRedstoneOutput( World world, BlockPos pos, EnumFacin
return combinedSignal;
}
public static IMedia getMedia( ItemStack stack )
public static IMedia getMedia( @Nonnull ItemStack stack )
{
if( stack != null )
if( !stack.isEmpty() )
{
// Try the handlers in order:
for( IMediaProvider mediaProvider : mediaProviders )
@@ -744,14 +747,14 @@ public static IPocketUpgrade getPocketUpgrade(String id) {
return pocketUpgrades.get( id );
}
public static IPocketUpgrade getPocketUpgrade( ItemStack stack )
public static IPocketUpgrade getPocketUpgrade( @Nonnull ItemStack stack )
{
if( stack == null ) return null;
if( stack.isEmpty() ) return null;
for (IPocketUpgrade upgrade : pocketUpgrades.values())
{
ItemStack craftingStack = upgrade.getCraftingItem();
if( craftingStack != null && InventoryUtil.areItemsStackable( stack, craftingStack ) )
if( !craftingStack.isEmpty() && InventoryUtil.areItemsStackable( stack, craftingStack ) )
{
return upgrade;
}
@@ -1010,12 +1013,12 @@ public static ITurtleUpgrade getTurtleUpgrade( int legacyID )
return turtleProxy.getTurtleUpgrade( legacyID );
}
public static ITurtleUpgrade getTurtleUpgrade( ItemStack item )
public static ITurtleUpgrade getTurtleUpgrade( @Nonnull ItemStack item )
{
return turtleProxy.getTurtleUpgrade( item );
}
public static void addAllUpgradedTurtles( List<ItemStack> list )
public static void addAllUpgradedTurtles( NonNullList<ItemStack> list )
{
turtleProxy.addAllUpgradedTurtles( list );
}
@@ -48,9 +48,9 @@
* pocket computer which holds this upgrade. This item stack is also used to determine the upgrade given by
* {@code pocket.equip()}/{@code pocket.unequip()}.
*
* @return The item stack used for crafting. This can be {@code null} if crafting is disabled.
* @return The item stack used for crafting. This can be {@link ItemStack#EMPTY} if crafting is disabled.
*/
@Nullable
@Nonnull
ItemStack getCraftingItem();
/**
@@ -76,9 +76,9 @@
* with to create a turtle which holds this upgrade. This item stack is also used
* to determine the upgrade given by {@code turtle.equip()}
*
* @return The item stack to craft with, or {@code null} if it cannot be crafted.
* @return The item stack to craft with, or {@link ItemStack#EMPTY} if it cannot be crafted.
*/
@Nullable
@Nonnull
ItemStack getCraftingItem();
/**
@@ -41,6 +41,19 @@ public void initialize( Minecraft minecraft )
}
@Override
public boolean hasConfigGui()
{
return true;
}
@Override
public GuiScreen createConfigGui( GuiScreen parentScreen )
{
return new GuiConfigCC( parentScreen );
}
@Override
@Deprecated
public Class<? extends GuiScreen> mainConfigGuiClass()
{
return GuiConfigCC.class;
@@ -53,6 +66,7 @@ public void initialize( Minecraft minecraft )
}
@Override
@Deprecated
public RuntimeOptionGuiHandler getHandlerFor( RuntimeOptionCategoryElement runtimeOptionCategoryElement )
{
return null;
@@ -16,6 +16,8 @@
import net.minecraft.item.ItemStack;
import org.lwjgl.opengl.GL11;
import javax.annotation.Nonnull;
public abstract class Widget extends Gui
{
private WidgetContainer m_parent;
@@ -322,9 +324,9 @@ protected void drawTooltip( String[] lines, int x, int y )
}
}
protected void drawItemStack( int x, int y, ItemStack stack )
protected void drawItemStack( int x, int y, @Nonnull ItemStack stack )
{
if( stack != null )
if( !stack.isEmpty() )
{
GlStateManager.color( 1.0f, 1.0f, 1.0f, 1.0f );
GlStateManager.enableLighting();
@@ -301,7 +301,7 @@ public Object getFixedWidthFontRenderer()
}
@Override
public String getRecordInfo( ItemStack recordStack )
public String getRecordInfo( @Nonnull ItemStack recordStack )
{
List<String> info = new ArrayList<String>( 1 );
recordStack.getItem().addInformation( recordStack, null, info, false );
@@ -351,7 +351,7 @@ public Object getTurtleGUI( InventoryPlayer inventory, TileTurtle turtle )
public Object getPrintoutGUI( EntityPlayer player, EnumHand hand )
{
ContainerHeldItem container = new ContainerHeldItem( player, hand );
if( container.getStack() != null && container.getStack().getItem() instanceof ItemPrintout )
if( container.getStack().getItem() instanceof ItemPrintout )
{
return new GuiPrintout( container );
}
@@ -362,7 +362,7 @@ public Object getPrintoutGUI( EntityPlayer player, EnumHand hand )
public Object getPocketComputerGUI( EntityPlayer player, EnumHand hand )
{
ContainerPocketComputer container = new ContainerPocketComputer( player, hand );
if( container.getStack() != null && container.getStack().getItem() instanceof ItemPocketComputer )
if( container.getStack().getItem() instanceof ItemPocketComputer )
{
return new GuiPocketComputer( container );
}
@@ -103,7 +103,7 @@ public TurtleSmartItemModel()
{
@Nonnull
@Override
public IBakedModel handleItemState( @Nonnull IBakedModel originalModel, ItemStack stack, @Nullable World world, @Nullable EntityLivingBase entity)
public IBakedModel handleItemState( @Nonnull IBakedModel originalModel, @Nonnull ItemStack stack, @Nullable World world, @Nullable EntityLivingBase entity)
{
ItemTurtleBase turtle = (ItemTurtleBase) stack.getItem();
ComputerFamily family = turtle.getFamily( stack );
@@ -141,7 +141,6 @@ public void run()
if( m_postText != null )
{
connection.setRequestProperty( "content-type", "application/x-www-form-urlencoded; charset=utf-8" );
connection.setRequestProperty( "content-encoding", "UTF-8" );
}
if( m_headers != null )
{
@@ -62,7 +62,8 @@ public final void dropBlockAsItemWithChance( World world, @Nonnull BlockPos pos,
@Nonnull
@Override
public final IBlockState onBlockPlaced( World world, BlockPos pos, EnumFacing side, float hitX, float hitY, float hitZ, int damage, EntityLivingBase placer )
@Deprecated
public final IBlockState getStateForPlacement( World world, BlockPos pos, EnumFacing side, float hitX, float hitY, float hitZ, int damage, EntityLivingBase placer )
{
return getDefaultBlockState( damage, side );
}
@@ -102,7 +103,7 @@ public final void dropAllItems( World world, BlockPos pos, boolean creative )
}
}
public final void dropItem( World world, BlockPos pos, ItemStack stack )
public final void dropItem( World world, BlockPos pos, @Nonnull ItemStack stack )
{
Block.spawnAsEntity( world, pos, stack );
}
@@ -130,17 +131,11 @@ public final ItemStack getPickBlock( @Nonnull IBlockState state, RayTraceResult
TileGeneric generic = (TileGeneric)tile;
return generic.getPickedItem();
}
return null;
}
@Override
public final ItemStack createStackedBlock( @Nonnull IBlockState state )
{
return null;
return ItemStack.EMPTY;
}
@Override
public final boolean onBlockActivated( World world, BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, ItemStack stack, EnumFacing side, float hitX, float hitY, float hitZ )
public final boolean onBlockActivated( World world, BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, EnumFacing side, float hitX, float hitY, float hitZ )
{
TileEntity tile = world.getTileEntity( pos );
if( tile != null && tile instanceof TileGeneric )
@@ -153,7 +148,7 @@ public final boolean onBlockActivated( World world, BlockPos pos, IBlockState st
@Override
@Deprecated
public final void neighborChanged( IBlockState state, World world, BlockPos pos, Block block )
public final void neighborChanged( IBlockState state, World world, BlockPos pos, Block block, BlockPos neighorPos )
{
TileEntity tile = world.getTileEntity( pos );
if( tile != null && tile instanceof TileGeneric )
@@ -187,7 +182,7 @@ public final boolean isSideSolid( IBlockState state, @Nonnull IBlockAccess world
}
@Override
public final boolean canBeReplacedByLeaves( IBlockState state, IBlockAccess world, BlockPos pos )
public final boolean canBeReplacedByLeaves( @Nonnull IBlockState state, @Nonnull IBlockAccess world, @Nonnull BlockPos pos )
{
return false; // Generify me if anyone ever feels the need to change this
}
@@ -196,7 +191,7 @@ public final boolean canBeReplacedByLeaves( IBlockState state, IBlockAccess worl
public float getExplosionResistance( World world, BlockPos pos, @Nonnull Entity exploder, Explosion explosion )
{
TileEntity tile = world.getTileEntity( pos );
if( tile != null && tile instanceof TileGeneric && tile.hasWorldObj() )
if( tile != null && tile instanceof TileGeneric && tile.hasWorld() )
{
TileGeneric generic = (TileGeneric)tile;
if( generic.isImmuneToExplosion( exploder ) )
@@ -213,7 +208,7 @@ public float getExplosionResistance( World world, BlockPos pos, @Nonnull Entity
public final AxisAlignedBB getBoundingBox( IBlockState state, IBlockAccess world, BlockPos pos )
{
TileEntity tile = world.getTileEntity( pos );
if( tile != null && tile instanceof TileGeneric && tile.hasWorldObj() )
if( tile != null && tile instanceof TileGeneric && tile.hasWorld() )
{
TileGeneric generic = (TileGeneric)tile;
return generic.getBounds();
@@ -231,10 +226,10 @@ public final AxisAlignedBB getSelectedBoundingBox( IBlockState state, @Nonnull W
@Override
@Deprecated
public final AxisAlignedBB getCollisionBoundingBox( IBlockState state, @Nonnull World world, @Nonnull BlockPos pos )
public final AxisAlignedBB getCollisionBoundingBox( IBlockState state, @Nonnull IBlockAccess world, @Nonnull BlockPos pos )
{
TileEntity tile = world.getTileEntity( pos );
if( tile != null && tile instanceof TileGeneric && tile.hasWorldObj() )
if( tile != null && tile instanceof TileGeneric && tile.hasWorld() )
{
TileGeneric generic = (TileGeneric)tile;
@@ -259,10 +254,10 @@ public final AxisAlignedBB getCollisionBoundingBox( IBlockState state, @Nonnull
@Override
@Deprecated
public final void addCollisionBoxToList( IBlockState state, @Nonnull World world, @Nonnull BlockPos pos, @Nonnull AxisAlignedBB bigBox, @Nonnull List<AxisAlignedBB> list, Entity entity )
public final void addCollisionBoxToList( IBlockState state, @Nonnull World world, @Nonnull BlockPos pos, @Nonnull AxisAlignedBB bigBox, @Nonnull List<AxisAlignedBB> list, Entity entity, boolean p_185477_7_ )
{
TileEntity tile = world.getTileEntity( pos );
if( tile != null && tile instanceof TileGeneric && tile.hasWorldObj() )
if( tile != null && tile instanceof TileGeneric && tile.hasWorld() )
{
TileGeneric generic = (TileGeneric)tile;
@@ -305,7 +300,7 @@ public final boolean canConnectRedstone( IBlockState state, IBlockAccess world,
public final int getStrongPower( IBlockState state, IBlockAccess world, BlockPos pos, EnumFacing oppositeSide )
{
TileEntity tile = world.getTileEntity( pos );
if( tile != null && tile instanceof TileGeneric && tile.hasWorldObj() )
if( tile != null && tile instanceof TileGeneric && tile.hasWorld() )
{
TileGeneric generic = (TileGeneric)tile;
return generic.getRedstoneOutput( oppositeSide.getOpposite() );
@@ -334,7 +329,7 @@ public boolean getBundledRedstoneConnectivity( World world, BlockPos pos, EnumFa
public int getBundledRedstoneOutput( World world, BlockPos pos, EnumFacing side )
{
TileEntity tile = world.getTileEntity( pos );
if( tile != null && tile instanceof TileGeneric && tile.hasWorldObj() )
if( tile != null && tile instanceof TileGeneric && tile.hasWorld() )
{
TileGeneric generic = (TileGeneric)tile;
return generic.getBundledRedstoneOutput( side );
Oops, something went wrong.

0 comments on commit cc64f08

Please sign in to comment.