tAPI NeoMods

So I've been trying both NeoDevices and MasterCrafter in multiplayer and sadly there are some issues:

- snip-
Thank you for trying out my mods, and for testing them in single player to make sure it was a multi-player issue. That was a very descriptive, extremely helpful post! :)

I took some time and just read through the NetMessage CS file and the MessageBuffer CS file to learn as much as I could about syncing. I also looked at numerous examples of how tAPI syncs things in different circumstances. I'm starting to see things a bit more clearly. Anything my mods do that the game also does, I've been able to implement the appropriate sync steps. Where I use code to do things the game doesn't normally do, I'm still looking for ways to get it to work. At least I've made the first step though.

So...

===========================================================================

That leads me to the second part of my post.

All 13 of my mods have been updated to include what I've learned so far.
All mods should be stable enough to at least Start a Server with the mods enabled, and load a World.
Some mods should be fully multiplayer compatible.
Other mods have partial compatibility. Shouldn't be anything game breaking, just some things won't have any effect.

  • Debug Info
    • Now usable in MP
  • Devices
    • Timers are working
    • Conveyors working for NPCs and Items, still not working for Players
    • Right-Clicking a tile to rotate or flip now works
    • Various other fixes
  • Disassembly Station
    • Very minor adjustments
  • Draw
    • Minor adjustments
  • Light Beams
    • Rotating lens direction works
    • Various other fixes
  • Master Crafter
    • Master Crafter still not summonable in MP
    • Wireless is working
    • Directional Sign can be rotated
    • Hatches can be opened/closed
    • Sleeping changes time. (May modify this later to only work when all connected players are at the tent)
    • Various other fixes
  • Recipe Book (Stand Alone & FCM Extension)
    • Working in MP
  • Tile Direction & Uninstaller
    • Syncs with Server properly
  • TileForeground & Demo
    • Working in MP
  • Utilities
    • Various fixes
    • Also fixed major bug with the Light Ambiance feature that caused colored lights to be white when brightened.
      • Is Light Ambiance still too subtle? I still haven't received any comments on it.
      • It modifies light sources to randomly change from slightly dimmer to slightly brighter
      • Place a single torch deep underground with no other light source around, and see if you can see it flicker

==========================================================================================

Thirdly...

I feel very honored to be able to announce that my mods now have over 5000 downloads!

Thanks a lot everyone!
 
im facing a lot less crashes and freezes now with the update , thank you! and dont woryy i believe for others they were perfectly but since im on a macit might be that. i use tapi and all but it can be a little unstable , or at least it was with the previous updates, now they work smoothly :p
also congrats on the 5000 downloads :)
since you like to see things built with your mods ill show you these:
OuDQ2dX.png

It was for a new playthrough with your mods plus the thorium mod using my character Velaria (red head in my sig)
1SF1F7L.png

As you can see the shelves from your mod really helped this look like an adequate shop :p
I posted these on reddit , and a lot of people asked how i got the columns , shelves , etc. and i directed them here , hope you dont mind.
 
im facing a lot less crashes and freezes now with the update , thank you! and dont woryy i believe for others they were perfectly but since im on a macit might be that. i use tapi and all but it can be a little unstable , or at least it was with the previous updates, now they work smoothly :p
also congrats on the 5000 downloads :)
since you like to see things built with your mods ill show you these:
OuDQ2dX.png

It was for a new playthrough with your mods plus the thorium mod using my character Velaria (red head in my sig)
1SF1F7L.png

As you can see the shelves from your mod really helped this look like an adequate shop :p
I posted these on reddit , and a lot of people asked how i got the columns , shelves , etc. and i directed them here , hope you dont mind.
Those buildings look FREAKING AWESOME. There's no way I could do that even with a whole month of free time! I have to say, nice job!
 
Thank you for trying out my mods, and for testing them in single player to make sure it was a multi-player issue. That was a very descriptive, extremely helpful post! :)

I took some time and just read through the NetMessage CS file and the MessageBuffer CS file to learn as much as I could about syncing. I also looked at numerous examples of how tAPI syncs things in different circumstances. I'm starting to see things a bit more clearly. Anything my mods do that the game also does, I've been able to implement the appropriate sync steps. Where I use code to do things the game doesn't normally do, I'm still looking for ways to get it to work. At least I've made the first step though.

