Search in sources :

Example 41 with MovingObjectPosition

use of net.minecraft.util.MovingObjectPosition in project PneumaticCraft by MineMaarten.

the class PneumaticCraftUtils method getMouseOverServer.

public static MovingObjectPosition getMouseOverServer(EntityLivingBase lookingEntity, double range) {
    MovingObjectPosition mop = raytraceEntityBlocks(lookingEntity, range);
    double d1 = range;
    Pair<Vec3, Vec3> startAndEnd = getStartAndEndLookVec(lookingEntity, (float) range);
    Vec3 vec3 = startAndEnd.getLeft();
    if (mop != null) {
        d1 = mop.hitVec.distanceTo(vec3);
    }
    Vec3 vec31 = lookingEntity.getLookVec();
    Vec3 vec32 = startAndEnd.getRight();
    Entity pointedEntity = null;
    Vec3 vec33 = null;
    float f1 = 1.0F;
    List list = lookingEntity.worldObj.getEntitiesWithinAABBExcludingEntity(lookingEntity, lookingEntity.boundingBox.addCoord(vec31.xCoord * range, vec31.yCoord * range, vec31.zCoord * range).expand(f1, f1, f1));
    double d2 = d1;
    for (int i = 0; i < list.size(); ++i) {
        Entity entity = (Entity) list.get(i);
        if (entity.canBeCollidedWith()) {
            float f2 = entity.getCollisionBorderSize();
            AxisAlignedBB axisalignedbb = entity.boundingBox.expand(f2, f2, f2);
            MovingObjectPosition movingobjectposition = axisalignedbb.calculateIntercept(vec3, vec32);
            if (axisalignedbb.isVecInside(vec3)) {
                if (0.0D < d2 || d2 == 0.0D) {
                    pointedEntity = entity;
                    vec33 = movingobjectposition == null ? vec3 : movingobjectposition.hitVec;
                    d2 = 0.0D;
                }
            } else if (movingobjectposition != null) {
                double d3 = vec3.distanceTo(movingobjectposition.hitVec);
                if (d3 < d2 || d2 == 0.0D) {
                    if (entity == entity.ridingEntity && !entity.canRiderInteract()) {
                        if (d2 == 0.0D) {
                            pointedEntity = entity;
                            vec33 = movingobjectposition.hitVec;
                        }
                    } else {
                        pointedEntity = entity;
                        vec33 = movingobjectposition.hitVec;
                        d2 = d3;
                    }
                }
            }
        }
    }
    if (pointedEntity != null && (d2 < d1 || mop == null)) {
        mop = new MovingObjectPosition(pointedEntity, vec33);
    }
    return mop;
}
Also used : AxisAlignedBB(net.minecraft.util.AxisAlignedBB) Entity(net.minecraft.entity.Entity) TileEntity(net.minecraft.tileentity.TileEntity) MovingObjectPosition(net.minecraft.util.MovingObjectPosition) Vec3(net.minecraft.util.Vec3) List(java.util.List) ArrayList(java.util.ArrayList)

Example 42 with MovingObjectPosition

use of net.minecraft.util.MovingObjectPosition in project LogisticsPipes by RS485.

the class ProxyManager method load.

