#dev-general
1 messages ยท Page 164 of 1
i hate packets
since you have to add support for every single version
and adding 1.8 to 1.16 support isnt fun
simplesimple
i mean look at this crap for version support and its not even for 1.(
https://github.com/Arasple/TrHologram/blob/master/src/main/java/me/arasple/mc/trhologram/nms/HoloPackets.kt
or whatever
is it
:?
dont friking ask me how he does it
its not all in 1
Damn that is sexy
Took me whole yesterday to implement
you using bkcommonlib?
Like 8 hours but I think it can be improved a bit
you using bkcommonlib?
@quiet depot me?
yes you
nope
bkcommonlib has some phenomenal map apis, definitely worth checking out
Testing around with BKCommonLib map widgets and 3D interactive rendering
Tested using the CraftVenture resource pack
that makes me wanna do something with maps....
Does that work only with having it in the hotbar?
would work in offhand too
Like not making the player update the hands?
I am struggling with that yeah
Will definitely check it out
I used it to make a server selector for a server I worked for back in 2018
it's a really good library feature wise
loads of cool shit
Is the api documented for the maps?
When I messed around with it, no
but the author had only just added it to bkcommonlib when I used it
so that may have changed by now
As on the spigot page there is no link on the map feature as on the other stuff
Is there maybe a project already using it?
the map apis are documented
javadoc site is down, you have to generate them yourself
regarding usage
I'd recommend just contacting the author (bergerkiller)
Yeah I thought he would have it as I was reading the reviews and it talked about the discord. But I can't find it
might be worth a search before contacting him directly actually, just to see if you can find any examples
it could have a wiki
Looked at the github wiki and it doesn't really have anything
/**
* Loads a map texture from an image
*
* @param image input image
* @return loaded texture
*/
public static MapTexture fromImage(Image image) {
return new MapTexture(image.getWidth(null), image.getHeight(null), MapColorPalette.convertImage(image));
}
So from what I am looking at in the code I could just use the fromImage and it would create a MapTexture without reworking any of my code, what is the map object?
why paypal doesn't have dark theme
Just use dark reader
thanks
no problem
or just send all your money to my account so you won't have to join to check it anymore
ok
Worth a try ๐
uh hello
can someone check
?
boolean isone8 = Package.getPackage("net.minecraft.server.v1_8_8") != null;```
Should I write a parser to parse command syntax or parse it verbosely myself?
how do i check if player's server mc v is 1.8.8?
how do i check if player's server mc v is 1.8.8?
@tacit cave Bukkit.getBukkitVersion()
i answered you
@empty flint up to you, though a parser would probably be faster
@empty flint up to you, though a parser would probably be faster
@errant geyser I think it might increase the size of the jar though :/
/br -c -r rankA "Rank A" -s "sound effect" -p "particle effect" -ar -sr rankA -a worldA, worldB
is that an ugly command?
/blockyranks create rank rankA "Rank A" sound "sound effect" particle "particle effect" auto-rankup start-rank rankA available worldA, worldB
this would be the non-abbreviated version
I think you should allow both.
If someone wants to use the abbreviated version, expand it out into the full word, and then parse that
I think you should allow both.
@errant geyser Yeah that's the plan of course. I'm asking more for a general opinion about the command format. is it legible, clear and concise...
in this case "Rank A" is the display name that's separate from the id of rankA
I think it might increase the size of the jar though :/
Elara's parser is 19KB all up.
I think the command is ok, there's not really much you can improve. Just make sure tab completion is on, and you document the syntax
yeah
Elara's parser is 19KB all up.
I think the command is ok, there's not really much you can improve. Just make sure tab completion is on, and you document the syntax
@errant geyser What's elara's parser? I'm getting some Photobioreactors as search results on google
elara good
that ^
@empty flint antlr is pretty good for lightweight parsers
and there are loads of command parsing libraries out there too
@remote goblet use clojure
Does that even have Java interop
the most pointless shit ive ever seen
why would you make a language
uh oh ori
that requires you to use () excessively
lmao
except {} looks nicer than () imo
I hate it, i dont care if its the latest circlejerk
Its not, Elara is
lisps just have a single symbol instead of {}, (), ., ::, etc
the syntax is easier to learn that way
@empty flint antlr is pretty good for lightweight parsers
@prisma wave I tried to make one in Java and it added a couple MBs worth when I included the necessary ANTLR libs
i feel like its harder to read tho bm
logically speaking
eh
unless you get rainbow parenthesees 
it just makes the code look messy and java/kotlin syntax isnt difficult
after the initial learning curve it's fine
clojure isnt a groundbreaking language, it's simply stupid
it literally is though
it's really widely used in enterprise stuff
because it scales really well
it's fast, efficient to use
Why would Clojure be better to write a Skyblock plugin in, instead of say Java or Kotlin? (except for the obvious Java bad tautology)
I seriously don't see the reason to use it
circlejerking aside it probably wouldn't be
You're just beating () into submission instead of null
Also, sometimes lisps can be more* clear on whats happening than normal languages
So Elara or ANTLR4? First to comment wins
not the same thing
Otherthan that idk ๐คทโโ๏ธ
y u no pfp
@remote goblet idk what pfp means
Elara is a language Borzan, not a parser
y u no profile picture
lisps are fine
xD
you guys spent a long time telling me to put the skyblock plugin in kotlin
and when its finally in kotlin you're telling me to put it into some dumb uncirclejerk worthy language

I wouldn't write a a plugin in clojure because spigot is way too OOP based
some enterprise application? sure
y u no profile picture
@remote goblet Cuz I'm shy like that.
yeah its a no for me sir
and yet
yeah its a no for me sir
@remote goblet Oh my god what is that abomination
that is clojure
that would be at least double the code in kotlin or something
clojure bad
the current circlejerk language that brister is preaching to everyone
prove me wrong
I'm not even circlejerking here
Elara or ANTLR4They have nothing in common but I go for Elara
@old wyvern Never used Elara, dunno what it actually does. Somebody said it's good for a small parser.
I didn't
loL
the syntax is kinda ugly at first, but jokes aside, it's a very powerful language
I said it has a parser, and it might help you a bit when making your own
uve never used elara because it isnt even out yet 
I didn't
@errant geyser Oh did I misunderstand? My bad
Elara ew
most if not all languages are powerful in their own way 
gonna make a huge elara pr. i expect it to be merged instantly
Got it, ANTLR4 it is then
Elara ew
Frosty ew
Frosty you trying to start a crusade
I know 

What's Elara for then?
@errant geyser Me? No? Yes? Maybe?
@remote goblet that's true, but clojure is particularly good for big scalable apps
it's efficient and powerful while maintaining conciseness
@empty flint its just a language that a few of us are working on
For a repl.it competition
What's Elara for then?
Its a general purpose functional programming language that isnt even complete yet
i just gotta fix this bitch
functional programming good

it actually functions
Alright, ANTLR4 it is.
for what block?
but idk how much i enjoy it all being in a specific row
@old wyvern elara is kind of a unique paradigm
my plugin too big for spigot, what file upload service shouldi use
how big is your jar file
xD
lmao
make jar smaller sensei
3 gigs
im capping
how
its 13mb
Use rust
i will later
also what did you do
yea use pdm but how is it 3 gigs lmao
compile everything directly into your plugin
what should i use for now
its 13mb, that was cappin
Imma add the diamond operator in a bit and probably split up the parser a bit
clojure bad
Wack
please back up your claim
Whack
its a garbage language that when you come down to it and look at its roots from a bare minimum type of standpoint and a lower down lever where you can really see it from a more objective view, its shit cause () ugly
i need xp too 
clojure bad
yea ik bm
when you come down to it and look at its roots from a bare minimum type of standpoint and a lower down lever
They literally copied the tweets... I found the originals:
Our Rust system just handled its first Walmart black Friday and came out without a scratch
When we needed to extract insights from hundreds of thousands of requests per second in realtime, we knew Rust was the answer. Rust is really awesome for general stream processing
Repost time
They are so corny
So corny
Who the heck thinks " ok we need a super fast realtime language " "clojue"
experts say that 99% of users dislike clojure. the other 1% are delusional
why cant u argue with the experts?
lmaoo
https://www.bbc.co.uk/news/health-53820425
WHY is no one TALKING about this?
WHY isnt the MEDIA covering THIS?
BIASED media
do u know its because the experts are correct?
sheesh we already on von neumann's ass now
I hate that so much
People literally go on facebook
Post
Some link to a CNN article
"Omg why is the media not covering this???"
facebook in a nutshell
how many messages for 3.5kxp? xD
its all the grannies saying it too
clojure paragraph
Clojure developers about to sign up for life insurance
Born in 1950s or whatever
@prisma wave You know a good Tape storage library for clojure ๐ฅบ
Floppy Lib
java > clojure
born to java; guided to the light of kotlin
clojure, better known as cl-usterfuck, is a language known for its incompetency in a proper parsing algorithm requesting the user to code a tree-list format. I need a few more lines so read on bois idk, hows life, whats chu been up to. Fine? ok gn
not enough oof
๐
that was about 150 xp
Lol
clusterfuck
Lol
clojure, better known as cl-usterfuck, is a language known for its incompetency in a proper parsing algorithm requesting the user to code a tree-list format. I need a few more lines so read on bois idk, hows life, whats chu been up to. Fine? ok gn
@old wyvern so wrong
so wrong
๐ฆ
oh 9x multi going on
yea lol
so wrong
@prisma wave
lets discuss why this is NOT wrong
kotlin, better known as the best language, is competent in every way, outperforming java itself in many scenarios in terms of performance while offering a large stdlib that java simply does not provide. furthermore, kotlin good.
Please describe your problems with considering the given language as inherently bad
Idk how make that longer
(he (about (to (talk
))))
(l(o(l)))
๐
(oh (god(what([a b c d e f g])))))()()()()00000)))))))
dynamic languages are objectively easier to write than static languages
Y'all wack
ur wack frosty
Have you learnt nothing from javascript xD
frosty so wack
Eh, python
hmm a is a string,
few minutes later....
a:
(w(h(a(t)))
wouldnt do what?
hmm a is a string,
few minutes later....
a:
@old wyvern
Dynamic typing
dynamic typing != weak typing
oh nvm xD
is it safe to clone a HashMap<HashMap<K, V>> ?
Do you guys think generating a g4 file from a java class will be difficult to do?
or Kotlin class even
idk I remember something went wrong last time I cloned a nested hashmap if its called that
is it safe to clone a HashMap<HashMap<K, V>> ?
@steel heart Safe with regards to what aspect?
I just need a shallow copy
I just need a shallow copy
@steel heart Why would that be unsafe?
Well I want to clone a Map with its values and keys as well
Well I want to clone a Map with its values and keys as well
@steel heart Doesn't map provide a clone() method? That should work, I think?
Not just creating a new map with the same instances
of keys and values
not what I think of, afaik cloning a map will only clone the map object but it will still have the same key and value instances
well I think im out for a deep copy
Interesting, just found that t__est__ is not a valid syntax in commonmark but it is in discord - t__est__ .-.
oof
might need to fork it yikes
@steel heart That is disgusting.
HashMap<HashMap<K, V>>
thats the implementation
yah
Doesn't matter, disgusting either way.
how should I avoid it then frosty
Consider its a Map<EntityType, Map<ItemStack, Double>> and well I could obviously encapsulate the Map<ItemStack,Double> although that wouldn't take away the map
Table
idk
alright fuck it, does anybody have a great command framework they are happy with? I wanna see what's out there before I go writing my own...
Matt has one that I know of
I dont like annotation command frameworks but matts is good, I mean if you like annotations, perhaps try aikars
or maybe Brigadier
not even valid syntax
@prisma wave it is now
also does HashBasedTable hash both R and C ?
what
I have no idea what that means
What was for alex?
R C
aight thats pog then```
I assumed You wanted to know what R and C was
no I tried to tell alex that but I was dumb enough not saying their actual meaning
Ah
@prisma wave You'll probably know this:
Basically, I have a command on my bot that gets the project version and specific other versions and formats it in to a string, I've got that working using a YAML file, but I'm struggling with the processResources task. Now I've got to where I can use ReplaceTokens to replace specific tokens in the version, replacing the project version is easy, but I can't figure out how to get dependency versions of already declared dependencies
project.dependencies is possible in gradle I believe
check how pdm does it
pdm-gradle/blah/PDM.kt iirc
alright
fuck kotlin and everything it represents
try clojure :)
@remote goblet you probably fucked something up when shading the JAR
shush yugi
ha
@prisma wave don't see anywhere where you do what I want to do in PDM.kt
might be in GenDependenciesTask
I need to get versions from already declared dependencies
nope
so so so so
it returns completeableFutre
do I need to wiat for that before loading anything else right?
pdm.loadAllDependencies().thenAccept
i hate this plugin and everything it fucking represents
lol
doesn't represent clojure 
pure hatred
okay brister
you're like
somewhat intelligent
thats a compliment
why the fuck is this being gay 
=aste
are you using Kotlin reflection?
=paste
Please use a paste service to share configs, errors, code and long logs.
โข HelpChat Paste
you realise you need a dependency for that right?
@prisma wave https://paste.helpch.at/oyuweberod.sql
elp
me
pls
idk whats going on
its not download dpendencies
I think
there's the error but s:roehte
You didnt shade kotlin @winter iron
im using pdm
"lol"
its already there

