#dev-general
1 messages · Page 355 of 1
Before I was using Intel HD Graphics 3000 and normal minecraft would kind of lag
i need a better pc 😭
The 4000 seems to be a pretty good upgrade from a 3000
wym
whats ur main class name
Kessentials
do you ever have the code new Kessentails() in ur code?
4000 LEFT 3000 RIGHT
use this
Well I went from 2011 macbook to 2012 hand me down 😄
dell?
i think so
yeah to be honest old tech still works pretty well these days
ehhhhh
my pc sucks
Raspberry pi @ 1.2GHz
1.10 to be exact
Oh at least its 4 core tho
clock speed really isnt the biggest factor
this laptop sucks though
a 2021 cpu running at 2ghz is going to perform so much better than a 4ghz pc from 1995
How come?
IPC
IPC?
instructions per clock
we need google bot
better cpu architectures mean more things can happen every cycle
not to mention you'll get better efficiency per watt
Oh cool
I just always thought clock speed = exact number of instructions per second
Interesting
nah clock speed is cycles per second, but how many instructions happen on that cycle is independent of that
better architectures also mean it takes less cycles to do certain things, on top of being able to do more per cycle
fancy new pipelines and all that
So lets say I have a cpu 1 is 2.7GHz and cpu 2 is 2.5GHz the second one could potentially out perform cpu 1 if it was newer
Would it have to be alot newer?
well i guess it depends, because ipc improvements from generation vary
on average every intel generation over the past few years has been a 5-10% ish improvement to IPC
but yeah 2.5 could easily be better than 2.7 in just like 2 generations or so on average
The amount of optimization and prediction CPUs do is unbelievable
Also depends on how it can boost as well. There's a reason AMD chips are way ahead right now and it's not just because of the price. Lots of cores and really good boosting help significantly
yeah there's a whole bunch of fancy witchcraft going on to improve performance without raising clock speed
like fefo said, branch prediction is a big player
i think modern cpus can predict with like over 90% accuracy on average
which greatly reduces wasted time
Mmm branchless programming
anyone got any idea how I should test if my classpath += item system works?
all I've done is just made an addPath function that's internal that exposes addURL lol
C++ be like "yeah bro no problem, we just implicitly use true and false as 1 and 0, of course you can do arithmetic with those"
exactly how velocity does it
Java be like "hurr durr a boolean is not an int"
https://paste.helpch.at/onisidupab.java
I have this error
'JoinEvent(com.realkyu.kessential.Kessential)' in 'com.realkyu.kessential.JoinEvent' cannot be applied to '()
in new JoinEvent()
This video is legit amazing how well the dude explains what CPUs do to optimize your crappy slow af code https://www.youtube.com/watch?v=2EWejmkKlxs
Pass this
as parameter
windows really doesn't like me today. https://i.imgur.com/jrdv1hx.png I keep ending the task from Task Manager and I open it again and its back to this. 😢
yeah you gotta register events bound to plugins
Cannot resolve method 'registerEvent(com.realkyu.kessential.UpgradesEvents, com.realkyu.kessential.JoinEvent)'
pass this first
It's registerEvents(this, new UpgradesEvents())
And you can't have multiple in the same
I think he's registering custom events, not listeners
getServer().getPluginManager().registerEvent(this, new UpgradesEvents(), new JoinEvent());
'JoinEvent(com.realkyu.kessential.Kessential)' in 'com.realkyu.kessential.JoinEvent' cannot be applied to '()'
new JoinEvent(this)
same
Cannot resolve method 'registerEvent(com.realkyu.kessential.Kessential, com.realkyu.kessential.UpgradesEvents, com.realkyu.kessential.JoinEvent)'
Also you can't pass multiple listeners to registerEvents either
it's one call to registerEvents per listener
'registerEvents(org.bukkit.event.Listener, org.bukkit.plugin.Plugin)' in 'org.bukkit.plugin.PluginManager' cannot be applied to '(com.realkyu.kessential.Kessential, com.realkyu.kessential.UpgradesEvents, com.realkyu.kessential.JoinEvent)'
1
at
a
time
oghh ok
oh also, is it just me or does anyone else get kinda scared when you see those big git trees where every branch is on a different page
what
I kinda get scared that it just won't work lol
like that Git will eventually just say https://tenor.com/view/tracey-morgan-no-hell-no-gif-11585244
OH LMAO I missed the "git" part loll
Same xD
HAHA
I was like "big trees".. "every branch..."... what?
classic
lol
"big"?
yeah ik they get bigger than that
but even having 3 branches at once scares me lol
but that's the best part about using git o.O
yeah ik
Gotta get used to <<<<<<< HEAD
also, https://github.com/KryptonMC/Krypton/pull/14 someone review this pls lol
just do a sanity check
Uh, what is that?
wrong screen
Bardy you should be dead
Bro
lol
@pine fox read what it says
you will find that literally everywhere
listener then plugin
It's the other way around my bad, new UpgradesEvents(), this
so registerEvents(listener, plugin)
Bukkit is weird
is krypton as weird?
hopefully not
😮
it just doesn't exist
there is an IO coroutine that at the moment handles just about everything, but it's not classified as the primary thread
hmmmm
because in the future, there will no longer be a god coroutine
can we just admire the fact that md_5 has
permissions:
default:
- bungeecord.command.server
- bungeecord.command.list
admin:
- bungeecord.command.alert
- bungeecord.command.end
- bungeecord.command.ip
- bungeecord.command.reload
and
groups:
md_5:
- admin
as default bungeecord config..?
one day he's gonna join every careless network and run /end :^)
rip careless networks without BungeeGuard
...
A few plugins have something similar but for notch, one day notch will login on a server and have total power
BungeeGuard has nothing to do with that
you can join as md_5 without bungeeguard
or any user
bungeeguard forces the player to join through the proxy
yes
if you don't join through that proxy then you can't run /end
BungeeGuard just stops people running their own proxies lol
you will run /end in your proxy lmao
Dkim moment
indeed
lmao
bruh
I'm currently working a bit on LP Krypton, and I can't seem to be able to access kotlinx.serialization HOCON, even though I can access kotlinx.serialization JSON just fine, and I can access HOCON in my testing plugin that is depending on exactly the same version
How have we gone from Java 8 to 16 in like a couple years
Wasnt the jump between the first like 8 versions really long inbetween
maybe Oracle have finally got their shit together
because they've updated their policy with java 9
2 new major versions each year, one lts version every 3 years
What are some cool forge mods
1.8.9 fps booster 😎
when u just inject a greater number into the client
if I want to use NMS I have to import spigot as well? Isn't there a way to import paper with nms?
that sounds like a lot of work
You literally have to run a single cmd
And it takes a fuck ton less that stupid buildtools
so I can just download the jar? I don't have to build it from github right?
i jump scared myself twice
do you hate yourself?
no i made a backdoor
app
it has jumpscares in it
lmao
Make it add itself to the registry and jumpscare at a random delay after boot
Well, it kinda already does that
lol
it edits the registry and makes it so it runs a jar file
at bootup
then it shows the jumpscare
then randomly between
0 - 1 hour
the jumpscare will occur again
lol
i also changed the background to something creepy
i also added eerie sounds that play randomly every 45 minutes
lmao
it also is a backdoor. It steals Minecraft credentials
I didn't even know among us could be backdoored lol
nah its just a name
malware 👀
is it a Minecraft virus?
No, its a backdoor
as well
i have a keylogger
basically i do this big brain thing
- i read the launcher profiles json file, send it to my server. then delete it
that prompts mc to log out
then when the user logs back in, i check in java
then i implement a key logger
cause they are logging into their account
lol
then i send the keys
to my server
lmao
it targets windows users
lmao
isn't that illegal?
well nah no shit sherlock
i mean nobody is stupid enough to
- make a backdoor open source
- leak the server ip in the source code
- make it out of java
publishes it up on github
technically not illegal until he actually steals someone's personal data without their permission though
how long did this take you
what
man
https://github.com/KryptonMC/Krypton/pull/14 I swear I should just force merge this lol
lmao
it'll be fuckin' next week by the time BM reviews it
someone here review it pls lol
actually, maybe I should be trying to fix the 10 million longs on player join issue
yeah I'm terrible at writing tests
Git gud then
stfu

