#dev-general

1 messages ยท Page 427 of 1

hot hull
#

Yea the staff will get flagged for variations of a certain curse word

#

stuff like F#ck, F**k

#

etc

static zealot
#

ah I see

#

I have a chat filter and I just use that regex xD

#

for each word

hot hull
#

link

#

so I can laugh

static zealot
#

well techincally I don't have it anymore. Was one of the projects I lost

#

xD

hot hull
#

kek

static zealot
#

I do have the jar somewhere lmao

ocean quartz
#

Sx had an awesome filter he was working on, let me see if i can find it

forest pecan
#

did Sxtanna leave cause he was too toxic

#

lol

hot hull
#

Didn't leave willingly :p

forest pecan
#

he got kicked?

#

or banned?

hot hull
#

What do you think

ocean quartz
#

He was shown the backdoor

cinder flare
#

not even the front door?

#

yikers

forest pecan
#

please go through by the side door

cinder flare
#

wtf you can't use collection literals in kotlin

#

how do I make quick array

#

ArrayOf?

ocean quartz
#

arrayOf

#

Wdym by collection literals?

cinder flare
#

well I tried to do

val names = ["Jim", "John", "Bill"]
#

and it told me no collection literals outside of annotations

ocean quartz
#

Ah yeah you'd do listOf or arrayOf

cinder flare
#

well I don't see why you couldn't

#

besides ol' Andrey

ocean quartz
#

Yup blame Andrey

cinder flare
#

god damnit

#

now that he's gone how come they don't change a bunch of stuff for the better

#

collection literals seems like a 100% kotlin thing to do

prisma wave
#

stupid andrey

#

I hate him

distant sun
#

@ocean quartz can I use mfmessages?

ocean quartz
#

Yeah

forest pecan
#

andrey is russian

distant sun
#

jitpack or?

compact perchBOT
#

There is no time to wait! Ask your question @obtuse gale!

ocean quartz
distant sun
#

latest on github is 2.1.0 though

ocean quartz
#

Ah yeah mb it's
me.mattstudios:triumph-msg-adventure:2.2.4-SNAPSHOT for latest

cinder flare
#

lmao

pale shell
#

Is there a way to possibly generate lets say 100 fake players on a dev server to stress test a plugin or is that impossible?

cinder flare
#

yes

distant sun
#

lambdaattack

cinder flare
#

there's a stress tester and I do not remember its name

#

that's it

pale shell
#

Can I use it as a fake player base on my offline server?

#

I want to summon a large amount of players so I can fully stress test the plugin to see where and if it breaks.

hot hull
#

LambdaAttack

pale shell
#

Do you need to get accounts or does it do it automaticlly?

hot hull
#

offline server

pale shell
#

Just set the server to offline?

ocean quartz
#

Turn off the server

pale shell
#

Like in properties right

static zealot
#

yup

pale shell
#

ty

onyx loom
#

nice

hot hull
#

@cinder flare Issue that might be a thing if you have it running on multiple servers is that the words are currently cached, meaning in order for new ones to be added, or their frequency changed, the server needs to restart. Should I add some sort of update runnable or how should I approach this

pale shell
#

it doesn't seem to work for the testing, it says they're not players ๐Ÿ˜ฆ

hot hull
#

Because they aren't

pale shell
#

Is there a way to test it in a way where the plugin sees them as players?

distant sun
ocean quartz
#

From the minecraft plugin, it's because you have adventure on the test dependency (i think)

distant sun
#

Interesting

pale shell
ocean quartz
#

Why not go for the one both Gaby and Frosty suggested?

pale shell
#

It didn't seem to work.

#

It would create them but they didn't exist to the plugins.

distant sun
#

they do

pale shell
#

not to pmines they dont?

hot hull
#

Because pmines shite

pale shell
#

no

distant sun
#

@ocean quartz <blue><bold>RS</bold></blue> <darkgray>|</darkgray> <white>Pentru a iesi din spawn folositi comanda <blue>/rtp</blue></white> is this ok? xD

ocean quartz
#

No, that's mini message syntax

distant sun
#

whaaat

pale shell
#

I've worked hard re-doing pmines sadkermit

hot hull
#

Show the code

pale shell
#

?

#

It's OS.

ocean quartz
hot hull
#

link it

prisma wave
pale shell
#

rly bm

#

;D

prisma wave
#

Try it

#

I hardcoded a redirect

pale shell
#

smh

#

rust

prisma wave
#

Nice

distant sun
#

@ocean quartz does it color the text?

#

AdventureMessage.create().parse()

pale shell
#

bm on knightzapi why does it say mvn clean install at the bottom? smh.

ocean quartz
static zealot
#

does spigot not have an option for users to change username?

hot hull
#

it does

ocean quartz
#

You have to donate

static zealot
#

ah

#

nvm then

#

what's the amount I need to donate? xd

distant sun
#

"any amount" but basically 10+

static zealot
#

welp nvm it is

old wyvern
#

Why not just make a new account cheif?

static zealot
#

bcz I've got quite a few resources purchased and its not really worth it

#

for my username

distant sun
#

resources, statistics in case he wants to post premium plugins

ocean quartz
old wyvern
#

ah lol

#

Isnt it only like 20 reactions to upload premium?

static zealot
#

ah I won't post premium resources no worries

old wyvern
#

wait what

#

I never had 3 resources

static zealot
#

I just got over 100$ worth of plugins

old wyvern
ocean quartz
#

8 week old account
80 posts + 20 positive ratings
3 free resources
Two-step verification enabled

old wyvern
#

Maybe the requirements changed

