#dev-general
1 messages Β· Page 357 of 1
the plugin most likely. I've never seen a plugin that can't just be downloaded and put into the plugins folder
well i mean
winget makes sense, you're getting a thing for windows
name a plugin you can't just put in the plugins folder
well yeah you still get papi extensions from within papi
and you literally can drop them
thats one example, but not all modules do it lmao
half the advice is to get the latest dev build and slap it in there youself
you'd still get submodules from the plugins themselves?
hmm?
im saying, the ones not included into the parent project
not talking about like "extra support" for other plugins
i know an example for this but i hate the author of the library so i wont send that one to you lmao
but there are many others
please elaborate im so confused
yes it downloads the dependencies..?
I didn't know you were referring to the package manager
i thought you were talking in general
oml
hey im just glad i have someone to talk to lmao
everyone else is too sensible to discuss things with me haha
well, the other issue is identifying them
lmao
like sure, WorldEdit could be in the plugins.yml
but how are you gonan find that file
It's in the same place in every jar?
and it has a list of [depends]
or you just do it manually and then new plugins you make them submit what their plugin depends on
that's what a lot of package managers do
when someone wants to add a package, they manually fill out all the metadata and stuff
yes ik, but what is going to be in [depends]. like a link to the jar download?
same thing it is now, you just resolve that name
Spigot already has a system, it just doesn't download them for you
I've made a very rudimentary spigot package manager before
see! if bm can do it, there's hope in this world
π€¨
π€¨
Let me try find the video
@hot hull Since you're picky, look at this beauty
I've posted it here before
lmao so we are making plugget
that actually looks really nice. What am i looking at?
that's pretty good
here
yay good
so if you wanna install something, you just do yay -S gnome-desktop
and it makes me happy every time βΊοΈ
we don't talk about yum anymore
yum is infinitely better than apt
Oh wait yeah you do
yum is deprecated
it's dnf now
also red hat is stupid and killed centos
The only package manager I use is cargo
also yum is really fucking slow
are you just a red hat fanboy lmao
is that the rust one
maybe
nice
That's something I made on my core to make the main class nicer, makes registering commands prettier
I have the same for listeners
where is this core π₯Ί
For me, I dislike apt-get and yum as they are harder to script and automated as they have lots of gotchas that you have to be aware of. Such as, yum does not fail if a package name does not exist in the repos (due to typo or missing repo or you forgot to update the repos). apt requires a bunch of env vars set or it defaults to interactive mode and can ask you a bunch of questions when you install or upgrade a package. Though these issues are solved by proper config management tools like Ansible or SaltStack (but then you are not really using the package managers and these are not always an option depending on what you are doing).
apt-get also has the annoying split command where you use apt-get install to install and apt-cache search to search. This always annoyed me as I often search for a package they want to install it by just editing the search to install - but then also need to change the -cache as well. Minor but I did it often enough for it to be annoying. This has now been solved with the new apt command. There is a lot of similar subtle behaviour that annoys people if different ways with all of the package managers.
yes I'd like to see please
copied from the internet
and its kotlin
did you read the last part
like fedora 22 and above
sheeet, I thought so. I didn't know you could make normal plugins in Kotlin
ofc u can
fedora overrated
compiles to jvm with interoperability
Yeah
And ew Java
no u just use the same api lol