public static void load() {
    SimpleServiceLocator.setBuildCraftProxy(ProxyManager.getWrappedProxy("BuildCraft|Transport+BuildCraft|Silicon+BuildCraft|Robotics", IBCProxy.class, BuildCraftProxy.class, new IBCProxy() {

        @Override
        public void resetItemRotation() {
        }

        @Override
        public boolean isIPipeTile(TileEntity tile) {
            return false;
        }

        @Override
        public void registerPipeInformationProvider() {
        }

        @Override
        public void initProxy() {
        }

        @Override
        public boolean checkForPipeConnection(TileEntity with, ForgeDirection side, LogisticsTileGenericPipe pipe) {
            return true;
        }

        @Override
        public IConnectionOverrideResult checkConnectionOverride(TileEntity with, ForgeDirection side, LogisticsTileGenericPipe pipe) {
            return new IConnectionOverrideResult() {

                @Override
                public boolean forceConnect() {
                    return false;
                }

                @Override
                public boolean forceDisconnect() {
                    return false;
                }
            };
        }

        @Override
        public boolean canPipeConnect(TileEntity pipe, TileEntity tile, ForgeDirection direction) {
            return false;
        }

        @Override
        public boolean isActive() {
            return false;
        }

        @Override
        public boolean isInstalled() {
            return false;
        }

        @Override
        public Object getLPPipeType() {
            return null;
        }

        @Override
        public void registerTrigger() {
        }

        @Override
        public CraftingParts getRecipeParts() {
            return null;
        }

        @Override
        public void addCraftingRecipes(CraftingParts parts) {
        }

        @Override
        public Class<? extends ICraftingRecipeProvider> getAssemblyTableProviderClass() {
            return null;
        }

        @Override
        public void notifyOfChange(LogisticsTileGenericPipe logisticsTileGenericPipe, TileEntity tile, ForgeDirection o) {
        }

        @Override
        public IBCTilePart getBCTilePart(LogisticsTileGenericPipe logisticsTileGenericPipe) {
            return new IBCTilePart() {

                @Override
                public boolean hasBlockingPluggable(ForgeDirection side) {
                    return false;
                }

                @Override
                public void writeToNBT_LP(NBTTagCompound nbt) {
                }

                @Override
                public void readFromNBT_LP(NBTTagCompound nbt) {
                }

                @Override
                public boolean isSolidOnSide(ForgeDirection side) {
                    return false;
                }

                @Override
                public void invalidate_LP() {
                }

                @Override
                public void validate_LP() {
                }

                @Override
                public void updateEntity_LP() {
                }

                @Override
                public void scheduleNeighborChange() {
                }

                @Override
                public boolean hasGate(ForgeDirection orientation) {
                    return false;
                }

                @Override
                public IBCRenderState getBCRenderState() {
                    return new IBCRenderState() {

                        @Override
                        public boolean needsRenderUpdate() {
                            return false;
                        }

                        @Override
                        public boolean isDirty() {
                            return false;
                        }

                        @Override
                        public void writeData_LP(LPDataOutput output) {
                            output.writeBoolean(false);
                        }

                        @Override
                        public void readData_LP(LPDataInput input) {
                        }

                        @Override
                        public void clean() {
                        }
                    };
                }

                @Override
                public IBCPipePart getBCPipePart() {
                    return new IBCPipePart() {

                        @Override
                        public boolean canConnectRedstone() {
                            return false;
                        }

                        @Override
                        public int isPoweringTo(int l) {
                            return 0;
                        }

                        @Override
                        public int isIndirectlyPoweringTo(int l) {
                            return 0;
                        }

                        @Override
                        public Object getClientGui(InventoryPlayer inventory, int side) {
                            return null;
                        }

                        @Override
                        public Container getGateContainer(InventoryPlayer inventory, int side) {
                            return null;
                        }

                        @Override
                        public void addItemDrops(ArrayList<ItemStack> result) {
                        }

                        @Override
                        public Object getOriginal() {
                            return null;
                        }
                    };
                }

                @Override
                public IBCPluggableState getBCPlugableState() {
                    return new IBCPluggableState() {

                        @Override
                        public void writeData(LPDataOutput output) {
                        }

                        @Override
                        public void readData(LPDataInput input) {
                        }

                        @Override
                        public boolean isDirty(boolean clean) {
                            return false;
                        }
                    };
                }

                @Override
                public boolean hasEnabledFacade(ForgeDirection dir) {
                    return false;
                }

                @Override
                public IBCPipePluggable getBCPipePluggable(ForgeDirection sideHit) {
                    return new IBCPipePluggable() {

                        @Override
                        public ItemStack[] getDropItems(LogisticsTileGenericPipe container) {
                            return new ItemStack[] {};
                        }

                        @Override
                        public boolean isBlocking() {
                            return false;
                        }

                        @Override
                        public Object getOriginal() {
                            return null;
                        }

                        @Override
                        @SideOnly(Side.CLIENT)
                        public void renderPluggable(RenderBlocks renderblocks, ForgeDirection dir, int renderPass, int x, int y, int z) {
                        }

                        @Override
                        public boolean isAcceptingItems(LPTravelingItemServer arrivingItem) {
                            return false;
                        }

                        @Override
                        public LPTravelingItemServer handleItem(LPTravelingItemServer arrivingItem) {
                            return arrivingItem;
                        }
                    };
                }

                @Override
                public void readOldRedStone(NBTTagCompound nbt) {
                }

                @Override
                public void afterStateUpdated() {
                }

                @Override
                public Object getOriginal() {
                    return null;
                }

                @Override
                public boolean hasPipePluggable(ForgeDirection dir) {
                    return false;
                }

                @Override
                public void setWorldObj_LP(World world) {
                }
            };
        }

        @Override
        public IBCClickResult handleBCClickOnPipe(World world, int x, int y, int z, EntityPlayer player, int side, float xOffset, float yOffset, float zOffset, CoreUnroutedPipe pipe) {
            return new IBCClickResult() {

                @Override
                public boolean handled() {
                    return false;
                }

                @Override
                public boolean blocked() {
                    return false;
                }
            };
        }

        @Override
        public void callBCNeighborBlockChange(World world, int x, int y, int z, Block block) {
        }

        @Override
        public void callBCRemovePipe(World world, int x, int y, int z) {
        }

        @Override
        public void logWarning(String format) {
        }

        @Override
        public IBCRenderTESR getBCRenderTESR() {
            return new IBCRenderTESR() {

                @Override
                public void renderWires(LogisticsTileGenericPipe pipe, double x, double y, double z) {
                }

                @Override
                public void dynamicRenderPluggables(LogisticsTileGenericPipe pipe, double x, double y, double z) {
                }
            };
        }

        @Override
        public boolean isTileGenericPipe(TileEntity tile) {
            return false;
        }

        @Override
        public void cleanup() {
        }
    }, IBCTilePart.class, IBCPipePart.class, IBCPipePluggable.class, IBCPluggableState.class, IBCRenderState.class, IBCRenderTESR.class));
    SimpleServiceLocator.setForestryProxy(ProxyManager.getWrappedProxy("Forestry", IForestryProxy.class, ForestryProxy.class, new IForestryProxy() {

        @Override
        public boolean isBee(ItemStack item) {
            return false;
        }

        @Override
        public boolean isBee(ItemIdentifier item) {
            return false;
        }

        @Override
        public boolean isAnalysedBee(ItemStack item) {
            return false;
        }

        @Override
        public boolean isAnalysedBee(ItemIdentifier item) {
            return false;
        }

        @Override
        public boolean isTileAnalyser(TileEntity tile) {
            return false;
        }

        @Override
        public boolean isKnownAlleleId(String uid, World world) {
            return false;
        }

        @Override
        public String getAlleleName(String uid) {
            return "";
        }

        @Override
        public String getFirstAlleleId(ItemStack bee) {
            return "";
        }

        @Override
        public String getSecondAlleleId(ItemStack bee) {
            return "";
        }

        @Override
        public boolean isDrone(ItemStack bee) {
            return false;
        }

        @Override
        public boolean isFlyer(ItemStack bee) {
            return false;
        }

        @Override
        public boolean isPrincess(ItemStack bee) {
            return false;
        }

        @Override
        public boolean isQueen(ItemStack bee) {
            return false;
        }

        @Override
        public boolean isPurebred(ItemStack bee) {
            return false;
        }

        @Override
        public boolean isNocturnal(ItemStack bee) {
            return false;
        }

        @Override
        public boolean isPureNocturnal(ItemStack bee) {
            return false;
        }

        @Override
        public boolean isPureFlyer(ItemStack bee) {
            return false;
        }

        @Override
        public boolean isCave(ItemStack bee) {
            return false;
        }

        @Override
        public boolean isPureCave(ItemStack bee) {
            return false;
        }

        @Override
        public String getForestryTranslation(String input) {
            return input.substring(input.lastIndexOf(".") + 1).toLowerCase(Locale.US).replace("_", " ");
        }

        @Override
        @SideOnly(Side.CLIENT)
        public IIcon getIconIndexForAlleleId(String id, int phase) {
            return null;
        }

        @Override
        @SideOnly(Side.CLIENT)
        public int getColorForAlleleId(String id, int phase) {
            return 16777215;
        }

        @Override
        @SideOnly(Side.CLIENT)
        public int getRenderPassesForAlleleId(String id) {
            return 0;
        }

        @Override
        public void addCraftingRecipes(CraftingParts parts) {
        }

        @Override
        public String getNextAlleleId(String uid, World world) {
            return "";
        }

        @Override
        public String getPrevAlleleId(String uid, World world) {
            return "";
        }

        @Override
        @SideOnly(Side.CLIENT)
        public IIcon getIconFromTextureManager(String name) {
            return null;
        }

        @Override
        public void syncTracker(World world, EntityPlayer player) {
        }
    }));
    SimpleServiceLocator.setElectricItemProxy(ProxyManager.getWrappedProxy("IC2", IIC2Proxy.class, IC2Proxy.class, new IIC2Proxy() {

        @Override
        public boolean isElectricItem(ItemStack stack) {
            return false;
        }

        @Override
        public boolean isSimilarElectricItem(ItemStack stack, ItemStack template) {
            return false;
        }

        @Override
        public boolean isFullyCharged(ItemStack stack) {
            return false;
        }

        @Override
        public boolean isFullyDischarged(ItemStack stack) {
            return false;
        }

        @Override
        public boolean isPartiallyCharged(ItemStack stack) {
            return false;
        }

        @Override
        public void addCraftingRecipes(CraftingParts parts) {
        }

        @Override
        public boolean hasIC2() {
            return false;
        }

        @Override
        public void registerToEneryNet(TileEntity tile) {
        }

        @Override
        public void unregisterToEneryNet(TileEntity tile) {
        }

        @Override
        public boolean acceptsEnergyFrom(TileEntity tile1, TileEntity tile2, ForgeDirection opposite) {
            return false;
        }

        @Override
        public boolean isEnergySink(TileEntity tile) {
            return false;
        }

        @Override
        public double demandedEnergyUnits(TileEntity tile) {
            return 0;
        }

        @Override
        public double injectEnergyUnits(TileEntity tile, ForgeDirection opposite, double d) {
            return d;
        }
    }));
    SimpleServiceLocator.setCCProxy(ProxyManager.getWrappedProxy(LPConstants.computerCraftModID, ICCProxy.class, CCProxy.class, new ICCProxy() {

        @Override
        public boolean isTurtle(TileEntity tile) {
            return false;
        }

        @Override
        public boolean isComputer(TileEntity tile) {
            return false;
        }

        @Override
        public boolean isCC() {
            return false;
        }

        @Override
        public boolean isLuaThread(Thread thread) {
            return false;
        }

        @Override
        public void queueEvent(String event, Object[] arguments, LogisticsTileGenericPipe logisticsTileGenericPipe) {
        }

        @Override
        public void setTurtleConnect(boolean flag, LogisticsTileGenericPipe logisticsTileGenericPipe) {
        }

        @Override
        public boolean getTurtleConnect(LogisticsTileGenericPipe logisticsTileGenericPipe) {
            return false;
        }

        @Override
        public int getLastCCID(LogisticsTileGenericPipe logisticsTileGenericPipe) {
            return 0;
        }

        @Override
        public void handleMesssage(int computerId, Object message, LogisticsTileGenericPipe tile, int sourceId) {
        }

        @Override
        public void addCraftingRecipes(CraftingParts parts) {
        }

        @Override
        public Object getAnswer(Object object) {
            return object;
        }
    }));
    SimpleServiceLocator.setThaumCraftProxy(ProxyManager.getWrappedProxy("Thaumcraft", IThaumCraftProxy.class, ThaumCraftProxy.class, new IThaumCraftProxy() {

        @Override
        public boolean isScannedObject(ItemStack stack, String playerName) {
            return false;
        }

        @Override
        public List<String> getListOfTagsForStack(ItemStack stack) {
            return null;
        }

        @Override
        @SideOnly(Side.CLIENT)
        public void renderAspectsDown(ItemStack item, int x, int y, GuiScreen gui) {
        }

        @Override
        @SideOnly(Side.CLIENT)
        public void renderAspectsInGrid(List<String> eTags, int x, int y, int legnth, int width, GuiScreen gui) {
        }

        @Override
        public void addCraftingRecipes(CraftingParts parts) {
        }
    }));
    SimpleServiceLocator.setThermalExpansionProxy(ProxyManager.getWrappedProxy("ThermalExpansion", IThermalExpansionProxy.class, ThermalExpansionProxy.class, new IThermalExpansionProxy() {

        @Override
        public boolean isTesseract(TileEntity tile) {
            return false;
        }

        @Override
        public boolean isTE() {
            return false;
        }

        @Override
        public List<TileEntity> getConnectedTesseracts(TileEntity tile) {
            return new ArrayList<>(0);
        }

        @Override
        public CraftingParts getRecipeParts() {
            return null;
        }
    }));
    SimpleServiceLocator.setBetterStorageProxy(ProxyManager.getWrappedProxy("betterstorage", IBetterStorageProxy.class, BetterStorageProxy.class, new IBetterStorageProxy() {

        @Override
        public boolean isBetterStorageCrate(TileEntity tile) {
            return false;
        }

        @Override
        public ICrateStorageProxy getCrateStorageProxy(TileEntity tile) {
            return new ICrateStorageProxy() {

                @Override
                public Iterable<ItemStack> getContents() {
                    return null;
                }

                @Override
                public int getUniqueItems() {
                    return 0;
                }

                @Override
                public int getItemCount(ItemStack stack) {
                    return 0;
                }

                @Override
                public ItemStack extractItems(ItemStack stack, int count) {
                    return null;
                }

                @Override
                public int getSpaceForItem(ItemStack stack) {
                    return 0;
                }

                @Override
                public ItemStack insertItems(ItemStack stack) {
                    return stack;
                }
            };
        }
    }, ICrateStorageProxy.class));
    SimpleServiceLocator.setNEIProxy(ProxyManager.getWrappedProxy("NotEnoughItems", INEIProxy.class, NEIProxy.class, new INEIProxy() {

        @Override
        public List<String> getInfoForPosition(World world, EntityPlayer player, MovingObjectPosition objectMouseOver) {
            return new ArrayList<>(0);
        }

        @Override
        @SideOnly(Side.CLIENT)
        public boolean renderItemToolTip(int posX, int posY, List<String> msg, EnumChatFormatting rarityColor, ItemStack stack) {
            return false;
        }

        @Override
        @SideOnly(Side.CLIENT)
        public List<String> getItemToolTip(ItemStack stack, EntityPlayer thePlayer, boolean advancedItemTooltips, GuiContainer screen) {
            return stack.getTooltip(thePlayer, advancedItemTooltips);
        }

        @Override
        public ItemStack getItemForPosition(World world, EntityPlayer player, MovingObjectPosition objectMouseOver) {
            return null;
        }
    }));
    SimpleServiceLocator.setFactorizationProxy(ProxyManager.getWrappedProxy("factorization", IFactorizationProxy.class, FactorizationProxy.class, tile -> false));
    SimpleServiceLocator.setEnderIOProxy(ProxyManager.getWrappedProxy("EnderIO", IEnderIOProxy.class, EnderIOProxy.class, new IEnderIOProxy() {

        @Override
        public boolean isSendAndReceive(TileEntity tile) {
            return false;
        }

        @Override
        public boolean isHyperCube(TileEntity tile) {
            return false;
        }

        @Override
        public boolean isTransceiver(TileEntity tile) {
            return false;
        }

        @Override
        public List<TileEntity> getConnectedHyperCubes(TileEntity tile) {
            return new ArrayList<>(0);
        }

        @Override
        public List<TileEntity> getConnectedTransceivers(TileEntity tile) {
            return null;
        }

        @Override
        public boolean isEnderIO() {
            return false;
        }

        @Override
        public boolean isItemConduit(TileEntity tile, ForgeDirection dir) {
            return false;
        }

        @Override
        public boolean isFluidConduit(TileEntity tile, ForgeDirection dir) {
            return false;
        }

        @Override
        public boolean isBundledPipe(TileEntity tile) {
            return false;
        }
    }));
    SimpleServiceLocator.setIronChestProxy(ProxyManager.getWrappedProxy("IronChest", IIronChestProxy.class, IronChestProxy.class, new IIronChestProxy() {

        @Override
        public boolean isIronChest(TileEntity tile) {
            return false;
        }

        @Override
        @SideOnly(Side.CLIENT)
        public boolean isChestGui(GuiScreen gui) {
            return false;
        }
    }));
    SimpleServiceLocator.setEnderStorageProxy(ProxyManager.getWrappedProxy("EnderStorage", IEnderStorageProxy.class, EnderStorageProxy.class, new IEnderStorageProxy() {

        @Override
        public boolean isEnderChestBlock(Block block) {
            return false;
        }

        @Override
        public void openEnderChest(World world, int x, int y, int z, EntityPlayer player) {
        }
    }));
    SimpleServiceLocator.setOpenComputersProxy(ProxyManager.getWrappedProxy(LPConstants.openComputersModID, IOpenComputersProxy.class, OpenComputersProxy.class, new IOpenComputersProxy() {

        @Override
        public void initLogisticsTileGenericPipe(LogisticsTileGenericPipe tile) {
        }

        @Override
        public void initLogisticsSolidTileEntity(LogisticsSolidTileEntity tile) {
        }

        @Override
        public void handleWriteToNBT(IOCTile tile, NBTTagCompound nbt) {
        }

        @Override
        public void handleReadFromNBT(IOCTile tile, NBTTagCompound nbt) {
        }

        @Override
        public void handleInvalidate(IOCTile tile) {
        }

        @Override
        public void handleChunkUnload(IOCTile tile) {
        }

        @Override
        public void addToNetwork(TileEntity tile) {
        }
    }));
    SimpleServiceLocator.setToolWrenchProxy(ProxyManager.getWrappedProxy("!IToolWrench", IToolWrenchProxy.class, ToolWrenchProxy.class, new IToolWrenchProxy() {

        @Override
        public void wrenchUsed(EntityPlayer entityplayer, int x, int y, int z) {
        }

        @Override
        public boolean isWrenchEquipped(EntityPlayer entityplayer) {
            return false;
        }

        @Override
        public boolean canWrench(EntityPlayer entityplayer, int x, int y, int z) {
            return false;
        }

        @Override
        public boolean isWrench(Item item) {
            return false;
        }
    }));
    SimpleServiceLocator.setExtraCellsProxy(ProxyManager.getWrappedProxy("extracells", IExtraCellsProxy.class, ExtraCellsProxy.class, fluid -> true));
    SimpleServiceLocator.setCoFHPowerProxy(ProxyManager.getWrappedProxy("CoFHAPI|energy", ICoFHPowerProxy.class, CoFHPowerProxy.class, new ICoFHPowerProxy() {

        @Override
        public boolean isEnergyReceiver(TileEntity tile) {
            return false;
        }

        @Override
        public ICoFHEnergyReceiver getEnergyReceiver(TileEntity tile) {
            return new ICoFHEnergyReceiver() {

                @Override
                public int getMaxEnergyStored(ForgeDirection opposite) {
                    return 0;
                }

                @Override
                public int getEnergyStored(ForgeDirection opposite) {
                    return 0;
                }

                @Override
                public boolean canConnectEnergy(ForgeDirection opposite) {
                    return false;
                }

                @Override
                public int receiveEnergy(ForgeDirection opposite, int i, boolean b) {
                    return 0;
                }
            };
        }

        @Override
        public void addCraftingRecipes(CraftingParts parts) {
        }

        @Override
        public ICoFHEnergyStorage getEnergyStorage(int i) {
            return new ICoFHEnergyStorage() {

                @Override
                public int extractEnergy(int space, boolean b) {
                    return 0;
                }

                @Override
                public int receiveEnergy(int maxReceive, boolean simulate) {
                    return 0;
                }

                @Override
                public int getEnergyStored() {
                    return 0;
                }

                @Override
                public int getMaxEnergyStored() {
                    return 0;
                }

                @Override
                public void readFromNBT(NBTTagCompound nbt) {
                }

                @Override
                public void writeToNBT(NBTTagCompound nbt) {
                }
            };
        }

        @Override
        public boolean isAvailable() {
            return false;
        }
    }, ICoFHEnergyReceiver.class, ICoFHEnergyStorage.class));
    SimpleServiceLocator.setThermalDynamicsProxy(ProxyManager.getWrappedProxy("ThermalDynamics", ITDProxy.class, ThermalDynamicsProxy.class, new ITDProxy() {

        @Override
        public ITDPart getTDPart(final LogisticsTileGenericPipe pipe) {
            return new ITDPart() {

                @Override
                public TileEntity getInternalDuctForSide(ForgeDirection opposite) {
                    return pipe;
                }

                @Override
                public void setWorldObj_LP(World world) {
                }

                @Override
                public void invalidate() {
                }

                @Override
                public void onChunkUnload() {
                }

                @Override
                public void scheduleNeighborChange() {
                }

                @Override
                public void connectionsChanged() {
                }
            };
        }

        @Override
        public boolean isActive() {
            return false;
        }

        @Override
        public void registerPipeInformationProvider() {
        }

        @Override
        public boolean isItemDuct(TileEntity tile) {
            return false;
        }

        @Override
        @SideOnly(Side.CLIENT)
        public void renderPipeConnections(LogisticsTileGenericPipe pipeTile, RenderBlocks renderer) {
        }

        @Override
        public void registerTextures(IIconRegister iconRegister) {
        }

        @Override
        public boolean isBlockedSide(TileEntity with, ForgeDirection opposite) {
            return false;
        }
    }, ITDPart.class));
    SimpleServiceLocator.setBinnieProxy(ProxyManager.getWrappedProxy("Genetics", IBinnieProxy.class, BinnieProxy.class, tile -> false));
    final IBounds dummyBounds = new IBounds() {

        @Override
        public IVec3 min() {
            return new IVec3() {

                @Override
                public double x() {
                    return 0;
                }

                @Override
                public double y() {
                    return 0;
                }

                @Override
                public double z() {
                    return 0;
                }

                @Override
                public Object getOriginal() {
                    return null;
                }
            };
        }

        @Override
        public IVec3 max() {
            return new IVec3() {

                @Override
                public double x() {
                    return 0;
                }

                @Override
                public double y() {
                    return 0;
                }

                @Override
                public double z() {
                    return 0;
                }

                @Override
                public Object getOriginal() {
                    return null;
                }
            };
        }

        @Override
        public AxisAlignedBB toAABB() {
            return null;
        }
    };
    final IModel3D dummy3DModel = new IModel3D() {

        @Override
        public IModel3D backfacedCopy() {
            return this;
        }

        @Override
        public void render(I3DOperation... i3dOperations) {
        }

        @Override
        public void computeNormals() {
        }

        @Override
        public void computeStandardLighting() {
        }

        @Override
        public IBounds bounds() {
            return dummyBounds;
        }

        @Override
        public IModel3D apply(I3DOperation translation) {
            return this;
        }

        @Override
        public IModel3D copy() {
            return this;
        }

        @Override
        public IModel3D twoFacedCopy() {
            return this;
        }

        @Override
        public Object getOriginal() {
            return this;
        }

        @Override
        public IBounds getBoundsInside(AxisAlignedBB boundingBox) {
            return dummyBounds;
        }
    };
    ICCLProxy dummyCCLProxy = new ICCLProxy() {

        @Override
        public IIconTransformation createIconTransformer(IIcon registerIcon) {
            return new IIconTransformation() {

                @Override
                public Object getOriginal() {
                    return null;
                }

                @Override
                public void update(IIcon registerIcon) {
                }
            };
        }

        @Override
        public IRenderState getRenderState() {
            return new IRenderState() {

                @Override
                public void reset() {
                }

                @Override
                public void setUseNormals(boolean b) {
                }

                @Override
                public void setAlphaOverride(int i) {
                }

                @Override
                public void draw() {
                }

                @Override
                public void setBrightness(int brightness) {
                }

                @Override
                public void startDrawing() {
                }
            };
        }

        @Override
        public Map<String, IModel3D> parseObjModels(InputStream resourceAsStream, int i, LPScale scale) {
            return new HashMap<>();
        }

        @Override
        public Object getRotation(int i, int j) {
            return null;
        }

        @Override
        public Object getScale(double d, double e, double f) {
            return null;
        }

        @Override
        public Object getScale(double d) {
            return null;
        }

        @Override
        public ITranslation getTranslation(double d, double e, double f) {
            return new ITranslation() {

                @Override
                public ITranslation inverse() {
                    return this;
                }

                @Override
                public Object getOriginal() {
                    return null;
                }
            };
        }

        @Override
        public ITranslation getTranslation(IVec3 min) {
            return new ITranslation() {

                @Override
                public ITranslation inverse() {
                    return this;
                }

                @Override
                public Object getOriginal() {
                    return null;
                }
            };
        }

        @Override
        public Object getUVScale(double i, double d) {
            return null;
        }

        @Override
        public Object getUVTranslation(float i, float f) {
            return null;
        }

        @Override
        public Object getUVTransformationList(I3DOperation[] uvTranslation) {
            return null;
        }

        @Override
        public IModel3D wrapModel(Object model) {
            return dummy3DModel;
        }

        @Override
        public boolean isActivated() {
            return false;
        }

        @Override
        public Object getRotation(double d, int i, int j, int k) {
            return null;
        }

        @Override
        public IModel3D combine(Collection<IModel3D> list) {
            return dummy3DModel;
        }

        @Override
        public Object getColourMultiplier(int i) {
            return null;
        }
    };
    Class<?>[] cclSubWrapper = new Class<?>[] { IIconTransformation.class, IRenderState.class, IModel3D.class, ITranslation.class, IVec3.class, IBounds.class };
    SimpleServiceLocator.setCCLProxy(ProxyManager.getWrappedProxy("!CCLRender", ICCLProxy.class, CCLProxy.class, dummyCCLProxy, cclSubWrapper));
    if (!SimpleServiceLocator.cclProxy.isActivated()) {
        SimpleServiceLocator.setCCLProxy(ProxyManager.getWrappedProxy("!CoFHCCLRender", ICCLProxy.class, CoFHCCLProxy.class, dummyCCLProxy, cclSubWrapper));
    }
}
Also used : IVec3(logisticspipes.proxy.object3d.interfaces.IVec3) ICrateStorageProxy(logisticspipes.proxy.bs.ICrateStorageProxy) IRenderState(logisticspipes.proxy.object3d.interfaces.IRenderState) Block(net.minecraft.block.Block) IC2Proxy(logisticspipes.proxy.ic2.IC2Proxy) ITDPart(logisticspipes.proxy.td.subproxies.ITDPart) Map(java.util.Map) CoreUnroutedPipe(logisticspipes.pipes.basic.CoreUnroutedPipe) INEIProxy(logisticspipes.proxy.interfaces.INEIProxy) GuiContainer(net.minecraft.client.gui.inventory.GuiContainer) IBinnieProxy(logisticspipes.proxy.interfaces.IBinnieProxy) SideOnly(cpw.mods.fml.relauncher.SideOnly) CoFHCCLProxy(logisticspipes.proxy.cofhccl.CoFHCCLProxy) ICCLProxy(logisticspipes.proxy.interfaces.ICCLProxy) IBCTilePart(logisticspipes.proxy.buildcraft.subproxies.IBCTilePart) ForgeDirection(net.minecraftforge.common.util.ForgeDirection) IThermalExpansionProxy(logisticspipes.proxy.interfaces.IThermalExpansionProxy) CCLProxy(logisticspipes.proxy.ccl.CCLProxy) ITranslation(logisticspipes.proxy.object3d.interfaces.ITranslation) IOCTile(logisticspipes.proxy.opencomputers.IOCTile) BuildCraftProxy(logisticspipes.proxy.buildcraft.BuildCraftProxy) ICCProxy(logisticspipes.proxy.interfaces.ICCProxy) Container(net.minecraft.inventory.Container) ICraftingRecipeProvider(logisticspipes.proxy.interfaces.ICraftingRecipeProvider) ThaumCraftProxy(logisticspipes.proxy.thaumcraft.ThaumCraftProxy) IIC2Proxy(logisticspipes.proxy.interfaces.IIC2Proxy) BinnieProxy(logisticspipes.proxy.binnie.BinnieProxy) OpenComputersProxy(logisticspipes.proxy.opencomputers.OpenComputersProxy) ThermalDynamicsProxy(logisticspipes.proxy.td.ThermalDynamicsProxy) LogisticsWrapperHandler(logisticspipes.asm.wrapper.LogisticsWrapperHandler) EnderStorageProxy(logisticspipes.proxy.enderchest.EnderStorageProxy) ArrayList(java.util.ArrayList) ItemStack(net.minecraft.item.ItemStack) ExtraCellsProxy(logisticspipes.proxy.ec.ExtraCellsProxy) ITDProxy(logisticspipes.proxy.interfaces.ITDProxy) IToolWrenchProxy(logisticspipes.proxy.interfaces.IToolWrenchProxy) MovingObjectPosition(net.minecraft.util.MovingObjectPosition) RenderBlocks(net.minecraft.client.renderer.RenderBlocks) IBounds(logisticspipes.proxy.object3d.interfaces.IBounds) IBCPluggableState(logisticspipes.proxy.buildcraft.subproxies.IBCPluggableState) IExtraCellsProxy(logisticspipes.proxy.interfaces.IExtraCellsProxy) IIronChestProxy(logisticspipes.proxy.interfaces.IIronChestProxy) NEIProxy(logisticspipes.proxy.nei.NEIProxy) World(net.minecraft.world.World) IBCProxy(logisticspipes.proxy.interfaces.IBCProxy) ToolWrenchProxy(logisticspipes.proxy.toolWrench.ToolWrenchProxy) ICoFHEnergyStorage(logisticspipes.proxy.cofh.subproxies.ICoFHEnergyStorage) IIcon(net.minecraft.util.IIcon) CCProxy(logisticspipes.proxy.cc.CCProxy) TileEntity(net.minecraft.tileentity.TileEntity) LPScale(logisticspipes.proxy.object3d.operation.LPScale) Item(net.minecraft.item.Item) IIconTransformation(logisticspipes.proxy.object3d.interfaces.IIconTransformation) LogisticsSolidTileEntity(logisticspipes.blocks.LogisticsSolidTileEntity) IBCClickResult(logisticspipes.proxy.buildcraft.subproxies.IBCClickResult) IronChestProxy(logisticspipes.proxy.ic.IronChestProxy) IOpenComputersProxy(logisticspipes.proxy.interfaces.IOpenComputersProxy) BetterStorageProxy(logisticspipes.proxy.bs.BetterStorageProxy) Locale(java.util.Locale) IBCRenderState(logisticspipes.proxy.buildcraft.subproxies.IBCRenderState) I3DOperation(logisticspipes.proxy.object3d.interfaces.I3DOperation) EnumChatFormatting(net.minecraft.util.EnumChatFormatting) IIconRegister(net.minecraft.client.renderer.texture.IIconRegister) NBTTagCompound(net.minecraft.nbt.NBTTagCompound) CoFHPowerProxy(logisticspipes.proxy.cofh.CoFHPowerProxy) Side(cpw.mods.fml.relauncher.Side) IForestryProxy(logisticspipes.proxy.interfaces.IForestryProxy) FactorizationProxy(logisticspipes.proxy.factorization.FactorizationProxy) Collection(java.util.Collection) ItemIdentifier(logisticspipes.utils.item.ItemIdentifier) IBCRenderTESR(logisticspipes.proxy.buildcraft.subproxies.IBCRenderTESR) IEnderStorageProxy(logisticspipes.proxy.interfaces.IEnderStorageProxy) AxisAlignedBB(net.minecraft.util.AxisAlignedBB) IConnectionOverrideResult(logisticspipes.proxy.buildcraft.subproxies.IConnectionOverrideResult) LPDataOutput(network.rs485.logisticspipes.util.LPDataOutput) List(java.util.List) ICoFHEnergyReceiver(logisticspipes.proxy.cofh.subproxies.ICoFHEnergyReceiver) EntityPlayer(net.minecraft.entity.player.EntityPlayer) CraftingParts(logisticspipes.recipes.CraftingParts) ThermalExpansionProxy(logisticspipes.proxy.te.ThermalExpansionProxy) IModel3D(logisticspipes.proxy.object3d.interfaces.IModel3D) IBetterStorageProxy(logisticspipes.proxy.interfaces.IBetterStorageProxy) LogisticsTileGenericPipe(logisticspipes.pipes.basic.LogisticsTileGenericPipe) HashMap(java.util.HashMap) ICoFHPowerProxy(logisticspipes.proxy.interfaces.ICoFHPowerProxy) IThaumCraftProxy(logisticspipes.proxy.interfaces.IThaumCraftProxy) LPTravelingItemServer(logisticspipes.transport.LPTravelingItem.LPTravelingItemServer) ForestryProxy(logisticspipes.proxy.forestry.ForestryProxy) LPConstants(logisticspipes.LPConstants) IBCPipePluggable(logisticspipes.proxy.buildcraft.subproxies.IBCPipePluggable) LPDataInput(network.rs485.logisticspipes.util.LPDataInput) IEnderIOProxy(logisticspipes.proxy.interfaces.IEnderIOProxy) InventoryPlayer(net.minecraft.entity.player.InventoryPlayer) EnderIOProxy(logisticspipes.proxy.enderio.EnderIOProxy) IFactorizationProxy(logisticspipes.proxy.interfaces.IFactorizationProxy) GuiScreen(net.minecraft.client.gui.GuiScreen) IBCPipePart(logisticspipes.proxy.buildcraft.subproxies.IBCPipePart) InputStream(java.io.InputStream) IConnectionOverrideResult(logisticspipes.proxy.buildcraft.subproxies.IConnectionOverrideResult) ICrateStorageProxy(logisticspipes.proxy.bs.ICrateStorageProxy) EnderStorageProxy(logisticspipes.proxy.enderchest.EnderStorageProxy) IEnderStorageProxy(logisticspipes.proxy.interfaces.IEnderStorageProxy) IFactorizationProxy(logisticspipes.proxy.interfaces.IFactorizationProxy) IEnderIOProxy(logisticspipes.proxy.interfaces.IEnderIOProxy) IBCPipePart(logisticspipes.proxy.buildcraft.subproxies.IBCPipePart) IForestryProxy(logisticspipes.proxy.interfaces.IForestryProxy) ForestryProxy(logisticspipes.proxy.forestry.ForestryProxy) HashMap(java.util.HashMap) NBTTagCompound(net.minecraft.nbt.NBTTagCompound) ArrayList(java.util.ArrayList) LogisticsSolidTileEntity(logisticspipes.blocks.LogisticsSolidTileEntity) World(net.minecraft.world.World) IC2Proxy(logisticspipes.proxy.ic2.IC2Proxy) IIC2Proxy(logisticspipes.proxy.interfaces.IIC2Proxy) IBCRenderTESR(logisticspipes.proxy.buildcraft.subproxies.IBCRenderTESR) Item(net.minecraft.item.Item) ITDProxy(logisticspipes.proxy.interfaces.ITDProxy) FactorizationProxy(logisticspipes.proxy.factorization.FactorizationProxy) IFactorizationProxy(logisticspipes.proxy.interfaces.IFactorizationProxy) EnumChatFormatting(net.minecraft.util.EnumChatFormatting) BetterStorageProxy(logisticspipes.proxy.bs.BetterStorageProxy) IBetterStorageProxy(logisticspipes.proxy.interfaces.IBetterStorageProxy) ThermalDynamicsProxy(logisticspipes.proxy.td.ThermalDynamicsProxy) LogisticsTileGenericPipe(logisticspipes.pipes.basic.LogisticsTileGenericPipe) IIconTransformation(logisticspipes.proxy.object3d.interfaces.IIconTransformation) ArrayList(java.util.ArrayList) List(java.util.List) ICoFHEnergyReceiver(logisticspipes.proxy.cofh.subproxies.ICoFHEnergyReceiver) CoFHCCLProxy(logisticspipes.proxy.cofhccl.CoFHCCLProxy) ICCLProxy(logisticspipes.proxy.interfaces.ICCLProxy) CCLProxy(logisticspipes.proxy.ccl.CCLProxy) OpenComputersProxy(logisticspipes.proxy.opencomputers.OpenComputersProxy) IOpenComputersProxy(logisticspipes.proxy.interfaces.IOpenComputersProxy) IVec3(logisticspipes.proxy.object3d.interfaces.IVec3) ICCLProxy(logisticspipes.proxy.interfaces.ICCLProxy) ThaumCraftProxy(logisticspipes.proxy.thaumcraft.ThaumCraftProxy) IThaumCraftProxy(logisticspipes.proxy.interfaces.IThaumCraftProxy) IForestryProxy(logisticspipes.proxy.interfaces.IForestryProxy) LPDataOutput(network.rs485.logisticspipes.util.LPDataOutput) IIronChestProxy(logisticspipes.proxy.interfaces.IIronChestProxy) IBCRenderState(logisticspipes.proxy.buildcraft.subproxies.IBCRenderState) MovingObjectPosition(net.minecraft.util.MovingObjectPosition) EntityPlayer(net.minecraft.entity.player.EntityPlayer) Block(net.minecraft.block.Block) Collection(java.util.Collection) LPScale(logisticspipes.proxy.object3d.operation.LPScale) ItemStack(net.minecraft.item.ItemStack) INEIProxy(logisticspipes.proxy.interfaces.INEIProxy) IOpenComputersProxy(logisticspipes.proxy.interfaces.IOpenComputersProxy) AxisAlignedBB(net.minecraft.util.AxisAlignedBB) IEnderStorageProxy(logisticspipes.proxy.interfaces.IEnderStorageProxy) IModel3D(logisticspipes.proxy.object3d.interfaces.IModel3D) IExtraCellsProxy(logisticspipes.proxy.interfaces.IExtraCellsProxy) ExtraCellsProxy(logisticspipes.proxy.ec.ExtraCellsProxy) IExtraCellsProxy(logisticspipes.proxy.interfaces.IExtraCellsProxy) INEIProxy(logisticspipes.proxy.interfaces.INEIProxy) NEIProxy(logisticspipes.proxy.nei.NEIProxy) IIcon(net.minecraft.util.IIcon) IBCProxy(logisticspipes.proxy.interfaces.IBCProxy) IBounds(logisticspipes.proxy.object3d.interfaces.IBounds) IBinnieProxy(logisticspipes.proxy.interfaces.IBinnieProxy) BinnieProxy(logisticspipes.proxy.binnie.BinnieProxy) IIconRegister(net.minecraft.client.renderer.texture.IIconRegister) IBinnieProxy(logisticspipes.proxy.interfaces.IBinnieProxy) CoFHCCLProxy(logisticspipes.proxy.cofhccl.CoFHCCLProxy) IBCTilePart(logisticspipes.proxy.buildcraft.subproxies.IBCTilePart) IToolWrenchProxy(logisticspipes.proxy.interfaces.IToolWrenchProxy) I3DOperation(logisticspipes.proxy.object3d.interfaces.I3DOperation) IIronChestProxy(logisticspipes.proxy.interfaces.IIronChestProxy) IronChestProxy(logisticspipes.proxy.ic.IronChestProxy) TileEntity(net.minecraft.tileentity.TileEntity) LogisticsSolidTileEntity(logisticspipes.blocks.LogisticsSolidTileEntity) CoFHPowerProxy(logisticspipes.proxy.cofh.CoFHPowerProxy) ICoFHPowerProxy(logisticspipes.proxy.interfaces.ICoFHPowerProxy) RenderBlocks(net.minecraft.client.renderer.RenderBlocks) ItemIdentifier(logisticspipes.utils.item.ItemIdentifier) IIC2Proxy(logisticspipes.proxy.interfaces.IIC2Proxy) IThermalExpansionProxy(logisticspipes.proxy.interfaces.IThermalExpansionProxy) ForgeDirection(net.minecraftforge.common.util.ForgeDirection) IToolWrenchProxy(logisticspipes.proxy.interfaces.IToolWrenchProxy) ToolWrenchProxy(logisticspipes.proxy.toolWrench.ToolWrenchProxy) ICCProxy(logisticspipes.proxy.interfaces.ICCProxy) CCProxy(logisticspipes.proxy.cc.CCProxy) ICoFHEnergyStorage(logisticspipes.proxy.cofh.subproxies.ICoFHEnergyStorage) BuildCraftProxy(logisticspipes.proxy.buildcraft.BuildCraftProxy) LPTravelingItemServer(logisticspipes.transport.LPTravelingItem.LPTravelingItemServer) CoreUnroutedPipe(logisticspipes.pipes.basic.CoreUnroutedPipe) IBetterStorageProxy(logisticspipes.proxy.interfaces.IBetterStorageProxy) IOCTile(logisticspipes.proxy.opencomputers.IOCTile) InputStream(java.io.InputStream) CraftingParts(logisticspipes.recipes.CraftingParts) ICCProxy(logisticspipes.proxy.interfaces.ICCProxy) IThermalExpansionProxy(logisticspipes.proxy.interfaces.IThermalExpansionProxy) ThermalExpansionProxy(logisticspipes.proxy.te.ThermalExpansionProxy) IEnderIOProxy(logisticspipes.proxy.interfaces.IEnderIOProxy) EnderIOProxy(logisticspipes.proxy.enderio.EnderIOProxy) ITDPart(logisticspipes.proxy.td.subproxies.ITDPart) InventoryPlayer(net.minecraft.entity.player.InventoryPlayer) ITranslation(logisticspipes.proxy.object3d.interfaces.ITranslation) LPDataInput(network.rs485.logisticspipes.util.LPDataInput) IBCClickResult(logisticspipes.proxy.buildcraft.subproxies.IBCClickResult) IRenderState(logisticspipes.proxy.object3d.interfaces.IRenderState) IBCPipePluggable(logisticspipes.proxy.buildcraft.subproxies.IBCPipePluggable) ICoFHPowerProxy(logisticspipes.proxy.interfaces.ICoFHPowerProxy) IBCPluggableState(logisticspipes.proxy.buildcraft.subproxies.IBCPluggableState) GuiScreen(net.minecraft.client.gui.GuiScreen) GuiContainer(net.minecraft.client.gui.inventory.GuiContainer) IThaumCraftProxy(logisticspipes.proxy.interfaces.IThaumCraftProxy)