static zealot
#

80 posts my ass. I have like 5-10 posts xD

old wyvern
#

I only had 1 resource when i got premium perm

static zealot
#

3 free resources
So this is why a lot of devs have 3 resources free and the rest are paid? xD

old wyvern
#

lmao

ocean quartz
#

Link your spigot Blitz

old wyvern
#

80 posts is easy

static zealot
#

I was literally on someone's resources page and I was lie Why 2 paid 3 not ?

#

xD

old wyvern
#

go to the spigot plugin dev thread

hot hull
#

I had all those requirements

old wyvern
#

Most of it is stupid questions

static zealot
old wyvern
#

Zoom through with replies in 10 mins

#

Easy 20-30 posts

static zealot
#

yeah I guess

old wyvern
#

Or get into an arguement

static zealot
#

yeah I think its private

ocean quartz
#

Ah

#

You have 82 posts

old wyvern
#

I really do regret removing free throwswords version tho

#

had 10k downloads

static zealot
#

oh 82? probably just resource discussions lmao

ocean quartz
#

Yeah it counts

half harness
#

๐Ÿ˜ฎ blitz is from Earth

old wyvern
#

Only 11 for the premium

#

welp

static zealot
old wyvern
#

Why is there no combat plugin with armorstands?

distant sun
old wyvern
#

Like for combat animations

hot hull
#

Because laggggg

old wyvern
#

But still

#

sounds fun

steel heart
#

wow marker entity

#

damn thats nice

distant sun
#

Pattern.compile("How do I leave the spawn").matcher("How do I leave the spawn sir").matches() shouldnt this return true?

old wyvern
#

or not nvm

old wyvern
#

diff arguement

ocean quartz
#

HelpChat on Jetbrains Space wen?

obtuse gale
#

Use find()

#

matches matches the entire string

distant sun
#

wtf

old wyvern
obtuse gale
#

find looks for the pattern within the string

old wyvern
#

Slack clone?

ocean quartz
#

Jetbrains Space

distant sun
#

ty

old wyvern
#

Functionality of slack I assume?

#

Just to internalize more of the dev env, like with youtrack

steel heart
#

d;jdk Matcher#find

ruby craterBOT
#
public boolean find()```
Description:

Attempts to find the next subsequence of the input sequence that matches the pattern.

This method starts at the beginning of this matcher's region, or, if a previous invocation of the method was successful and the matcher has not since been reset, at the first character not matched by the previous match.

If the match succeeds then more information can be obtained via the start, end, and group methods.

Returns:

true if, and only if, a subsequence of the input sequence matches this matcher's pattern

steel heart
#

๐Ÿ˜ฎ

ocean quartz
#

Kinda, the chat portion seems kinda bad lmao
It has some cool features it seems

#

Just decided to try cuz i saw the icon on IJ xD

distant sun
#

@ocean quartz how do I do a click thing?

old wyvern
#

Yea the channels panel looks a bit weird

old wyvern
ocean quartz
#

The todo is interesting

#

I guess this would be nice for a big team

distant sun
#

player.sendMessage(response.replaceText(TextReplacementConfig.builder().match("\\{player}").replacement(player.name).build()))
replacement for this?

old wyvern
#

Yea

distant sun
#

response = Component

#

player.sendMessage(response.replaceText { it.match("\\{player}").replacement(player.name)} ) guess this will work

onyx loom
prisma wave
#

okay well wayland is working perfectly so far

old wyvern
#

Jetbrains slowly taking over the world

distant sun
#

also, can I use collection.firstOrNull in replacement for something like

collection.forEach {
  if (method that returns a boolean) break
}```
prisma wave
#

filter + forEach

old wyvern
#

Unless you wanted a single itme

ocean quartz
#

Kotlin you can just do collection.first { condition }

distant sun
#

well yea

old wyvern
#

first is deprecated I think Matt

distant sun
#

that's kotlin, matt, but first throw an error when no element mat the condition

prisma wave
#

oh yeah

#

whoops

#

firstOrNull yeah

old wyvern
#

yea

distant sun
#

java.util.NoSuchElementException: Collection contains no element matching the predicate.

old wyvern
#

firstOrNull

ocean quartz
#

Ah yeah, not deprecated though

#

Also find

#

Might be better

old wyvern
#

Oh? I remember someone telling me it was deprecated in tsc

#

welp

distant sun
#

which calls firstOrNull internally ๐Ÿคฃ @ocean quartz

#
public inline fun <T> Iterable<T>.find(predicate: (T) -> Boolean): T? {
    return firstOrNull(predicate)
}```
old wyvern
#

lol

ocean quartz
#

I mean it's nicer than firstOrNull directly xD

distant sun
#

yea xd

#

is there any method to access spigot.yml?

#

other than File(getDataFolder().getParentFile().getParentFile(), "spigot.yml")

ocean quartz
#

Bukkit.spigot().config() iirc

distant sun
#

spigotConfig, damn

ocean quartz
#

Yeah

cinder flare
#

I seriously love kotlin so much

#
fun pickTimeBad(): String {
    return when ((0..100).random()) {
        in 0..7 -> "S"
        in 8..14 -> "A"
        in 15..21 -> "B"
        in 22..61 -> "C"
        in 62..91 -> "D"
        in 92..100 -> "F"
        else -> "F"
    }
}```
#

look at that

pale shell
cinder flare
#

look at how easy it is to define percentage chances

cinder flare
#

com...plex?

#

that's like, 10x easier to understand than the java implementation would be

pale shell
#

yeah thats complex

#

why the .. in there

cinder flare
#

