Open 1.1.0: Infinity The terminal glasses don't work at all

Yisora

New Member
Jul 29, 2019
1
0
0
Version:
1.1.0

What is the bug:
I have been playing with computercraft and openperipherals the last 2 days. So I wanted to try the terminal glasses and looked up a lot of tutorials and tried a lot of code but I could'nt get the glasses to work. Then I tried the glasses in the Direwolf20 1.7 pack and there the glasses did work. I think there must be a mod conflict of some kind. I tried a lot of things, i turned of my resource packs, turned of optifine, tried it in singeplayer world, let my friends try the code but nothing worked. I hope there is a fix for this because I really want to play with the glasses ^^

Mod & Version:


Paste.feed-the-beast.com log:


Can it be repeated:
Put down a computer from computercraft and a bridge terminal next to it.
In the computer make a program name it glass or something.
Then add this code:
bridge=peripheral.wrap("bottom")--side of the bridge, in my case bottom
bridge.addBox(5,5,100,15,0xFFFFFF,0.5)--this should make a box appear in the upper left

save this code and then run it. When me or my friends do this nothing happens.

Known Fix:
 
B

Bunny83

Guest
Well, i just ran into the same issue. However i figured out the "missing link" ^^.

In order to improve performance and reduce network traffic the terminal bridge now requires you to actively call the "sync" method to actually commit any changes you did to a surface (either main or a user surface).

See the documentation:

http://kd8lvt.altervista.org/openpe...pheral.addons.glasses.TileEntityGlassesBridge

Right at the far end, the last method is the sync method. The description is as follows:

Send updates to client. Without it changes won't be visible
Note: Only the peripheral itself has this method. A user surface object doesn't have that method, so you have to call sync on the peripheral. So if you want to manage a user surface as one object you might want to include the sync method there manually

Code:
local u = bridge.getSurfaceByName("Bunny83")
u.sync = bridge.sync

That way you can update the bridge from a user-surface object. However when managing multiple users it's better for performance to call sync once after you finished updating all surfaces.

Just as reference here's a similar bug report on the OpenPeripheral-Addons github page:

https://github.com/OpenMods/OpenPeripheral-Addons/issues/44