Example 43 with MovingObjectPosition

use of net.minecraft.util.MovingObjectPosition in project LogisticsPipes by RS485.

the class LogisticsBlockGenericSubMultiBlock method collisionRayTrace.

@Override
public MovingObjectPosition collisionRayTrace(World world, int x, int y, int z, Vec3 origin, Vec3 direction) {
    DoubleCoordinates pos = new DoubleCoordinates(x, y, z);
    TileEntity tile = pos.getTileEntity(world);
    if (tile instanceof LogisticsTileGenericSubMultiBlock) {
        List<LogisticsTileGenericPipe> mainPipeList = ((LogisticsTileGenericSubMultiBlock) tile).getMainPipe();
        for (LogisticsTileGenericPipe mainPipe : mainPipeList) {
            if (mainPipe != null && mainPipe.pipe != null && mainPipe.pipe.isMultiBlock()) {
                MovingObjectPosition result = LogisticsPipes.LogisticsPipeBlock.collisionRayTrace(world, mainPipe.xCoord, mainPipe.yCoord, mainPipe.zCoord, origin, direction);
                if (result != null) {
                    result.blockX = x;
                    result.blockY = y;
                    result.blockZ = z;
                    return result;
                }
            }
        }
    }
    return null;
}
Also used : TileEntity(net.minecraft.tileentity.TileEntity) MovingObjectPosition(net.minecraft.util.MovingObjectPosition) DoubleCoordinates(network.rs485.logisticspipes.world.DoubleCoordinates)