First off, thank you so much for fixing a lot of the issues!!
I've been doing some more tests and a lot of the things in your mods are working now in MP.

Along with the things you said are working now (which I can all confirm to be working), the Solar Panel / Lunar Panel, the 'liquid' lamps (Aqua etc.) and the fluorescent lamp also work.

Like you said though, there are still some issues (like the conveyor not moving the player etc. but you already know about that one).
I found some additional issues myself that I'd like to help you fix, so here goes:

Multiplayer-only issues (working fine in singleplayer):
- Blinktube isn't working when sent a pulse (nothing happens). After having it enabled, I can't remove it anymore with my pickaxe. If try hitting it with the pickaxe, I keep getting additional copies and it doesn't get removed.
- Strobe Light is particularly weird. Sometimes, when being sent a pulse it turns invisible and display some sort of dirt particle animation each pulse. Other times, it just doesn't do anything. Then right-clicking it gives you a copy of it (you can spam right-click it to get hundreds of Strobe Lights).

Multiplayer and singleplayer issues:
- Diodes did not work for me in multiplayer and singleplayer even though the arrow visually changed direction on right-click. In singleplayer, they just seemed to do nothing (wires still work both ways). In multiplayer they didn't work either and if I right-clicked them whilst enabled I was given 3 Diodes (so also allows you to spam click it for hundreds of copies).
- The logic gates don't do anything in both modes (I only tested the AND-gate).
- Timers when removed give you 3 copies instead of only one (already told you this one I believe).

However, maybe I'm just dumb and using the diodes and logic gates in the wrong way. The AND-gate should sent a pulse only when being received two pulses right? And the diodes should only send a signal one way?

So a recurring theme for the bugs is them giving out multiple copies. Even though there are still a couple bugs left, I think you have done a fantastic job on fixing most of the issues so quickly! I can already enjoy most of the features of these fantastic mods!
 
Achivement Unlock... Wait...
Where did I put it ?
Hey come back here !
*Catches the mysterious item*​


There we go ! I should of put it a long time ago on one of my posts here but now you'll see it :​
upload_2015-6-3_18-52-7.jpeg

(Sadly I didn't make it myself...)



Also, Congratz for your 5000 Downloads ! Now, will you reach OVER 9000 downloads ?
 
New update for Neo Devices is available...

More Multi-player bug fixes
Resistors are now available. They delay wire pulses for various lengths of time.

=================================================================================

im facing a lot less crashes and freezes now with the update , thank you! and dont woryy i believe for others they were perfectly but since im on a macit might be that. i use tapi and all but it can be a little unstable , or at least it was with the previous updates, now they work smoothly :p
also congrats on the 5000 downloads :)
since you like to see things built with your mods ill show you these:
OuDQ2dX.png

It was for a new playthrough with your mods plus the thorium mod using my character Velaria (red head in my sig)
1SF1F7L.png

As you can see the shelves from your mod really helped this look like an adequate shop :p
I posted these on reddit , and a lot of people asked how i got the columns , shelves , etc. and i directed them here , hope you dont mind.
Thank you so much for posting these! These are exactly what I was hoping to see! It means a lot to me to see how my mods can be used. And feel free to direct anyone interested to this thread. I'm always happy to see more people interested in what I'm doing, and hopefully even get a few new people interested in Terraria!

