#help-archived
1 messages · Page 71 of 1
sure
ignore the packet if its incorrect @frigid ember
Internal Exception: io.netty.handler.codec.DecoderException: The received string length is longer than maximum allowed (22 > 16)
i think you need to accept that your way of doing things is gonna bring you bad fortunes down the line
ill just have the friends list only openable every 5 seconds
i think he isnt the developer of that plugin
best to learn redis and cache
and how I do it
caching is stupid
oh my god its literally not
for me it is
idk if ur troling at this point lmao
@frigid ember is it your plugin?
i need to get the players online status
@devout mirage there is literally methods that exist for caching to update your cache if said item expired already
if i fucking cacheit wont be the valid status
then use redis
so you use redis to keep track of the players
in the friend gui it shows if a player is online or offline
update status
what thing? @fair abyss
when a player comes online
send message
transfers server? send message
player logs off? send message
@frigid ember did you code the plugin which gaves that error?
if i cache a players friend it will sometimes show a friend online/offline when they arent
the only time the status needs to be changed is if a player connects or disconnects
any other time is not relevant
No
send full log so we can understand which plugin causes @frigid ember
im talking about loading a fucking players friends list in a fucking gui
yes
we know
the friends list shows their friends online status
yea we know
so what the hell is you talking about with these silly messages
send a message when a player comes online. add that player to some hashmap or arraylist or some shit
its a bungee network
yea
why does the online status need to be changed in between when someone connects or disconnects? Cache the status until someone connects or disconnects, update the cache accordingly
thats how redis works
ok cool
we know lmfao
you're*
we obviously know it better then you
i think youre trying to dig yourself a grave
no you guys know the craft but dont have the skill
you will come crying later and ask us why your dbs are so slow 😳
we know how to talk with people
know how to ask and receive help
its enough.
i might type a msg to explain it
Go update HoloAPI then if you think you are better 😉
seems strange considering ive done this before 🤔
only because you asked
org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:86)
10.05 22:35:55 [Multicraft] Skipped 6 lines due to rate limit (30/s)
10.05 22:35:55 [Server] INFO CONSOLE issued server command: /list
10.05 22:36:02 [Server] INFO UUID of player zTheMatCraft is d5e65c5d-f3a7-37fb-9462-a80776b46674
10.05 22:36:02 [Server] INFO is leader = false
10.05 22:36:02 [Connect] User zTheMatCraft, IP 190.218.107.39
10.05 22:36:02 [Multicraft] zTheMatCraft ran command Message of the Day
10.05 22:36:03 [Disconnect] User zTheMatCraft has disconnected, reason: Internal Exception: java.io.IOException: Error while write(...): Broken pipe
no...?
With redis, you can send messages across "channels". You can have services listening for messages on these "channels". So when someone connects or disconnects to your server, send a message on a channel. Listen for the message on every server, and update the cached friends list.
this is not in the name of conventions
this is in the name of your databases crumbling when they are being queried so often
to a manner where you can comprehend it
that wont work because i need to load multiple data of the fucking player!
And redis can do that
then send a json object over the channel
@fair abyss
i need their rank, statsallof that
and seralise it
Use json
no thats gay
-_-
🤔
so reddis is suppossed to hold a million players in cache?
no
what makes you believe the ways we suggest don't work if you never tried them?
redis doesnt cache things -_-
but with the way you speak, you'll be lucky to get 10 players
so
wouldn't worry about it too much
You came here to make sure if your way would work
redis can cache stuff @wanton delta
hypixel has over 18 million unique players. you guys are saying all players friends will be cached and so thats potentially caching 18 mill players. no way in hell reddis can handle tracking 18 mill
redis is only used to communicate on player join and player leave
you shouldnt talk about something you dont know about
Redis was literally created for being a middle ware caching mechanism so as to not have the need to implement caching in your applications
I create a file and this says [{"name":"zTheMatCraft","uuid":"d5e65c5d-f3a7-37fb-9462-a80776b46674","expiresOn":"2020-06-10 22:36:02 -0400"}]
But the nice thing with Redis however, is that it can grab data for you to cache though
as well as putting stuff in there yourself
🤦♂️
so tell me the best way to do it with bungee
redis
Redis is powerful if you know how to leverage it
bungee messaging channel !
redis can be used across servers regardless of locations
stfu about reddis
https://www.spigotmc.org/wiki/bukkit-bungee-plugin-messaging-channel/ here is the solution you want so much
what good is that
stop saying reddis lmfao
i already know about messaging channel
i use it fr private messaging ONLY
because im not going to slow it down my sending dumb messages when i can just get stuff from mysql
i dont think you know how things work
i know how it works
then why doesn't it work
mss
plugin message channel uses an already existing connection of a player
im just concerned about players on my servers loading their friends likst of 50-100 players
want to make sure mysql can handle that
100 players is nothing
and rightly so... if only there was a way to track players easily without being resource intensive ...
then im good
however, though think of it this way though
you can fetch/save the player lists no problem
but when it comes to checking if theyre online
if you don't cache, and you have 100 players with 100 friends
you need to use a system like redis
that is 10,000 queries
no i dont
for no reason at all
i dont track players in bungee
they can do a mass server crash
everything is done with mysql
why would it
so youre saving/deleting players when they come online and offline?
its only 100 queries each/friend
if 100 people on with each other added as friends
times however many players
let me guess, you do SQL queries on main thread also
when someone loads their 100 player friends list all of their friends data are downloaded from mysql
and then we have 100 players doing the same
10.05 22:43:51 [Server] INFO Skipping plugin SkyWars with author [CookLoco] and hardcoded author Wietje
10.05 22:43:51 [Server] INFO Starting UUID caching
10.05 22:43:51 [Server] INFO Starting player data caching for: world
10.05 22:43:51 [Server] INFO Fast mode UUID caching enabled!
each server has a max of 20 players
you should get all that info on startup
so its cached and ready to go
and save every 10 minutes or so in case of crash
20 players loading their friends list of 100 players max every second is going to crash mysql you are saying???
why did you ask us this question
and im 1000% sure they use redis lmao
wouldn't surprise me, I mean its literally designed for that
answer the fucking question
youre not being very nice to the people trying to help you
cause yall being difficult to anser yes or no
Hypixel: 'Redis and MongoDB experience is a plus'
if you are not a DBA and have 0 experience with MySQL server configs, odds are yes your mysql server will come to crawl
hypixel use redis, they must be idiots (/s)
what if i use hikaricp with my mysql?
then will 20 players loading their friends list of 100 players max every second is going to crash mysql you are saying???
wtf
i'mma head to sleep
are you going to ask us the same question for every mysql variation out there
if i have hikaricp
hikari is just a connection pool
doesnt that make things more scalable???
it's still mysql
I am not entirely sure why you keep asking questions
yeah so it would be less likely to crash right?
no
no
You obviously don't care about the responses
yes it would
you dont know what youre talking about
you are not here to get help
@devout mirage and your experience is what exactly?
ok so say 20 players requesting their friends list of 100 players every 10 seconds. thats going to crash mysql???
"6 year html programming" @keen compass
lmao XD
you answered ever second not every 10 seconds
ill put a limit on them bitch asses
then 1 minute?
then 5 minutes?
remember everyone, we don't know what we are talking about
what about 10 minutes?
but yet he keeps asking questions
i hear about people running thousands of quereis every second. dont expect me to believe 20 players loading 100 of their friends player profiles from mysql every 5 seconds is going to crash mysql especially when im using asnycconnection pooling. GTFO!
you obviously arent gonna
then be it
follow our advice
Using mysql for that is to slow
you should go away
@devout mirage have to tailor the mysql server to handle high loads, its not configured out of the box to be super optimized
and just do it your way
Can cancelling blockbreakevent cause lag especially when I’m just setting the block to air and giving the player the item.
@full wasp whats faster?
@paper compass it shouldnt
Kk just wondering
That's microseconds of calculation, it shouldn't lag
Ty
i see it done many times
@full wasp if you are going to suggest caching, don't obviously we are all wrong in that regards and have no clue about it.
yea we have no the fuck clue about what we're talking about
ill listen to brono not you dumb asses
but u have to use other methods to be more fast
stfu and let brono speak
lmfao
what other methods
@devout mirage just cache the player data until the server shuts down and save it at constant intervals
ohsry
for example in my network y use a cache in bungee
wonder how many more are going to say the same thing about caching
the player data is cached in mysql
Wen player join load stats from mysql in a bungee cache
mysql doesn't cache unless you setup the queries to be cached, but even then it is only cached for so long
Hah cache
"do i have to cache this?"
"yes"
"but i dont want to"
"well then you can suffer the consequences"
"but i dont want to?!??!"
ok then what @full wasp
Lmfao martoph
Well.. how to explain that, i put all data in a simple hashmap
in bungee itself?
and use that on al network
Is that what this conversation is? @wanton delta
yea
yes
essentially
Jesus
pretty much
he wants to load a friends syste
stfu dumb asses let the man speak
@paper compass oh also we have no clue what we are talking about either
We are all dumb, and don't have skills in programming
we just only know the craft
not the skill
but if i recall correctly we've all done something similar before
so apparently we're the ones doing it wrong
@full wasp how do you access thestuff you have cached in bungee?
If you are going to say “I don’t want to” after asking “do I cache” then don’t ask the question right?
Basically that is the gist of it
he was expecting an answer
We have own plugin for the stats management
Jesus lmao
how does yourplugin get whats cached in bungee?
"cache it in a hashmap"
"okay how do you access that"
....
stfu dumb ass
LMfAO
I say bungee chache beacause the info save on the bungee and use that using the player
imma just block yall so i dont see your incompetent messages
do it
And Brono just basically said what we already recommended
mhm
we basically stated all the different ways to cache the stuff
True
@full wasp talk to me only
LOl
WHAT
so how do you get whats cached in bungee?
“Talk to me only”
ope that had a bad word in it
Where's a staff in the midst of this =.=
Huh what did he say?
I think we need @subtle blade 's input on it as well I am sure he will say the same thing XD
nah he pinged so many people
oh
@devout mirage in the own plugin we load the data from de mysql, that data cahed in a HasMap
hes trying to access data from the bungee itself
I love how he demanded brono to only talk to him
but you cant do that without a socket or messaging of some sort
where is the hash map saved? in the server the data was loaded or in bungee?
Yes...
in the server the data was loaded or in bungee?
The HashMap is stored in RAM. If you don't understand these concepts why are you even working with Spigot
probably both
Which ever server the plugin is on?
Where bungee plugins load men ?
so on the server then?
Wdym on the server lmao where else would it be saved?
in bungee
thats what he said before
so im tryna figure out how he saves and loads whatever shit is in bungee
If you're making a Spigot plugin, the HashMap is saved on the spigot server. If you're making a Bungee plugin, it's saved on the Bungee server
What kind of player data is he saving and loading
dessie we tryna tell him u cant just load stuff from the bungee server itself without a socket or messaging
i have a bungee network
and he refuses to use either method
and players load their friends list from mysql
Ok you may want to put the commands in the bungee cord plugin then
If you refuse to use either method then stop asking us and go figure out your own way to do it
stfu @upper hearth
LOL
get blocked too
LMFAO
Mhm
block their messages @sweet hemlock
idk hes blocking all the dumb stupid ppl
And what’s the problem he’s having
nice, then block me
so i dont have to see their stupidity
LOl
Our stupidity? Alr mate lol
@paper compass he wants to load a friends list on bungee
validate their claim we are all dumb, despite brono stating one of the very methods we stated to do.
you don't deserve my knowledge as well then
Ah
and he wants to send the info to the servers
deserve your knowledge?
you mean the knowledge you want to provide that just makes things overly complicated when they could be simplistic???
Yes, I gotta be honest, you’re the only dumbass talking here.
will do!
what a beautiful sight
blocked
I mean, go ahead and listen to Brono, but not entirely sure how what brono is saying is any different then what literally 6 other people have stated
oh something fun to read
@paper compass json makes it very easy to do so
Ahh
or gson rather
googles gson is actually quite nice for caching methods, since they are built it
gson is googles implementation of Json
but has more utilities built in especially for caching
Oh it just serialises data into a string basically
Then sends it then deserialises it
When recurved
Like setting expire stuff and if its expired to auto get the object again from t he source
Recieved
Yup
Epic
yea with gson
But in this case, the cache doesn't need to expire unless someone DC's though
I love how that kid was like “but you’re making it complicated” lmao
They're obviously a troll
“When it can be simpler” but if you know it can be simpler? You must know how to do it????
best part is gson is shaded into spigot already so no need to add external dependencies
Oh wow that’s useful
yeah gson is part of guava so even vanilla mc has it too
Wasn't there a JSON library whose support got dropped a while ago?
simple json?
well that is still shaded into spigot if I recall
but that is the only other json lib in spigot other then gson
hmmm, I thought it was gson that got dropped, but I guess I'm remembering it wrong then
I see
Guys he’s not even in the server anymore LMaO
last release of json simple was in 2012 if I remember
yeah, version 1.1.1
at this point it is only there for backwards compat if I recall
a guy recoded it and is updating it to this day
I wonder what happened to alligator
they left
Shame
Kk
wouldn't surprise me if they were silently kicked though 👀
he's still here, just changed name
lol
god forbid what if it was someone running some kind of neural network script 👀
Omg
It was Choco all along
that would be a plot twist
I guess choco is a dumbass then?
w>
I am just going to save the part where the person claims everyone is dumb all the while asking for help
Lol
I can say, it made my night
I love how he told Bruno to only talk to him
lol
And told @sweet hemlock to block us
love how brono recommended the very way we stated
and accepted brono's responses but no one elses
Lol
some people can be dense like that 🤷
aww it seems like I missed the fun
and I'm just here, trying to figure out the best way to make a bootstrap button the same height as rest of the inline text
do custom NBT tags save or do they have seperately saved?
no
how do you delete a page on the wiki? can only staff do that?
how do i cast an ItemStack to Damageable?
@frigid heath
Damageable damageable = (Damageable) itemStack.getItemMeta();
how many requests from mysql can a db handle every second un optimized?
@pastel basin
I don't know
don't ping random people
just leave your question there and someone else will answer you
depends on the database server configuration, like CPU speed and amount of RAM
thanks
how can i damage an item and delete it if it goes below 0?
currently im using this but testing shows it does nothing, no errors.
((Damageable) event.getPlayer().getInventory().getItemInMainHand().getItemMeta()).setDamage(((Damageable) event.getPlayer().getInventory().getItemInMainHand().getItemMeta()).getDamage() + 1);
if (((Damageable) event.getPlayer().getInventory().getItemInMainHand().getItemMeta()).getDamage() > event.getPlayer().getInventory().getItemInMainHand().getType().getMaxDurability()) { event.getPlayer().getInventory().getItemInMainHand().setType(Material.AIR);
}```
that looks terrible
lemme pastebin it
fix or repair daily @wraith thicket
First of all, Qther, I wouldn't nest all those methods like that.
You'd need to make sure that the item in question has meta (the method is nullable)
You'd need to make sure the meta is an instance of Damageable
But still, you're creating the new instance of the item meta twice for no good reason
Every time you call ItemStack#getItemMeta you're creating a new instance
fair
When you want to delete the item, you'll most likely want to set it to null. You can check the maximum durability with Material#getMaxDurability
I think you want to call PlayerInventory#setItemInMainHand instead of setting the stack's type
so if i change them to be the same instance and do that it should work in theory?
In fact, you're creating it 3 times. Use #getItemMeta once, increment, #setItemMeta and then check the max durability. And if it's over that, you can set the item in main hand to null
It'll also make your code more readable. Remember, your code is generally read more times than its written.
Anybody know why my server is crashing?
---- Minecraft Crash Report ----
// Don't be sad. I'll do better next time, I promise!
Time: 5/11/20 5:59 AM
Description: Exception in server tick loop
java.lang.IllegalArgumentException: ChunkNibbleArrays should be 2048 bytes not: 0
at net.minecraft.server.v1_12_R1.NibbleArray.<init>(NibbleArray.java:14)
at net.minecraft.server.v1_12_R1.ChunkRegionLoader.a(ChunkRegionLoader.java:402)
at net.minecraft.server.v1_12_R1.ChunkRegionLoader.a(ChunkRegionLoader.java:94)
at net.minecraft.server.v1_12_R1.ChunkRegionLoader.loadChunk(ChunkRegionLoader.java:72)
at org.bukkit.craftbukkit.v1_12_R1.chunkio.ChunkIOProvider.callStage1(ChunkIOProvider.java:21)
at org.bukkit.craftbukkit.v1_12_R1.chunkio.ChunkIOProvider.callStage1(ChunkIOProvider.java:1)
at org.bukkit.craftbukkit.v1_12_R1.util.AsynchronousExecutor.skipQueue(AsynchronousExecutor.java:336)
at org.bukkit.craftbukkit.v1_12_R1.util.AsynchronousExecutor.getSkipQueue(AsynchronousExecutor.java:295)
at org.bukkit.craftbukkit.v1_12_R1.chunkio.ChunkIOExecutor.syncChunkLoad(ChunkIOExecutor.java:16)
at net.minecraft.server.v1_12_R1.ChunkProviderServer.getChunkAt(ChunkProviderServer.java:137)
at net.minecraft.server.v1_12_R1.ChunkProviderServer.getChunkAt(ChunkProviderServer.java:120)
at net.minecraft.server.v1_12_R1.ChunkProviderServer.getChunkAt(ChunkProviderServer.java:116)
at net.minecraft.server.v1_12_R1.MinecraftServer.l(MinecraftServer.java:374)
at net.minecraft.server.v1_12_R1.MinecraftServer.a(MinecraftServer.java:338)
at net.minecraft.server.v1_12_R1.DedicatedServer.init(DedicatedServer.java:272)
at net.minecraft.server.v1_12_R1.MinecraftServer.run(MinecraftServer.java:545)
at java.lang.Thread.run(Thread.java:748)
how to disable mob spawning from spawner?
@naive goblet If I set in event world worldspawnpoint than they'll not spawn in main lobby.
@sweet hemlock pretty sure that is the person we already dealt with XD
👀
if they keep bugging you or asking questions, I can only say good luck on your endeavor that like 7-8 other people couldn't do 😛
@keen compass I'm not sure who you're referring to >w>
but I'll just try to help when I'm able, or if they're too dense then ¯_(ツ)_/¯
@mossy wraith Yeah there is probably another plugin overriding it?
Anyone here familair with docker?
I've been trying to start docker container via ProcessBuilder (and attach stdio to it)
but stdio doesn't seem to work at all
@mossy wraith Yeah there is probably another plugin overriding it?
@naive goblet Maybe... Can it be essentials?
Yeah that's essentials I think. /spawnpoint than /setspawn
how to disable tweakeroo on spigot server?
eyo guys
I might be kinda stuck in an interesting situation here
Checking if Projectile has the channeling enchantment
I'm listening to ProjectileHitEvent.
Once the projectile hits the target with a channeling enchantment, I want to do something for the player.
Issue is, you cannot check if the entity contains an enchantment.
ProjectileLaunchEvent is called "After" the player has thrown the trident.
PlayerInteractEvent is called when the player draws the trident, but not when he releases it.
So there is literally no way of getting the trident when it is an ItemStack.
literally made a thread about this on spigot, copied and paste :P
@mossy wraith remove ess spawn?
?
EssentialsSpawn
@frigid ember server.properietis
You need to change it there
Someone uses NameTagEdit?
@icy timber I would listen for projectilelaunchevent do the checks, and add the player to a hashset, then listen for ProjectileHitEvent and check if the hashset has the shooter then do the things to the entity hit by the projectile
@icy timber https://www.spigotmc.org/threads/checking-if-projectile-trident-has-the-channeling-enchantment.437857/ is this your thread? I just found it now and what xCodiq said is exactly what I told you to do
you can do it even better by adding metadata "hasChanneling" to the projectile on launch event and check on hit event if the projectile has this metadata, if so, then do things to the shooter
actually this would even prevent bugs because the other method could keep players in the hashset even if the projectile didn't hit anything
The thing is, the Launch event fires only after the player has thrown the trident already. So we cannot figure out if the trident contains channeling then in the first place since it is no longer an ItemStack, but an entity.
are you sure? can't you get the item in the player's hand? All bukkit events are called before it happens. But if say you can't get it through launch event, just check on player interact event if the item is a trident
I honestly haven't tried it.
If it works as you are saying, my problem is solved by just getting the item in the player's hand then.
@icy timber you might wanna take a look at this https://www.spigotmc.org/threads/1-15-how-to-get-itemstack-from-a-thrown-trident.411433/
@icy timber also if you use paper there is PlayerLaunchProjectileEvent which stores ItemStack and a projectile that you can use to check and add the persistentmetadata
That exist in normal Spigot?
does paper have a maven dependency ?
Hey guys
I have this crate gambling system
and everytime somebody 'opens' a gambling crate, a new inventory is created
this works fine, and is multiplayer friendly
I'm just wondering about the efficiency
because if a new inventory is created every time somebody opens a crate, the contents of that inventory are still being stored somewhere right, and never being used?
so if a server was using this and more and more inventories just kept being created as the server went on
would that not cause issues?
Also, is it inefficient to create a new inventory everytime, as you have to go through the process of creating a new inventory every time
it would probs be better to have a gambling inventory for each player?
using a hash map or something
Every time you right click... you get both left and right click events
How can I create stuff like etokens which are currently on basically all prison servers?
@sharp mauve the PlayerInteractEvent gets called once for either hand. This is also clearly mentioned in the javadocs
I can't contact to Unban-support ?
I want to know why i got ban.
you got banned from spigot test server?
Thanks!
i download many times with many plugin and got ban for leaking
that's they told me
i use my plugins to test in my test server.
Who's "they"?
What medium did you get banned on?
"You have been banned for the following reason: Leaking Plugins. To appeal, please email unban-support@spigotmc.org with details of why you were banned, why you should be unbanned, and how you will prevent it from happening again. Please note that creating a new account is against the rules and will only extend your ban."
where is the plugin it self "spigot"?
Well there you go. You need to send an email to that address.
where is the plugin it self "spigot"?
@safe gate what does that even mean
No idea
oh you want the spigot jar server?
like so i can add plugins tho theserver
ok
For the server jar itself you need to download and run BuildTools
nah I don't think he meant that
I don't think you can be sure of that :)
do i just add the resourses?
?????
they are plugins, and they shall stay in the /plugins folder of your server
would Player#getActivatePotionEffects() cause thread safety issues? 🤔
Well there you go. You need to send an email to that address.
@wraith thicket i sent it for almost 2 weeks
Nothing was returned.
ok thanks
run spigot, download plugins on that link, put the plugins on plugins folder
@heady geode why would it?
it is a getter, it returns a field
lol
tnx for yah help
np
Hey, I asked this question about an hour ago but it was buried before I got a response
I have a crate gambling system where every time you right click a crate, a new inventory is created
like so:
that inventory is then opened for the player, and items from the crate they opened will scroll across it
However, I'm wondering if this is bad for performance as every time a crate is opened, a new inventory has to be created and stored somewhere, never to be used again
is there a way I can destroy the inventory? Or should I just use a hashmap and give everyone a private gambling inventory?
im pretty sure java garbage collection will take care of that
if you dont have any references to an object, it gets deleted
@pastel basin a getter isn't magically thread safe
hmm
@wraith thicket true, I looked into the source and this method actually does something
ok. So I probably don't need to worry about that. But it still might be better to just open a player's gambling inventory rather than making a new one every time?
that still must be better for performance
but if it just returned a private field why would you need to be thread safe
yes
i just got a warning for spamming lmfao
Most all getter method do something, at the very least because the API is backed by NMS
for saying "yes" twice
reading a variable is always thread safe, as long as its not being changed
And even just returning a private field is not necessarily thread safe. For instance, you could catch a double when only one of its bytes has been written to, thus you'd effectively get garbage
As long as it's not being changes.... That's the whole point. You don't know when it's being changed
If it was never changed, you wouldn't need to read it, would you?
it may be set once and then never changed
no if the player instance was the one being changed
oh wait are we talking about player instances here?
then you would need to make player thread safe
whats the context here...
yeah, the guy was asking if getActivePotionEffects is thread safe
It doesn't really matter what we're talking about. In general, unless something was explicitly made thread safe, it is not thread safe.
You can access true constants (static and final), of course, but that's not really the majority of use cases
^ @heady geode
And just because you may be able to use something in an asynchronous thread during testing (usually on your home server with one or two accounts) doesn't mean you won't run into issues in production
Last: d9f6dd5b-c86c-3c19-83d4-41dc12249920 vs Cur: d9f6dd5b-c86c-3c19-83d4-41dc12249920, same? false can someone tell me how these UUIDs are not the same?
Using them as strings to compare them or parsing them as UUIDs both say they're not the same..
there is not.. one.. character different
(cur == lastUsed)```
dont use reference equality
use .equals
perfect example of this
same data, different instance
line 3 hyphen instead of space
line 51 to the end of file wrong space indent
ive been searching for almost an hour but still cant find the 1.14.4 spigot api download link anywhere, and i need it for the spigot wiki blank plugin tutorial
@regal cloak your can a) use maven and set the dependency with the repo b) download and run BuildTools.jar from SpigotMC.org
ill try the build tools cause the blank plugin tutorial said not to use maven
Then the tutorial is dum
can someone just give me a link to the build tools as i cant find them
anyone can help me plz ?
i managed to download the build tools, but when i ran it, it did nothing
is https://hub.spigotmc.org/jenkins/job/BuildTools/lastBuild/ the correct download link as im not sure
grr seeing as build tools aint working, what tutorial for intellij says to use maven
BuildTools work just fine
not for me
ok brb
?bt
The home of Spigot a high performance, no lag customized CraftBukkit Minecraft server API, and BungeeCord, the cloud server proxy.
is it evil to declare classes inside methods?
It's not like the link you downloaded buildtools from already had the link to the wiki
like I have this static method that has a class inside itself, because the class doesn't get used anywhere else
is it proper usage?
@sturdy oar no, but it really depends what it is for. Can make doing certain things more difficult doing that. If its like for something simple for whatever reason go for it, not really a need for a sperate file for that.
i have tried the method before and remember it does not work, so im just gonna give up on build tools, what even is build tools? nothing has mentioned it ever befor
but, like if its a large class inside another large class, probably wouldn't recommend it unless you have some weird reason for it lol
@regal cloak does it not work because you get some kind of error? o.O
no it litteraly does nothing
The first section in the wiki describes what it is...
i read it and it sounds like it is creating a server which i dont want but im just making sure
you need the source files which is what buildtools gives
ironically to obtain the spigot.jar is the same method as well
whats spigot.jar?
The thing that runs the server
but i dont want a server
You want to depend on spigot in order to make a plugin?
i dont know, i just want to make a plugin but the tutorials link to the api is broken
If you want to make a plugin, then you need the jar/source
yes it said
Or, again, use maven
ok brb
whether you want to manually download it or use maven, that is one of the few links to use
only the api is there, if you need anything more you need buildtools for it
im at https://hub.spigotmc.org/nexus/content/repositories/snapshots/org/spigotmc/spigot-api/1.14.4-R0.1-SNAPSHOT/ and now which of the tonnes of files should i download
travel to org then to spigotmc
from there it should be easy to find spigot-api jars
its not though
just told you the two directories
what about the 3rd though
are you even trying to look for it yourself
the latest one by date
ok brb
use the one that has -92 at the end of it
Let's be honest, if you want to make a plugin, you'll eventually need the server jar anyway, unless you want to test your plugin in a production environment (which is a terrible idea)
ah shit he's onto me :p
I am not going to hold your hand every step of the way. Make a judgement call in what -92 means 😉
if you can't figure that out probably shouldn't be doing this
oh i get it
im dumb
this might take me a while
grr my eyes keep skipping one, i cant do it im gonna write a python program to do it for me
Do what for you? Download a file?
java -jar buildtools.jar --1.14.4
like i said it dont work
will literally install the api into maven repo for you
I mean you could count, but why not use the browsers search function
to search the page
for something that has -92
it has that? wow thanks
I mean, you just look at the page and it's there, to be honest...
not like there is many of them, -92 is in its name, and it means it is the 92 build of that version
I have something like this.
Is there any way I could make the wall update it's faces to adapt to the new blocks?
im searching the web and aparrently google chrome does not have the search feature so im gonna do it manualy
@fleet burrow yes
?jd
there are multiple with -92 in there name which one should i choose
Is that for me?
If you want an in game fix, then you can probably use the debug stick
Nope. stone walls are multiplefacing
And there is no method for resetting it's faces
check which faces are enabled
then check if the specified faces have a block next to it
if not update it
then check if the specified faces have a block next to it
@keen compass How would I do that?
The -92.jar @regal cloak
there are multiple of those
ok thanks but i now have found the -92
BlockFace has directions
i just need to know which one
There's only one that ends with -92.jar
ill try all of the .jar ones
if the block is air, its not attached to a block, but has the face enabled
getFaces(); gets all the faces that are enabled in a list
ive decided there are too many to try them all so im really asking nicely if youl tell me which -92.jar i want
sources, shaded and javadoc preferably. But if you need to choose only one, shaded jar
was rather simple after all
multiFace.allowedFaces.forEach {
val relative = block.getRelative(it)
multiFace.setFace(it, relative.type != Material.AIR)
}```
shaded jar contains everything you need, sources jar just lets your IDE see that shaded jar without having to decompile it if you needed to browse it, and if you have a sane IDE, the javadocs jar provides you information to methods
or you could just use maven
@fleet burrow there you go 😉
maybe it is complaining about using val
is this correct mysql syntax? 🤔 "DATE_ADD(NOW(), INTERVAL 1 MONTH)"
because var means it is mutable
and last I recalled enums are not
so wouldn't you need val instead?
I am using val
well
i have to add a lot of stuff to try and see
i just thought someone used it before and knows
Just use the mysql client and run it
well can always just use the Block @fleet burrow instead of val or var
Beyond that, look for examples of it, stuff like that you either know or you go scour google
Does someone here knows a plugin the make custom join/leave messages for each rank?
NOW() refers to the date of now just FYI and generally is just used on its own
does anyone know if there is an event for interacting with blocks
PlayerInteractEvent?
otherwise you need to pass in the date, either using MySQL's date stuff or your own as long as it is in the valid format of what MySQL expects of a date if you specified that row as a date.
Check if the player interacted with a block
oh wow i thought that was just an abstract class that the other events extended from lol
should have checked
Anyone knows how you can make the hover like text in hypixel bedwars game status?
?jd
ah, the api is in Bungee
it's an api on itself tbh
probably should have it in the javadocs
org.md5.textcomponents i think
well I meant javadocs wise
oh
because it is from bungee, it isn't included in the javadocs
and bungee javadocs are not hosted either, oddly
maybe whenever he is on at some point I will see if he will include some of the bungee api stuff in the javadocs for spigot
would only make sense that they are available there =/
The chat component wiki page links to the javadocs, though
I know Java and I want to learn how to make plugins. Someone have a good playlist of videos tutorial or something like this?
ah its a bit hidden @wraith thicket
didn't notice that, still it would be worth using maven though to include some of the relevant api stuff into the spigot javadocs
instead of having to find a different javadocs that isn't hosted in a similar place as the spigot one XD
im wondering now what server.jar is and where i can download it from as apparently i need it according to the tutorial
come onnnn..... grrr ill try another device then
java -jar BuildTools.jar
and where do i type that
cmd
ok thanks
Did you even read the wiki when it was sent to you hours ago?
yes
im just really stupid
and it still wont work
like i said im trying another device
yep
it said not enough memory said i had 0 megabites, and i do have git installed
type git version
does anyone know how scoreboard works?
im trying to make a dynamic sidebar display system but its confusing me
EDIT (since someone else is talking): solved using https://bukkit.org/threads/tutorial-scoreboards-teams-with-the-bukkit-api.139655/
How do i sort players by money i mean player 1 have 100 money so he is up player 2 have 50 money so he is down i need to sort it like this i am using PlayerListPlus somebody can help me?
i just did the command line and it will only give me 1.15 server.jar, when i really need 1.14.4 server.jar does anyone have a manual download link to 1.14.4 server.jar as i need it
oh
done it thanks
now i can finaly have autofill sugestions yay
not making every variable i type red or any mincraft stuff red text
How do you get the centre of a block?
I've tried this but it doesn't seem to work.
public static Location getCenter(Location loc) {
return new Location(loc.getWorld(),
getRelativeCoord(loc.getBlockX()),
getRelativeCoord(loc.getBlockY()),
getRelativeCoord(loc.getBlockZ()));
}
private static double getRelativeCoord(int i) {
double d = i;
d = d < 0 ? d - .5 : d + .5;
return d;
}
getblockx + 0.5
it says i need server.jar and the build tools just gave me spigot-1.14.4.jar, is that the server.jar?
just + 5
+5 or +0.5
- 0.5
To X and Z?
im in a rush for time can someone please quickly answer my question? sorry for being rude......
great thanks soo much
You have to edit the batch file
ive got 10 mins ill just add it quick youve saved me soo much headache
java -Xmx1024M -Xms1024M -jar spigot-1.14.4.jar nogui
pause
That should work, if not,
java -Xmx1024M -Xms1024M -jar server.jar nogui
pause
And change the spigot file to server
ive already added it as the original name, soo i hope i did it right as if not ill be sad when i wake up, oh well byyeeeee
For what version?
1.15
I don't think you can in 1.8
Yes with the PacketPlayOutOpenWindow packet
How would I use this?
also just to clarify, I don't need to change the name of the inventory whilst it's open
How're you creating the inventory?
there seems to be no option like inventory.setTitle("")
constructor
CrateGUI object
if the image would load...
but using Bukkit.creatInventory()
*create
just make a new inventory?
It updates the name while the inventory is open
right. How do I send a player a packet
I could have a method like CrateGUI.updateInventory()?
which would then send the packet with the update
this is my inventory object class
hey,
some days ago, a player took my UUID and logged in to the game as me...
Iam using a Bungeecord, how could i prevent this?
lol
protect your spigot servers
allow only bungeecord ip addres to connect to spigot
that's probably because you're not running the latest version of spigot
lmao
you're welcome by the way
guys i need some serious english help what do you call the radius of a square
tbf the same thing happened to me and I thought I had the latest version
a square doesn't have a radius...
that changes...
to closest points outside
do you want half the side length
yes
yep that's the one
but in a nice word
there isn't 1
oof
well, there might be
how the hell am i gonna display that in a scoreboard lmao
might go with 1/2 Side Width
or 1/2 Width +-
@frigid heath you could try 'inradius'
which is the radius of the largest circle that fits inside a polygon
in the case of a square, the inradius is equal to half the side length
yep that works holy hell
but naming a variable probably isn't worth this much effort lol
lol
Anyone know how to solve this error? Please @ me when you answer ^^
@red kernel instead of § use \u00a7
Pixlie is that ur plugin?
Well, idk why you would use § or even \u00a7. Use the static ChatColor.translateAlternateColorCodes() or the ChatColor enum.
how would i make a flying carpet
@red kernel if you do this:
import org.bukkit.ChatColor;
public class Utils {
public static String chat(String s) {
return ChatColor.translateAlternateColorCodes('&', s);
}
}```
class Utils {
static String color(String str) {
return ChatColor.translateAlternateColorCodes('&', str);
}
static void sendMessage(CommandSender sender, String... messages) {
Arrays.asList(messages).map(Utils::color).forEach(sender::sendMessage);
}
}
class OtherClass {
//EventHandler
Player player = e.getPlayer();
Utils.sendMessage(player, "&cRed line", "&1Blue line");
}```
then you can import "Utils.chat()" and use the & syntax hylighting
Don't static import it. Use Utils.method() as Symbolizm said.