#dev-general

1 messages Β· Page 581 of 1

static zealot
#

@half harness

half harness
#

@static zealot

distant sun
#

is there any way to use IIJ with two monitors, to like have the same project opened on both screens?

quiet depot
#

you can drag the tabs like in chrome to open a separate window

#

e.g. moving a class to another screen

distant sun
#

why haven't I thought about that lmao

quiet depot
#

you can also detach docks from the main window

#

e.g. terminal

#

project view

#

click on the 3 dots -> view mode -> float

distant sun
#

hot

quiet depot
#

u seem to have found the wrong 3 dots

distant sun
#

but it says view mode

#

ah xd

ocean quartz
#

Oh god i entered presentation mode and left now it looks like this :kek:

quiet depot
#

oof

half harness
#

also happening to me, along with some other icons

quiet depot
#

have u just tried not being bad

onyx loom
#

this sometimes works ^

static zealot
#

not always tho. I am the proof for that

ocean quartz
quiet depot
#

do you hate yourself or something?

#

at least you can work on slimefun now ig

#

if that's something you were planning on working on

#

could be worth it

#

hacktoberfest soonℒ️

ocean quartz
#

Lmao
Oh yeah true hacktoberfest is getting close

quiet depot
#

yeah they keep emailing me

distant sun
#

yet I still haven't got my t-shirt

hot hull
#

Lol

#

Sucks on you for living god knows where

#

Hoping this years design is nicer

quiet depot
#

I'm hesitant

#

still flowery

#

but at least better colours

hot hull
#

Oh that looks cool

quiet depot
#

anyway whose project am I contributing to in october

hot hull
#

I'm contributing to papi

#

Maybe next hacktoberfest the expansions wi be finished

quiet depot
#

u should just work on the main project

#

ez

onyx loom
#

omg

#

papi 3 coming this October????

quiet depot
#

no

onyx loom
#

why not

quiet depot
#

papi 3 will probs be 2023

onyx loom
#

I will make it happen this October

#

trust

quiet depot
#

okie dokie

onyx loom
#

πŸ‘πŸ‘πŸ˜

quiet depot
#

but seriously i need a project to contribute to

#

pls suggestions

hot hull
#

Frozenjoin

quiet depot
#

i thought that was abandoned

hot hull
#

Nah star took over

quiet depot
#

linkerino

hot hull
#

Did jack shit so far, but anyways

quiet depot
#

ah yeah i get that

hot hull
#

Check my gh

quiet depot
#

i took over a discord bot like 3 years ago

#

still haven't started working on it

#

one day

#

ew it's kotlin

#

oh i wrote this readme

hot hull
#

Indeed you did

#

You could contribute to frozenactions if you want, pretty smexy lib ngl

quiet depot
#

even more ded

#

at least not kotlin

hot hull
#

I mean yea I still use it

#

Could use some more actions and shit

quiet depot
#

okie

eternal compass
#

which is better performance wise? a bunch of 500x500 (or smaller) Slime Worlds (via SWM), or a single World with everything happening in it spaced out like 200 blocks apart?

#

(in this case, the latter requires re-coding the ender dragon to not always use 0, 0 as a center)

static zealot
#

Me:

Star there's a bug
Star:
PR

that's what Star is doing for the project xD

hot hull
#

Mhm

hot hull
#

With a 200$ budget total

and maybe payment

onyx loom
#

🌞

#

just maybe

distant sun
#

wtf is this new icon

obtuse gale
#

Evil Half Life config

sweet cipher
#

Lambda

distant sun
#

I thought the same em lmao

ocean quartz
#

?jdk

compact perchBOT
ocean quartz
#

Fixed it

static zealot
#

wait. java 17 came out right?

ocean quartz
#

Yeah

obtuse gale
#

If you're eager to get it ASAP Oracle ships archives/binaries already, but general suggestion is adoptium anyway

#

I mean it doesn't make a difference to us really..

#

Might as well get it lol

old wyvern
#

Oh isnt openjdk 17 out yet?

onyx loom
#

πŸ˜–

ocean quartz
#

Fucking JS man

steel heart
ocean quartz
#

@lunar cypress Was it always possible to add buttons to ephemeral messages? ;o
I tried that but i don't think JDA lets you

lunar cypress
#

yes it has always been possible

ocean quartz
#

Dang it JDA

lunar cypress
#

JDA should support it too

ocean quartz
#

Huh, let me try again, last time it didn't show the action row

surreal quarry
#

jda does support it

#

i've used it before

ocean quartz
#

Ay nice, good to know

wind patio
static zealot
#

πŸ₯²

dawn hinge
#

jesus

oak raft
#

Good twitter account

static zealot
sharp quail
#

i keep getting this error when i try to run basic kotlin code does anyone know how to fix it?

**FAILURE: Build failed with an exception.

  • What went wrong:
    Could not open init generic class cache for initialization script 'C:\Users\arjan\AppData\Local\Temp\wrapper_init2.gradle' (C:\Users\arjan.gradle\caches\7.1\scripts\5g8a41gvqrxo32pc5g0mizz1r).

BUG! exception in phase 'semantic analysis' in source unit 'BuildScript' Unsupported class file major version 61

  • Try:
    Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

BUILD FAILED in 2s**

potent nest
#

Neither Kotlin nor Gradle properly support Java 17 afaik

cinder flare
#

oh damn didn't that come out like 2 days ago

potent nest
#

yes

cinder flare
#

hell yeah

#

lts java,

#

now time to convince my company to upgrade

potent nest
#

tell them it's great

obtuse gale
#

"yeah dude it's great you should try it"
"Look, I don't know if you're talking about Java or drugs but I'll try both anyway"

#

"ketamine you say?"

potent nest
#

reasonable

sly sonnet
#

java 17

eternal compass
#

woah

#

fancy stuff

sly sonnet
#

will make my message class cleaner

#

and less confusing