Are there any other building materials it might be nice to have available? (Like the columns, or something similar, or something I haven't even thought of yet)
Multiplayer-only issues (working fine in singleplayer):
- Blinktube isn't working when sent a pulse (nothing happens). After having it enabled, I can't remove it anymore with my pickaxe. If try hitting it with the pickaxe, I keep getting additional copies and it doesn't get removed.
- Strobe Light is particularly weird. Sometimes, when being sent a pulse it turns invisible and display some sort of dirt particle animation each pulse. Other times, it just doesn't do anything. Then right-clicking it gives you a copy of it (you can spam right-click it to get hundreds of Strobe Lights).

Multiplayer and singleplayer issues:
- Diodes did not work for me in multiplayer and singleplayer even though the arrow visually changed direction on right-click. In singleplayer, they just seemed to do nothing (wires still work both ways). In multiplayer they didn't work either and if I right-clicked them whilst enabled I was given 3 Diodes (so also allows you to spam click it for hundreds of copies).
- The logic gates don't do anything in both modes (I only tested the AND-gate).
- Timers when removed give you 3 copies instead of only one (already told you this one I believe).

So a recurring theme for the bugs is them giving out multiple copies. Even though there are still a couple bugs left, I think you have done a fantastic job on fixing most of the issues so quickly! I can already enjoy most of the features of these fantastic mods!
I did some more updating and a new version of Neo Devices is available to download.
  • Blinktubes
    • These were particularly interesting to figure out.
    • You couldn't remove them because I created a feedback loop between TileFrame <-> SendTileSquare. Now I know not to put SendTileSquare in the TileFrame function. lol
    • They weren't operational because I use the PlaceTile() function to initialize the Blinktube location in a variable that I update every frame. And PlaceStyle() was being run client side, while I was doing the check for it server side. I moved the code from PlaceTile() into Initialize() and it seems to be working well.
    • I also had to be creative with getting the light to show up, because that variable I was just talking about is used to determine the proper frame, which effects the light. Had to create a custom TileFrame call from Server to Client
  • Strobe Light
    • I believe both issues were caused by the same bug
    • I'm used to setting the TileFrame 1 square at a time, and so did this with the net sycning of the TileFrame changes as well. This confuses the server though since 1 part of the tile was at the new tile frame, and the other part was at the old, so it destroyed the tile, and dropped the item. Then the other square got updated and the tile was back again. Anyways, I learned to use the RangeFrame() NetMessage to sync large tiles. This should fix the multitude of problems with tiles giving multiple copies of themselves.
  • Timers
    • I can't seem to reproduce the issue with timers dropping 3 items when destroyed. I tested it with them on and off. I'll keep my eye out for something that might be causing this, but it'll be tough until I can reproduce it.

As for the Logic Gates and Diode wiring, here's an example...
4F5YrQm.png

I should probably add info on using these devices to the main post. In the case of the logic gates and diodes (and resistors) the wires should only touch the protruding nubs, and should not be a continuous wire through the tile. For the logic gates, the side of the tile with two connectors has the inputs, and side with one connector is the output. I hope that clears up the issue you were having.

Thanks again for wonderful post! I'm going to keep working on the Conveyor issue to get Players effected.
 
Thank you so much for posting these! These are exactly what I was hoping to see! It means a lot to me to see how my mods can be used. And feel free to direct anyone interested to this thread. I'm always happy to see more people interested in what I'm doing, and hopefully even get a few new people interested in Terraria!

Are there any other building materials it might be nice to have available? (Like the columns, or something similar, or something I haven't even thought of yet)
No problem :)
About the blocks , seeing how great the mob statues are , would it be possible to make some boss statues as well? Also id like to see something like chlorophyte , ectoplasm , hallowed or crimtane bricks available if its in your possibilites , no pressure of course! looking forward to more of your updates C:
 
No problem :)
About the blocks , seeing how great the mob statues are , would it be possible to make some boss statues as well? Also id like to see something like chlorophyte , ectoplasm , hallowed or crimtane bricks available if its in your possibilites , no pressure of course! looking forward to more of your updates C:
I made some tiles as you suggested, but as I reread your post I realized I might have made the wrong thing. You said 'Brick' tiles, but I ended up making 'Slab' tiles. Would you have liked them to be the smaller brick pattern?

Here's how the slabs turned out. It's just a preview. I need to add tile variations still so it doesn't just repeat the same pattern.
YIN9oRW.png
mUw1giZ.png
lRQbWRi.png
bhBGml4.png

Boss statues have been in the works, I just keep getting distracted by other ideas. I want them to happen though.
 
I made some tiles as you suggested, but as I reread your post I realized I might have made the wrong thing. You said 'Brick' tiles, but I ended up making 'Slab' tiles. Would you have liked them to be the smaller brick pattern?