at least I think im using it
okay
@winter iron send code and buildscript
private val managers: MutableMap<KClass<out Manager>, Manager> = HashMap()Ori
big ew
lazy that or something
also just a side note, you know expression functions exist for a reason right btw?
@winter iron main class?
@prisma wave can a for declaration be a return value in an expression function? just curious lol
lazy that or something
@old wyvern
@old wyvern true
yea that probably wont work since it needs the kotlin classes right. How about handling those in another class and loading it after pdm runs?
if you're using variable arguments can't you convert it to an Array<out T> by prefixing the variable name with * btw?
in which then you could use forEach on
@winter iron you can't use any things in the main class like that
because the classes won't be found at first
also just curious @remote goblet , why is the command the one that registers itself?
also
in kotlin
you have to do the entire pdm thing in 1 line
making the builder etc
PDMBuilder(this).build().loadAllDependencies()
what if we use compile instead of pdm?
bm you should probably have pdm shade kotlin. That way its probably less error prone
@ocean quartz can I dm you regarding your MF command framework?
his DMs are open all the time
he seem to be inactive atm
ยฏ_(ใ)_/ยฏ
Still I want his permission
hey who here thinks I should make Octo available for Spigot as well as JDA lol
99% of you have no idea what I'm on about
what the hell is octo?
@old wyvern dont really wanna add 2mb to the lib
oh nice
It shouldn't download kotlin if it doesn't need it
it was only originally built because abstraction is impossible in MFJDA
@prisma wave I still dont rly get what u mean :(
PDMBuilder(this).build().loadAllDependencies()
lang = LangFile(this)
refundGui = RefundGui(this)
purgeInventoryGui = PurgeInventoryGui(this)
i done this
but ik its incorrect
i just made it 1 line
Octo 2.0 now has an abstract CommandManager allowing you to write your own way of handling commands
which was needed for BardyBot's new GuildCommandManager, which supports per-guild prefixes
Octo 2.0 now has an abstract
CommandManagerallowing you to write your own way of handling commands
Isnt that against what it is trying to do?
it still has a DefaultCommandManager built-in which contains the old functionality, meaning you don't have to write your own implementation if you don't want to/need to
@empty flint Sure, though you can always ask here it'd be the same
@prisma wave would HashBasedTable<>(HashBasedTable<>) or HashBasedTable#clone return a deep copy ?
probably
a deep copy?
yeah
what is a "deep copy"?
clone() is way too unpredictable for that
clonewill literally clone the object, probably producing a new hash code and that's the only thing that's different
no clone on a normal map will only return a shallow copy afaik
stop with these terms I've never heard of lol
@prisma wave I still have no idea what to do, sorry for being big pain
it will have same instances of keys and values as the original
deep copy is when you copy a map with it keys and values to manipulating the original one wont affect the copied one
You could recursively copy it your self witha fucntion?
yeah
thats what I have to do
ImmutableMap.copyOfwill do that
@jovial warren well its a Table this time
maybe ImmutableTable.copyOf
that'll be it
but ImmutableTable.copyOf will create an immutable table object
still immutable
so it would be a deep copy then ?
The table itself isnt immutable unless you declare it as final bard
if it's contents are immutable it's basically immutable since what else are you going to change
except for the object itself
I wonder if I call ImmutableTable.of() would make the maps Immutable as well
No
aww man
ImmutableTable.of() creates a new ImmutableTable object, a table with immutable values
Despite the method name, this method attempts to avoid actually copying the data when it is safe to do so. The exact circumstances under which a copy will or will not be performed are undocumented and subject to change.Hmmm
I'm glad all this is built-in to Kotlin lol
Tables aren't
ImmutableTable.of()creates a newImmutableTableobject, a table with immutable values
Yes, emphasis onimmutable values
(โฏยฐโกยฐ๏ผโฏ๏ธต โปโโป
โฌโโฌ๏ปฟ ใ( ใ-ใใ)
Here's your table 
โฌโโฌ๏ปฟ ใ( ใ-ใใ)
values only then?
What bad?
ImmutableTable.of() creates a new ImmutableTable object, a table with immutable values
yea, ofc it cant handle the reference thats with you
actually nvm I might be just off my head
okay well anyways thanks for the help I will try see whats actual immutable when calling the copyOf method
yea nvm it is immutable technically
Consider it returns Immutable Collections for everything probably
@prisma wave no but collection mutability is

like if you want a mutable list for example, you have to explicitly say "I want a mutable list" by using the mutableListOf() function to give you a MutableList<T>
listOf(), which gives you a List<T>, is immutable
I wasn't explaining it to you (though I know it looks like that lol)
i was like the second person here to use kotlin
flex
I have no idea where in that list I am lol
I got convinced by my mate kacgal that Kotlin is a good language
(though I had already got obliterated by sx, surprise surprise, but I kinda deserved it since I thought Java + Lombok was better than Kotlin lol)
do you even remember that argument BM?
diabolical
the circlejerking was strong
lol
I did get convinced though
we need a sxt comeback
he is kinda cool ngl
and he did help out even though he did flame some of us here and there
he's an obnoxious little brat who doesn't like it when he doesn't get his own way
thats one way of seeing it Ig
Bardy, drop the convo, ktnxbye
I mean, I am a bit of a hypocrite by saying that
Omg where is this emote from
Elara land
lol
it will soon be everywhere
Sure hope so
He's chaotic good
aren't we all at some point ?
Also, how hacky is this for? xD
https://paste.helpch.at/ahomicizar.java
not too bad
Only way i could think to get the follow up gradient to color it
Still not sure how i'll do this though
๐ก
ive been having a mental breakdown for the past
theyre not issues, theyre features
send main class
Does if (color instanceof Gradient) throw npe if color is null?
no
instanceof will never npe
Class#isInstance does throw npe though iirc
i guess it's similar to if (" ".equals(null))
I hate automatic trimming ๐ข
Now this doesn't have a space
And i need the space to keep the colors from before to carry on in case needed >.<
space.trim(false);

It's trimmed by commonmark 
Since i need to fork it anyways i might just try removing the trimming 
:pog:
ayy damn gg matt
damn that looks awesome
Going super well ;p
Only a few things left, the trimming problem, need actions to also work not working yet since the changes and the damn commonmark problem of not validating characters next to __
for gradients do you just have to loop through every character and set a color for it
ngl I'm excited to see the end result
Same hopefully i can finish this soon, been on this for almost a month xD
#738969308746612766 ๐
@prisma wave I got a Kotlin question for you:
I have added a dependency on a library to my project.
Somewhere in there, there's a .kt file with the following regex declared:
internal val OPTION_NAME_RE = Regex("^(-$OPTION_CHAR_CLASS)|(--$OPTION_CHAR_CLASS+([-_\\.]$OPTION_CHAR_CLASS+)*)$")
Is it possible to change that internal val to something else?
Maybe via reflection or whatever?
make it a var and change its value?
there's reflection yeah
Isnt it going to very hard to modify a internal value tho?
it would be delightfully hacky though
no different than any other value afaik
although maybe
Isnt the name jumbled up after compilation?
Can you help me out on how to do it?
using kotlin-reflect would probably be better
Although I'll just warn you that this will probably break something
hm probably easier to clone the repo and compile the code myself then, right?
Hm can gradle import a dependency that is locally compiled? Like from another project and another folder?
yea
mavenLocal() repository
@ocean quartz thats so op make like placeholders for PAPi so everyone can use gradients :3
anyone got any idea why Array isn't a subclass of Iterable?
Coz its not a Collection?
why isn't it?
isn't a collection literally just, well, a collection of elements?
and isn't an array also a collection of elements?
I mean internally Array is a bit different, it can hold primitives
Kotlin is indeed compiled to JVM bytecode so
I bet it's got something to do with how arrays work in-memory compared with collections
Kotlin does internally, it just boxes and unboxes implicitly
ah okay
well that's annoying
so it's either listOf or [].toList() for me then I guess
What is the issue?
since Octo allows anything that inherits from Iterable for aliases
and I wanted to make the options look nicer by using [] instead of listOf
I see
oh well
you can only use [] in annotations anyway
fun someFunction() : MyClass
javaClass is equal to getClass()
KClass<Type>
To get it from your type you would have MyClass::class
or javaClass.kotlin
wdym?
that returns a KClass too
oh doesnt this::class work for that?
How do I make a botnet?
Class::class is like Class.class
Is it legal to own a botnet if I own all of the computers attached?
Is it called a supercomputer at that point?
mhm
Is it legal to own a botnet if I own all of the computers attached?
@obtuse gale Generally, yes botnets are legal (probably, could depend on where you live). The reason botnets are on the bad side of conversations is when they are being used illegally
@prisma wave Any suggestions as to what kind of project I should try to make when it comes to Java/Kotlin outside of MC
Or anyone in that matter, pong me so I'll see 
when learning a new language i usually like to make some sort of webserver app
idk what exactly
but like a messaging app or something
it's reasonably simple, gives you a good understanding on the different api's and things of the language
but also doing maths problems and things i guess
ProjectEuler has a fair few of those
When they throw npe instead of using the @NotNull annotation ๐
@prisma wave At first I was thinking of a music app, thoughts on that?
yeah that could be cool
any reason dokka would show samples like this as opposed to the actual code at that path
isn't there a thing you have to configure in the buildscript?
not sure
https://blog.jetbrains.com/kotlin/2020/08/dokka-preview-based-on-kotlin-1-4-0-rc/ the blog says to have samples = listOf(<paths to the files>)
but thats for the kotlin gradle thing not gradle
https://paste.jaims.dev/odiperuhaz.cs thats my build file rn
Yo guys do you know how to do this?
String lore = main.getConfig().getString("custom-items.<customitem>.customdiamond.lore".replace("<customitem>", customitemname));
ItemStack item = ItemUtils.buildItem(material, (short)data, itemname, lore);```
Basically that lore section is taking stuff from like:
customdiamond:
lore:
- "Hello"
- "Hellotehre"
But I need it to be 100% a string in the parameter for the buildItem what do you suggest?
There is a getStringList method
I tried that but problem is this is my thing for getting the item
public static ItemStack buildItem(Material material, Short data, String name, String ... lore) {
so is there like any way around taht or?
no buti dont want that :/
wth dude
there sno way to make it work without
Can I cahnge the lore though? In the config?
to make it work?
Lore style?
What do you mean?
stop making xyproblems
Asking about your attempted solution rather than your actual problem
ItemStack item = ItemUtils.buildItem(material, (short)data, itemname, lore, lore , lore , lore); <- I can do that with this. Add new line of lore.
So cant I make it so that in the config instead of having:
lore:
- "Hello"
- "Hello"
I do something like:
o
so I wouldnt needa touch the buildItem?
You should make an actual itembuilder
Basically, but you'll be getting a list, turning it into array, then turning the array back to list to set the lore, sounds like a lot of conversion for no reason
^
Maybe a website or something frosty
I can recommend some good frameworks for web & database interaction
Some of the best frameworks
@hot hull If you want something non minecraft you could help me out on an editor i was making
In Kotlin ofc
there is a github showing holograms using packets at +1.13? i dont know about it and i want try learn a bit ๐ค
ok well I am thinking of makign it List<String> But, I dont understand foreach loops that well I am stuck on this.
ArrayList<String> builditemLore = new ArrayList<>();
for (String line : lore) {
builditemLore.add(ConfigUtils.applyColor("line"));
}
builditemMeta.setLore(builditemLore);```
When they throw npe instead of using the
@NotNullannotation ๐
@ocean quartz welcome to How to code in Java 101 xD
I mean that's not Java, just dev's decision
I edited it lol
Oh
@NotNull getSomething() { return null; }
seems legit
The compiler would scream at you
List<String> list = new ArrayList<>();
for (String string : config.getStringList("lore.path")) {
list.add(ConfigUtils.applyColor(string));
}
itemMeta.setLore(list);
what is that lol
^
superior emote
List<String> list = new ArrayList<>();
for (String string : config.getStringList("lore.path")) {
list.add(ConfigUtils.applyColor(string));
}
itemMeta.setLore(list);
@viscid charm
val something = Something(whatever)
fun getSomething(): Something = null // fails because Kotlin is the superior
we need more
oldest trick in the book
is this some kind of joke
get new
clojure moon is objectively better


kotlin is not even subjectively superior than clojure moon
well said
maybe Clojure moon is better than Kotlin logo
clojure moon is superior in every way
Kotlin > Clojure any day though
falsity
the same as val something = null
Fixed the spacing issue but now &r eats the text lmao
yeah but that syntax is horrible
aye
not
nc1 matt
lisps good
Fun
all you say bard is falsifications
@ocean quartz does your regex cover that format of thingy? (zsh: brain: command not found)
imagine if clojure was mainstream
holy
Which regex? Which format of thingy? xD
too bad the biased media wont talk about it
true
@ocean quartz the regex that finds hex colour codes, and normal colour codes
pff regex
alex thats because they know what power clojure has and tries to hide it from the people
exactly
clojure programmers could bring down the elite
Yeah, the regex is not the problem, the message is parsed correctly, the problem is when colorizing, i found the issue
every single media company is biased against clojure
probably because it's trash
fictitios statement
fine I'll try it
so fictitious
so unfounded
Can I make an enum class from bukkit implement an interface in Kotlin?
anyone wanna do some clash?
no blocky i dont think
@prisma wave sure, been a while
that code thing
without hacky bytecode manipulation
lol
@empty flint you can't edit existing classes
@prisma wave Hm I thought it might be possible with extensions. I know it doesn't edit existing classes but whatever
The 'everyone' mention is disabled so you can't annoy people.
lmao
just 3?
@empty flint and you
watching netflix
@surreal quarry u 2
@remote goblet u as well
@steel heart Suck my dick
wow
no thanks
i think you meant to say "clojure my clojure"


whatโs happening
why was i pinged
alright iโm eating pizza tho
I don't like the fix, but well it's fixed
speedy
tbh i don't like half this method
And the speed is kinda weird, with sys nano then converting to ms i get pretty speedy results, with sys millis i get a bit slower like 0/1ms
looks like it lol
share code
// This is inside a for loop
if (color instanceof Gradient) {
final List<MessagePart> gradientParts = new ArrayList<>();
final Gradient gradient = (Gradient) color;
// Loop here to detect followed up parts that are also gradient
for (;i < parts.size(); i++) {
final MessagePart newPart = parts.get(i);
final MessageColor newColor = newPart.getColor();
if (!(newColor instanceof Gradient)) break;
if (gradient != newColor) break;
gradientParts.add(newPart);
}
GradientHandler.appendGradient(gradientParts, gradient, builder);
// this was the hacky fix because of the hacky way, basically the for was breaking on the next iteration so had to go back here to get the stuff again
i--;
continue;
}
Any suggestions to make this beauty better?
nailed it
@steel heart do you know why this is giving null pointer?
https://hasteb.in/rexeheja.cs <- I think something swrong has to be with lore tho
not here @viscid charm
Also those styles, allman and k&r are fighting each other in the class
also I could probably figure out which line is giving you an NPE just by looking at it lol
Haters
it's idiomatic to write arrow code 
idk what clash is
clash of code
yeah
it's fun
https://hasteb.in/rexeheja.cs ๐คฎ utility methods
yeah I feel they can belong to an instance some of them
(it's the paste that guy sent in saying he was getting an NPE lol)
yeah I feel they can belong to an instance some of them
@steel heart in Kotlin we don't even need them
yeaaa
they are utility methods when written in Java
@Nonnull @Serializable @Inject final