man why tf is there 241k chunk sections on the heap
what the fuck
omfg
16 million longs
398 MB
bardy why do you keep using gifs?
iwanio why do you care?
exactly what I thought
anyway, 16 million longs 🥲
and GC just swooped in and took it down to 5 mil
loooöng
sections still at 71k though
just force ran a GC and longs aren't even in the top 10 lol
I wanna compare this to notchian vanilla
notch dumb
to see if I have somehow made performance worse than vanilla
doesn't know how to name methods
🤌
blockpos
Normal developers naming their projects: *Insert some complicated word or pun here*
ErLang developers naming their projects; *Furious keyboard smashing*
https://gitlab.com/zxq9/zj/-/tree/master
https://github.com/romanr321/t2j
Whats the issue?
life
Krypton seems to allocate like 100k+ chunk sections when a player joins
which, in turn, allocates around 7 million longs
that don't disappear until I force run a GC in JProfiler
oh, and it gets slower and slower each time after the original join
actually that's JProfiler causing that, nvm
I meant that's JProfiler causing the slower joins
well it's important to see that you have 24 million Longs allocated on the heap
and 3.3 million byte[] (about normal)
spark support when
I'll have a look right now
man that's ez
actually wait
this relies on tick hooks, and ticking isn't a thing in Krypton yet
soon™️
®️©️™️
is this a joke I'm missing or what? xD I don't understand
wdym
what's that logo tho?
I'll change the logo rn
ohh
default lol
is it for one of your projects?
this is the Krypton Wiki
oh I see. I missed the link
omg what are you using to make this wiki? to much white
this is MediaWiki, the same thing Wikipedia is powered by
I'll get a dark theme
The DarkMode extension adds a link to the top toolbar to toggle a dark mode theme.
yeah
I didn't see the link was not actually to the wiki
and didn't read the page
gitbook?
nah m8
😦
MediaWiki superior
bet its made in php or something REDUNDANT
bash
bash 
LEGACY software
i bet it has about 1800 viruses
gitbook looks nicer at least
but it's proprietary software and SaaS 😦
free for open source iirc
yeah that's nice
you get dark theme
I think
if you get the free for os
license
right, screw MediaWiki then
applied for the OS thingy
doubt I'll get it, since most of them are for "established communities"
Can always build your own with VuePress
just make a stupidly bad website
it can kinda be a theme, ya know? like "first website wiki"
I mean it doesn't have to be much as long as its just docs, right?
you mentioning websites Matt has reminded me that I still gotta make the Krypton website at some point
🥲
I love it honestly. Though it's a much more team-focused and strategic game than like, CoD for instance
Finally got ErLang to do what I actually want it to do 🥲
There's always a refund if you don't enjoy it!
Was that to me?
whats a good port to listen to?
yeah
like 25565
A language
22 is a classic
for what purpose lol
a free port
uhhh stuff
okay uh
lmao
communicating between machines
56665
6969
;-;
That's defo taken
oh 42069
yay json
🥲
was it a pain in the ass?
should i use port 20100
I mean just take any that is not used. there's enough ports you can use
For what?
just personal use I assume. maybe sending stuff from server to server on minecraft
oh btw, anyone know how to delete variants in GitBook?
variants?
basically different versions of the same wiki page
no idea what you mean lmaoo
@ocean quartz you know GitBook at least somewhat I think, any idea how I delete variants?
do you mean this? https://i.imgur.com/T0Hxb7R.png
that
Wdym by "variants"?
the different branch thingies
ugh that's strange
the only page I don't see a delete for is the Welcome one
but for example I see it for all these https://i.imgur.com/a35q5BR.png
I have the delete option when clicking on the ...
also I see the delete this variant https://i.imgur.com/FrtBlP1.png
I can't delete the main one tho
make sure you're not trying to delete the main
👍
just had to set main to the main and now I can yeet 1.0.0
yeah
nice. now all you need is to get the OS License. and switch to dark theme lmao
also change this https://i.imgur.com/DtZjJw3.png
yeah it's looking pretty good besides the fact that I no longer have eyeballs
may or may not have used MF's documentation repo as a reference
to be just The official documentation for the Krypton API
because its what shows in embeds
and I think that would look better
idk just my opinion
GitHub Desktop time
xD
I once PRd to Matt's thing
he forgot to put the name of a variable. I'm very proud of my work
lmao
good job
Doing the work nobody wants to do, my hero
man, I've still got like 25 wiki pages or something to write lol
Sadly the dark theme of GitBooks is very bad
oh is it?
lol
oh wait for real?
lmaoo
bruh
Matt
Yeah?
you got the OS license didn't you ?
Yeah
what are the requirements?
Mfw doesn't know markdown.
man, if your 7 stars can get an open-source license then my 9 can ez
evening Glare
make it 10
https://github.com/KryptonMC/Krypton/stargazers if one of you stars it then it'll hit double figures xD
I just did
Sad that my most stared repo isn't even one I work on anymore
what is it?
Holovid
and that's on free advertising
half of the stars for Krypton are from people I don't even know
that's cool
How ugly is this? lmao
I like the colors
I don't even got 1 star 
@prisma wave you know how you said I don't need the runnable functions? apparently, I can't pass a Runnable to a function that takes no params and returns Unit
according to Kotlin
(for LuckPerms, which uses Runnable)
we can cry in the corner
Choose the spot, I'll join
I didn't have any more than one star on a project before Krypton lol
dw, you ain't alone
what
bedroom bathroom
specific reason why i chose that place
lmao
Yeah no, I'm out 
what did I tell you BM
🥲
😅
🙂
Why are you using Runnable in kotlin?
what should we use instead
The appropriate function type for those types, () -> Unit in this case
Bard
takes no arguments, returns nothing
wdym?
oh also, is exposing the backing executor really a good idea btw?
probably not
wait what
how?
I need to pass a Runnable to a () -> Unit parameter
But seems to not part of the stdlib now that I've tried it
hmm
that's not what I need...
I need to convert from a runnable to a function, not the other way around
Then just wrap it in a function
oh btw, https://github.com/lucko/LuckPerms/blob/master/bungee/src/main/java/me/lucko/luckperms/bungee/BungeeSchedulerAdapter.java#L65 how would I do that in Kotlin?
just return SchedulerTask { scheduledTask.cancel() }?
just t::cancel ?
oh wait
oh yeah, this is Kotlin, we don't have method references in the same way Java does
so would just be SchedulerTask { scheduledTask.cancel() } then right?
We do
Thats not the issue
Its just the conversions being weird ig
Hello, is there any dev that would be able to make a Damage Indicator blocker? Ofcourse you will get paid.
would what I suggested work Yugi?
Yes it should
alright
oh also, would you have a clue why an api dependency isn't showing on one project but it's showing on another?
like I can't access kotlinx.serialization HOCON in LuckPerms, but I can access it in my testing plugin
Do both of them depend on your api?
Send the build.gradle of both ig
Hi! I'm not sure if this is the right place to put this but I can't find any help about this online. My friends and I were talking about how cool it would be to try to make our own hacked client but every tutorial I could find was for 1.12 or earlier. Does anyone have any resources about this that they could point me to? I have a pretty good knowledge of java so I'm not asking for the direct code, just a place to start. I have no intention to use this in any malicious way I just think it would be fun to create something like this
if it's for 1.8, good luck matey
no idea bard, try adding mavenCentral
nope lol
@jovial warren was that a reply to me or someone else? lol sorry
You probably wont be getting any help for hacked clients here
ah you're looking for stuff 1.13+?
trying for 1.16
try deobfuscated Mojang code as a reference for the vanilla code
then write patches for that with your own shit
You sure?
I found a whole bunch of tutorials on youtube and stuff on how to create 1.8 clients, what would make 1.16 ones be harder
wdym am I sure? of course I'm bloody sure! I have mavenCentral() literally in the repositories block lol
Is the project on git bard?
youtube tutorials often lack explanation
ah lovely
calm your tits my guy
not LP Krypton
still all local
since it's in very early development
hmm
like for example, modded tutorials and plugin tutorials
a lot of them are horrible
trust me, there is nothing wrong with my build
I'll try to look around a little more but it seems like something I wouldn't be able to do with my current skill set then. Thanks for the help still though
and most hacks these days are mods
you should try with mods
for example, aristosis
is a fabric mod
Is your test plugin in the same project as krypton, as in a separate module in it?
Or any project tbh, is there a parent build file?
wurst too 
Yeah
Yeah I was imagining something like wurst where you put it into your mods folder and it runs it with forge or fabric. (now that I looked back and what I said I kept calling it a hacked 'client' but I wasn't imagining a client at all)
no
LuckPerms has a parent build, the test plugin doesn't
yea
I wouldn't use them to cheat on anything accept for my friends anarchy server
Partly cuz its the right thing and partly cuz I don't wanna get my self banned from hypixel
oh thats sick

like actual malware
like
harmful
illegal
malware
👀
oh thats even more sick
lol
not illegal if its for educational purposes 
true
Hes doing a keylogger plus jumpscares or some shit
u should do discord token logger 👀
i made some really bad fake virus .bat files a while back
Pulse: "I'm not going to distribute it or anything"
Also pulse: makes repository publicly available on GitHub
well, use at their own risk
lol
after all, its really actually harmless atm, cause the "server" it sends the keylogging and other information to is actual to itself
im going to use it as a prank to my sister
lol
ill try to make this my last question for a while but basically, what would happen if I just made a fabric mod that auto equipped armor or something like that. If it didn't effect anything in the game world would it work to move around inventory slots and such? (on a server without my fabric mod i mean)
Yes
wait fr? its that easy?
Yea, but making something undetectable is another story tho
ahhh i see i see. well i'll be back later to share my findings but thanks for the help yall
more like literally impossible
you have to fake packets
debatable
or smthing
Yes
its not impossible, but hard
if it's sending packets that are anything other than the standard ones the vanilla client sends then it's detectable
end of story
Im not going past 3:40
lol
Barely functioning rn
gn
He meant sending packets to make it seem like the client is doing something it actually is not
Not using diff packets
https://paste.helpch.at/suyidaxiki.java it doesnt send me the "joined" message
❓
i need to join all the args after args[1]
that one line doesn't do anything
d;string#join
public static String join(CharSequence delimiter, CharSequence... elements)
throws NullPointerException```
Returns a new String composed of copies of the CharSequence elements joined together with a copy of the specified delimiter. For example, ```java
String message = String.join("-", "Java", "is", "cool");
// message returned is: "Java-is-cool"
Note that if an element is null, then "null" is added.
a new String that is composed of the elements separated by the delimiter
NullPointerException - If delimiter or elements is null
delimiter - the delimiter that separates each element
elements - the elements to join together.
removed that btw, that was pointless
String message = String.join(" ", args[1], args[2] ,args[3]);
Just used that, look at the code..
ah okay
looking at this though 🥲
Does anyone want to do a code review with me? I am still learning java, but I can do my best to look at anything you want me to, and you can tell me things to look for.
give us the repo
I'll have to add it. It has a lot of classes though
Code review with you? Or review your code? 
I thought code review was where I reviewed someone elses and they reviewed mine?
uh
Idk
Normally code review is you send your code and people bully you for it
^
Oh okay that works for me
lol
https://github.com/HeroBrineGoat/IslandDefense/tree/main/me/herobrinegoat/islanddefense
It's skyblock right now, but I am going to change it a bit later. You can bully me as much as you want, anything helps.
Its also just something I am working on, its nothing too serious, mostly for practice.
The register listeners can easily be replaced by
Stream.of(
new Listener(),
new Listener2()
).forEach(...);
Also, you should use final more often, by more often I mean, you should use it since you never do
Okay cool thank you, I will change that
I always forget to use final inside methods
I know
I usually try to put them outside methods, I just forget about the ones inside methods
man I mean I am one blind true fan of streams
but ew
ImmutableList.of(...).forEach(...) with guava
If you're on Java 9+ List.of(...)
What about Collections.unmodifiableList()?
It takes an existing list though, it doesn't make a list out of elements
Oh yeah
so you would Collections.unmodifiableList(Arrays.asList(...)) if you don't play with guava + are not on J9+
Things made on java 8 would work on java 11 right?
Yeah
Okay I will just switch to java 11 then
wtf
@obtuse gale why would you use a list for that?
Stream.of is way more optimal than virtually any other solution here
oh wait
ok
nvm
my bad
I forgot that the foreach on lists has different semantics to stream#foreach
streams are weird af
the end operation is what drives the pipeline and I don't fully comprehend the concept
Alright I finished adding final to everything I could see
Discord API now accepts bot reply message, yey
@sweet cipher Do you not use Gradle or any other build tool?
You have my condolences
^
Asking because you didn't really push it to Github
What does that mean?
You should push build tool files as well, like pom.xml
commit all files besides target and .idea iirc
If people want to contribute they can't because they don't have the dependencies
Oh okay
I don't know if people want to contribute, its just a fun project I am working on, but I will add them
I added it
lmao
Found a way to have my generics stuff not be ugly!
Now I can just have an object initializer object TestInitializer : Initializer<TestPlugin>
And on enable I can
Has. It not always?
okay but that kinda ugly
Which part?
there's just a lot of T's going on there and I have a very basic understanding of Generics so it makes my smooth brain hurt
I think I just need to use generics and like lambdas more lol
Oh you're talking about the main function, yeah that one is ugly but it's hidden you only work with the result
yeah that's what I meant
the result is so nice
just the grunt work is painful lol
was even more horrible before
you have to scan a jar if you want to extract many resources inside a directory
bruh
but hey translatable components are working now
internationalization is overrated anyways, let's just all speak English /s
Konnichiwa
Don't you love it when you accidentally push your DB user's pass to github for the second time in a row 
They only work for all the keys the client has though
I mean, the client does sent its locale in client settings, so localisation is possible
bro i just make my db input a chat command in game xD
/s ^
adventure has its own GlobalTranslator and TranslationRegistry thingus
And it renders them before sending
I was legit thinking of making a system for per session connection so I input the pass into console, so I don't have to fuck around with wiping the files and forgetting
ahhh that's actually kinda good
when you're making a standalone app, I use command line args to pass in my db stuff cause working with a file is too much work lmao
kek
System properties tho
might as well make my db stuff environment variables at this point
don't even need to put em in!
gotta say tho, bungee api 🤢
Don't know what you're referring to but it's wonky yea
made a tags plugin which has a proxy registry for the tags, and it's a complete abomination when it comes to requesting the data
Ah lmao
just makes you appreciate litebans and stuff even more lol
litebans trash
Ruan is an idiot
some parts of the api just make me wanna yeet through the window
Frosty don't lie to yourself, you want to do that regardless of a trash API 
bruh sun is shinning and it's snowing :kek:
hell yes
I love rain so long the internet works
Wait where do you live lmao
Slovenia
yea it's a yikes
It's solar powered
:sudoku:
I very fucking strongly second this notion
I wanna make my own cross platform punishments plugin that's fully free and open-source
Let's do it bois. HelpBans
Lol
reeee
I hate that dick head
kek
HelpBans would be funny lol
Would probably make it as abstract as something like LuckPerms
Can't be that hard eh?
So it can literally be adapted to any system
Oh man making the Luck Perms of the punishment industry would be amazing
And I would hope it would royally fuck Ruan over
Plus he'd have competition, so maybe he'd improve the shitty API
I mean, his plugin doesn't really do that much does it?
Just sync to a database and every server checks that database and stuff
It does quite a lot
wElL i PaiD fOr iT sO iTs BetTeR
Yeah, in terms of the backend, it's really simple
Ah just all the custom messages and stuff is probably pretty hard, eh?
people don't use it cause it's amazing, people use it cause it's basically the only plugin on the market which does so much, even if it's done shitty
Nah that's ez
^
I really don't get like, what all it does besides ban people across networks
same with token enchant, absolute garbage, yet only thing on the market when it comes to what all it does
the same is true with a bunch of other plugins too 😥
Well why don't we actually make better alternatives?
With the power of a lot of people, can't be that hard
He only has himself
look at papi for example, hideous, yet only thing out there, ||this is a joke, don't shoot me please||
FBI OPEN UP
cough @quiet depot cough
FeatherBoard
KiteBoard best
basically
more likely than not
best plugins are the freemium ones when it comes to paid stuff
you can have an open source paid plugin no?
freemium yes
then you still get a little dolla dolla but you also get the benefits of not being the only person who can look at the software
ah I see
any recommendations then?
Cause you just threw out a few plugins I've used lmao
Bardy, any eta till Niall OS' kiteboard?
It's been a few months since he said he would :sad:
@heady birch
I'll start work on OpenBoard soon
Nah bardy you won't
Soon™️
Finish Krypton hoe
send me the repo and I'll try to help a little :)
I feel like OpenBoard will have a bigger impact than Krypton
nah
Don't get me wrong, Krypton kinda slaps, but OpenBoard is desperately needed lol
if krypton performs how it's supposed to it'll be fire
if
KiteBoard works perfectly fine, idk why you don't use that
Oh I will profile and benchmark until it does
Cause I already bought Featherboard :(
until you don't have 28 mill Longs
Per user join
Do a commission, buy kiteboard, ez
Debatable. The compatibility with Bukkit scoreboards is fucked
Sounds like a long amount of longs
what is Krypton anyways
Pretty big yea
I don't think I'm that competent yet
🥲
Got a github with OS projects?
kinda
link
i also have my real life one that has other stuff but not a ton :/
my biggest contribution so far is this PR https://github.com/Ghost-chu/QuickShop-Reremake/pull/872
this is a pain
Lol
If you ever peek in #816184744797929522 you'll eventually see people asking for full anticheats, bedwars, skyblock etc plugins for like 20 bucks 🥲
ah yea yea
man, if only programming weren't so hard eh? then maybe some people would be willing to make entire plugins for a measley $20
that's like, 2 copies of KiteBoard lmao
god damn it really do
And then you see me making a bedwars ploogin for free :sadge:
damn your github profile kinda cute lol
Heh
What repo you looking at?
Yea I'm gonna start that from scratch cause it's a yikes
Go look at my profiles commit history and you'll see wonderful things when it comes to commit naming
oh no lol
if you make readable code and have some kind of issue tracker, I'll try to help you out :)
I mean feel free to check out the code lol
Due to my extreme lack of experience in design patterns, I am very good at doing small things, not large things lol
Oh I can do large things 😏
mmm hardcoded spawn locations java TEAM: [ "x:-336 y:46 z:-72", "x:-232 y:46 z:32", "x:-128 y:46 z:-72", "x:-232 y:46 z:-176"
😏
Oh lovely
but what if you wanted to have different maps hmm?
but it could be a config file no?
It is a config file
oh
kek
im a little dumb don't mind me
All the files you see are configurable
So what's wrong with it then?
I don't like the current structure as it's not expandable enough, and some stuff is just thrown together
Yeah project design seems like, really hard
😏
damnit
the edge of the world
That's nice
yeah it did that to me a few times it was weird
like when the background is full white but the menus are still dark
man, I gotta figure out how to allow for cancelling the login event with a message
data class LoginEvent(
val username: String,
val uuid: UUID,
val address: InetSocketAddress
) : CancellableEvent() {
var cancelledReason: Component = Component.empty()
fun cancel(reason: Component) {
isCancelled = true
cancelledReason = reason
}
}
```this looks too ugly
What's wrong with that? 🤔
besides my poor boy type hinting being thrown to the wind, that looks pretty concise
Make it not a cancellable event, use a different interface for this
wdym?
Just throw away the whole concept of cancellable events? that's kinda bonkers
Also consider not defaulting the reason component to empty but the actual translatable one that the vanilla server sends ^^
Just a suggestion
and in the process completely destroy any form of anti-grief or punishments plugins
Instead of implementing cancellable, use something slightly similar but requiring a reason in that itself