Example 44 with MovingObjectPosition

use of net.minecraft.util.MovingObjectPosition in project LogisticsPipes by RS485.

the class SideConfigDisplay method getClosestHit.

public static MovingObjectPosition getClosestHit(Vec3 origin, Collection<MovingObjectPosition> candidates) {
    double minLengthSquared = Double.POSITIVE_INFINITY;
    MovingObjectPosition closest = null;
    for (MovingObjectPosition hit : candidates) {
        if (hit != null) {
            double lengthSquared = hit.hitVec.squareDistanceTo(origin);
            if (lengthSquared < minLengthSquared) {
                minLengthSquared = lengthSquared;
                closest = hit;
            }
        }
    }
    return closest;
}
Also used : MovingObjectPosition(net.minecraft.util.MovingObjectPosition)

Example 45 with MovingObjectPosition

use of net.minecraft.util.MovingObjectPosition in project MineFactoryReloaded by powercrystals.

the class ItemStraw method onEaten.

@Override
public ItemStack onEaten(ItemStack stack, World world, EntityPlayer player) {
    if (!world.isRemote) {
        MovingObjectPosition mop = getMovingObjectPositionFromPlayer(world, player, true);
        if (mop != null && mop.typeOfHit == EnumMovingObjectType.TILE) {
            int blockId = world.getBlockId(mop.blockX, mop.blockY, mop.blockZ);
            if (MFRRegistry.getLiquidDrinkHandlers().containsKey(blockId)) {
                MFRRegistry.getLiquidDrinkHandlers().get(blockId).onDrink(player);
                world.setBlockToAir(mop.blockX, mop.blockY, mop.blockZ);
            }
        }
    }
    return stack;
}
Also used : MovingObjectPosition(net.minecraft.util.MovingObjectPosition)