ocean quartz
#

Is it exhaustive for sealed classes? Like Kotlin's when?

obtuse gale
#

wdym by that?

ocean quartz
#

For example, in Kotlin when you're working with sealed classes, you need to add all options to the when or add an else and if you add all you don't need an else
Or else you get a compile time error

obtuse gale
#

I would expect default to cover "everything else"

#

And get a compile-time error if you tried to case for a class that is not in the extending classes

#

It's most definitely specified

#

I just cba to go check right now

#

actually I can and I will

ocean quartz
#

An example: No errors

#

Remove one

obtuse gale
#

I'm sure you also get that issue with switch expressions without a default, not necessarily with sealed classes

#

e.g. checking an int value or an enum constant

#

to be a valid expression it must return something

#

it's like having e.g.

int something(int i) {
  if (i == 10 || i == 100) {
    return i * 1000;
  }
}
#

this does not compile

#

same principle

ocean quartz
#

Ah yeah, good point, as an expression works differently

obtuse gale
#

That would be the same with kt too right?

ocean quartz
#

Yeah

obtuse gale
#

I mean it only makes sense

#

I'm gonna go check the spec anyway kekw

ocean quartz
#

Alright xD

obtuse gale
#

Also the latest snapshot of MC contains the very first usage of record classes

#

Completely unrelated but yeah :^)

ocean quartz
#

Oh shit they are actually using new features nice

obtuse gale
ocean quartz
#

like a certain person

lunar cypress
#

breaking change OMGEALUL

half harness
#

πŸ₯²

obtuse gale
#

lol so TRUE

onyx loom
#

man, its literally test method names too lol

onyx loom
#

lmao

#

pr it and u can say uve contributed to the jdk 😎

obtuse gale
#

I actually have a better idea to contribute to the jdk

ocean quartz
#

Let me PR to remove the "A" so i can put on my resume "official contributor to the jdk"

obtuse gale
#

It's just there is a lot of things to do before you can actually contribute

onyx loom
#

man wth that class is literally 1167 lines of comments, jesus

obtuse gale
#

And I have to read and do all those things ugh

onyx loom
#

what do u have in mind πŸ‘€

obtuse gale
#

ur mum

#

oh wait you meant right now or..?

onyx loom
obtuse gale
#

yeah you can't just make a pr on gh, there is a whole ass process

onyx loom
obtuse gale
#

I was very, very, very disappointed to find there is not an Optional::mapToInt/mapToLong/variations that return an Optional* of that type (OptionalInt, OptionalLong, etc), unlike Stream and variations which do have them

#

There were actually two times I could have used that

onyx loom
#

oh dat sounds cool

#

yeah i dont see why not if stream has it tbh

obtuse gale
#

And I thought the stream package had a lot of documentation already.. πŸ₯²

MethodHandle (class jd): 395
VarHandle (class jd): 428
java.util.stream package-info: 726
(new) Vector (class jd): 1135
onyx loom
#

wow

obtuse gale
#

Actually @ocean quartz I would expect you must have a default for pattern matching switch expressions

#

for one particular reason

#

nullugh

onyx loom
ocean quartz
#

:ugh:

#

cries in poor

obtuse gale
#

lol

#

Yeah as I thought, being null is (naturally) a possibility
If C is sealed, then the expression is guaranteed to have a value that is either (i) the null reference, (ii) an object whose class is C itself, or (iii) assignment compatible with one of the permitted direct subclasses of C (Β§8.1.6).

#

Not specific to switch expressions, but the "type of an expression"

#

whatever that means...

ocean quartz
#

πŸ‘€

obtuse gale
#

I wonder how long it will take for gradle and ij to support Java 17 ugh

ocean quartz
#

They've been pretty fast recently i think

onyx loom
#

ok but what about aojdk itself πŸ₯΄

obtuse gale
#

you mean adoptium?

onyx loom
#

yea

obtuse gale
eternal compass
forest pecan
#

for the tabs (Third Party)

#

the underscore goes through the text

#

and it looks a bit off

#

Consider either making the box longer or choosing a shorter name

#

Also, add a bigger margin between the tabs and actual content

#

it will appeal better to the eyes

ocean quartz
#

On mobile or pc? Looks fine to me

forest pecan
#

im on PC

#

its probably likely a responsive issue then

#

im on my school laptop and the screen isnt as big as a desktop

#

1440 x 900

ocean quartz
#

Weird, seems responsive ehough
What browser?

forest pecan
#

Chrome

#

let me try on firefox

#

same issue on firefox for me

ocean quartz
eternal compass
#

maybe its zoomed in?

#

its based on rem though

#

so I think your browser is wierd

#

anyway I'll add a bit more space

forest pecan
#

Yeah perhaps

eternal compass
#

I discovered another bug while doing that though

#

so I'll patch both

forest pecan
#

You see

#

im helpful

#

πŸ˜„

eternal compass
#

hi helpful

#

I'm fred

#

but anyway I meant in general about the site, not specificly that lmao

ocean quartz
sweet cipher
eternal compass
#

I'm waiting to update

#

for the fix

#

but I don't have access to the server

eternal compass
ocean quartz
#

No

eternal compass
#

you're gonna start using let in kotlin

ocean quartz
#

I'm not going to

#

I don't even use let in TS

eternal compass
#

well thats just dumb

#

my ts is supreme

forest pecan
#

use lombok

ocean quartz
#

Why would I need mutability?

#

const > let

eternal compass
#

you can't reassign const

forest pecan
#

lombok > craplin

ocean quartz
#

Yes that's the point of it being better than let

#

I don't need to reassign things

eternal compass
#

but in some situations you need to reasign?

forest pecan
#

thats the same point of final in java

#

lol

ocean quartz
#

I don't have them

eternal compass
#

wierd

ocean quartz
#

Immutability ftw 😌

eternal compass
#

I prefer const, but let is required sometimes

forest pecan
#