those are ranges

forest pecan
#

thats better than java tho lol

#

its between

pale shell
#

thats cool

forest pecan
#

like 1..7 is 1 to 7

cinder flare
#

if it's between 0 and 7

forest pecan
#

instantly changes mind

cinder flare
#

yea

forest pecan
#

xD

pale shell
#

is that in java?

forest pecan
#

no

#

kotlin

cinder flare
#

in java you'd have to do like if (chance > 0) && (chance < 10)

pale shell
#

why's java so behind

cinder flare
#

I ask myself that every day man

forest pecan
#

i like how kotlin increases your jar size by a little bit

#

lol

cinder flare
#

if they would adapt the when statement and a few more functional ideas, they could be so close

pale shell
#

I wonder if Java knows about minecraft 1.12?

obtuse gale
#

Newer versions of Java are pretty damn good though

forest pecan
cinder flare
#

I mean, nowhere close to Kotlin

forest pecan
#

it just doesnt make sense to use that syntax in java

cinder flare
#

they don't have null operators, they don't have when, they don't have a lot of functional stuff

forest pecan
#

considering how the other shit works

pale shell
#

I wanna learn kotlin but its complex

#

Like the learning it all

forest pecan
#

lol i didnt take a course xD

#

i just kinda

pale shell
#

Once you've learnt java its hard to learn kotlin you know

forest pecan
#

jumped in and coded

#

and it worked?

#

kinda

cinder flare
#

It's really not that big of a change

forest pecan
#

Yeah

cinder flare
#

the syntax is extremely similar

pale shell
#

you go from over-complexed to nice

cinder flare
#

and things will feel right at home

forest pecan
#

i mean the argument syntax

#

ss

cinder flare
#

a lot of other langs do the type after the var

#

even TypeScript and such

forest pecan
#

nah its just the colon

cinder flare
#

what I'm saying is, it's really easy to just write your Java code in Kotlin and have it still work

prisma wave
#

man i was about to say "look how easy that is with haskell cases" and then i remembered randomness needs the IO monad which is anything but simple

cinder flare
#

then you slowly learn more functional paradigms and stuff and it all starts to come together

pale shell
#

bm!!!!

prisma wave
#

bonjour

pale shell
#

hola!!

cinder flare
#

yeah dude bm I was literally so impressed when I found you could do (0..100).random()

pale shell
#

hows your day

cinder flare
#

functional programming showing its benefits!

prisma wave
#

grand

lunar cypress
#

Why does randomness need the IO monad

prisma wave
#

cuz it's impure

#

actually

lunar cypress
#

yeah but why IO

cinder flare
#

probably to get a seed

prisma wave
#

the only impure bit is generating a seed

#

uh

pale shell
#

the 10x10 meter island doing well?

cinder flare
#

yes efe