Here's how the slabs turned out. It's just a preview. I need to add tile variations still so it doesn't just repeat the same pattern.
YIN9oRW.png
mUw1giZ.png
lRQbWRi.png
bhBGml4.png

Boss statues have been in the works, I just keep getting distracted by other ideas. I want them to happen though.
Theyre great! I think a shiny effect would help them look like metal . Like the ore bricks currently in the game.and perhaps some white highlights would help add metaly effect too. Also the crimtane slabs could use some more black. Besides that i am really liking them. I did say bricks , but these are really nice too so if you want you can keep these :) Thanks for your dedication and listening to suggestions.
 
Unlike last time where I only kept bringing bad news, I have far better news this time!
Almost everything works now in multiplayer!

Blinktubes and strobe lights now work as they should in multiplayer.
Also tested the mob-spawning statues, pistons and the newly added resistors and they all function correctly.

By the way, I saw someone having issues with Recipe Book in Multiplayer. I tested it, and it seemed to work fine for me.

Moving on, diodes do infact work. After seeing your example I realised I had continued the wire through the diode, rendering the diode useless.
I was using logic gates wrong as well: I was connecting two separate wires to an AND-gate and expecting it to send a signal after the two levers on seperate wires were pulled.

So both those issues were my fault, sorry for the trouble!

The only thing that keeps bugging for me are those timers giving 3 copies. Very strange that you can't replicate the issue. I disabled all my other mods and it keeps happening.
It only happens with the timers you added (and in singleplayer as well). By the way, one difference I noticed with your timers and vanilla timers is that yours are placeable on walls, while the vanilla ones aren't (just something I noticed). But then again if you don't seem to encounter that problem, you can't really do anything about it.
It however isn't a critical issue, so it's not really a problem :)

Finally I remember you saying that the Master Crafter NPC can't be spawned in MP. However, certain other mods (I believe Thorium and Tremor, maybe others as well)) have been able to spawn town NPC's in MP. Maybe you could have a look at their code?

Thanks again for your amazing mods and your work to make it multiplayer-compatible! :)
 
Neo Devices has been updated with one new item, the Spotlight. An almost invisible tile that adds light. The light level can be adjusted by scrolling the mouse wheel while hovering over the tile.

Neo Master Crafter has 4 new Slab tiles, Chlorophyte, Crimtane, Ectoplasm, and Hallowed. Still perfecting the sprite, though.

Neo Draw had a bugfix. You couldn't Flood Fill using custom 1x1 solid tiles.

Theyre great! I think a shiny effect would help them look like metal . Like the ore bricks currently in the game.and perhaps some white highlights would help add metaly effect too. Also the crimtane slabs could use some more black. Besides that i am really liking them. I did say bricks , but these are really nice too so if you want you can keep these :) Thanks for your dedication and listening to suggestions.
I uploaded the new version of Master Crafter with the tiles you suggested. I got some more black in the crimtane slab, the hallowed slab actually sparkles, and later on I'll touch up Ecto and Chlorophyte. (I have to get some coding in between spriting efforts. I'm not much of an artist). Let me know if the hallowed slab sparkles too much. Hope you like them, but like you said, there's no pressure for you to actually use them. :)

I also added a new device to Neo Devices that you might find useful. The Spotlight I mentioned above was added primarily for the benefit of artists like yourself. You can add in additional lighting without drawing attention to the lights themselves. And you have complete control over the light level! (Well, 15 levels of control at least, 16 counting off)
Unlike last time where I only kept bringing bad news, I have far better news this time!
Almost everything works now in multiplayer!

Blinktubes and strobe lights now work as they should in multiplayer.
Also tested the mob-spawning statues, pistons and the newly added resistors and they all function correctly.

By the way, I saw someone having issues with Recipe Book in Multiplayer. I tested it, and it seemed to work fine for me.

Moving on, diodes do infact work. After seeing your example I realised I had continued the wire through the diode, rendering the diode useless.
I was using logic gates wrong as well: I was connecting two separate wires to an AND-gate and expecting it to send a signal after the two levers on seperate wires were pulled.