final doesnt always make stuff immutable tho

#

but its different in kotlin

#

im guessing

#

for const

ocean quartz
#

Const in kotlin gets inlined

eternal compass
forest pecan
#

Ah ic

#

there are certain exceptions to const like to final in java. you cant make loop variables final as an example

#

or variables that are gonna be actively incremented

ocean quartz
ocean quartz
#

for (final String text : texts)

forest pecan
#

well thats different

#

i meant more like for loops with incrementing variables like

#

for (int i = 0; i < 5; i++)

ocean quartz
#

I mean yeah that makes sense

#
(0..5).forEach { i ->
}

Immutable i :D

eternal compass
#

but fair

cinder flare
#

hey at least there's less var

#

i'd take a let any day over a var

forest pecan
#

@obtuse gale

obtuse gale
forest pecan
#

wait but how is that any different from the normal loop xD

cinder flare
#

immutable i

obtuse gale
#

mhm

forest pecan
#

oh true

obtuse gale
#

mutability bad

cinder flare
#

also the pre-increment lol

obtuse gale
#

pre > post

forest pecan
#

isnt pre like a nanosecond faster than post

#

lol

cinder flare
#

looks kinda funky

#

and is the source of all those confusing questions where they do like 4 of those in a row and you have to figure out what the number is at each spot

obtuse gale
#

hm wait would that even work? I believe lambda parameters are by default final

cinder flare
#

so in summary, delete prefix/postfix incrementors

obtuse gale
#

definitely works now

cinder flare
#

hell yeah

obtuse gale
#

that would imply mutability so

#

bad

forest pecan
#

there was some kid arguing in spigot discord saying to never use immutability cause its slow

#

and they like literally dont use it for that reason

#

it is true, its slow cause compiler doesnt optimize it (and you recreate objects)

#

but doesnt mean you should ignore it

#

lmfao

obtuse gale
#

how tf is it slow???

forest pecan
#

well, its slower compared to some other langs cause it isnt optimized

#

but i dont consider that to be a con of immutability

#

cause that isnt the point

obtuse gale
#

that's an issue with Java's design really

forest pecan
#

Yeah

obtuse gale
#

or rather, with the library that handles whatever you're doing

forest pecan
#

Well for example for builders, ig those are pretty slow if you do a lot but tbh builders are usually one time use, not multiple times per second or smthing

#

so immutable good

obtuse gale
#