#
fun pickTimeBad(): String {
    return when ((0..100).random()) {
        in 0..7 -> "S"
        in 8..14 -> "A"
        in 15..21 -> "B"
        in 22..61 -> "C"
        in 62..91 -> "D"
        in 92..100 -> "F"
        else -> "F"
    }
}```
prisma wave
#

idk, i guess it's simpler than defining a new monad just for randomness

cinder flare
#

and everything being an expression is a godsend

#

you couldn't just return a switch statement in java

prisma wave
# pale shell hows your day

i have installed arch linux and wayland which is quite nice, and i am now waiting for doom emacs to compile some .el files (๐Ÿ˜ฉ)

pale shell
#

Just curious would you guys rather be jam packed in a area with lots of Apartments or would you rather have your own personal islands?

obtuse gale
forest pecan
#

lol

#

for that

cinder flare
#

you can??

#

not that I've ever known

forest pecan
#

and also yeah you can return a switch expression

#

in java

#

lmfao

prisma wave
#

expression*

obtuse gale
#

I see you totally ignored my "new versions of Java" comment

prisma wave
#

ty

pale shell
#

you always have to return in switch??

cinder flare
#

oh well new version of java barely matter if nobody uses them

forest pecan
cinder flare
#

what's the adoption rate of anything above java 11

#

I would be interested to know

pale shell
#

same thing

forest pecan
#

there not

obtuse gale
#

Also yeah you can always return in a switch lmfao

forest pecan
#

return and break is not the same thing

cinder flare
#

well yes

pale shell
#

I call kotlin and spigot the same

cinder flare
#

but return before the statement makes so much more sense

pale shell
#

wait what

distant sun
#

well star said "return a switch"

cinder flare
#

functional paradigms just make life so much simpler

pale shell
#

great i sounded real dumb then

forest pecan
#

lmao

prisma wave
forest pecan
#

my skin is itchy

#

after shaving

pale shell
#

why shave

forest pecan
#

i didnt shave my dick

obtuse gale
#

Bet

forest pecan
#

i shaved my facial hair

pale shell
#

I haven't shaved in over a year now

cinder flare
#

like can you do java return switch (potato) { case bean: "Beanny boy"; case bm: "bridget"; case pulse: "no dick shave"; }

#

in java

pale shell
#

o.O

#

you can??

forest pecan
#

there are arrows

obtuse gale
#

New switch expressions yes

forest pecan
#

->

prisma wave
#

use -> instead of : and sure

cinder flare
#

oh what version is that in

prisma wave
#

13 i think

cinder flare
#

see

#

nobody uses 13

obtuse gale
#

15 I believe

forest pecan
#

i use 14

obtuse gale
#

?

lunar cypress
#

it's also in 14, 15, and 16 ๐Ÿ™‚

cinder flare
#

I'm not allowed to use anything above 8 in my cs classes

distant sun
#

lol

pale shell
#

I use whatever java was installed with my pc

forest pecan
#

i use 8 while coding, 14 for jre

prisma wave
lunar cypress
#

and 12 also if you count previews

#

but they changed break to yield after that

#

or was it the other way around?

cinder flare
#

woah really

#

that's cool

forest pecan
#

wait wat they did?

#

they changed to yield?

distant sun
#

what

lunar cypress
#

only in switch expressions yeah

obtuse gale
#

And Java 16 introduced jpackage or whatever so it kinda doesn't matter what Java version is installed on the target machine if any

forest pecan
#

they introduced record classes

cinder flare
#

woah woah wowah what now

forest pecan
#

record classes are arguably so damn cool

lunar cypress
#

but jpackage expands on that

obtuse gale
#

It's pretty dope

cinder flare
#

hey wait does each java lang version really change the bytecode that much?

lunar cypress
#

yeah but unfortunately only for standalone apps

cinder flare
#

cause surely you could compile a switch expression down to java 8 bytecode right?

forest pecan
#

sealed classes too

prisma wave
#

jabel

lunar cypress
#

each version has a separate major class file version

prisma wave
forest pecan
#

sealed classes are insane

lunar cypress
#

and they're baked into the class files

forest pecan
#
public abstract sealed class Shape
    permits Circle, Rectangle {...}
cinder flare
#

well but I mean how come you can't use new stuff in old jvm's?

forest pecan
#

only allows certain class to extend

cinder flare
#

like it all compiles down to bytecode right

lunar cypress
cinder flare
#

besides their arbitrary enforcement

forest pecan
#

well there are changes

lunar cypress
#

They change the compiler

#

introduce features

cinder flare
#

well obviously

lunar cypress
#

even though the instruction set doesn't change

forest pecan
#

like the bytecode for the new syntax is going to be different

cinder flare
#

but to the JRE?

lunar cypress
#

yes to the jre too

cinder flare
#

why does the java 8 JRE care if its bytecode was made in JDK 11?

forest pecan
#

also they are adding better nullpointerexception stacktraces

Exception in thread "main" java.lang.NullPointerException:
      Cannot read field "c" because "a.b" is null
lunar cypress
cinder flare
#

well yes but they compile to the same bytecode, no?

lunar cypress
#

like string concatenation is different for example

#

Yes pepega

#

but you can still call new classes from that bytecode

cinder flare
#

and the JRE's only job is to interpret bytecode, yes pepega?

lunar cypress
#

No

cinder flare
#

do you at least see what I mean

lunar cypress
#

Where do you think all the standard library classes come from at runtime

forest pecan
#

just force your users to upgrade kek

cinder flare
#

yeah honestly hang on

#

how come they even do major releases

#

like I don't know what Kotlin version I have?

forest pecan
#

its not just java/jvm. its even in stuff like linux

cinder flare
#

everything just works

lunar cypress
#

???

prisma wave
#

wtf

cinder flare
#

and you can expect everything running Kotlin to be up to date right

forest pecan
#

what

prisma wave
#

gradle usually handles kotlin

#

afaik

#

or intellij

cinder flare
#

Kotlin doesn't have any major releases right?

forest pecan
#

i thought it does?

cinder flare
#

it doesn't matter which version of Kotlin you used to compile something right?

lunar cypress
cinder flare
#

I mean like

#

nobody is still on Kotlin 1.2 right

#

everyone generally updates

#

so how come people are still on Java 8

lunar cypress
#

Kotlin doesn't control the JRE

cinder flare
#

yeah so perfect!

lunar cypress
#

All they can do is build on existing things

cinder flare
#

surely they could decouple language versions with compiler or whatever versions

#

and make new features work retroactively

forest pecan
#
int numLetters = switch (day) {
    case MONDAY, FRIDAY, SUNDAY -> 6;
    case TUESDAY                -> 7;
    default                     -> yield day.toString().length();
};
#

this looks cool

cinder flare
#

if Kotlin can do it, why can't java?

lunar cypress
#

Sure, if you wanna bundle the entire JRE and randomly disallow new features that use certain runtime behaviour

lunar cypress
cinder flare
#

is that what Kotlin does?

lunar cypress
#

If Kotlin controlled the JRE, they totally would change things as well

cinder flare
#

well yes I know

lunar cypress
#

No

cinder flare
#

exactly

lunar cypress
#

Kotlin is just a library

cinder flare
#

so why can't java the language be?

lunar cypress
#

Because the JVM is supposed to evolve too...

cinder flare
#

well yes I know

#

but it can evolve independently...

#

please do not talk down to me

lunar cypress
#

No it cannot

cinder flare
#

surely it can!

lunar cypress
#

no

cinder flare
#

There's no reason why not

obtuse gale
lunar cypress
#

There are some features that require entirely new behaviour

cinder flare
#

Everything Kotlin has managed to add has worked without that

lunar cypress
#

I'm giving up

cinder flare
#

Kotlin can run on JRE 8, correct?

#

I don't even see what you're arguing

#

just that things are how they always will be?

#

If Kotlin can do it, why can't Java? that's my question

lunar cypress
#

No, that's what you're suggesting lol

prisma wave
#

@lunar cypress do you usually keep emacs open or reopen every time?

lunar cypress
#

I'm saying if you want the JVM to evolve (and you can look at pending OpenJDK projects for examples) you will need new stuff

#

You want good new features

prisma wave
#

kinda annoying reopening it all the time cuz it doesn't open in the terminal

#

takes up a new window instead

onyx loom
cinder flare
#

Yes and you can still have that. Just for every new feature, backdate it so that it can work on any JRE version

lunar cypress
#

You don't want inefficient workarounds and hacks for the rest of your life

cinder flare
#

Of course not!

#

the JDK folks have the power to change the JDK as we know it, and they should definitely do that

lunar cypress
#

And sometimes you want features that are literally impossible to realise without breaking changes

cinder flare
#

But I'm 100% certain that any notable feature could work on every version

#

and then there wouldn't be these generational divides like we have now

#

where you can't use any new features cause everyone still runs Java 8

forest pecan
#

lol when paper tells people that they are dropping support for java 8

forest pecan
#

half of the server community are gonna update xD

lunar cypress
#

Project valhalla

#

project loom

#

Or if you want to go back in time a bit

#

lambdas

#

Tell me how you're gonna do that on Java 8

oak raft
lunar cypress
#

(not lambdas)

cinder flare
#

Does Kotlin have it?

lunar cypress
#

no it doesn't

#

It's jvm features

forest pecan
cinder flare
#

okay so besides a few exceptions, 99% of things can be backported

old wyvern
#

I mean if every language were to follow the same trend, what the point in different languages?

cinder flare
#

Switch expressions I guarantee can be backported

old wyvern
#

The thing I like about Java is it seems very streamlined

lunar cypress
#

A few exceptions? Those are the most notable JVM projects right now

old wyvern
#

Boilerplate yes

cinder flare
#

Well okay I'm saying those are good things!

lunar cypress
#

And prior to java 7 Kotlin wouldn't have been able to exist either

#

because sometimes you just need to evolve lol

cinder flare
#

But I'm saying that a significant amount of the small features they add could be backported, like Kotlin can do

#

Or maybe we change the release schema so that it's not major versions like we have now that people stay on for years

old wyvern
#

I dont think every language following that model helps

cinder flare
#

Encourage upgrading

cinder flare
#

That's not like... a tradeoff

lunar cypress
#

I don't think backporting every new feature will solve any problem, they fucked up planning their release model and that's it

old wyvern
#

Rather they just update their runtime/jdk

cinder flare
#

Very true, very true

cinder flare
#

I plan on googling percentages as we speak

old wyvern
#

They eventually do

lunar cypress
#

Always thinking backwards is not healthy for a language, but you can blame Oracle for that

cinder flare
#

60% of users can't even use java 11 features

old wyvern
cinder flare
#

this fucking sucks

lunar cypress
#

yugi is talking about other runtimes I'm assuming

prisma wave
#

Java is literally the language for legacy code tho

onyx loom
#

javascript lol

lunar cypress
#

One reason this jvm situation sucks so much is because of licensing and because Oracle messed everything up

cinder flare
#

hmm okay very true

#

I guess I was just lamenting the loss of new language features

#

It just seems like nothing ever changes

old wyvern
#

Yea the android sdk lawsuit was just dumb

cinder flare
#

You hear about all these switch expressions and stuff, but I probably won't get to actually use those for years to come

lunar cypress
#

Other languages have those problems too of course, but i'd be willing to bet it's much better for most

cinder flare
#

I mean the only other generational divide I can think of is python 2 vs 3

#

and maybe php 7 vs 5?

forest pecan
#

ez solution. tell oracle to drop support and add a backdoor to java 8

#

๐Ÿคก

old wyvern
#

I mean if they want to use those features, the developers can always use newer jdks

cinder flare
old wyvern
#

Doesnt targeting convert switch expression to be usable java 8 bytecode?

cinder flare
#

What if the boomers in charge are hesitant about new things

old wyvern
#

Ah

onyx loom
old wyvern
#

rip

#

I would have assumed it did

cinder flare
#

like I wish we just removed staying behind on releases

#

it is so dumb that you even can stay on Java 8

lunar cypress
#

When you use a target version your code is compiled according to the corresponding Java SE spec

old wyvern
#

What happens if your source version is 14 and target is 8?

lunar cypress
#

don't think it works that way

#

only the other way around

old wyvern
#

Rip

lunar cypress
#

might be wrong

old wyvern
#

Lemme check actually

#

I always assumed that worked

#

Even tho I never tried it

lunar cypress
#

If it did it would raise some questions

cinder flare
#

For us, it wasnโ€™t a big surprise to see Java 8 as the dominate programming language. It was surprising, however, to see that only 23% of respondents were using Java 11. We think this has to do with the lack of truly impactful updates to Java since Java 8 and the cost to update the JVM.

#

I think they're impactful ๐Ÿ˜ญ

#

also isn't there zero cost to updating the JVM like, for anyone?

forest pecan
#

i mean, didn't the gc improve greatly tho?

#

and performance?

#

like String#split?

cinder flare
#

i thought so!

forest pecan
#

or smthing

cinder flare
#

new language features are pretty cute too

#

all those projects Johnny was talking about

old wyvern
#

The old gc was completely removed in either 15 or 16

#

or one of them atleast

forest pecan
#

Yeah

old wyvern
#

marksweep I think

forest pecan
#

"Java 11 brings additional improvements, which vary across different OptaPlanner examples and data sets. On average, it is 4.5% faster when using Parallel GC and 16.1% faster with G1 GC."

#

thats for java 11

cinder flare
#

do you think maybe Minecraft servers could be faster if using Java 15 or something?

old wyvern
#

Not by much I think

distant sun
#

Although is suggested to run a higher version of java for 1.13 and above

cinder flare
#

would it be interesting to have a Java 15+ only server, where you redo all the plugins you use to use the new language features lol

obtuse gale
#

Well all stars point to Mojang upgrading the Java version they bundle Minecraft with + the min version it'll run on

#

Hopefully for 1.17

distant sun
#

java 17 for mc 1.17 and thats it

obtuse gale
#

6 months from now lol

cinder flare
#

yo that'd be hype

winter iron
#

new java version per mc version ๐Ÿ™‚

cinder flare
#

you know how nice that would actuall ybe?

distant sun
#

do they release the full update at once? (mobs, items etc and world generation)

cinder flare
#

a minor annoyance to server owners for sure, but sometimes you gotta force people to do stuff

#

like Apple dropping support for x32

#

a good change overall

obtuse gale
cinder flare
#

no it's gonna make me cry

obtuse gale
#

Lmao

cinder flare
#

that I will never get to use them

arctic juniper
#

why are you using java 8?

obtuse gale
#

We aren't

lunar cypress
# cinder flare also isn't there zero cost to updating the JVM like, for anyone?

The cost is incredibly high, actually. Couple things that changed after Java 8:

  1. Licensing - They changed the licensing model for Oracle JDKs which messed up a lot of companies
  2. They randomly decided with Java 9 that now would be a good time to stop distributing/promoting standalone JREs and instead everything should be done and packaged using jigsaw (lol)
  3. The biggest Java users are huge corporations, and to them every little tweak in their infrastructure is a huge cost and a risk
obtuse gale
#

Users are

arctic juniper
#

asking star

cinder flare
#

I'm not

#

server owners are

arctic juniper
obtuse gale
#

๐Ÿคก

cinder flare
#

I won't get to use the new features because I have to compile for java 8 so server owners can use my plugin

distant sun
#

record is equal to kt's data class?

cinder flare
#

did you miss my entire life questioning speech

obtuse gale
#

Yes gaby

arctic juniper
#

didn't kotlin add like @Record

arctic juniper
lunar cypress
#

And it comes naturally when nobody else is using Java 8 and Oracle still officially distributes JRE 8 as the latest end user JRE nobody's bothering to go higher

cinder flare
distant sun
#

I need this -XX:+ShowCodeDetailsInExceptionMessages

arctic juniper
cinder flare
#

well not much changed between 8 -> 11

onyx loom
prisma wave
#

var

cinder flare
#

at least compared to 11 -> 16

#

does 8 have var?

prisma wave
#

No

#

10+

obtuse gale
#

9

cinder flare
#

oh

obtuse gale
#

Oh

arctic juniper
prisma wave
#

Is it 9?

obtuse gale
#

Yeah 9 was in incubation

#

Or whatever

prisma wave
#

Ah right

distant sun
#

holy shit, thanks for that site @obtuse gale

obtuse gale
#

lol

distant sun
#

never thought about googling that tbh

obtuse gale
#

idek how I came across it

arctic juniper
#

records are pretty much kt data classes with immutable fields

distant sun
#

Map.of("one", 1, "two", 2); mhm

arctic juniper
#

but they might be faster

#

if (obj instanceof String s && s.length() > 5)what

#

what about inside the if block

#

can you use it as if it was a string?

lunar cypress
#

yes

#

s is accessible inside

arctic juniper
#

oh nice, so like kotlin smart casting

lunar cypress
#

not quite

distant sun
#

like

lunar cypress
#

It serves a similar purpose but works a bit different

lunar cypress
#

Not just a bit actually

old wyvern
#

Didnt know oracle provided a solution for that themselves

distant sun
#

yield this looks weird imo

old wyvern
#

Thats the same in kotlin sequences tho

arctic juniper
#

how come?

arctic juniper
#

it's a common keyword

lunar cypress
#

not pinging me and expecting me to see ๐Ÿฅฒ

#

define reopen every time

cinder flare
old wyvern
#

ghcid

distant sun
#
module hu.advancedweb.helloworld {
    requires hu.advancedweb.somedependency;
    exports hu.advancedweb.hello
}```
whats this though
arctic juniper
#

