Giter Club home page Giter Club logo

Comments (23)

mosemister avatar mosemister commented on June 4, 2024

I would love to help however the error you have shown me has been cut off at the end. The error currently tells me there was an error when running a command on paper. And that it was caused by the command /ships ship

When you load the server up, ships gives a lot of information including ship types and where they loaded from. It also tells you how many ships loaded. Is the number correct when that happens?

from ships-2ndgen.

shueja avatar shueja commented on June 4, 2024

As far as I can tell the number it shows is correct, however even on the two ships that are loaded and have yml files, the move signs can’t find the license sign. The error in my log cuts off at null pointer

from ships-2ndgen.

mosemister avatar mosemister commented on June 4, 2024

How did you get the error? As in did you copy it from your console or did you copy it from your log?

from ships-2ndgen.

shueja avatar shueja commented on June 4, 2024

That is the one from the console. Simultaneously the chat log tells me an internal error occurred when trying to tab complete the command . And it does that with every character after /ships ship

from ships-2ndgen.

mosemister avatar mosemister commented on June 4, 2024

Try opening your log file to get the error. It maybe that paper or something else is attempting to remove lag by limiting the amount of messages that come though the console.

And when you say after every character, do you mean before you hit enter to send the command or does it happen after the enter press (trying to understand roughly where the error is coming from without the error)

from ships-2ndgen.

shueja avatar shueja commented on June 4, 2024

Okay let me clarify. I type /ships ship and as soon as I hit space I get the internal error message. Every key press after that the message repeat. Btw I figured out that I was typing the name incorrectly so even though it spams me with error messages the command works. So I think it’s a tab completion issue. Unfortunately I can’t get the log until tomorrow

from ships-2ndgen.

mosemister avatar mosemister commented on June 4, 2024

Ok. Thank you. That narrows down the issue. I wont be able to fix anything until tomorrow anyway, so please take your time.

Based on what you have told me the error stems from either line 129 or or 131 in https://github.com/Minecraft-Ships/ShipsForCore/blob/30f9f484791940b7df4f0b01944369663139d454/src/org/ships/commands/legacy/ship/LegacyShipCommand.java#L131

The error stated it was a NullpointerException. The possibilities for that to occur on either of the lines is if a vessel is not loading correctly creating either the vessel to be null (Highly unlikely as the vessel data is checked to not be null before putting it to list) or the getId of the vessel is null (Will need to check on that one).

Do you know the ids of the 3 ships? If not then can I know the names of the ships you have given and the shiptype they are?

from ships-2ndgen.

shueja avatar shueja commented on June 4, 2024

It’s the getId. I remember that from one of the errors.
All three are airships named
Galleon
Jankyship
Icanfly4

I know Galleon works fine, I just added it today. The other two can’t find their license signs as of yesterday, but they both worked before then?
.

from ships-2ndgen.

mosemister avatar mosemister commented on June 4, 2024

For the getId to return null, the licence sign must be unsynced with the ships file.
If you click on the licence sign of the offending ships, it should resync the file and sign together.

I am not sure how they become unsynced in the first place

from ships-2ndgen.

shueja avatar shueja commented on June 4, 2024

Maybe breaking the sign, modifying the ship, and replacing the sign?
Or breaking the block the sign is on?
I also noticed that the three airships that worked at first were all created roughly in the same place, but my friend can’t get airships to work and he’s several thousand blocks away.

I’ll try the click solution tonight. Left click or right click?

from ships-2ndgen.

mosemister avatar mosemister commented on June 4, 2024

When you break the block the sign is attached to or the sign itself, the ships data is removed, so it can not be that.

As for left/right click. It does not matter, it will say "resynced ..."

from ships-2ndgen.

mosemister avatar mosemister commented on June 4, 2024

is this issue fixed?

from ships-2ndgen.

shueja avatar shueja commented on June 4, 2024

I think so.

from ships-2ndgen.

shueja avatar shueja commented on June 4, 2024

Never mind it’s not fixed. However I can’t seem to find a specific sequence of events that causes it

from ships-2ndgen.

mosemister avatar mosemister commented on June 4, 2024

Are you using the new ships 6 block tracker?

from ships-2ndgen.

shueja avatar shueja commented on June 4, 2024

Yes but it’s very slow because The issue appeared while testing an airship in alpha 2.2 to see if the water issues are resolved.

from ships-2ndgen.

mosemister avatar mosemister commented on June 4, 2024

So the new block tracker is slow compared to the old one, its designed to reduce lag to the bare minimum by utilizing as much free processing power your server can handle.

The issue is that minecraft runs on the main thread of the server and hates running off another meaning that all plugins run on the main thread with the server so free space in processing power is tiny, especially in modern day minecraft.

Anyway, while the ship is detecting its structure after a reload or reboot, it is set as loading until the structure is processed. This means that any other part of ships attempting to look for the ship will not find it (as it doesnt have a structure) resulting in the message you have.

Im working on solving this message but I believe that is why your getting it

from ships-2ndgen.

shueja avatar shueja commented on June 4, 2024

Okay. So as I understand it, if I try to resync the structure by shift clicking the license sign and it doesn’t show anything, it’s just taking a long time to process and I should wait until it says the vessel structure is updated by ___ before moving on to deleting and readding the ship?

I’m that case you might want to give a chat message at the beginning of the resync process like “beginning structure update. Please wait...”?

from ships-2ndgen.

mosemister avatar mosemister commented on June 4, 2024

Well I have thought of that, however due to the fact any developer can add there own block finder that maybe more efficient then my own, the message would imply waiting when there is none.

I added the BossBar to show the progress of the tracking (meaning you would see something is happening), however most users hated it (most users are on Ships 5 tracker that is .... well instant) so I disabled it by default.

from ships-2ndgen.

shueja avatar shueja commented on June 4, 2024

And here I thought the boss bar was broken because it moved so slowly they would start stacking up. I guess it's not broken, it just takes a lot more time?

from ships-2ndgen.

mosemister avatar mosemister commented on June 4, 2024

It just takes a while. You can attempt to optimise the speed by messing around with the Advanced.Block.Stack values (using the ships config command) in attempt to make it go faster.

In my experience, i have found that the average server can handle around a stack limit of 25 on a stack delay of 1 with a stack delay unit of ticks. What that means is the block finder will attempt to find 25 blocks every 1 server tick. Some servers, especially on the lower end will have a very minor lag spike if they can not handle it. The default values are for the lowest of low servers, so I would advise speeding it up.

As for the boss bar being broken, it was in version 2.3.1 and lower as it was not converting 100% to 0.1 correctly, it was either converting it to 1 (the bars percent would be full) or 0 (the bars percent would be nothing) however this was fixed in 2.4

from ships-2ndgen.

mosemister avatar mosemister commented on June 4, 2024

I do also plan as mentioned before to do more optimisations to the block finder to make it faster.

However if it is annoying you to the point where you wish that you only needed to suffer through the wait if the user manually states that the structure needs to be updated, you can change that in the config (auto update ships structure) turning this to false will ignore the getting of the structure and use what ships believes to be the structure (as in what ships found on its last manual update)

from ships-2ndgen.

mosemister avatar mosemister commented on June 4, 2024

Closed due to a lack of response

from ships-2ndgen.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.