OpenMods / OpenPeripheral

https://openmods.info
MIT License
67 stars 25 forks source link

Problem with Logistic Pipes #171

Closed xAnavrins closed 10 years ago

xAnavrins commented 10 years ago

OpenPeripheral break the original functionality of the Logistic Pipe's pipes.

Example with a Request Pipe; Instead of being able to do .makeRequest() to request an item to pass through it, the pipe returns functions related to MJ such as .getMaxMJReceived() and .getTankInfo(), which is completely unrelated to the pipe's original purpose, not only that but all these MJ functions doesn't even return something.

Is there a way/config to disable OpenP from overriding methods from other mods peripherals?

theoriginalbit commented 10 years ago

are you saying that without OpenPeripheral Logistics Pipes has ComputerCraft support?

xAnavrins commented 10 years ago

According to this http://rs485.thezorro266.com/wiki/ComputerCraft_API Yes.

theoriginalbit commented 10 years ago

then in that case you must add the pipes to the TileEntity blacklist in the Config file and/or add the Logistic Pipes mod id to the mod blacklist.

xAnavrins commented 10 years ago

I guess this line of config sneaked under my radar, thank you very much for the help.

theoriginalbit commented 10 years ago

you're welcome.

xAnavrins commented 10 years ago

Having a bit of a problem though, it says to add the "modid" to the list, that's alright... But the modid for Logistics Pipes is "LogisticsPipes|Main". But then MC crash with an error "Unknown character '|' in '/config/....". Same with commas when trying to blacklist multiple modids.

What format should I be using for adding entries to this blacklist?

dmarcuse commented 10 years ago

Extract the mod and open the mcmod.info file to get the modid. Otherwise, you're likely looking at the mod name.

xAnavrins commented 10 years ago

That is exactly what I did, the modid for Logistic Pipe is indeed "LogisticsPipes|Main" The "|" is causing an error.

theoriginalbit commented 10 years ago

unfortunately I do not have the answer for this... we may have to ask @boq (I believe he was the one that coded this) about this one... as for the extra ids, I believe that the Forge config system uses semi-colons not commas.

boq commented 10 years ago

Not modids, but tile entity classes or names. Here is list, according to latest source. If something breaks, use commas for separators (or maybe just new lines, look at radio stations config) and double quotes.

logisticspipes.blocks.LogisticsSolderingTileEntity
logisticspipes.blocks.powertile.LogisticsPowerJuntionTileEntity
logisticspipes.blocks.powertile.LogisticsBCPowerProviderTileEntity
logisticspipes.blocks.powertile.LogisticsRFPowerProviderTileEntity
logisticspipes.blocks.powertile.LogisticsIC2PowerProviderTileEntity
logisticspipes.blocks.LogisticsSecurityTileEntity
logisticspipes.blocks.crafting.LogisticsCraftingTableTileEntity
logisticspipes.pipes.basic.LogisticsTileGenericPipe
kinnison commented 10 years ago

I had a go at this, but somehow it failed. I tried adding the modid but it also failed. I am using Direwolf20's FTB pack. I have put my OpenPeripheralCore.cfg, the Forge log, and an strace of starting the server at http://platypus.pepperfish.net/~dsilvers/ftb/logs/ -- If you can be bothered to download and view the strace you'll find that it does find, open and read the config file, there's two reads, one of 4 bytes and one of 1254 bytes, totalling the 1258 bytes of the config file. There's no errors regarding config syntax reported and yet the forge log clearly shows OpenPeripheral making caching wrappers for the logistics pipes classes. Perhaps the blacklist functionality is buggy in the version in the pack?

kinnison commented 10 years ago

FYI, Direwolf20 1.0.23 carries 0.3.3 of OpenPeripheralCore

kinnison commented 10 years ago