Aggregations

MovingObjectPosition (net.minecraft.util.MovingObjectPosition)60 Vec3 (net.minecraft.util.Vec3)19 Entity (net.minecraft.entity.Entity)17 EntityPlayer (net.minecraft.entity.player.EntityPlayer)17 AxisAlignedBB (net.minecraft.util.AxisAlignedBB)17 ItemStack (net.minecraft.item.ItemStack)16 TileEntity (net.minecraft.tileentity.TileEntity)16 ArrayList (java.util.ArrayList)11 ForgeDirection (net.minecraftforge.common.util.ForgeDirection)10 Block (net.minecraft.block.Block)8 EntityLivingBase (net.minecraft.entity.EntityLivingBase)7 AMVector3 (am2.api.math.AMVector3)5 World (net.minecraft.world.World)5 SubscribeEvent (cpw.mods.fml.common.eventhandler.SubscribeEvent)4 List (java.util.List)4 SpellCastResult (am2.api.spell.enums.SpellCastResult)3 ParticleApproachPoint (am2.particles.ParticleApproachPoint)3 IBlockState (net.minecraft.block.state.IBlockState)3 AMParticle (am2.particles.AMParticle)2 PacketPlayerItem (com.builtbroken.mc.core.network.packet.PacketPlayerItem)2