jigsaw

prisma wave
tranquil crane
#

sudo apt-get purge vim

prisma wave
lunar cypress
old wyvern
#

"better and secure" applications

prisma wave
#

haskell has had this since 1998

distant sun
#

I dont get it ๐Ÿคฃ

#

is it smth like maven / gradle?

lunar cypress
#

Barely anyone seems to know about jigsaw

#

Maybe they've heard about it

jovial warren
#

and cursed Krypton returns lol

arctic juniper
#

what's cursed about that?

jovial warren
#

wdym?

onyx loom
#

yeah that module system is just a whole mess, just remove it entirely

tranquil crane
#

we didn't need that chunk anyway

prisma wave
jovial warren
#

lemme show you lol

arctic juniper
#

it's just an unloaded or empty chunk

prisma wave
#

Emacs definitely looks nicer imo

jovial warren
old wyvern
arctic juniper
jovial warren
#

I placed upwards more than a single section, relog, and it completely breaks

#

anyone wanna come and see this on the test server? lol

lavish notch
#

@jovial warren When are you making Krypton for 1.6.3?

prisma wave
cinder flare
#

ah mackenzie showing up after his "20 minute" thing 4 hours later ๐Ÿ˜‰

jovial warren
#

remind me at my funeral

arctic juniper
lunar cypress
#

