#help-development

1 messages · Page 2277 of 1

noble lantern
#

in that case i beileve it will return crafting

#

dont ask why

ivory sleet
#

Btw I’d assume a preview feature is more likely and stable to be in the jdk and obviate changes than an incubator feature? I’ve been reading features of j19 recently 😅

noble lantern
#

i dont think ive ever seen a player inventory type ever actually return PLAYER_INVENTORY lmfao

eternal night
#

Yea, preview comes after incubation

noble lantern
#

its always the PLAYER_CRAFTING or whatever tf it is

crude charm
#

I see

ivory sleet
#

Ah okay then I got that right :3

noble lantern
crude charm
#

What about checking for the item and cloning it?

noble lantern
#

and see if that was the one clicked

noble lantern
crude charm
noble lantern
#

.clone()

noble lantern
crude charm
#

and the slot to clone it to

cunning canopy
#

Any way to acess the initialized JavaPlugin object?

crude charm
noble lantern
tardy delta
#

should i rename those to xyz etc?

noble lantern
#

or LastClicked

#

something along those lines

chrome beacon
noble lantern
#

its complex buts not at the time time

#

just hard to explain

subtle folio
cunning canopy
crude charm
#

I already wanna kms already and I'm at the easiest part lmfao

undone axleBOT
noble lantern
#

nah this is easiest part

tardy delta
noble lantern
#

storing the inv data is easy

tardy delta
#

atleast that what i use

noble lantern
#

since ItemStack is Serializable

crude charm
#

Yeah

crude charm
#

But it's a blessing and a curse working with an extremely modified version of spigot

#

makes alot 100 times faster but makes alot harder

noble lantern
#

eat shit google

crude charm
#

if I dont add to it

noble lantern
#

i literally wanna call this on the main thread smh

ashen quest
#

yo yo yo my spigot gangstaz

#

kills chat

crude charm
noble lantern
#

nah just busy

#

fighting google

cunning canopy
ashen quest
#

dont forget to add a constructor in Blabla

crude charm
# noble lantern whats that

storing it all in dbs and then making backups for that and getting that / advanced effects / upgrading the tools with different enchants at different stages / custom eco with custom items and balancing that / big supply crates in random places on a bumpy map and finding places where they wont break

#

and so much more

noble lantern
#

no you need to get a referance of your class Extending JavaPlugin from your other class

#

using di

crude charm
#

oh and how could I forget

noble lantern
#

yes but you need your main class as a argument for the constructor

crude charm
#

events

noble lantern
#

or static getter

ashen quest
#

ew

#

DI for life, no static 💯

crude charm
#

and a public api to get any players stats, items and upgrades

#

thats pretty easy though

#

for the most part

noble lantern
crude charm
#

nup

#

just fetch it from the db

noble lantern
#

damn

crude charm
#

and let people use maven

noble lantern
#

i discovered this really badass library

ashen quest
noble lantern
#

converts java object to JsonSchema via pojo

ashen quest
#

nice

#

its the Jackson thing?

crude charm
#

and this is all after not touching an ide for over a year from burnout on this same project

#

which I'm now restarting

noble lantern
#

This is a standalone lib but yes it uses jackson

#

its calleed victools

crude charm
#

as the old code is messy af from rush and not looking back

noble lantern
#

So nice too

ashen quest
#

do u guys know any Wikipedia wrappers for Java? the ones i found are either incomplete or dont serve the purpose completely

cunning canopy
noble lantern
#

make it your class extending JavaPlugin

cunning canopy
#

Spigot?

#

ooh

#

ok

noble lantern
#

so whatever your main class is

cunning canopy
#

but then it will work right?

noble lantern
#

JavaPlugin is fine, but wont get you methods from your main class

#

Yes

#

it will

twilit roost
#

Does anyone know if default texture of skeleton skull is retexturable?

cunning canopy
#

thanks

noble lantern
#

+1 for final declaration too

ashen quest
#

^^

noble lantern
#

only PLAYER_HEAD

twilit roost
#

using resource pack?

noble lantern
#

Sure

cunning canopy
#

What is the difference between SpigotPlugin and JavaPlugin?

noble lantern
#

Just gotta find its texture ofc

twilit roost
#

since I want higher res texture
not 16x16

noble lantern
#

Yeah youll just have to replace the image in the texture pack

noble lantern
twilit roost
#

well idk where to point this