So both those issues were my fault, sorry for the trouble!

The only thing that keeps bugging for me are those timers giving 3 copies. Very strange that you can't replicate the issue. I disabled all my other mods and it keeps happening.
It only happens with the timers you added (and in singleplayer as well). By the way, one difference I noticed with your timers and vanilla timers is that yours are placeable on walls, while the vanilla ones aren't (just something I noticed). But then again if you don't seem to encounter that problem, you can't really do anything about it.
It however isn't a critical issue, so it's not really a problem :)

Finally I remember you saying that the Master Crafter NPC can't be spawned in MP. However, certain other mods (I believe Thorium and Tremor, maybe others as well)) have been able to spawn town NPC's in MP. Maybe you could have a look at their code?

Thanks again for your amazing mods and your work to make it multiplayer-compatible! :)
Thank you for the updated report! And I'd rather hear bad news about my mods not working, then hear no news cause they're not being used! lol

While Pistons are mostly functional I believe they have the same issue as the conveyors in that they don't propel the player as they should. But fixing one will fix the other. Here's hoping I find that fix soon. I'm glad to hear Recipe Book is working in Multiplayer, it's so nice to have such diligent testers!

Don't worry about the diode / logic gate confusion. I knew how to use them cause I designed them, but it's very understandable for other people not to.

The issue with the Master Crafter NPC is all the Single Player logic involved. When I first started creating him I wasn't even thinking about Multiplayer. (I've never played Terraria multiplayer before) So I had these neat ideas on how to make him unique. Instead of appearing after something happens in the World, like other NPCs, the Master Craftsman appears after the player does something. (Crafts a workbench & furnace) I also fiddled with his house hunting function so he'll only move into a room if it has a workbench, and tooled his Shop around what tiles are located in his room. I tried circumventing some of the local player checks when in multiplayer, and disabled a few fancier things, and successfully got him to spawn. But I could never get him to move into a house, and after he appears in the world I can no longer join that world again. For now I'm way too concerned about messing up someone's world so I just disabled him altogether in multiplayer. I still have more to learn though, and when I do, I look forward to adding him back in again.
 
The next new device is almost ready... the Auto Store-It!

It does this:
ym1Iynu.gif

Places loose items near it into chests next to it.

Here's a true auto farm.
zxlOYSc.png

Uses Diods, Resistors, Timers, and Conveyors. It takes 10 minutes for a pulse to travel through the series of resistors along the right side. Then the pulse actuates the mushroom grass, dropping the mushrooms onto the conveyors, and also hits a 5 second resistor. Once that 5 second resistor sends out it's pulse it resets the actuated mushroom grass and starts the process over again. The conveyors along the bottom are wired to a 0.5 second timer, and carry the items to the collector. The collector then places the items into the nearby chest.
 
The next new device is almost ready... the Auto Store-It!

It does this:
ym1Iynu.gif

Places loose items near it into chests next to it.

Here's a true auto farm.
zxlOYSc.png

Uses Diods, Resistors, Timers, and Conveyors. It takes 10 minutes for a pulse to travel through the series of resistors along the right side. Then the pulse actuates the mushroom grass, dropping the mushrooms onto the conveyors, and also hits a 5 second resistor. Once that 5 second resistor sends out it's pulse it resets the actuated mushroom grass and starts the process over again. The conveyors along the bottom are wired to a 0.5 second timer, and carry the items to the collector. The collector then places the items into the nearby chest.
DUUUUUUUUUUUDE. SO GOOD. LOVE IT.
 
I made some tiles as you suggested, but as I reread your post I realized I might have made the wrong thing. You said 'Brick' tiles, but I ended up making 'Slab' tiles. Would you have liked them to be the smaller brick pattern?
I saw the slabs, but they look kinda weird to me, I don't know why...
Maybe the fact they bear too much ressemblance to the stone ones ?

Now that I think about it...
I didn't find a crafting recipe for the conveyor belts whereas express conveyors do have one.


Edit : Is entering water while having the wet debuff set as false in the NeoUtilities mod options a bug ? Cause it currently happens in this version.
 
Last edited:
Back
Top Bottom