Emacs looks pretty shite out of the box, doom makes a couple default adjustments that already look decent

jovial warren
#

anyone up for hopping on the test server and seeing some actually cursed shit?

arctic juniper
#

1.18

distant sun
#

krypton-1.16.5

arctic juniper
#

krypton?

jovial warren
#

Krypton-0.18.2 lol

prisma wave
lavish notch
#

What the-

jovial warren
lavish notch
jovial warren
#

this has 0 Mojang code in it (other than the odd parts I kinda copied and converted to Kotlin lol)

arctic juniper
#

it's been 5 minutes

lunar cypress
jovial warren
#

or maybe not

arctic juniper
#

I wonder if you can use your terminal as an x client

prisma wave
#

what's that lol

jovial warren
#

actually maybe yes

lunar cypress
#

bardy has the ecstatic experience of telling someone about krypton for the first time

arctic juniper
#

a lot of terminals support showing images nowadays

prisma wave
arctic juniper
#

wayland is complete shit right now

prisma wave
#

i have been using it for 3 hours and I can confirm it works fine

jovial warren
#

Krypton is a Minecraft server written from scratch in Kotlin

arctic juniper
#

most of my applications would just use xwayland, which defeats the whole purpose of using wayland

old wyvern
#

Thanks

jovial warren
arctic juniper
#