{
    "parent": "minecraft:item/generated",
    "textures": {
      "layer0": "minecraft:model/skeleton_skull"
    }
noble lantern
#

Youll never use SpigotPlugin

cunning canopy
#

ok

noble lantern
#

there should be a models folder somewhere

twilit roost
#

nope imma try

noble lantern
#

it should have a skeleton_skull.jpg in model folder

#

or .png

#

forget what mc stores as

ashen quest
#

Burchard37, are u a rust developer

noble lantern
#

negative in both terms (Game and rust lang)

ashen quest
#

oh

#

i thought u were because your server is "rust" in peace

cunning canopy
#

when using bukkit scoreboard do I need to do something after changing the displayname for it to change on screen?

ivory sleet
#

Set the scoreboard to the player

cunning canopy
#

ok so after modifying I need to set it again?

ivory sleet
#

Nope

tardy delta
#

private <T> void withConnectionBatch(String statement, Connection conn, int maxBatchSize, Collection<T> collection, ThrowingBiConsumer<PreparedStatement, T> function) {hmmm

#

my lazy ass willing to write util methods for everything

ivory sleet
#

That function looks huge

#

Looks almost like you wanna turn it into an object

tardy delta
#

its bigger than my 13 inch screen smh

#

util method not working sadly

ivory sleet
tardy delta
#

actually i could try

#

nah its impossible

#

Collection<Object[]> placeholders

#

that goes to far

#

but manually looks ass doesnt it?

noble lantern
#

you could setup a pojo serializer

#

have data classes for your mysql that parse to valid sql statements

tardy delta
#

im scared of those but ig i'll have to use them at a certain point :(

noble lantern
#

Its honestly easy

#

basicallly

#

you have a class with your variables there

#

so like id, owner, etc

#

and from there you get the variables of the class via reflection as well as theyre types

#

and create a method for converting to the paranthesis bullshit (id, owner, etc)

And another method for inserting the variables into the PreparedStatement

#

Last part is the hardest

#

this is why i like mongodb

cunning canopy
#

Any way to make a scoreboards display name bold. Like with a different font or something?

noble lantern
#

can just use gson and shove shit in there

noble lantern
#

You can add images to scoreboards if you rly want with texturepacks

cunning canopy
#

PostgresSQL>>>>>

noble lantern
#

or images anywhere

cunning canopy
noble lantern
#

no you 100% need texturepacks

#

its just hypixel auto downloads it for you on first join

#

then from there your client remembers it as long as the signature of the rsource pack provided by the server isnt changed

cunning shard
#

learned something new today

noble lantern
#

I forgot the method

#

i think its just player#sendResourcePack(StringTheUrl)

#

something like that

summer scroll
#

Will it send you like the confirmation?

noble lantern
#

yes

cunning canopy
noble lantern
#

pretty sure it does

cunning canopy
summer scroll
#

resource pack download url

noble lantern
#

use dropbox

#

and at the end

#

dl=1

#

not dl=0

#

so yes it does display confirmation gui @summer scroll

cunning canopy
noble lantern
#

yes

#

zip folder

#

and all you do for the url

#

is change 0 to 1

1 means it will auto download when the link receives a GET request

#

0 takes you to the page listed there

#

do note

#

if you do this large scale like hundreds of requests to this url a minute or something like that

#

dropbox may force you to buy premium

#

but mostly shouldnt be an issue

#

just as long as no ones a dick and spams the link from like a botnet or some shit

wary harness
#

why this imports are not working

quaint mantle
#

Bungeecord is separate from chat

wary harness
noble lantern
#

The actual bungeecord api isn't provided with spigot alone

#

Gotta import bungeecord too

#

Spigot just comes with bungeecords chat module

#

Oh wait

#

Tf

wary harness
#

🙄

noble lantern
#

Try deleting the 2 import lines

#

And alt + enter

buoyant viper
#

why is bungee api there twice

noble lantern
#

One is javadocs

buoyant viper
#

oh javadoc

noble lantern
#

Navadoc

wary harness
#

alt+enter

#

deleted lines up

cunning canopy
daring maple
#

Well dropbox is scalable to a certain extent, but you'll have to pay for it once you exceed some bandwith amount

cunning canopy
#

Wouldn't it be better to host a Webserver on the server running the minecraft server?

buoyant viper
#

ya

daring maple
noble lantern
#

Yeah thats how you normally host resource packs

#

Like on nginx or something

cunning canopy
#

Yes like a static page

noble lantern
#

Can use nodejs express actually

#

If urbintovthat

#

Ur into that*

cunning canopy
#

How is spigot set up? Does it use nginx?

wary harness
cunning canopy
noble lantern
noble lantern
#

Looks cool

wary harness
#

up to 100mb

#

size

noble lantern
#

Dang wow

daring maple
#

It does look cool yeah, wondering how it would sustain its service tho

wary harness
#

95mb my bad

noble lantern
#

Its from digital Ocean

#

It ain't going nowhere

cunning canopy
#

Maybe just create a subdomain and setup a mini cloud server

daring maple
#

It just says its powered by it

wary harness
#

@noble lantern what about my import problem up xd

dry forum
#

https://pastebin.com/kG4e1Z4t anyone know why this would be lagging my server? its supose to load a schematic using FAWE over a period of time so its kind of in rows which it does fine on a small scale but i have a relatively small schematic (20x20x40) ish and it crashes my server ;p im loading it over 1000 ticks so its not like its all being set at once

daring maple
#

The owner still has to pay I assume

noble lantern
#

Yes meaning its likely sponsored by digital Ocean

noble lantern
wary harness
#

deleted imports

noble lantern
#

Delete import lines and press alt + enter with mouse clicked on red text

wary harness
#

and pressed alt +enter

#

yep

noble lantern
#

What did it do? A window should popup

#

No imports found?

wary harness
charred blaze
#

plugin.config

noble lantern
#

Weird

charred blaze
noble lantern
#

Add it to class path and see

frozen cedar
noble lantern
wary harness
#

ok

noble lantern
buoyant viper
noble lantern
#

It will tell you

charred blaze
noble lantern
#

?xyz

charred blaze
#

um?

frozen cedar
charred blaze
noble lantern
#

Just gave almost no effort into the question

charred blaze
noble lantern
#

Error logs, code

#

Cant expect us to just know whats wrong off a undeclared variable and one line error

buoyant viper
charred blaze
#

im creating discord bot which uses JDA api and also spigot api so error also contains jda things

#

[net.dv8tion.jda.api.JDA] One of the EventListeners had an uncaught exception
13.07 15:15:51 [Server] INFO java.lang.NullPointerException: null

vocal cloud
#

Not this again

noble lantern
ivory sleet
river oracle
#

Whats the new thing in the spigot API that can replace GameProfile from mojangs auth lib I honestly forgot is it like PlayerProfile or something

noble lantern
noble lantern
#

Oh

#

GameSomethingProperties

#

Along those lines

charred blaze
#

event.getChannel().sendMessage(instantthing(time, event.getChannel()).toString()).queue();

#

this line

noble lantern
#

Jesus

waxen plinth
ivory sleet
#

It’s just PlayerProfile

river oracle
#

oh PlayerProfile is a 1.19 api thing it looks like

noble lantern
#

When we say we mean like code

#

Like the whole method

#

?paste

undone axleBOT
charred blaze
buoyant viper
#

fuck it, the whole class

noble lantern
#

One line of code isn't gonna help us fix yourbissue

charred blaze
#

u mean whole class?

noble lantern
#

^

river oracle
#

nvm wrong api version smh

noble lantern
#

Yeah whole class

river oracle
#

1.17 fail

charred blaze
#

Bruh

noble lantern
#

Or just method that has the error

#

Cause I have no idea what those variables are

charred blaze
#

getting config has error

#

bcs

#

in that line there is three things

#

that may cause nullpointer

#

message.getMentions().getMembers().get(0).getId()

#

this is not null

#

this too instantthing(time, event.getChannel()).toString()

noble lantern
#

Yes that can be null

charred blaze
noble lantern
#

Like rn

#

This message is null

charred blaze
noble lantern
#

So is this one

#

And this one

ivory sleet
#

I’d trust your code more than you Greened

noble lantern
#

@charred blaze now that message is not null

#

That code is getting a ping from a message

#

Wait no

#

Sorry

#

Wait no

#

Not sorry om right

#

Im*

#

You need to check the size of that list first

#

Before just accessing its members

#

Aka make sure the message actually has a pinged user when getting a pinged user

charred blaze
#

size of it

#

is 1

#

oh god

#

its not null

#

ok?

noble lantern
#

You wouldn't be getting a NPE if it wasn't

charred blaze
#

what is NPE

noble lantern
#

NullPointerException

noble lantern
charred blaze
ivory sleet
#

That solves that then?

#

something is null at least

noble lantern
#

Whats your code for getting config then?

ivory sleet
#

That’s irrefutably true

noble lantern
#

The exception message should have a click able link to the error line

charred blaze
noble lantern
#

There you go

#

?di

undone axleBOT
noble lantern
#

^

ivory sleet
#

Tip: use final to ensure you actually assign the variable a value

#

Assuming you don’t re assign it later on

noble lantern
#

Not sure if you can make a static getter for Java plugin final unless im stupis

#

But standard di i always finalize that

ivory sleet
#

Mono state?

noble lantern
#

It never lets me use 'this' normally

charred blaze
# noble lantern ^

u mean i need this?
private final Main plugin;

  public mesListener(Main plugin) {
    this.plugin = plugin;
  }
#

it gaves me error

noble lantern
ivory sleet
#

What’s the name of the class?

noble lantern
#

i hope its mesListener

#

but also hope its not

charred blaze
ivory sleet
#

Then mesListener is invalid

charred blaze
#

uh

ivory sleet
#

It should be Listener(Main plugin)

charred blaze
#

fixed

#

then

ivory sleet
#

I’d say you need to go and visit basics of Java

charred blaze
#

BRUH

#

now

#

im getting error in

#

JDA THINGS

drifting halo
#

well, you also dont really want to use that name since its already an interface in bukkits name space but ig thats not that big of a deal

noble lantern
#

kekw k

noble lantern
ivory sleet
#

new Listener(this)

#

Presumably

noble lantern
#

oh nvm

#

thought Listener was his main for some reason

charred blaze
#

fixed

buoyant viper
drifting halo
ivory sleet
#

DED spitting some facts here 😌

vocal cloud
#

This sounds like a spigot fork in the making

buoyant viper
#

sendMessage("Hello"); -- BAD >:(

sendMessage(Component.text("Hello")); -- BETTER?!

vocal cloud
#

Simpgot. Spigot but simplified

buoyant viper
waxen plinth
waxen plinth
#

So it just feels pointless

vocal cloud
#

But it's better than Bukkit hes_UwU

drifting halo
#

i just made a wrapper class for all the component stuff

noble lantern
waxen plinth
#

I hope they keep the methods deprecated but don't actually remove them

buoyant viper
noble lantern
#

but paper wont hard fork

#

they scared

eternal night
buoyant viper
#

they would never

ivory sleet
#

Doubtful

noble lantern
#

they always talking about it but i doubt it too

#

paper would die so fast

eternal night
waxen plinth
#

It doesn't really affect me anyways

ivory sleet
#

👏 I 👏 mean 👏 mini 👏 message 👏

waxen plinth
#

I don't even write plugins anymore

ivory sleet
#

🙂

drifting halo
#

they're waiting for hangar to release, so they dont have to rely on spigotmc to host plugins

buoyant viper
#

i guess devs could just write proxy methods to do their bidding

noble lantern
buoyant viper
#

if spigot do this else do this

noble lantern
#

gonna need to make plugin for spigot and paper

drifting halo
#

abstraction is your friend

noble lantern
#

or them just not doing it

#

is my friend

buoyant viper
noble lantern
eternal night
#

I mean, if paper hard forks it won't just yeet away every method xD

ivory sleet
eternal night
#

the concept of sane deprecation exists

vocal cloud
#

Paper has been doing the smart thing of absorbing forks

drifting halo
#

if you wanna use strings be my guest, but literally all of internal minecraft uses components, so i dont see why you shouldn't too

noble lantern
#

i still prefer strings

#

mojang can eat it

eternal night
#

(or use Player#sendRichMessage("<red>This is red")`

noble lantern
vocal cloud
#

Because if you've seen other MC code you'd understand why

waxen plinth
#

I think they should both remain options

buoyant viper
#

its been getting better?ish since 1.13 but

vocal cloud
#

Notch programming moment

waxen plinth
#

Components are certainly useful but they can make things unnecessarily bulky and they make it a huge pain to create generalized libraries that would normally handle strings

buoyant viper
#

notch era code was atrocious

drifting halo
#

i can do stuff like

Component command = ComponentUtil.toComponent("<hover:show_text:'<green>Click to suggest command'><click:suggest_command:'/rtp reset offlinecooldown <uuid>'><aqua><underlined>reset offlinecooldown</underlined></aqua>");

Don't even need to write components lul

waxen plinth
#

I'm talking specifically about making a command library

hybrid spoke
waxen plinth
#

Huge pain

lost matrix
ivory sleet
buoyant viper
#

gotta throw the whole game away

lost matrix
drifting halo
drifting halo
#

Its nice for something like this though messageHandler.sendMessage(sender, "<green>Cooldown reset for " + target.getName());

ivory sleet
#

But using § does compromise a lot of stuff and invokes legacy stuff which seems to be holding other stuff back, and we got mini message that seems to be a good fast and reliably solution to relatively succinct and non verbose messages

lost matrix
drifting halo
vocal cloud
#

Be like forge and check all plugins for component imports then throw a very generic error

buoyant viper
drifting halo
#

in vanilla they're not even builders, so at least we got that going in adventure

sage patio
#

Hi, I'm working on a project for someone who wants to:
He has a Mohist 1.16.5 server with a Gun mod (curseforge.com/minecraft/mc-mods/mrcrayfishs-gun-mod) & ReviveMe plugin (spigotmc.org/resources/78184)
When player gets nucked with ReviveMe plugin, he can use Guns, I've tried to cancel interact event with Lowest priority, it works but not for the Guns (I think Forge events are different ore something else ...)
is there anyway to do not let player use guns when he is nucked? with NMS or anything?

ivory sleet
#

We do have LinearComponents utility class

#

And some other stuff to make it a bit more succinct

buoyant viper
sage patio
lost matrix
drifting halo
#

using bukkit api for modded monkas

noble lantern
#

isnt mohist like

ivory sleet
#

🌞

noble lantern
#

strongly frowned upon too

drifting halo
#

anything that merges bukkit with mods is lol

noble lantern
drifting halo
#

same for cauldron and whatever the others were

quaint mantle
#

it's like the modern day cauldron

#

they were never that great

noble lantern
lost matrix
noble lantern
#

apparently it did some shady stuff

drifting halo
#

if you want mod compat use Sponge

noble lantern
#

yee sponge definatly best

drifting halo
#

but at that point you could just make a mod to interact with the other mod

buoyant viper
#

boutta make an (in)sane bukkit-forge fork

#

callin it Fucket

drifting halo
#

already exists

noble lantern
#

No way Fucket exists

lost matrix
#

Is Sponge still being worked on?

quiet ice
#

Eh, I prefer for people to write a bukkit-like API for forge/fabric

buoyant viper
ivory sleet
noble lantern
#

slowly

ivory sleet
#

It’s doing alright

quiet ice
buoyant viper
#

its makin its way

noble lantern
#

only 1.12 rn

drifting halo
quaint mantle
#

they have experimental 1.16 forge builds

lost matrix
#

I remember when it was praised as the bukkit killer.

noble lantern
buoyant viper
#

spongevanilla runs latest iirc just not spongeforge and whatever the other thing is

quiet ice
#

As far as I know they also have spongevanilla 1.18

lost matrix
drifting halo
#

they're focusing on abstracting the api rn and then it should be easy to update in the future

ivory sleet
#

Sounds like it’s prone to a colossal amount of deprecations

drifting halo
#

and they're all very different

lost matrix
#

Dont you need like a client for Sponge? I never really got into it.

quiet ice
#

Sponge is vary different from bukkit last time I tried - I wouldn't use it really

ivory sleet
#

Myeah makes a little bit of sense, altho nice that they include mixins

drifting halo
#

not really, sponge can be server side too

quiet ice
#

It's kinda like bukkit really

quaint mantle
#

nothing but forge and itself

drifting halo
#

you can have a server that runs sponge without having to have a client, it completely reimplements the minecraft protocol

quiet ice
#

Reimplements???

#

what the hell are those madlads

buoyant viper
#

theyre the same guys that wrote mixins

#

do u expect any less

quiet ice
#

Mixin does make sense however

#

Reimplementing the protocol? I do not know

noble lantern
ivory sleet
#

Probably means non notchian implementation

#

But yeah might not have been the best choice of word

quiet ice
#

Yeah probably, I don't think they just completely reimplemented it

#

Though really given that forge is incompatible with proxies you have to ask yourself whether it really is that useful to have running as a server

noble lantern
#

some people just dont care

lost matrix
#

I would never host a public forge server

buoyant viper
noble lantern
#

most of the time ppl wanting this stuff is small groups of friends

ivory sleet
#

How is it incompatible? (Out of curiosity)

quiet ice
buoyant viper
#

ah

sage patio
lost matrix
quiet ice
buoyant viper
ivory sleet
#

Ah

lost matrix
drifting halo
#

theres modded server networks that have been running dozens of servers for over a decade now

buoyant viper
drifting halo
#

sure not many, but there are a few

ivory sleet
#

Yeah good point

buoyant viper
#

pixelmon public servers used to be pretty common

quiet ice
#

Those either run forge 1.12.2 (FML1) or earlier or run on fabric I assume

noble lantern
#

still are tbh

lost matrix
drifting halo
#

and i'm pretty sure you can join vanilla servers with forge, so i dont think the handshake is fucked, maybe long ago but i think all of them support it now

sage patio
drifting halo
#

ive played on modded servers with proxies too, so eh idk

quiet ice
#

Quoting zml from the sponge discord:

on 1.16 you aren't going to be able to do [setup bungee] that yet, forge is incompatible with proxies

noble lantern
#

last pixelmon server i played on was like 1.13 i think

#

maybe 1.12

#

it was on a proxy

drifting halo
#

hmm weird

quiet ice
#

Oh, that is ip-forwarding

noble lantern
#

yeh

quiet ice
#

though uh I guess ip-forwarding shouldn't be some magic either

#

whatever

noble lantern
#

vanilla hub that connected to modded server

#

it was like a cluster of vanilla serers and then one server was modded, pixelmon

#

honestly didnt know that was possible until i saw it

sage patio
buoyant viper
#

thought mc doesnt support redirecting

#

just spoofing it with world changes

noble lantern
#

time to go run a few miles later guys

lost matrix
buoyant viper
#

it does to me .

cunning canopy
#

any way to prevent it from raining in 1.8?

eternal night
#

WeatherChangeEvent?

lost matrix
#

I really hope that this event is not a thing in 1.8

cunning canopy
lost matrix
cunning canopy
#

Ok then

#

I might reconcider

#

but can I simply change the server .jar file to a newer version?

chrome beacon
lost matrix
#

You can run your server on a newer version and only allow 1.8 clients to connect.

cunning canopy
cunning canopy
lost matrix
#

Kind of... 1.8 clients still have an advantage

chrome beacon
#

There's an item attribute for attack speed. Set it high and install the Via series of plugins

cunning canopy
chrome beacon
#

Blocking would be slightly faster iirc

#

But modern versions also have the hitbox change when sneaking

cunning canopy
#

I do not really understand how hypixel managed to make a server based on 1.7

lost matrix
#

Im a big fan of throwing out the whole vanilla combat and designing your own combat system.
This also prevents any hacked clients from having any impact.

cunning canopy
lost matrix
cunning canopy
#

spigot is open source right?

lost matrix
#

Yes you could just fork it

cunning canopy
#

thats what hypixel did?

lost matrix
cunning canopy
#

Ok my mind is made up. I am going with a newer version... Do you mind sharing your opinion on your goto version?

hushed pawn
#

i found PlayerVelocityEvent, how can i get velocity (Vector) that will be sent to player?

#

event.getVelocity retuns current velocity of player

#

0 0

lost matrix
cunning canopy
lost matrix
#

Plugins

#

Not much to elaborate there

cunning canopy
#

I make my own plugins yes.

#

so 1.19 it is?

lost matrix
#

Then working with newer versions is much better.

cunning canopy
#

and for allowing earlier versions too?

limpid bronze
#

Hey, I'm trying to do transform this list
[BONE 45x, COAL 34x, COAL 55x, BONE 2x]
to this
[BONE 47x, COAL 64x, COAL 25x]
Add every same item together, the limit is 64. If it's higher than 64 it create a new element.
How can I do that ?

frozen cedar
#

player x to player_chunk x?

wary harness
#

in 1.16 there was method setResourcePackStatus

#

is it removed now or renamed ?

lost matrix
frozen cedar
limpid bronze
cunning canopy
#

Can I update my server by simply using a newer spigot.jar file?

#

or do I have to use buildtools again?

lost matrix
cunning canopy
#

so should I just backup the world file and delete everything else?

sage patio
#

How to use it?

lost matrix
limpid bronze
#

Ok thanks

noble lantern
#

dasani water is such a scam 3$ a bottle smh

lost matrix
noble lantern
#

not home rn so i have to make do

#

i could drink the water from the gutter on the street right here

#

might be not half bad

lost matrix
#

lul

opal juniper
#

freshest spring water my ass

noble lantern
#

there is a place up in northern cali where i used tolived, called fern canyon

#

and theres a stream you can actually drink from

#

i drank soooo much of that water

#

i probably have some underlying disease hiding in my blood

#

but damn it was good water

sage patio
cunning canopy
#

can I use a 1.8 world with a 1.19 server

lost matrix
noble lantern
#

just dont go in reverse

#

and your fine

#

even 1.19.2 to 1.19.1 i wouldnt do, but especially 1.19 to 1.18, etc

quiet ice
#

I do not think that it will even allow you to do that

opal juniper
#

it will

noble lantern
#

it does

#

and corrupts the world

opal juniper
#

at least, it has in the past

quiet ice
#

I know that 1.8 will, but there should be some warning mechanism built-in for 1.9+

#

But could be a client-only feature too

noble lantern
#

yeah its client only

#

servers wont warn they just do

#

every few days someone comes in here with a world error reguarding this same topic

ivory sleet
#

It’s somewhat expected that you’re a sane person when dealing with servers

quaint mantle
#

more of a design question, how do I ensure that player data is loaded from a database on join?

@EventHandler(priority = EventPriority.HIGHEST)
public void onPlayerJoin(final PlayerJoinEvent e) {
    PlayerManager.getData(e.getPlayer().getUniqueId()).thenAccept(data -> {
        // event stuff including set join message
    });
}```
right now there's no guarantee that this code will finish loading the data in time to manipulate the event. and I don't want to load all player data at one time, so I'm not sure
noble lantern
#

before i read anything else

quiet ice
cunning canopy
#
if (spigot1o19Server.resourceUsage>spigot1o8Server.resourceUsage) {DiscordApi.AcessUser().sendMessage("1.19 uses more resources compared to 1.8")}
noble lantern
#

database plus playerjoin using blocking queries in async pre join

ivory sleet
#

AsyncPlayerPreLoginEvent

noble lantern
#

blocking so that way you hold the player join connection until the database gets the data

ivory sleet
#

And then you can block the io task inside the event listener

#

By joining it

#

/awaiting it

quaint mantle
#

oh right, I guess since the event is async it won't matter if it's not loading from a future

cunning canopy
noble lantern
#

yep its pretty useful event

quiet ice
noble lantern
#

all events should be like that tbh

noble lantern
#

AsyncBlockBreakEvent

ivory sleet
#

You just make sure the event listener doesn’t stop it’s execution until the computation is complete

#

As it will instead be awaiting

noble lantern
#

Future.get()

#

bam

ivory sleet
#

Or join()

opal juniper
#

AsyncEntityMoveEvent

noble lantern
#

oh yeah join prolly better

ivory sleet
noble lantern
#

AsyncPlayerMoveEvent

#

even better

opal juniper
#

could work

#

tho

noble lantern
#

ngl true

opal juniper
#

i mean shrug

noble lantern
#

just have each player handler on a seperate thread

#

ez

ivory sleet
#

Sounds like an explosion

lost matrix
# limpid bronze No, it's List<ItemStack>
  public void addItemTo(List<ItemStack> itemList, ItemStack itemStack) {
    int maxStackSize = itemStack.getMaxStackSize();
    for(ItemStack current : itemList) {
      if(current.isSimilar(itemStack)) {
        int spaceLeft = maxStackSize - current.getAmount();
        int toAdd = Math.min(spaceLeft, itemStack.getAmount());
        current.setAmount(current.getAmount() + toAdd);
        itemStack.setAmount(itemStack.getAmount() - toAdd);
      }
    }
    if(itemStack.getAmount() > 0) {
      itemList.add(itemStack);
    }
  }

Try this

quaint mantle
#

so literally just

@EventHandler(priority = EventPriority.LOWEST)
public void onPlayerPreLogin(final AsyncPlayerPreLoginEvent e) {
    PlayerManager.getData(e.getUniqueId()).join();
}```
noble lantern
#

yeee

ivory sleet
#

Yep

quaint mantle
#

ok cool

ivory sleet
#

Actually

#

In PlayerLoginEvent, make sure the data is loaded

noble lantern
ivory sleet
#

Else disallow the player from joining @quaint mantle

opal juniper
#

you need to join it in the join event as well no?

quaint mantle
#

won't that just kick them or

noble lantern
#

you can do that in prelogin cant you conclure

ivory sleet
#

Yes

#

Yes you can

noble lantern
#

pretty sure that event has a disconnect method

#

yee

ivory sleet
#

If you wanna do that instead

#

Assuming you don’t deal with auth plugins etc

noble lantern
#

ide just handle everything in that, that way by PlayerJoinEvent everything is ready and Cached for you

ivory sleet
#

Or ban plugins

#

Whatever might be

noble lantern
#

i would assume

#

just run event priority lower than those auth/ban plugins

ivory sleet
noble lantern
#

and your chillin

ivory sleet
#

But normally if the data is loaded exceptionally we don’t wanna load in the player further right

quaint mantle
#

but I don't want to kick them, it would be better if it just delayed them joining

ivory sleet
#

Since that is bound to errors and bugs

#

No

#

If the data can’t load let’s say the database is down

#

You don’t want the player to join simply

noble lantern
#

LP does the same thing

ivory sleet
#

Not only lp

noble lantern
#

like when LP has a bad error it wont let you join

ivory sleet
#

Any application pretty much does it

quaint mantle
#

it's SQLite

ivory sleet
#

It’s about fail-fastness

noble lantern
#

oh i fail fast all the time

ivory sleet
noble lantern
#

i wish i could stop procrastinating

lost matrix
#

Also important for bungee stuff:
Check if the login resutl is ALLOW. The AsyncPlayerPreLoginEvent is fired before the player even disconnects from
the other server instance. And if he is not allowed to join then you should not load his data.

crude loom
#

not sure if this is related for here but should I change the version of mu plugin every time I fix a bug? or just when I make a significant update?
(I mean the version of the plugin ex. 1.0,1.2 and not the api version)

noble lantern
#

typically

ivory sleet
#

Yeah

#

These premium resources do that all the time

#

And almost any project does it

noble lantern
#

1.0.1

1 = major rewrite/refactor
0 = major additions
1 = bug fixes

Thats one way i follow it

lost matrix
#

1.0.1
1.0.2 <- fix or new minor feature
1.0.2b <- hotfix

noble lantern
#

ohh

#

letter format

opal juniper
#

ew

noble lantern
#

1b.2a.3c

opal juniper
#

i dont like letters

cunning canopy
#

is 1.19 more resource heavy then 1.8 spigot?

opal juniper
#

in versions

noble lantern
#

of course

ivory sleet
#

Major.minor.patch(hotfix)+build number

#

Or sth

noble lantern
#

aint no one using build numbers

#

we in 2022

ivory sleet
#

If we wanna be really specific

#

Lol

noble lantern
#

dont you dare specify a uuid too

#

stg

crude loom
#

oh I see
so if I just fix a minor bug I shouldn't change the entire version, but just the third number of the version

noble lantern
#

1.0.1b-sd987sd

lost matrix
#

1
And if you update:
2
Just count up
3

noble lantern
#

and if you want a build number sure

#

and you can do into 2+ decimal places

#

like 1.0.46

lost matrix
#

But you count up in hex.
So
7
8
9
A
B
C

ivory sleet
#

G

lost matrix
noble lantern
#

Z?

paper viper
#

Aa

noble lantern
#

aaaaaa

quaint mantle
#

Ab

lost matrix
paper viper
#

==

lost matrix
noble forge
#

What event is called when a boat on top of an armor stand rotates? I've checked VehicleMoveEvent and that doesnt seem to trigger

worldly ingot
lost matrix
noble forge
#

I can't send media in the channel :(

opal juniper
#

verify

noble forge
#

ah give me a sec :)

noble lantern
noble forge
noble lantern
#

this

#

this is the exact shit i mean

quaint mantle
#

💀

ivory sleet
cunning canopy
#

can I post a laarge error here?

ivory sleet
#

?paste preferably as in no

undone axleBOT
jagged thicket
#

?paste

undone axleBOT
jagged thicket
#

lmao

noble forge
ivory sleet
cunning canopy
noble forge
#

Trying to rotate the boat on top of the armor stand doesn't trigger any event

noble forge
#

Is that for the player or for the boat?

noble lantern
#

no itll update the yaw (Facing direction i think is what yaw is)

#

both tbf

#

but for boat/armor stand

noble forge
#

Will check thanks

buoyant viper
noble forge
quaint mantle
buoyant viper
#

im so happy i didnt have my fucking drink yet

#

otherwise it WAS going everywhere

noble lantern
#

better screenshot

buoyant viper
#

yes

noble lantern
#

had to zoom my discord out for that one

ivory sleet
#

Hilariously enough they are serious 🥲

noble lantern
#

oh its blurry

#

😦

buoyant viper
#

that makes it better

lost matrix
noble forge
noble lantern
#

its already fucking gone lmao

buoyant viper
#

god i love charging my device from 10% to 80% better

#

fastest electrons the worlds ever seen

noble forge
#

I can also do a video

noble lantern
#

cant let your phone die if you never take it off the charger

#

man

buoyant viper
noble lantern
noble lantern
buoyant viper
#

same

daring lark
#

how could i change player name with scoreboard, but for specific player

cunning canopy
#

I dont really get whats so not serious about a spinning boat on an armor stand

buoyant viper
#

i am in Spain without the a

noble lantern
#

i cant stop laughing at this one

noble forge
noble lantern
#

hmmm

noble forge
#

I've seen VehicleUpdateEvent trigger constantly but yaw doesnt change when its supposed to

buoyant viper
#

perfect

noble forge
#

wait what the heck, how would that change

noble lantern
#

oh pitch is up and down huh

#

sry

buoyant viper
#

dont worry about it

noble lantern
#

tard talking

daring maple
#

Do a flip with the boat

noble forge
#

im gonna double check if other clients can see me rotating the boat

buoyant viper
#

who the Fuck
rotated my boat
on the Y axis

noble forge
#

maybe it could be something client sided

noble lantern
buoyant viper
#

LOOOOL

noble forge
noble lantern
#

like heads or tails

noble forge
#

its client side

daring maple
#

damn

noble lantern
#

@hybrid spoke better get on it

#

before someone else does it

noble forge
noble lantern
#

cause its so simple to do lmao

noble lantern
#

are you wanting armor stand to face where the player is facing?

noble forge
#

I want to get the wasd input

#

however, using a boat

daring maple
#

So you could make a flying boat or smth?

ivory sleet
#

Unfortunately that’s not possible

noble lantern
#

no it is

ivory sleet
#

Raw inputs are not accessible

noble lantern
#

a Quests plugin does it

#

but its with minecarts

#

orrr

noble forge
#

with minecarts I know it is, since you can check for motion

noble lantern
#

fuck what do they do it with

ivory sleet
#

Yes you can check direction etc

noble lantern
#

yeah do minecarts then

noble forge
#

I currently use minecarts, but I want to switch to boats

ivory sleet
#

But not raw key input

noble lantern
#

Minecarts is likely your best option

noble forge
noble lantern
#

many other popular plugins do it with minecarts

ivory sleet
#

Ye

noble forge
#

I was hoping to have the body of the player remain parallel to the movement direction

#

with boats that is the case

#

with minecart you 360 every 2 seconds looking around

ivory sleet
#

That’s possible I believe

noble lantern
#

Just move the players yaw and prevent his movement maybe

ivory sleet
#

In worst case go with a Bukkit runnable and constantly update the direction based on new calculations

noble lantern
#

wouldnt even be that intensive either to do that ngl

still wing
#

hi guys! how do i get the title? (i`m used paper)

noble lantern
#

Idk if its different between the two if it is you need to ask in the paper discord

still wing
#

okey

cunning canopy
#

is 19 19 19 tps good?

daring maple
#

no

#

Its also not very bad

#

But anythings less than 20 isn't ideal

#

As minecraft expects 20 ticks per second

opal juniper
#

Whats the point in making things final

cunning canopy
#

what bout 19.52 19.82 19.93?

daring maple
daring maple
noble lantern
#

like a WebSocket

#

you defo want that final

opal juniper
#

i mean you can still redefine them with reflection no?

tall dragon
opal juniper
#

i forget

noble lantern
#

well yeah but its to prevent the program to re-initialize it

cunning canopy
#

what will improve tps? Cpu power or more ram?

opal juniper
#

CPU

ivory sleet
#

Depends

noble lantern
#

If your ram usage is high more ram will help

#

if its not more cpu

ivory sleet
#

Like are your plugins doing cpu intensive shit? Or do you shoot to the moon with scalability

cunning canopy
#

why s cloud so expensive 😭

noble lantern
#

use oracle

opal juniper
#

kinda hard to tell your usage of ram cause java just eats it

noble lantern
#

minecraft eats it*

chrome beacon
chrome beacon
#

You don't want a Xeon

cunning canopy
noble lantern
#

nope

#

Xeons are for when you want a lot of servers but dont need as much speed

daring maple
#

They are slow in single threaded operations

ivory sleet
#

Anyway tps is quite a horrible indicator of what consumes a noticeable amount of resources

#

Use a profiler or sth

#

Like spark 🙂

noble lantern
#

spark and spigots profiler is good

#

haha

ivory sleet
noble lantern
#

or if you want

#

theres this plugin

#

that makes your tps unlimited!

chrome beacon
#

Spigot timings (v1) isn't great

humble tulip
#

👁️ 👁️

chrome beacon
#

V2 is better

cunning canopy
#

What provider do you reccomend?

humble tulip
#

Unlimited tps?

cunning canopy
#

I want to have full control via ssh

humble tulip
chrome beacon
humble tulip
chrome beacon
#

Ovh is expensive

cunning canopy
#

what bout digital ocean?

humble tulip
#

They're good as well

noble lantern
#

with this

#

100000 tps

#

: D

cunning canopy
#

better then linode?

chrome beacon
#

Do they even have game servers

noble lantern
#

digitcal ocean has vps's

#

but not fast cpu ones

#

i used them for website hosting and database hosting once

#

definatly not game server grade

cunning canopy
#

well I have a budget of 30$ per month

chrome beacon
#

Go for bloom

noble lantern
#

hetzner might have a cheap dedi

#

ngl

chrome beacon
#

That's true

noble lantern
#

if you can double that budget you can easily get a dedi from them

cunning canopy
#

does bloom give me complete control over the linux server?

noble lantern
#

like a gooood dedi with nvme, 64gb ram i7/i9

chrome beacon
cunning canopy
#

is bloom host scalable?

chrome beacon
#

Scalable?

#

Wdym

compact cape
#

Wait a second what happened to ChatComponentText and PacketPlayoutChat in 1.19?

noble lantern
ivory sleet
#

No host is scalable to the moon

noble lantern
#

look at this

ivory sleet
#

Because they simply don’t give you the vertical scalability (99% of the times)

noble lantern
#

dedi prices at hetzner aint too bad

jagged thicket
#

well lol you don't need 64gb for a smol mc server

chrome beacon
noble lantern
#

they do but not good

#

Apple M1's lmao

cunning canopy
#

why cant I send images?

jagged thicket
#

you need to verify

#

!verify

undone axleBOT
#

Usage: !verify <forums username>

cunning canopy
#

Will this do for 100 players?

jagged thicket
sage patio
cunning canopy
#

how much would this handle?

sage patio
ivory sleet
# cunning canopy

Yes but as aforementioned that’s the verticality, then you need good plugins and good services that plugins can use like reliable database etc

carmine valley
gleaming grove
#

what do you think, which approach of builder will be better?

cunning canopy
cunning canopy
#

my bad

eternal night
#

nextStep() seems a bit confusing for a builder