triumph {
core("1.1.8")
}
oh it just works?
id("me.mattstudios.triumph") version "0.1.8"
okay that's like, really sick. what happened? why did you stop developing it? can we revive it? is it open source? i have so many questions!
that is one pretty main class you got there
is this on gh?
i luckily clicked on his third mysterious icon on his profile and it led me to triumph team
and from there i just assumed lol
so wait does Matt just have his own entire ecosystem basically
cause he's got MF
and MF-GUI
basically
They call it a monopoly
π€£
hahha
he's gonna rule the world once he stop being lazy as fuck
lazy as fuck? dude he's got so much under his belt holy cow if this is lazy
its written in kotlin
YES
Slowly cleaning it up but this part looks beautiful https://github.com/TriumphTeam/chat/blob/development/plugin/src/main/kotlin/dev/triumphteam/triumphchat/TriumphChat.kt#L43
I'll take that as an offence
:))
no no i love it
/**
* Displays the startup message of the plugin
*/
private fun displayStartupMessage() {
if (!IS_PAPER) {
"Go die".log()
return
}
"""
&cβββ βββ βββ βββ &8Version: &c${description.version}
&cβββ βββ βββ βββ &8By: &cMatt
""".trimIndent().lines().forEach(String::log)
}
it's just crazy how beautiful it is
:kekw
A and B are just "I got bored"
damn it u beat me to it
dude I forgot that Kotlin has Ruby-like allowing you to run methods on literals
ye ye
now if only we could get updaters hooked in
maybe we maintain modified variants of each open source plugin we support that interoperates with our framework instead of theirs
difference between apply and also?
Apply uses the object as this, Also uses it as it
oooh
ic
Spiget is useful
isnt that the api?
yeah
is SkinsRestorer still a required plugin?
oh maybe for multi protocol servers
https://paste.helpch.at/uripuxiruv.java would anyone know where in here could cause an IndexOutOfBoundsException?
which line is it on
this is deobfuscated Mojang code, so I can't answer that
if I could, I would know the answer and wouldn't be asking here
gotta be one of them
maybe try renaming some of the variables?
param_02[this.redirect], param_02[var_0]
param_02[var_1]
it doesnt look deobfuscated tho lol
shouldn't be the first one on line 7 because it looks for null
and the line 10 boi is the same thing, so that should be fine
line 19 is straight from a for loop, so that shouldn't even go if it doesn't exist
and so is line 23... hmmm
Um line 7 could be the cause as well
The index is still accessed even if for a null check
well yeah i know but why wouldn't they write an index check function if it were able to be that
i could see it happening more on for loops that are longer than expected
Fair point
maybe 7 million longs longer lmao
true
Actually the value of redirect is part of the class and not the function so we cant really tell from just that snippet if it could or could not be out of bounds
in Kotlin, can you just have an illegal array access become null instead of throwing an exception?
Depends on what value was set there and where
i feel like that would be a useful feature
what do you want to see?
The whole class if possible bard
hoo boy i can't wait haha
this will prove it's deobfuscated and decompiled Mojang code hopefully lol
i think the joke was that it "wasn't deobfuscated" because it's still hard as fuck to read
oh god it's only gotten worse
Not in the std lib but you can just use an extension for that ig
I can go through and fix all the variable names if you want
Object2IntOpenHashMap
yeah that would really help
W o t
fastutil lol
lmao
Oh god, lemme get on pc, cant read that on phone
so this is for packets or something?
ah okay
Actually, easy find, enable on-exception breakpoint in the debugger on ij
yeah that won't work
Why not?
i don't think you can run this in ij lol
because this error happens client-side
ahh
and I'm not running the client in IntelliJ
just make an exte for everything in kotlin π
also, https://paste.helpch.at/itaputoziq.java that's my best attempt
i assumed you had the issue on the server side
Is this class from the client then?
@jovial warren
nah, this is from the server, but they're basically the same with packets
the reading and writing is common between both
okay well at least it's not called param_02 now
Did you see the client side stacktrace?
so we're looking at the code running not under your control just what it's doing, we can't modify it or anything cause then you'd have to recompile all of spigot?
this. isn't. spigot
this is the client
I could probably run the client in the IDE somehow, but I cbfa lol
oh I presumed that was the server side code sending the packet
yeah it is
wot
but the error happens client-side
Why are we trying to find the client side exception in the server side class π₯²
yeah but the code that you deobfuscated is server?
yeah
okay nice that's what I was asking lmao
because as I said, the packets are shared
The packet is, but is the class similar?
Did you use a one for one copy of the class for the server?
yeah true maybe the client class handles it differently
that's what CFR gave me
no
CFR?
stop questioning my god damn methods
Is that a decompiler?
this class is the same in both client and server
yes
got a feeling param_0[this.redirect].node == null might be the culprit
I might be incorrectly sending the flags
wdym?
I presumed someone had already decompiled that bad boy
you don't know the correct format to send the packet in?
wtf does this mean then
lmaoooo wtf
since LuckPerms has a lot of commands
i mean but it works in the normal server
yes
maybe it's off-by-one for some reason
lol
okay help me understand what you're doing with this code
are you just recreating a spigot server and sending packets manually
in order to understand how to decompose them for your own server?
omfg no
I've written my own server from scratch
that code is client code
I asked a simple question: where could I get an index array out of bounds exception from
but i don't even know what you're doing
trying to get LuckPerms to work on Krypton
so you're seeing what LP does on a spigot server first?
And when you try to join it throws an index out of bounds?
hmm okay
gonna try using Forge to run the client in IJ
.getOrNull iirc
Yup
It's a blessing
π― π¦ π» π¦
stonks
You can run any jar in IJ
yeah but gl running 1.16.5.jar in the IDE
doesn't have a thingy thingy
main class
hehe I love DRM :(((((((
bm
Oui
Did you finish the changes document for elara?
uh I kinda forgot about it a bit
oh welp
I think we need to decide on some core ideas first
Are we going purely functional? If so, are we gonna have support for some imperative constructs?
Eager or lazy? Lazy makes sense for purely functional but not much if we're allowing side effects and things
Id say, not purely, but close enough so we get the advantages without it beign a detterent like in haskell
true
We could go that route
Sir this is #sql
The issue with that is a lot more complexity though
But then we need some major changes to advocate the difference
Yeah
I guess we can still use the impure, pure idea?
That seems like a good idea
We can guarantee purity most of the time but we don't always need complicated constructs to do side effects when they're necessary
I guess we can let the users use the impure functions in a "haskell"-like way as well if needed
Yeah
mhm
make some function that converts a a => b into an a -> IO b or whatever
Personally I think the design of clojure and f# works the best - purity is heavily encouraged but you don't have to jump through any hoops to make impure code if necessary
but i guess we need to figure out what we actually want to do with elara before making decisions like this
yea
#WeAreAllScamBaiters
Hi folks, this is the long awaited collaboration with Mark Rober!
Money mules collect cash on behalf of scammers, keep some for themselves and pass the money on. But who are they and how do the avoid being caught? We find out using Mark's glitter bomb 3.0 and a bit of digging on the scammers' computers.
It's even possible ...
he scammed the scammers lmao
I saw that lol
and donated the money
amazing dude
now i think about it
creating malware is java is super hard to do
cause java is super limited on graphics shit
and also native shit
nah bro just use JavaFX ezpz
TornadoFx 
ooh never heard of it is it good
even that makes it hard
yeah true there's a lot of boilerplate
i kinda died a little with how many lines of code a simple 2 page app took
I think adding my project to github broke something. One of my classes just stopped working.
wat
I can't import it anymore
i dont think thats possible cheif
Idk
I tried adding the import and its not working. I can add the package before the class name when making the variable and it works, but trying to add the import just does nothing.
weird
When I hover over it, it gives me an option to import class, but then nothing happens
try quitting and reopening intellij
I did
oh that issue
It's JavaFx framework for Kotlin
tbf, there are not many java frameworks for gui development are good
I fixed it by deleting the class then recreating it
awe nice
yeah i feel like java ain't the platform you want for nice looking web apps
maybe if you wanna go for the java applets of yesteryear
spring
wtf
how tf does ```kotlin
override fun register(command: Command) {
val commandNode = dispatcher.register(
literal<Sender>(command.name)
.executes { execute(command, it) }
.then(argument<Sender, String>("args", greedyString()).executes { execute(command, it) })
)
command.aliases.forEach { dispatcher.register(literal<Sender>(it).redirect(commandNode)) }
}
I get that with the then
if I remove then, no issues
too long?
@obtuse gale
yeah he sent that too in the LP discord
because it's never enough to ask in one place
Whats a good color plugin/theme for intellij?
I mean the actual tree structure is good, you can't really fuck that up lol
with a bit of sugar and cream tho
mmmmmm
Thats what I am using
I have to figure out how to revert everything back to normal because I just went through and made everything random colors
Oh I figured it out.
material theme cute af
pastel syntax highlighting lights up the dopamine receptors in my brain
oooh and rainbow brackets
those things are nice
Hi :)
Hello
"Buy"
Just joined
this place is better than spigot discord
who that
wtf
tbh any place is better than the spigot discord lmao
developer from spigot discord as well
it really does wth
ah
dude it was free like seconds ago
nah
maybe its included in ultimate
well i tell ya
i just got it for free literally like 3 days ago
at the recommendation of Matt
bro im gonna be mad at JetBrains
for the first time ever
this is like the Skyrim Horse Armor
Darcula is good enough for me π€·ββοΈ
it already has 4 stars lmao
that's my secondary theme prolly
second favorite
i like simple themes
I'm dumb
i like Visual Studio Code Dark Plus Theme
it's probably tied with material theme
though i am in love with the pastels
developer role when π
ya
Hm I should probably ger some sleep ;/
no
Or is it time to grind tiers
Darcula is nice
Atom OneDark with Matt's edits better though
with the compact everything π
Hm might look in to that then
ask @ocean quartz for his colour scheme lol
@obtuse gale start learning to freaking not shout out loud and spam posts. you literally sent 3 posts of rants in 2 minutes
SHEESH
you also called me an internet weirdo
dude I dont like people trying to get me upset.. maybe you can understand maybe you cant.
i understand, but you literally almost harassed like 3 people
lmao
you gotta chill
lmao
this is still happening?
anyone here ever heard of Haskell?
i thought we swapped this out for the capitalist guy
Uh who needs my beautiful colors?
Me
Also this.
I really dont like if people just trashtalk me like that. Sorry to the ones that didnt mean it in a bad way, but I hope some1 can understand that I get mad if people just talk to me like that without any reason.
I tried to explain in the thread, if I get harrassed by (not everyone) most of the people for calling out a scam I'll definetly not try to be nice to the ones that did it
@simple kestrel
gn
gn!
@forest pecan I tried to put some effort in the post I made in the beginning and then most of the responses I get is just bs. None of the posts I quoted helped me. You tried to help me and I appreciate it, but as I said I got upset and didnt want to get made fun of while discussing a serious topic that I tried to make people aware of. Same in here.. I dont get it why people cant try to have a mature conversation and instead just try to make me look bad. It wasnt even about them, it was about a scam that I tried to make people aware of
pragmatic and modern
coc anybody? xD
Have you guys ever heard of rust btw?
Bit late tonight
Wait why doesn't COC have rust
Or does it
its 12am smh bm
i prefer writing hello worlds in obscure languages to try and be funny
oh boy I bet
If people clone my repositories does that mean they are just downloading copies of the code?
Essentially
Bit more complicated in practice but yeah
Okay
Whats that?
Maybe forked?
It says in insights
Curious about how the new paper chat event is supposed to be handled, since it'll give a component now
Is it going to be just one single component that can have it's message extracted as a string? (for parsing purposes)
I feel like if it would be a bit odd to work with components in this situation
Seriously thinking about dropping Spigot support but idk
wdym?
Is it going to be just one single component that can have it's message extracted as a string?
I meant as in like one component where i'd get the message from, but I realize that's stupid probably better to just use a PlainSerializer on it
not exactly sure what you're trying to say..? For example, the default component in the AsyncChatEvent is the translatable component for vanilla chat (chat.type.text or something, idk) that has 2 components as arguments: the player's display name which on click suggests /tell <player> and on insertion it inserts the player name, and the second argument the msg
That's not exactly what I meant xD
Sorry hard to explain, basically was trying to say I needed the message as a string
In other news, @prisma wave π¦
But what if for example it's a translatable component? you would need to look through the args
and what if it's a block NBT component, entity NBT etc
I mean those I really doubt you'll find in chat event
but it's just so malleable
it's not "a message", but a format
Yeah which makes this pretty hard to work with for a chat plugin
the plaincomponentserializer only works on textcomponents right?
I am not sure, I'm assuming it should work for everything
oooo you can make your own ComponentFlattener
Yeah supports all
The serializer xD
plain?
Yeah
facts or no?
what version tho
Uh i just deleted paper's repo from the cache so it's the most recent and it uses 4.7.0
Oh I see the issue
hm?
I had the older serializer
ah
Well I'll think about this, might be worth dropping spigot
what were you trying to do btw?
Just thinking how I would change my chat plugin to paper only since my markdown lib needs string and the event changed to be a component
it's... complex
the idea on the classic AsyncPlayerChatEvent is that you have a format and two args: display name and message
and that got formatted with String.format
legit
AsyncChatEvent does the same thing.. but with components; ChatFormatter takes two Components (display name and message) and formats them into one formatted Component
it kind of mimics it but idk it's odd
Yeah, for simple things I can understand how the new chat event is way better
But since most likely I'd still need to cancel the event (for channels and things like that) it doesn't change much
Only the fact that i'd need to flatten the component first
I can see how it's better for plugins that, for instance, show items on hover when you type stuff like [i] or w/e
since you can just call Component#replaceText(...) and it's amazing
Yeah
Spigot needs to step up their game, paper gets better and better each update lol
Surprised there is still an incredible amount of people on Spigot
From essentials
woah it's grown a lot since last time I saw it...
like
4 days ago...
okay I seriously don't understand why the recipients set in every chat event may or may not be mutable
wtf
I wish LP had bstats for bukkit and bungee tho
Yeah i think it'd make much more sense to be mutable or have a setRecipients
Also sad they named it message() instead of getMessage() because Kotlin won't turn it into a property
There is a nice graph from paper to show a more accurate percentage but I can't remember the site
well we know something now
he aint a boomer
those docs are prolly created in the early 2000s or some shit
Don't think so, it was a graph
But this one is good enough
64%, that's pretty good
or smthing
holy shit I selected some text and half the site went blue
oh god Martin why...
HOLY SHIT
Chad
Even on the read me
I swear that his ads sound like someone is inviting you to a pyramid scheme
If that happens I'll surely drop spigot
but all we have are snapshot apis
I like how Spigot adds R to the version but never releases a revision
neither a release...
It's in a constant state of beta
π³
:sadge:
Beautiful
@jovial warren I beg of you to implement some default shit for Bungee <-> Spigot communication, because the current stuff is just a complete abomination
@hot hull velocity and paper communicate I think
Oh no
What's happened to him
Using waterfall :sadge:
https://paste.helpch.at/qokoyifeli.rb fat plugin folder
Only thing that matters
βββ RPF
theres group folders in there too
like HelpChat
that has a bunch more things in it
and placeholderapi
I've legit tried everything and can't get this fucker to work ;C
@hot hull what
do u mean
https://www.youtube.com/watch?v=SMHGHddzzoA fuckers are easy to make just watch this tutorial
This video showcases the how-to behind the strange and memeable sheep fricker machine in Minecraft. Not sure what one is? The thumbnail is exactly as it seems. Step by step alongside material lists and a demonstration should help you!
I need to send a request to bungee to send the updated config, however it just does not want to send the fucking message to bungee
have u tried sending a message to bungee
boi if you don't
Will probably need to, but it's such a small usage case that it's not really worth
wdym
you talking about PMCs?
yesn't
I might implement a messaging channel into Krypton to avoid the mess of a system known as the BungeeCord plugin messaging channel
that won't rely on players being online
I just need something reliable which supports messaging both ways
π
cause the shit I have rn makes my head hurt
I might end up making my own proxy from scratch at some point
not sure yet
if I do, I'll likely name it the suggestion I believe you originally gave to me as for what to name Krypton, if you can remember
Aurora
yeah
the Aurora proxy and the Krypton Minecraft server
sounds good to me
what do you think?
sounds good yea
I mean, if anyone else who knows much more about proxies than me wants to pitch in (which, let's face it, is likely quite a small minority of us here lol) then that'd be greatly appreciated btw
also, the great thing about making my own proxy is it means that the server <-> proxy communication can be whatever the fuck I want, since I have total control over both
I don't have to impersonate a vanilla client like BungeeCord does, so I get a lot more freedom
The power of having control over you dependencies
and it would mean that you wouldn't be able to direct connect to the backends either, since it'd be using it's own custom packet formats and stuff that won't make sense to a vanilla client
yep
No weird shit you have to deal with π
if I was to make a custom proxy, and have Krypton support it, I would likely just make an entire new set of custom handlers and just use a completely different Netty setup when proxy mode is enabled
then I could also send packets over UDP if I wanted to
and, as I said, I can design packets however I want
I like designing packets so scuffed people want to give up trying to use them π
I'd probably design packets that are as concise as possible, yet make a bit more sense and aren't whack
and send them over UDP or something for speed
I mean, Bedrock and HTTP/3 with QUIC (all I can think of rn lol) use UDP, so there must be a reason
RabbitMQ
and that
make ur own protocol
the list goes on
that's what I'm thinking of doing
and then just having Krypton use a completely different Netty setup when running under proxy mode
I mean, some packets that the proxy doesn't support will just be forwarded on like normal ofc
so it might not even be worth making my own protocol tbh
yes I agree
Rabbit mq
you saying I should support RabbitMQ for messaging or something?
now that would be nice
Probably not the server's responsibility
If I wanted rabbitmq I'd do it myself
Using some actual specific library
no, but RabbitMQ would be better than plugin messaging channel
Not necessarily
yeah I suppose
RabbitMQ isn't really designed for fast messaging anyway
it's designed for complex routing and secure messaging
Plugin messaging is easy to implement, doesn't require any additional setup and doesn't need you to host anything else
if I can get it to work with no players online then that would be good
could add a custom packet then I guess for custom messaging
also, you know that all I need to send a plugin message packet is a connection right?
although, the proxy doesn't give me connections without players
Exactly
That's what the plugin message packet is for
That link redirects yeah
Works just fine?
π₯²
lol
aw I got a 502 error ;/
Refresh pls
and emacs is written in lisp
Worked for me
sublime masterrace
Yeah it's fixed now
ocaml
nice
very nice
but what editor tho
whatever
thats the question of the day
vim if you're so inclined
cursive?
i didnt even know plugins could be sold
4head
but like, I'm kinda commercial, no?
Are you being paid to write clojure code
fair
someone please help this man
what the
i am sure not yet but maybe decipher soon?
what are you, 100 years old?
sadge
did you ask it in this channel?
#general-plugins I think
my shit's poppin off https://www.spigotmc.org/members/dababy.266605/ ||every couple months||
yikes
wtf dababy on the high performance minecraft server spigotmc.org??
yes
don't look at my spigot
don't do it
I refuse
Wasn't gonna
good
aight i'm out
might as well leave
if this gets infected with the most childish dababy crap
big smh my head
;p
huh
brand new Lamborghini
Also lemmo any idea about that thing I asked a few days ago? Just making sure you haven't forgotten 
he will turn a fellow into a convertible
I honestly don't know who dababy is, my irl friends just always make jokes about him, so decided to put it in the link
It's a Tiktok thing lol
k old man
oh is it?
and i'm saying that whilst adding spigot to my rss reader
Lmao
he's actually not bad
He just became a meme for some reason
Yeah lol
r/DaBaby was hilariously bad
rip r/DaBaby
ew
Anyone experience with reverse engineering?
Primary with C#, Unity
I got this GameRoot.cs code (C#) from Assembly-Charp.dll that are accessing a encrypted/encoded/obfuscated lua script
And there is no evidences that this file get decode/encrypted in any way.
The EngineDll Shared Object is also simply use lual_loadfile() to access the GameRoot.ls
Thus drives me nuts ;c
yikes
intellectual gradle build
Yugi I'm gonna kill you I swear
you remember ages and ages ago when we were talking about node enumeration?
and you said how checking if the current element was already in the result list wasn't necessary?
well guess what
client throws an index array out of bounds exception if I have redirect nodes and that check isn't there
At least you figured it out eh?
dong check came, bread is on me tonight
ππ
bread for 1.82β¬
seriously?
everything is expensive in London and I don't even live there
small breads cost like 15 cents a piece here
christ
its like 1 pound here
Average prices of more than 40 products and services in London, United KingdomMar 2021. Prices of restaurants, food, transportation, utilities and housing are included.
:'C
Yikes imagine being bri ish
shut
nah youve got a point
He's got a great point, imagine being bri ish
Health Care do be quite cheap π
Wanna talk import taxes?
lmao
no because I know nothing about them
I don't know anything about healthcare either
my statement was preceded by a google
Neither do I, I just know it's more expesive than the UK.
huh?
you said the if (element in result) continue check probably wasn't necessary
In the bfs?
yeah
if I don't have it, the client gets an index array out of bounds exception when processing it
Show me what you have rn please
Sure
private fun RootCommandNode<*>.enumerate(): Map<CommandNode<*>, Int> {
val result = mutableMapOf<CommandNode<*>, Int>()
val queue = ArrayDeque<CommandNode<*>>()
queue += this
while (queue.isNotEmpty()) {
val element = queue.removeFirst()
if (element in result) continue
val size = result.size
result[element] = size
queue += element.children
if (element.redirect != null) queue += element.redirect
}
return result
}
ew
also, https://i.imgur.com/YaSlAQS.png here goes nothing
Check what item it readds
That might mean you have some node connected to 2 parent nodes for some reason
in the in check try printing the overlap out
<literal luckperms>
registration of commands btw: ```kotlin
override fun register(command: Command) {
val commandNode = dispatcher.register(
literal<Sender>(command.name)
.executes { execute(command, it) }
.then(argument<Sender, String>("args", greedyString()).executes { execute(command, it) })
)
command.aliases.forEach { dispatcher.register(literal<Sender>(it).redirect(commandNode)) }
}
Maybe aliases
yeah maybe
Does brigadier use diff nodes for aliases?
they're just literal nodes that redirect to other literal nodes
ah
that's what redirect does
Makes sense
also, https://github.com/lucko/LuckPerms/pull/2954 it's in
I'm nervous lol
Isn't it a bit too early for a big plugin to want to implement Krypton?
I mean i can understand once it's ready to use but it's not even usable yet
Yeah but think of it from LP's perspective, they'll have to support a new module that none of it's users will use
nah, I said that I'll fully maintain it myself
Is sending EntityEquipment packets async bad? I don't think it would be since its just a visual
Any packet can be sent async afaik
yeah you can send packets async
good good
you just can't update stuff async
I'm gonna add support for tab completions now I think
I love how I'm just avoiding the things that are annoying that I should be working on and working on things that are easy but aren't really that important lol
like block breaking π₯²
dude Luxembourg OP
or fixing allocations
lol
they're like a cozy blanket when I sleep
let me try just skipping any longs that are 0
ooh that would probably help a little
rust i64 actually uses 10x less memory than java longs
I mean if we all work on plugins for Krypton, it may become usable at some point with enough supporting plugins
haha
im sure it can't be too hard to port stuff to Krypton?
it's very similar just a few things are different
famous last words
With some plugins, yes, but most are just a mess and would require a rewrite
very similar to Bukkit in its design, just a bit less annoying
and it'll probably be more enjoyable to work with yeah lol


everyone here should show their plugins folder