why kotlin though?

lavish notch
static zealot
#

bcz Kotlin good

arctic juniper
#

there are tons of servers written in java already

prisma wave
cinder flare
#

yeah

static zealot
#

yeah that's the point

cinder flare
#

exactly why you need variety

prisma wave
#

and possibly Spotify

static zealot
#

its meant to be different

arctic juniper
#

kotlin isn't really variety

cinder flare
#

don't want more of the same

#

I mean it is quite a bit nicer than Java to work with

arctic juniper
#

runs on the same vm, is a bit slower

prisma wave
arctic juniper
#

I've used it a few times, definitely not for me

cinder flare
#

is a bit slower? is it?

arctic juniper
#

a tad, yeah

#

maybe not now, but it was before

cinder flare
#

it's certainly nicer to work with

prisma wave
cinder flare
#

so that's worth its weight in gold

lunar cypress
#

The JVM is decently fast for long running server apps

cinder flare
#

plus Bardy has an absolutely massive brain and he can optimize a lot better than the vanilla server

lunar cypress
#

It's actually pretty damn fast for such purposes

arctic juniper
#

pfft stealing my clock cycles, I'll just write everything in c

prisma wave
#

Ok attempt 2

#

Are you familiar with Rust

arctic juniper
#

yes

cinder flare
#

haha

prisma wave
#

thank god

#

It's no Haskell but better than nothing

jovial warren
#
  1. it has 3 variants
#
  1. it's actually faster in quite a few cases, especially with inlining
prisma wave
jovial warren
#

fair

arctic juniper
#

kotlin native is too young for basically anything

lunar cypress
arctic juniper
#

and kotlin js is uh

#

yes

lunar cypress
#

memory usage will be better, but the JVM can approach native speed in the right environment

ocean quartz
prisma wave
#

pragmatic and modern

cinder flare
arctic juniper
#

it's a bit slower, but it's worth the switch

ocean quartz
# cinder flare yea

Not really, it's basically the same, some things will be slower some will be faster

cinder flare
#

that's what I thought yeah

prisma wave
#

Golang tho

cinder flare
#

I mean it all compiles to JVM bytecode anyways

old wyvern
arctic juniper
cinder flare
#

thats like... the whole point?

#

no allocating memory yourself and no garbage collector

prisma wave
old wyvern
#

Setting up cross compile on windows seems annoying with go tho

jovial warren
#

also, why Kotlin? 1. that's what BM originally wrote this in, 2. it's my favourite programming language and the one I'm most comfortable in, and 3. why not lol

old wyvern
#

I just ended up isntalling go and compiling at use site

arctic juniper
#

I like either allocating it myself or using a gc

cinder flare
#

fucking what

prisma wave
lavish notch
#

@jovial warren read ingame chat

cinder flare
#

this from the guy complaining about Kotlin being slow??

arctic juniper
prisma wave
arctic juniper
#

man wtf

prisma wave
arctic juniper
#

yes

lunar cypress
arctic juniper
#

agreed

cinder flare
#

nah he doesn't like working with type safety

prisma wave
#

When is Krypton gonna use blockchain

oblique heath
#

NFT items

old wyvern
#

Please solder a circuit board for krypton

cinder flare
oblique heath
#

for krypton

#

when

old wyvern
#

Just connect via usb

lunar cypress
#

Will someone mention the NFT pointer rust library now? Because if not I totally will

arctic juniper
#

anyone written a server in asm?

#

it's just fds after all

cinder flare
#

bro nobody's ever written a full minecraft server in any other language than java

lunar cypress
#

ok hold on it's a c++ library mostly written in rust

prisma wave
ocean quartz
#

Rust server wen

cinder flare
#

I don't think they've written one in ASM lol

lunar cypress
arctic juniper
prisma wave
#

ffs

jovial warren
old wyvern
#

There seems to be a kind-of client clone attempt in assembly

prisma wave
#

tetanus

cinder flare
ocean quartz
prisma wave
old wyvern
cinder flare
#

not a full server

jovial warren
#

I've been working on this project for just over 2 months now I think

cinder flare
#

there's many attempts

old wyvern
#

Cuberite works fully right?

arctic juniper
#

full with all the bugs?

old wyvern
#

not uptodate

sturdy swan
cinder flare
#

it doesn't implement every feature of the vanilla server afaik

lunar cypress
#

not anywhere near drop in vanilla replacement

old wyvern
#

but works for intended version

jovial warren
#

also, Mojang has an entire team of developers that they pay, no other community project has that

prisma wave
#