Updated information: The issue probably stems from LP having changed to CC1.6 from 1.5 which is in the pack. (cf. http://forum.feed-the-beast.com/threads/direwolf-20-1-6-4-public-beta.35476/page-97#post-649557 ) However it still holds that the OP blacklist is not preventing wrappering of the pipes.

boq commented 10 years ago

Checked with OP 0.4, works as intended, all 8 classes properly ignored. Sorry, we don't support old versions. Also, "disableMods" is something totally different.

kinnison commented 10 years ago

Fair enough. I guess I need to wait for DW20's pack to update. Thanks for checking.

tsani commented 9 years ago

I've tried using this method of blacklisting the tile entities to prevent OpenPeripherals from overriding the default peripheral behaviour of LogisticsPipes, but it doesn't work. I can see from the logs that the blacklist entires are being ignored

[WARNING] [OpenMods] openperipheral.adapter.PeripheralHandlers.registerPeripherals(PeripheralHandlers.java:74): Ignoring blacklisted TE logisticspipes.blocks.powertile.LogisticsRFPowerProviderTileEntity = class logisticspipes.blocks.powertile.LogisticsRFPowerProviderTileEntity

The result, of course, is that ingame, when I wrap the peripheral, I only get the BuildCraft-related fields, and not the LP API for requesting items, for instance.

This is using OP 0.4.

DaComputerNerd717 commented 7 years ago

The modid is not LogisticsPipes|Main it is just LogisticsPipes I looked in the code itself, under the @Mod annotation: modid = "LogisticsPipes"

boq commented 7 years ago

Uhmm, This issue is 3 years old. While mechanism of blacklisting TEs remains unchanged, target mod was probably rebuild multiple times.

corincorvus commented 6 years ago

Hey,

i have the same problem with Logistic Pipes and OpenMod. Where and how i input the Blacklist? Pls write a little manual, what we have to do. The comments are not helpful enough :/

A fixed version of the mod will be the best solution i think.

Modversions:

OpenMod 1.7.10 0.10
OpenBlocks 1.7.10 1.6
Logistic Pipes 1.7.10 0.9.3.132

Problem: If i use Logistic Pipe wireless or wired order pipe, i get this Log and the Orderwindow is empty:

[08:37:46] [Server thread/INFO] [OpenMods/]: openblocks.common.MapDataManager.onMapDataRequest(MapDataManager.java:141): Player EntityPlayerMP['Corin_Corvus'/502118, l='Corina', x=-2700,30, y=150,00, z=4150,67] asked for non-existent maps {0}
[08:37:46] [Server thread/INFO] [OpenMods/]: openblocks.common.MapDataManager.onMapDataRequest(MapDataManager.java:141): Player EntityPlayerMP['Corin_Corvus'/502118, l='Corina', x=-2700,30, y=150,00, z=4150,67] asked for non-existent maps {1}
[08:37:46] [Server thread/INFO] [OpenMods/]: openblocks.common.MapDataManager.onMapDataRequest(MapDataManager.java:141): Player EntityPlayerMP['Corin_Corvus'/502118, l='Corina', x=-2700,30, y=150,00, z=4150,67] asked for non-existent maps {2}
[08:37:46] [Server thread/INFO] [OpenMods/]: openblocks.common.MapDataManager.onMapDataRequest(MapDataManager.java:141): Player EntityPlayerMP['Corin_Corvus'/502118, l='Corina', x=-2700,30, y=150,00, z=4150,67] asked for non-existent maps {3}
[08:37:46] [Server thread/INFO] [OpenMods/]: openblocks.common.MapDataManager.onMapDataRequest(MapDataManager.java:141): Player EntityPlayerMP['Corin_Corvus'/502118, l='Corina', x=-2700,30, y=150,00, z=4150,67] asked for non-existent maps {4}
[08:37:46] [Server thread/INFO] [OpenMods/]: openblocks.common.MapDataManager.onMapDataRequest(MapDataManager.java:141): Player EntityPlayerMP['Corin_Corvus'/502118, l='Corina', x=-2700,30, y=150,00, z=4150,67] asked for non-existent maps {5}
[08:37:46] [Server thread/INFO] [OpenMods/]: openblocks.common.MapDataManager.onMapDataRequest(MapDataManager.java:141): Player EntityPlayerMP['Corin_Corvus'/502118, l='Corina', x=-2700,30, y=150,00, z=4150,67] asked for non-existent maps {6}
[08:37:46] [Server thread/INFO] [OpenMods/]: openblocks.common.MapDataManager.onMapDataRequest(MapDataManager.java:141): Player EntityPlayerMP['Corin_Corvus'/502118, l='Corina', x=-2700,30, y=150,00, z=4150,67] asked for non-existent maps {7}
[08:37:46] [Server thread/INFO] [OpenMods/]: openblocks.common.MapDataManager.onMapDataRequest(MapDataManager.java:141): Player EntityPlayerMP['Corin_Corvus'/502118, l='Corina', x=-2700,30, y=150,00, z=4150,67] asked for non-existent maps {8}
[08:37:46] [Server thread/INFO] [OpenMods/]: openblocks.common.MapDataManager.onMapDataRequest(MapDataManager.java:141): Player EntityPlayerMP['Corin_Corvus'/502118, l='Corina', x=-2700,30, y=150,00, z=4150,67] asked for non-existent maps {9}
[08:37:46] [Server thread/INFO] [OpenMods/]: openblocks.common.MapDataManager.onMapDataRequest(MapDataManager.java:141): Player EntityPlayerMP['Corin_Corvus'/502118, l='Corina', x=-2700,30, y=150,00, z=4150,67] asked for non-existent maps {10}
[08:37:46] [Server thread/INFO] [OpenMods/]: openblocks.common.MapDataManager.onMapDataRequest(MapDataManager.java:141): Player EntityPlayerMP['Corin_Corvus'/502118, l='Corina', x=-2700,30, y=150,00, z=4150,67] asked for non-existent maps {11}
[08:37:46] [Server thread/INFO] [OpenMods/]: openblocks.common.MapDataManager.onMapDataRequest(MapDataManager.java:141): Player EntityPlayerMP['Corin_Corvus'/502118, l='Corina', x=-2700,30, y=150,00, z=4150,67] asked for non-existent maps {12}
[08:37:46] [Server thread/INFO] [OpenMods/]: openblocks.common.MapDataManager.onMapDataRequest(MapDataManager.java:141): Player EntityPlayerMP['Corin_Corvus'/502118, l='Corina', x=-2700,30, y=150,00, z=4150,67] asked for non-existent maps {13}
[08:37:46] [Server thread/INFO] [OpenMods/]: openblocks.common.MapDataManager.onMapDataRequest(MapDataManager.java:141): Player EntityPlayerMP['Corin_Corvus'/502118, l='Corina', x=-2700,30, y=150,00, z=4150,67] asked for non-existent maps {14}
[08:37:46] [Server thread/INFO] [OpenMods/]: openblocks.common.MapDataManager.onMapDataRequest(MapDataManager.java:141): Player EntityPlayerMP['Corin_Corvus'/502118, l='Corina', x=-2700,30, y=150,00, z=4150,67] asked for non-existent maps {15}
boq commented 6 years ago

Uh, this issue is not related to OpenPeripheral - just Logistic Pipes ignoring getSubItems on one of the OpenBlocks items. Also, is completely harmless.

Besides, 1.7.10 is unsupported.