I'd say it's safe to assume a library specifically designed for an FP degree of immutability system makes things work properly (e.g. vavr (I'd need to run performance checks), clojure (in the end it runs on the jvm, with the clojure stdlib backing it))

forest pecan
#

vavr is actually somewhat slow, but not a big deal

obtuse gale
#

is it?

#

idk I only used it once for the lols

forest pecan
#

yeah

#

but you shouldnt pay close attention to the speed tbh unless you are calling the library like 25 times per second or something crazy

#

in that case just make your own algorithm or smthing lol

#

someone used jmh on it

#

Also this is quite interesting: https://github.com/jnr/jnr-ffi
some developers of bindings were starting to recommend it over JNA because it does pretty much the same thing but its faster

ocean quartz
#

This is so annoying to work with
Finally starting to get it to work though
(the table of content in the right side changing color based on what you're looking at)

sweet cipher
#

Looks good

obtuse gale
#

I actually like it rather than a single title being highlighted

sweet cipher
#

Header 2 lol

ocean quartz
obtuse gale
#

xD

potent nest
#

Not necessarily true, the compiler can avoid allocating objects on the heap. Though the escape analysis in hotspot isn’t as powerful as it could be in theory

#

Wait why did discord remove the message I was answering to

obtuse gale
potent nest
#

how did you know that

obtuse gale
#

I'm built differentsunglasso

potent nest
#

lol

distant sun
#

Could not determine the dependencies of task ':actions-core:javadocJar'.
> Cannot convert class org.gradle.api.tasks.javadoc.Javadoc to a task.
The following types/formats are supported:
- A String or CharSequence task name or path
- A Task instance
- A TaskReference instance
- A Buildable instance
- A TaskDependency instance
- A Provider that represents a task output
- A Provider instance that returns any of these types
- A Closure instance that returns any of these types
- A Callable instance that returns any of these types
- An Iterable, Collection, Map or array instance that contains any of these types
Thank you gradle, everything worked just fine until now πŸ‘

#
    task javadocJar(type: Jar, dependsOn: Javadoc) {
        archiveClassifier.set('javadoc')
    }```
potent nest
#

did you update gradle or java?

distant sun
#

gradle to 7.0 because shadowjar 7.0.0 require that version

#

moved back to shadowjar 6.1.0 and it works, idk, with gradle 7.1.1 works fine

#

actually no, javadocs aren't generated πŸ˜’

potent nest
#

and what java version do you use (and how is it defined)?

distant sun
#

I think it is ok now

potent nest
#

well that's not necessarily what gradle uses

#

but generally it's better to use a java version that reflects the java version you want to target

distant sun
#

I want a higher version than 8 to have that search function for docs

#

I dislike java 8 docs 🀣

potent nest
#

then don't use Java 8 :p

distant sun
#

I also need backwards compatibility .. πŸ˜”

hot hull
#

laughs in docs

static zealot
#

laughs in socks

old wyvern
#

LMAO

#

I got another jb license

#

on 3 now

#

oh wait this is only for a month

static zealot
#

?

old wyvern
#

lol

static zealot
#

o

old wyvern
static zealot
#

thanks. will try it now.

old wyvern
#

lol

distant sun
#

nice

old wyvern
#

I mean I think everyone here already has it

#

If anyone wants the 1 month pack just dm me

static zealot
old wyvern
#

Oh you dont?

static zealot
#

nah. but don't want it either.

old wyvern
#

ah alrighty

onyx loom
#

1 month πŸ₯²

static zealot
#

it will just make me want more

old wyvern
#

I dont really know if its one month to be honest

static zealot
#

then get me to pay for it

old wyvern
#

Might be the coupon expires in a month

#

Not completely sure

#

lol

static zealot
#

well

#

gimme gimme and I'll try xD

old wyvern
#

Sure

#

one sec

#

dmed it to you

static zealot
#

can u send the learn how to redeem link as well? XD

#

oh ty

#

xD

old wyvern
#

Yea I did

gilded granite
#

imagine not using vim

#

couldn’t be me

sly sonnet
#

why use vim

#

use what u like

gilded granite
static zealot
#

Oh yeah. it is just 1 month Yugi. Thanks. By the time it ends maybe Uni finally starts so I can get it that way.

old wyvern
#

oh great lol

static zealot
#

I'm rich now.

hot hull
#

wowow

prisma wave
gilded granite
#

so you have chosen death

prisma wave
#

No sir

#

Emacs is vim but better

lunar cypress
ocean quartz
#

@steel heart Are you not gonna unprivate the repo? xD

wind patio
steel heart
#

been busy, sry

hot hull
#

Show anyways

ocean quartz
#

Sadge so many empty projects 😒

onyx loom
#

🌚

steel heart
#

🌞

hot hull
onyx loom
#

more time next time!

#

and less procrastinating

steel heart
#

yeah the theme sucked, or well just was really abstract imo

onyx loom
#

whats the fastest way to convert gradle groovy to kts

steel heart
#

File -> New Project

obtuse gale
#

I don't think the theme sucked, I had a few pretty good ideas, but it was too open for interpretation

hot hull
#

The theme was not concise enough imo

ocean quartz
hot hull
#

I mean I was on vacation first week so no clue how busy it was :kek:

quick flare
#

is there a MOD that can help fix my other email unable to verify email issue ? urgent
i cant even unbind my numbre and no emails being received at all, regardless if i choose verity or forget password
please need urgent help

obtuse gale
#

what?

#

what are you talking aobut

empty flint
#

Why can source here be null if I explicitly check if it's not null?

obtuse gale
#

kotlin bad

rotund egret
#

!!

empty flint
rotund egret
#

shouldn't be, but it also won't hurt here

obtuse gale
#

kotlin

empty flint
obtuse gale
#

you do if you're using !!

rotund egret
#

^

obtuse gale
#

if not just use ?. as usual

rotund egret
#

Elvis operator πŸ™‚

empty flint
#

...

rotund egret
#

?:

empty flint
#

I need a contract actually

#
@OptIn(ExperimentalContracts::class)
inline fun <R> R.applyIf(condition: Boolean, block: R.() -> Unit): R {
  contract {
    callsInPlace(block, InvocationKind.EXACTLY_ONCE)
  }

  if(condition) block()
  return this
}

This is my applyIf function

#

I need to tell the compiler that if condition contains nullchecks, then they guarantee to hold in the block

obtuse gale
#

if condition contains nullchecks
what?

#

how can a Boolean in and of itself "contain nullchecks"?

#

it's not a predicate

empty flint
#

That makes sense, yeah, I was asking myself the same thing

#

How would this work with a predicate?

distant sun
#

predicate: () -> Boolean

obtuse gale
#

er that's not a predicate

distant sun
#

Ah you mean a Predicate

obtuse gale
#

yes, a predicate

#

probably something like R.() -> Boolean or (R) -> Boolean depending on how you want to do it exactly

#

well assuming the "applyIf" is based on a condition on R itself

distant sun
#

Isnt that the same thing as mine? (R) -> Boolean

empty flint
#

no it has nothing to do with R

#

predicate: () -> Boolean should work as well

#

but how do I formulate a non-null contract with that?

obtuse gale
obtuse gale
#

but sure

distant sun
#

smh

#

Does kotlin even take that condition into account so it knows that the object is not null?

empty flint
obtuse gale
#

for that matter just pass a Boolean only

empty flint
#

it works with the if and when statement

obtuse gale
#

instead of a boolean supplier

empty flint
obtuse gale
#

I never said you needed a predicate

#

[15:02] emilyy: >if condition contains nullchecks
what?
[15:02] emilyy: how can a Boolean in and of itself "contain nullchecks"?
[15:02] emilyy: it's not a predicate

empty flint
#

right

#

whatever, my question isn't regarding the predcate

#

but regarding hte contract

obtuse gale
#

does it need to be a function?

#

why not simply take a boolean and call it a day then

distant sun
#

Blocky wants his function to have the same effect as if (thing != null) thing.do()

obtuse gale
#

since it doesn't take any object to evaluate it doesn't make any sense to delay the boolean evaluation, you can just pass it right through as a regular parameter

distant sun
#

Which idk if it is possible, might ask on kotlin forum thingy

obtuse gale
#

slack 🀑

distant sun
#

Do they not use a jetbrains product?

#
inline fun <T> T.applyIf(predicate: T.() -> Boolean, block: T.() -> Unit): T { if (predicate(this)) block(this) }

Try this

#

Sorry if it is one line, phone clipboard acts weird

#

If it doesn't work they it probably means that what you want to do can't be done

obtuse gale
#

"probably something like R.() -> Boolean or (R) -> Boolean depending on how you want to do it exactly"
"no it has nothing to do with R"

#

so no

distant sun
#

Smh emily

obtuse gale
#

smh you

rotund egret
#

There's no R in that one

#

πŸ‘€

distant sun
#

See

ocean quartz
onyx loom
#

lol

obtuse gale
#

ehem

#

thing?.do()

#

😌

ocean quartz
#

^

#

Yeah lol

obtuse gale
#

🀯

empty flint
rotund egret
#

You should probably explain what you're trying to accomplish, not the result your trying to get.

empty flint
distant sun
ocean quartz
#

I mean (predicate: T.() -> Boolean, block: T.() -> Unit) Does exactly that
applyIf({it.something == something}) { do something }

empty flint
ocean quartz
empty flint
#

and not what I want

#

I'd rather keep the ?. operator instead of this

ocean quartz
#

That's the only way to do it, you're trying to apply two functions in the same function

distant sun
#

x != false it is just a boolean, it makes sense why it still wants you to do a null check inside the lambda

empty flint
#

I know that

#

I know what I have isn't working and why it's not working

#

I am asking how to make it work without changing the syntax

#

Because if the compiler was smart, it would see that the code does not change at all and my applyIf(..) {} is equivalent to if(...) apply {}

obtuse gale
#

if the compiler was smart
jvm language
peperla

static zealot
#

Someone just told me that my code quality is A.

#

if he was to rate it from A to Z πŸ₯²

rotund egret
#

I'm not sure I see the issue

#

Grades (at least in the US) are ranked A -> F with A being good and F being bad.

static zealot
#

hmm. true

#

I guess I'm just a great developer.

rotund egret
#

I'd say so.
Given that the A-F standard gives a decent large area where you could get an A

Typically 90-100%, but with 26 entire letters that skew is a lot finer.
So you're around the 98%+ area. Which is pretty stellar

empty flint
#

actually with an A out of [A-Z] you're in the top 3.8%, or better than 96.2% other grades

#

Why is bungeecord logging shit like this?

#

Info, warn, error and fatal are all logged as "SEVERE"

steel heart
#

bungeecord, lel

empty flint
#

why is everybody saying that lol

#

what's wrong with bungeecord?

obtuse gale
#

md5

#

velocity 😌

steel heart
#

😌

distant sun
#
    private fun NBTCompound.getArgs(): Map<String, String> {
        return keys.associateBy { this.getString(it) }
    }```
This would create a map with each `key` and its string from the compound, right?
obtuse gale
#

keys is from the nbt compound, right?

#

wouldn't that return null for keys that don't map to strings?

distant sun
#

Each key should have a string associated

#

but I will add a null check

obtuse gale
#

well I don't know the full context of this so Β―_(ツ)_/Β―

distant sun
#

Basically a compound that store some arguments as key:value

steel heart
#

Yeah what would be a better name than InventoryInterfaceFactoryFactory? I dislike the double Factory suffix

onyx loom
#

InventoryInterfaceFactoryFactoryFactory

steel heart
#

πŸ₯΄

obtuse gale
steel heart
#

πŸ™ˆ

humble silo
#

Anyone super against MRJars for any reason? Gradle seems to hate it but they didnt pose any points that seemed super important to me

#

I really dont wanna have multiple releases for different versions(which is what they suggest instead)...

zenith frigate
#

Guys pls help me

#

Some folks took my ip and then get got my location , place, zip code and even the coordinates

#

So is it my exact location those idiots got ?

#

And can they hack my phone or devices which I am concerned abt

#

@everyone

loud gyroBOT
#

The 'everyone' mention is disabled so you can't annoy people.

rotund egret
half harness
#

wrong reply πŸ₯²

obtuse gale
#

Does anyone know how I can create my own help command?
i have a chestcommands menu and i would like it to open with /help

half harness
red scroll
#

Hi

sweet cipher
#

Hello

half harness
#

Hey

static zealot
#

πŸ“ :(

sly sonnet
jovial warren
#

decided to actually try a bit of web dev myself for the new Krypton site I'm working on, and I've heard a lot about frameworks and stuff, I've been looking at Vue and Nuxt.JS a lot, and they seem pretty good, but I've also heard about other frameworks like React, what would you guys recommend?

#

or does it not really matter?

#

I was thinking of going for Nuxt (Vue) with Bootstrap Vue on the frontend and probably Spring or Ktor on the backend

prisma wave
#

ELM

jovial warren
#

what's elm?

#
prisma wave
#
#

YEAH

#

HEAVEN

jovial warren
#

functional programming

#

ew

prisma wave
#

pff

#

Don't even try to claim that JS evil is "better" than this

#

Also React is functional and stateless too πŸ˜‹

jovial warren
#

yeah

half harness
#

πŸ‘€

#

guess what project this is

hot hull
#

If it's bedwars, that's sad

half harness
#

i know D:

solid steppe
humble silo
half harness
#

-> projects

humble silo
#

or is it in there by default?

half harness
#

its a plugin u have t oadd

#

note that it only starts tracking once you install it

#

and set your API key

humble silo
#

ah i see

#

kinda wish i had installed this 6 months ago, i probably have a couple hundred hours on this one project

half harness
#

πŸ‘€

humble silo
#

Ive completely refactored it 3 times... so

half harness
#

oh

#

i'm probably not going to ever do that with bedwars πŸ₯²

#

ive ran into so many issues and so i don't want to go through it a second time

humble silo
#

oh whats the api key again?

half harness
#

uhh it should show once you install the plugin

#

its on wakatime website

#

forgot exactly where

humble silo
#

i gotta login????

#

annoying

#

fine

half harness
#

lol

#

i mean

#

it needs some way to identify you

humble silo
#

k im good

#

annoying

#

why does it need me to confirm my email if i signed up with github???

half harness
#

Β―_(ツ)_/Β―

humble silo
#

Its saturday and i woke up at 6:40, i feel really dumb

remote goblet
hot hull
#

that is hideous

remote goblet
#

I am aware

#

im not entirely sure if I even need to re-set it to the map

potent nest
#

you can't add something to the empty list

remote goblet
#

yes i see that now

dapper lantern
#

How do i get a 1.17 version of deluxe chat is it available or did someone update it that i can fork.

half harness
#

and don't crosspost

dapper lantern
#

That didn't work

#

nothing in spigot linking says deluxechat

remote goblet
#

You need to link your spigot account to the server

#

to gain access to the deluxechat channel to get the 1.17 version

dapper lantern
#

Thank you!

#

Staff need's to review it any idea how long that takes?

final scroll
#

If I have a int[] function, how do I create the int[] in the return statement? Like return [x,y,z];. I don't know how to explain better sorry :I

obtuse gale
solid steppe
remote goblet
#

light_limer_green

jovial warren
#

spent probably the past few days trying to decide on what to even use to make the Krypton site, but I decided to just go with plain old HTML 5 with Bootstrap for now, got a prototype here: https://kryptonmc.github.io/site/

#

lemme know what you guys think

#

it's still a W.I.P, but that's the sort of design I'm thinking

#

it also seems like pages sucks a bit at rendering things

steel heart
jovial warren
#

yeah it's not mobile optimised yet lol

steel heart
#

Lmao ye but nice color

rotund egret
static zealot
#

Why doesn't it mention that it is in kotlin? 😦

jovial warren
#

good point

static zealot
#

But the front page looks pretty good. I love it.

ocean quartz
#

And lightweight

jovial warren
#

I chose not to because I just feel it's not that important

static zealot
#

Matt shouldn't you be reviewing code rn? I believe you have over 100k lines to go thru? xD

jovial warren
#

lol

ocean quartz
#

Not right now 😩

rotund egret
#

Similar to Sponge

static zealot
#

yeah. only problem is that I'm pretty sure the wiki is very behind. xD

#

oh actually. looks updated. did u update bbg?

forest pecan
#

iirc

rotund egret
#

Looks like it, I'm interested to see how this project rolls out

static zealot
#

yeah. bbg was very inspired by Sponge.

steel heart
#

We all know sponge was designed by inspiration from krypton in reality 509a09_1ecbc155706544f0b0884dd24

static zealot
#

true

rotund egret
#

Is krypton targeting vanilla only?

static zealot
#

Last updated 3 weeks ago
o

#

he did update it. nice

rotund egret
#

I really appreciate the irony in this

obtuse gale
#

why does chrome suggest to translate from Portuguese when looking at guava javadoc? xD

#

Sorry, not Spanish*

steel heart
#

Oui

obtuse gale
#

I'm sure @ocean quartz has something to do with this...

ocean quartz
#

Uh, probably some witchery

ocean quartz
half harness
#

hmm... how do hypixel (bedwars) bridge eggs work?
I tried just setting the block at every tick at the egg's location but that didn't work :/

#

and in hypixel the blocks don't change exactly where the eggs where

#

its a bit less curved and lower than the actual egg

sweet cipher
half harness
#

ooh ty

#

whered u find it? πŸ‘€

sweet cipher
half harness
#

hmmm

#

umm im trying to test in single player world but when i press "Done" in command block it changes the type of the command block ._.

#

and "Cancel" toggles Conditional/Unconditional

#

what

sweet cipher
#

What?

half harness
#

nvm if i press "Enter" it works

#

BUT IT WORKS

#

sorta

#

hm

#

i think i can modify it to work tho

ocean quartz
#

Nice, totally worth forking

static zealot
#

lol

half harness
#

10/10 bridge egg

sweet cipher
#

Nice

humble silo
half harness
#

πŸ₯²

#

im surprised on the design tho

#

not sure how it turned out like that xD

humble silo
#

leave it as a easter egg

#

looks like fun

#

good for spamming

half harness
#

πŸ‘€

humble silo
#

Is this too ugly?

#

Because i cant figure out another way to do the mrjar

obtuse gale
#

main/resources 🧐

humble silo
#

tbh i dont know why that happeend

#

ugh

#

why has no one made a gradle plugin for this

#

they are all out of date or not actually published

obtuse gale
#

doesn't seem like you need a plugin for that

humble silo
#

what

#

is

#

that

obtuse gale
#

that is called "knowing how to use your build tools"

delicate cradle
#

anyone know how to get a List<String> of every entry from a specific column in MySQL

#

eg I have a column in my sql db clans

#

how could I get a List<String> of these

rotund egret
#

What does sql return when you request a column of data?

delicate cradle
#

hm

#

i should try that shouldnt i

#

brb

delicate cradle
#

hm

humble silo
delicate cradle
# sweet cipher ResultSet?
public List<String> getAllClans(Connection connection) throws SQLException {
    List<String> clans = new ArrayList<>();

    PreparedStatement statement = connection.prepareStatement("SELECT uuid FROM `table_name`");
    ResultSet resultSet = statement.executeQuery();

    return clans;
}
#

I don't really know where to go from here

#

Tryna get a list of all the uuids

#

lmao

#

waittt

sweet cipher
#
while (resultSet.next()) {
  final String uuidString = resultSet.getString(columnLabel);
  final UUID uuid = UUID.fromString(uuidString);
}
delicate cradle
#

yup

#

almost done

ocean quartz
humble silo
#

is there a equivalent then?

delicate cradle
#
public List<UUID> getAllClans(Connection connection) throws SQLException {
    List<UUID> clans = new ArrayList<>();

    PreparedStatement statement = connection.prepareStatement("SELECT * FROM `table_name`");
    ResultSet resultSet = statement.executeQuery();
    while (resultSet.next()) {
        clans.add(UUID.fromString(resultSet.getString("uuid")));
    }
    return clans;
}
humble silo
#

for kts?

delicate cradle
#

that should do it

humble silo
humble silo
ocean quartz
#

I'm not sure sorry, never done that

ocean quartz
#

Ah alright figure it out, took a while to clone it but well lmao

#

@obtuse gale That multirelease seems to be from Indra

obtuse gale
#

ah, may be

#

indra good tho

#

😌

obtuse gale
obtuse gale
oak raft
#

Hey @ocean quartz, what project did you open source in order to get the open source license?

ocean quartz
#

All my libs

oak raft
#

So like mf-config?

ocean quartz
#

Yeah

oak raft
#

Cool stuff

wind patio
#

Lovely JavaScript

#

πŸ₯°

ocean quartz
humble silo
humble silo
# obtuse gale And reading that gradle blog it doesn't seem particularly hard to do either lol

Alr well my main issue now isnt building the jar, its seperating the java9+ sources from everything else, if i create a whole new source set for it then it cant see packages that it needs to export or dependencies. Im pretty sure it makes sense for other java sources to be seperate source sets, but i dont know how to make them reference each other or something along those lines...

obtuse gale
#

what?

#

ah I think I understand

#

I never played with any of this stuff, let me see if I can get something done, idk

humble silo
obtuse gale
#

alternatively you can use indra 😌

humble silo
sweet cipher
#

Can I use a Multimap with Map<Key, Map<Key, Value>>?

obtuse gale
#

and you've been with this all day already lol

obtuse gale
sweet cipher
#

Just Value

obtuse gale
#

because a multimap is really just a Map<K, Collection<V>>

sweet cipher
#

Okay

obtuse gale
#

so no

#

hmm

humble silo
#

yes

#

i have

obtuse gale
#

Multimap<K, Map.Entry<K, V>> thoomk

sweet cipher
#

Would there even be a point of it?
I forget who told me, but someone said it was just used for garbage collection and things like that I think

#

Because it clears the collection and other things

sweet cipher
#

I'm not describing it right

#

One sec

#

let me find it

rotund egret
#

never comes back

sweet cipher
rotund egret
#
operator fun Boolean.inc() = !this

class C {
    var enabled: Boolean = false
}

fun main(args:Array<String>) {
    var b = true
    b++
    println(b)   // false
    val c = C()
    c.enabled++
    println(c.enabled)  // true
}```
obtuse gale
#

🧐

obtuse gale
sweet cipher
#

Oh

#

So is a Multimap just for convenience?

obtuse gale
#

I assume you were talking about Multimap#removeAll(Object key)?

sweet cipher
#

I don't know

#

I'm just talking about in general

#

Using multimaps

obtuse gale
#

so you want to remove all entries for a key right?

sweet cipher
#

No

obtuse gale
#

??

sweet cipher
#

I was just asking in general about advantages of multimap

obtuse gale
#

It's just a Map<K, Collection<V>> with a lot of really handy methods and well implemented

#

It creates the collections for you etc

#

It's a whole framework on its own lol

sweet cipher
#

So basically convenience?

obtuse gale
#

why would you not use it?

sweet cipher
#

No reason

#

Just wondering

obtuse gale
#

guava is already part of MC anyway

obtuse gale
sweet cipher
#

I thought the gc thing would happen with the Map with a Map, but you said that wasn't a thing

#

Yeah

obtuse gale
#

the gc has nothing to do with any of this lmao

#

idk why that came up

sweet cipher
#

Yeah that's what I was confused about

obtuse gale
#

Conclure man I like you but many times you speak out of your ass for no good reason

sweet cipher
#

lol

#

Also, the reason I am using a Map inside of a Map is for storing locations,
I am using Map<Long (Chunk key), Map<Location, Block)>> to store locations of things
I'm assuming it would be faster than Map<Location, Block>?

obtuse gale
#

I would strongly advise against using bukkit Locations as keys

sweet cipher
#

Okay

#

Should I create my own Location?

#

Is it because it stores a reference to World?

obtuse gale
#

because it's mutable and the hashCode depends on the internal state

sweet cipher
#

Oh

obtuse gale
#

so something like this will fail

sweet cipher
#

I forgot about that lol

eternal compass
#

The individual instance, right?

#

Not just coords

obtuse gale
#

what?

sweet cipher
#

Triple<Integer, Integer, Integer>

eternal compass
#

Or maybe I'm crazy

obtuse gale
#

I don't understand the question

eternal compass
#

Okay yeah ignore me

#

I've gone insane

obtuse gale
#

assuming a HashMap

sweet cipher
#

I should just create my own immutable Location then?

obtuse gale
sweet cipher
#

I was joking about that lol

#

I would probably make a location with the coords, and the world as a string maybe

obtuse gale
#

public record IntTriple(int first, int second, int third) { } 😌

sweet cipher
#

I actually have never used records, would this be a good time to use it?

#

Because its just to store data?

obtuse gale
#

!!!

#

yes

sweet cipher
#

Okay cool

rotund egret
#

val location : Location<World<W,L>,Location<W,L>>

sweet cipher
obtuse gale
#

πŸ˜΅β€πŸ’«

sweet cipher
#

I don't know what I can do to make it better

obtuse gale
#

Are the indexes of each "linked" to one another?

#

like

#

The first in speedUpgrades is "linked"/related to the first in resourceLimitUpgrades, and in maxUpgradesUpgrade, etc

sweet cipher
#

No they aren't

#

The ones with ints and floats have to be sorted, because they either
add / subtract / divide / multiply the number given to them, and I need
them to be in a certain order

obtuse gale
#

**```java
final var map = new HashMap<Location, String>();
final var location = new Location(null, 0, 0, 0);
map.put(location, "Hello");
location.add(1, 1, 1);
getLog4JLogger().info(() -> "map.containsKey(location) = " + map.containsKey(location));
getLog4JLogger().info(() -> "map.get(location) = " + map.get(location));

**```
[00:37:39 INFO]: [TestPlugin] map.containsKey(location) = false
[00:37:39 INFO]: [TestPlugin] map.get(location) = null
```**
![kekw](https://cdn.discordapp.com/emojis/872912432807444540.webp?size=128 "kekw")
sweet cipher
#

lol

sweet cipher
obtuse gale
#

hm?

sweet cipher
#

How come you wanted to know if the indexes were linked?

ocean quartz
#

Location being mutable is so stupid

#

I remember a while back trying to make some armor stand animation, not cloning the location, the add and teleport would make it move exponentially

obtuse gale
obtuse gale
#

clone!!

#

also you can finally use a single event for "armor equipped" on spigot kekw

#

but of course there is no one specific for it lol

ocean quartz
#

fun Location.add(x, y, z) = clone().add(x, y, z) :kek:

sweet cipher
#

If you wanted I could add you to the repo and you could see what I mean

obtuse gale
#

not really lmao

sweet cipher
#

That's what I thought lol

quiet sierra
#

what the fuck intellij

wind patio
#

😩

#

paper bad

sly sonnet
#

spigot bad lol

hot hull
#

Jesus that's some sheer fucking stupidity

wind patio
#

Personal recommendation = bad

#

Such advertisement

half harness
#

pog

#

i finally made a bridge egg

#

and discord doesn't want to show embed

#

:(

ocean quartz
quiet sierra
#

it usually stacks

#

but it wasn't

half harness
#
error: failed to push some refs to 'https://github.com/dkim19375/Bedwars.git'
To https://github.com/dkim19375/Bedwars.git
!    refs/heads/master:refs/heads/master    [remote rejected] (refusing to allow an OAuth App to create or update workflow `.github/workflows/gradle_11.yml` without `workflow` scope)
```how do I fix this?
everything i google is changing the token perms.. but I'm not using a token, I just log in through intellij
old wyvern
#

Github was about to remove auth with email/password for commits

#

Might be that

#

Try switching to a token

quiet depot
#

intellij creates a token for u when u login

#

you should have a token dkim

#

check gh

half harness
#

ill just log out and use a token

#

Β―_(ツ)_/Β―

#

idk

#

(in the one at Settings -> Developer settings -> Personal access tokens)

#

wait a minute

#

im confused ;-;

old wyvern
#

It does?

#

It kept warning me about email/password auth for a bit now

#

Intellij I mean

half harness
#

huh
i just set the token that i just generated

#

but same error

quiet depot
#

pretty sure ij does just generate a token and uses that

half harness
quiet depot
#

i might be wrong

old wyvern
#

Welp no idea, I didnt for me

quiet depot
#

but pretty sure that's how it works

old wyvern
#

Maybe thats only from a newer version

#

I have a habit of not updating for a few months

quiet depot
#

i might be thinking of some other software though

#

or a specific edge case

old wyvern
#

ah

quiet depot
#

e.g. gitkraken, or maybe it only does it if u have 2fa

old wyvern
#

oh probably

half harness
#

wait a sec

#

when I do Git -> Push

#

in intellij

#

does it use the account in settings?

#

since it appears to just run the git command

#

if so, how do i change the token with the git command πŸ™ƒ

#

idk im very very confused

#

nvm fixed

#

had to go in windows credential manager

humble silo
ocean quartz
#

What is up with all the windows hate?

prisma wave
#

Maybe that only works with interfaces

ocean quartz
#

I think it would work

#

Let me test

#

Hmm it doesn't let it, damn

#

immutableAdd :kek:

wind patio
#

uh, tf (shadowjar)

humble silo
#

Like i havent restarted my mac in probably atleast 3 months, where as in windows the computer would probably be smoking by that point

#

lol

ocean quartz
#

I've gone months without restarting my computer and still works perfectly fine

lunar cypress
#

but with the version of ASM shadowjar uses

wind patio
#

if I remove minimize

#

it seems to work

#

I guess it's the same issue here

ocean quartz
#

What shadow version are you using?

wind patio
#

7.0.0

#

Gradle 7.0, groovy 3.0.7

humble silo
#

though to be fair that was a pretty bad computer

lunar cypress
old wyvern
#

Extensions cant override actual methods or something

ocean quartz
#

Yeah it doesn't work

old wyvern
#

πŸ’€

lunar cypress
#

just make it operator fun Location.plus instead

onyx loom
#

πŸ˜΅β€πŸ’«

static zealot
#

@half harness u sleeping?

soft phoenix
#

anyone here?

humble silo
soft phoenix
#

This could be kinda off topic but I have a question regarding discord nitro purchase monkaSbusiness

steel heart
#

Hello

static zealot
#

Helllloooo

steel heart
#

Blitz

static zealot
#

Yes?

steel heart
#

Ban or give me it

static zealot
#

I'll give you it

steel heart
#

Ok thanks

#

🌝

ocean quartz
#

Is it just me or github has been a bit slow? Like browsing through classes in a repo

steel heart
#

not alone

ocean quartz
steel heart
humble silo
#

@obtuse gale I got it, not using Kyori becuase i couldnt get dependency stuff working in it...

sourceSets {
    create("java9") {
        java.srcDir("src/main/java9")
    }
}

tasks.named<JavaCompile>("compileJava9Java") {
    options.compilerArgs.addAll(
        listOf(
            "--patch-module",
            "yakclient.mixins.base=${sourceSets.main.get().java.destinationDirectory.get().asFile.absolutePath}"
        )
    )
}

fun DependencyHandlerScope.modularDependency(dependency: Any, configuration: String = "implementation") {
    add(configuration, dependency)
    add("java9${configuration.capitalize()}" /* Sucks but i cant be bothered to do something better */, dependency)
}

dependencies {
    modularDependency("net.bytebuddy:byte-buddy-agent:1.11.15")

    modularDependency("org.jetbrains.kotlin:kotlin-reflect:1.5.30")
    modularDependency(project(":api"), "api")
    modularDependency("org.ow2.asm:asm:9.2", "api")
    modularDependency("org.ow2.asm:asm-util:9.2", "api")
}

tasks.jar {
    into("META-INF/versions/9") {
        from(sourceSets["java9"].output)
    }
}
#

Only 7 hours spent on it!

#

(im dying inside)

obtuse gale
#

same

#

But not because of that

humble silo
#

lol

#

sigh

#

deep sigh

#

100% tests dont work

#

yup...

#

sigh

obtuse gale
#

Nice

jagged plover
#

I need someone to help me complete the offers to take Google Play cards

rotund egret
#

What thonking

wind patio
#

almost 1k 😩