oh shoot i haven't mentioned a functional language in a while
clojure server when?

arctic juniper
#

screw clojure

old wyvern
prisma wave
cinder flare
lunar cypress
old wyvern
#

xD

ocean quartz
onyx loom
arctic juniper
old wyvern
#

Boy boutta get slayed

prisma wave
lunar cypress
#

lol following rules

prisma wave
jovial warren
surreal quarry
#

Rules don't apply when clojure is the subject

prisma wave
#

^^

surreal quarry
#

Everyone knows this

old wyvern
#

The Monad speaks the rules

cinder flare
#

lol

old wyvern
#

= your ass

cinder flare
#

the monad is the rules

old wyvern
oblique heath
#

but it's all private

cinder flare
jovial warren
#

Hypixel doesn't have their own server from scratch

cinder flare
#

you don't know

jovial warren
#

I refuse to believe that for one second

cinder flare
#

they might

lunar cypress
#

Clojure isn't even a particularly widely liked language here by any measure so I'm surprised by the reaction tbh lol

cinder flare
#

bro Bardy you're like, halfway there and you're one guy

ocean quartz
static zealot
#

but they don't

jovial warren
#

log on and look at the brand

cinder flare
#

Imagine a team of people getting paid to do that

static zealot
#

"half way there"

#

smh

#

this project is very small then

cinder flare
#

is that over or under

static zealot
#

lmao

arctic juniper
#

this is a functional language circlejerk

prisma wave
jovial warren
lavish notch
old wyvern
static zealot
old wyvern
#

1.8.9 or something

lunar cypress
cinder flare
#

I mean it might not be

ocean quartz
prisma wave
cinder flare
#

you don't work at hypickle

old wyvern
surreal quarry
#

lmao he just got replied to 5 times

arctic juniper
#

...

lavish notch
#

java -Xmx96GB -jar DS-1.7.10.jar

old wyvern
#

Haskell is king

prisma wave
#

anyone here heard of haskell? it doesn't get talked about much here

ocean quartz
#

Dw though in a few months the circkjerk will be something else

old wyvern
#

YES!!!

old wyvern
#

^

cinder flare
#

yeah I really don't think so

old wyvern
#

Haskell shall prevail

prisma wave
#

always

arctic juniper
#

since so many of you are here, can I actually ask a question related to development?

cinder flare
#

functional paradigms bring so much to programming it's kind of insane

prisma wave
#

of course

cinder flare
onyx loom
#

when elara gets done thatll be the next circlejerk, soo 2030 ๐Ÿฅฒ

surreal quarry
prisma wave
surreal quarry
#

to 100% seriously answer questions

#

that you may have

arctic juniper
cinder flare
#

you ask for help in that channel

lunar cypress
cinder flare
#

you meme about functional languages in this channel

prisma wave
#

meme?

#

what??

arctic juniper
#

ah

surreal quarry
ocean quartz
prisma wave
#

we're not joking

old wyvern
#

Do you want to face the jury star???

prisma wave
ocean quartz
#

True

cinder flare
prisma wave
#

theyve been lurking in in the background

prisma wave
cinder flare
#

your history man, not mine

lunar cypress
#

Clojure too considering only like 3 people even knew anything about the language or tried to get into it

oblique heath
surreal quarry
#

elara v1.4.31 when

lunar cypress
#

And let's not talk about rust

prisma wave
#

clojure functionalpilled me

lunar cypress
#

Nobody here truly knows rust lmao

arctic juniper
#

I just realized I didn't read the documentation thoroughly and got my answer now

prisma wave
#

nobody truly knows rust

arctic juniper
#

nobody truly knows anything

#

knowing is just a bunch of connected neurons going zap

prisma wave
#

speak for yourself

onyx loom
#

^

arctic juniper
#

you can easily stop knowing by stopping blood flow

prisma wave
#

okay

ocean quartz
#

Neurons going zap, can't relate

prisma wave
#

^^ average non-haskell user

jovial warren
obtuse gale
#

Oh no

arctic juniper
#

I defined knowing

obtuse gale
#

Fuck

#

No

arctic juniper
#

you should read more

obtuse gale
#

Nonoostop

#

Sroock

jovial warren
#

what

onyx loom
#

deja vu ๐ŸŒš

obtuse gale
#

Don't get your philosophical debates in here again

arctic juniper
#

lmfao

ocean quartz
obtuse gale
#

What's a number

onyx loom
#

whats philosophical

arctic juniper
#

a number is like

#

3

obtuse gale
#

Fomsncksbfk

prisma wave
#

a number is a function

obtuse gale
#

Yeah but they don't exist

#

The sky doesn't exist

prisma wave
#

uh oh

#

this sounds familiar

onyx loom
arctic juniper
#

what's the definition of the sky?

obtuse gale
#

NOOO

jovial warren
#

you can change the colour of the sky by changing its definition as a word

onyx loom
#

what is a definition !!!

#

HAHAHHA

prisma wave
#

let sky = Sky()

jovial warren
arctic juniper
#

the region of the atmosphere and outer space seen from the earth.

lavish notch
#

Krypton is

arctic juniper
#

well that makes too much sense

jovial warren
prisma wave
#

reddit uses upvotes
helpchat uses ๐Ÿฅฒ reactions

arctic juniper
#

is it possible to like have a rest api that you can send a request to and it'd give you a generated chunk back

onyx loom
#

yes

prisma wave
#

that was the worst thing i have ever said

onyx loom
#

the hierarchy of helpchat

arctic juniper
#

imagine

#

chunk generation as a service

prisma wave
#

dont tell microsoft