#dev-general

1 messages ยท Page 534 of 1

ocean quartz
#

Gray

half harness
#

but

static zealot
#

yeah that background kinda kills my eyes

ocean quartz
#

#111

static zealot
#

for some reason

#

idk

obtuse gale
#

Anybody here familiar with context diagrams?

static zealot
#

nicolulu

boreal needle
#

no

#

thats too weebish

static zealot
#

coolulu

ocean quartz
#

She'll break your nico nico kneecaps

boreal needle
#

uwu

static zealot
#

ugh?

#

am I missing a reference or something?

old wyvern
static zealot
#

oh

#

I googled it

#

fuck

boreal needle
#

my cringe 12 year old "girlfriend" used to go round saying nico nico nii unironically

prisma wave
#

a man of culture

old wyvern
#

๐Ÿ˜Œ

merry gate
#

Hello! Does someone know how to play the block break animation using Protocolllib? Im struggling xD

static zealot
half harness
static zealot
#

ty

old wyvern
#

I swear that character entered as a demon and they finished the series with him being a shy gay kid

static zealot
#

lmao

half harness
#

lol

merry gate
old wyvern
#

lol

prisma wave
#

he entered shy

#

kinda

#

Idk it's been a while

static zealot
#

imagine watching anime. I didn't even finish AOT

#

smh

prisma wave
#

Luckily this isn't anime

old wyvern
#

lol

static zealot
#

oh

old wyvern
#

Percy Jackson

static zealot
#

oh

ocean quartz
static zealot
#

or?

prisma wave
#

absolutely not

static zealot
#

xD

old wyvern
#

The book

#

lol

prisma wave
old wyvern
#

I cant find my normal percy jackson ones

prisma wave
#

The films are atrocious

#

horrendously bad

boreal needle
old wyvern
#

found a heroes of olympus copy

prisma wave
prisma wave
old wyvern
#

Yea its pretty great

static zealot
#

I should probably start reading books again

#

I Used to love reading

old wyvern
#

I also read the first part of the apollo series

ocean quartz
#

At least the movies had Alexandra Daddario and her 2 beautiful .. blue eyes

static zealot
#

xD

prisma wave
#

blue

prisma wave
#

๐Ÿคฌ

static zealot
#

we all know what you meant Matt

prisma wave
#

Also the Norse and Egyptian spin offs are really good too, would recommend

old wyvern
hot hull
#

ngl, I can finally see stuff properly with this new monitor

old wyvern
#

But youll have to search somewhere else

static zealot
#

is there now?

old wyvern
#

Yes

static zealot
#

Ic

prisma wave
ocean quartz
lunar cypress
# prisma wave GOD NO

Every time someone mentions the percy jackson movies someone must send screenshots of the book author's tweets regarding the matter

hot hull
#

I have not opened IJ in over a month, couldn't care less about the theme right now

old wyvern
ocean quartz
#

Percy Jackson but with Thor!!

prisma wave
#

Yeah it literally was

#

It was sick

old wyvern
prisma wave
old wyvern
#

yea

lunar cypress
prisma wave
# old wyvern

Dude I read that about 4 times back to back when I was on holiday at like 11 years old

#

Masterpiece

old wyvern
#

yea man they completely ruined sea of monsters

#

Why the fuck does kronos wake up in that

ocean quartz
#

Reminds me of God of war, Kratos going into norse mythology

prisma wave
# lunar cypress

Didn't he also write an entire blog post about some school using the films or something?

old wyvern
#

We never got the luke empowered with kronos fight

lunar cypress
#

I don't know about that

static zealot
#

I've only read sea of mosters

#

1 and 2

prisma wave
old wyvern
#

Yea

static zealot
#

oh wait

#

there wasn't a 2

#

was therE?

#

I Don't remember

prisma wave
#

There was

#

5 in total

static zealot
#

oh

old wyvern
#

And the first movie actually make Hades the theif

static zealot
#

nvm then

old wyvern
#

It was supposed to be just luke

half harness
#

opinions on background?

prisma wave
#

They're making a Disney+ adaptation though so there's hope ๐Ÿ˜Œ

old wyvern
#

Hades was supposed to be innocent

ocean quartz
old wyvern
#

more or less

static zealot
prisma wave
half harness
old wyvern
#

Yea

half harness
#

color ๐Ÿ˜Œ

ocean quartz
#

You're dull

static zealot
prisma wave
#

yeah we're gonna make the plot as predictable as possible, that whats the audience want

old wyvern
#

lol

half harness
prisma wave
static zealot
#

it makes them feel good while watching

old wyvern
#

Man I would have loved to see The Last Titan properly done in live action

prisma wave
#

and they're actually working with the original author to adapt it

ocean quartz
prisma wave
#

Which is progress

half harness
old wyvern
#

Wait really?

hot hull
#

Excuse me?

boreal needle
#

windows announcement time thing :D

prisma wave
old wyvern
#

let me check the name

prisma wave
ocean quartz
old wyvern
#

I remember it as The Last Titan

prisma wave
#

Hm

#

Maybe that was the translated version or something

half harness
boreal needle
#

#333

old wyvern
#

The Last Olympian*

old wyvern
half harness
lunar cypress
#

Christ how many more were there

prisma wave
ocean quartz
lunar cypress
#

I stopped reading at some point

prisma wave
#

With romans

half harness
#

hmmmmmmmmmmmmmmmmmmmmmmmm

lunar cypress
#

I read like the first 2 of those

half harness
#

but i mean

ocean quartz
#

Better

lunar cypress
#

And then stopped

prisma wave
lunar cypress
#

Was that it?

old wyvern
#
  1. Lightning Theif
  2. Sea of Monsters
  3. Titans Curse
  4. Battle of the Labyrinth
  5. The last Olympian
half harness
#

it looks a lot better than my gray xD

ocean quartz
#

It's discord's gray

half harness
#

oh

old wyvern
#

Theres also an extra book that gives the backstory of the gods and other demigods

prisma wave
prisma wave
#

With the evil curtains and the dogs

old wyvern
#

no just a separate book with multiple individual stories

half harness
#

matt how's this look?

old wyvern
#

Like the birth of the great 3

half harness
#

vs this

#

lol

prisma wave
#

Oh hmm

half harness
#

also note that this is supposed to be a game

old wyvern
#

Festus The Dragon Ship

prisma wave
#

Was that demigod diaries yugi?

ocean quartz
prisma wave
#

yeah with the cheerleaders in the woods

#

Or something

old wyvern
#

Im not sure bm, I read it like 5 years ago

prisma wave
#

Partiers

#

Yeah me neither lmao

old wyvern
#

Percy Jackson and the Greek Gods Maybe?

#

not sure

half harness
prisma wave
#

Oh yeah

half harness
#

to get the color

prisma wave
#

Demigod diaries was the one with the short stories

old wyvern
#

The book had a green cover

old wyvern
prisma wave
#

๐Ÿ˜Œ

old wyvern
#

๐Ÿ˜Œ

prisma wave
#

Gotta read the apollo ones sometime

half harness
#

this looks questionable

ocean quartz
old wyvern
#

Yea I havent found the second part in any nearby stores yet

old wyvern
#

I mean all 3 tho

#

All of them broke their pact

#

Thalia -> Zeus
Percy -> Poseidon
Nico -> Hades

prisma wave
#

That's kinda the point though lol

#

The gods are all incompetent

old wyvern
#

lol

#

Quick question, do you read Hades as Hay-De-s or Hay-ds

prisma wave
#

Hay-deez

#

Hay-deez nuts

old wyvern
#

xD

prisma wave
#

๐Ÿคฃ ๐Ÿคฃ ๐Ÿคฃ

lunar cypress
#

"Hay" ๐Ÿคข

#

Imagine being a native english speaker

prisma wave
#

i think that's how you're supposed to pronounce it

#

google agrees with me

#

๐Ÿ˜Ž

lunar cypress
#

Not the english pronunciation dumb dumb

forest pecan
#

Hidma

#

Hidma balls

prisma wave
forest pecan
#

Hay ds

#

I use that way

prisma wave
#

yeah ok "greek"

#

but that's not important

lunar cypress
#

"Hay" is just disgusting

old wyvern
#

Spa-ds

old wyvern
#

Hey ?

#

uh

prisma wave
lunar cypress
prisma wave
#

hey ๐Ÿ‘‹๐Ÿ˜Š

old wyvern
#

ok so, what is used?

lunar cypress
#

Do you want me to list all pronunciations without "Hay" in all languages of the world?

old wyvern
#

No like in english

lunar cypress
#

Nothing

old wyvern
#

Oh, I thought you were saying Hay wasnt english pronounciation

boreal needle
#

theyre integrating ms teams into windows 11 ._.

lunar cypress
#

No I was saying english is disgusting ๐Ÿ˜„

prisma wave
#

average "other languages" fans vs english appreciators

old wyvern
#

lol

old wyvern
prisma wave
#

yes ๐Ÿ˜ตโ€๐Ÿ’ซ ๐Ÿ˜ตโ€๐Ÿ’ซ

ocean quartz
prisma wave
#

Well

old wyvern
#

oh my

prisma wave
#

2 bricks to be precise

prisma wave
prisma wave
ocean quartz
vagrant bobcat
#

๐Ÿ‘

obtuse gale
#

So ive gotta make a data dictionary that shows all the variables i use, but how do i show an example of a variable, do i just like show how id define it or something, just wondering iff anyone heres done one and knows how i can do this

humble silo
#

Shouldnt this not really work in kotlin?

data class TestType<in T>(private val value: T)

class GenericsTest {
    @Test
    fun testGenericConversion() {
        val a: TestType<Number> = TestType(1.toShort())
        val b : TestType<Double> = a
        println(b)
    }
}

I guess i see why this works but it would be a terrible design, right?

humble silo
#

Well it runs ya, but it kinda looks like you are trying to cast a short to a double

ocean quartz
#

That could probably be a value class right?

humble silo
#

though i guess i get why it works

old wyvern
#

All of them are converted to Number

humble silo
#

if you go in the debugger they arent

old wyvern
#

in Number means anything above number can be passed into it

humble silo
#

the field in B is still a short

#

<? super Number> right?

#

is effectively the same

old wyvern
ocean quartz
#

Numbers are kinda interchangeable, for example 1 is a short but 1.0 is a double, etc

old wyvern
#

=Thing is, that TestType cant produce a Double even after you assigned it to that

#

the in limits you to only being able to take in that type

#

look up contravariance

humble silo
#

ya thats what ive been reading about and why i made this test

#

I get why it works, but it just seems kinda weird

#

Would saying in T be the same thing in java as ? super T?

lunar cypress
#

Not the same

#

This is declaration site variance

#

Wildcards are only in type use

#

But effectively the same

#

Super wildcards allow contravariance

prisma wave
old wyvern
#

I meant as in extending

#

so Integer, Double, Long, Float, Byte ...ect...

lunar cypress
#

That is wrong though

#

That would be covariance

#

If you have a type Foo<in T>
Foo<Double> is assignable from Foo<Number> but not vice versa

#

covariance (the opposite) is out

old wyvern
#

I simply said the generic can be changed to any of the extending types

lunar cypress
#

Can you please illustrate what you mean

#

Your words seem contradictory

old wyvern
#

You want me to draw?

lunar cypress
#

no

#

illustrate also means explain, elaborate, give an example

old wyvern
#

I mean Foo<in T> can be assigned to some Foo<S> where S extends T

#

Its a consumer of any T

lunar cypress
#

That is not correct

prisma wave
#

๐Ÿฅด

old wyvern
#

How so?

lunar cypress
#

I'm not sure why you use this example in the first place, variance is used in the assignment target

old wyvern
#

The example is of an assignment target

lunar cypress
#

In your example Foo<in T> is not the target

old wyvern
#

as in the rhs?

#

it is

lunar cypress
#

the target is not the right hand side

old wyvern
#

Im not sure what you are going to here. What exactly is wrong there?

lunar cypress
#

Well, terminology for one, it seems

#

But also, it just doesn't make sense on a type level

#

kotlinc does not accept that

#

Unless there's something else I'm misunderstanding about what you're saying here

#

Can we maybe get away from assignment and just talk in terms of typing relations

old wyvern
#

as in

// a: Foo<in T>
Foo<S> b = a
``` is invalid?
lunar cypress
#

Yes

old wyvern
#

Im not sure I understand

#

What I read about it says exactly that that is valid

lunar cypress
#

This example doesn't make sense to me

old wyvern
#

What would be your correction in that?

lunar cypress
#

but I also tested it

#

Well without any context there is nothing to correct lol

#

S extends T => Foo<in T> extends Foo<S> is simply an incorrect statement

#

I am using "extends" as in "is a sub type of"

old wyvern
#

Foo<S> extends Foo<in T>

lunar cypress
#

That is still not correct

#

And even if that were true

#

Assignments don't work like that

#

Assignments are covariant

#

The same way you cant assign Object to String

#

Foo<S> and Foo<in T> are actually fully disjoint

#

they share no values whatsoever

#

Assuming that S != T

old wyvern
#
fun main() {
    val a: Test<in Number> = A()
    val b: Test<Int> = a
    b.test(5)
}
โ€‹
โ€‹
interface Test<in T> {
  fun test(t: T);
}
โ€‹
class A: Test<Number> {
    override fun test(t: Number) {
        println(t)
    }
}
lunar cypress
#

Now you're doing something different

#

In your previous example, you once specified variance and once didn't

#

So I assumed there was no declaration site variance

old wyvern
lunar cypress
#

This example is correct

#

Because Test<in Number> extends Test<in Int>

#

It would not be correct without declaration site in however

old wyvern
#

in in the first one, right?

lunar cypress
#

No, in your class declaration

old wyvern
#

It seems to be accepted by kotlinc

#

Even without the in in the type def of a tbh

lunar cypress
#

I am talking about the type parameter declaration of Test.

#

Because Test<in Number> generally does not extend Test<Int> because generics are invariant by default

old wyvern
#

ah, got it

    val a: Test<in Number> = A()
    val b: Test<Int> = a

Doesnt seem to be accepted, but works with in Int (without the in in the interface)

#

My bad

lunar cypress
#

Yes, right

cinder flare
#

Bruh

static zealot
#

xD

ocean quartz
#

Lmao

static zealot
#

read a bit lower

#

tho

#

he doesn't even know what your code looks like

#

lmao

#

so yeah you don't really have any chances :))))

#

@half harness u busy?

#

still working Ic

half harness
#

im converting my game theme into a nicer one

static zealot
#

๐Ÿ‘

cinder flare
#

๐Ÿ˜Œ

half harness
#

lol

cinder flare
half harness
#

what level am i?

#

doubt im good enough to get accepted ๐Ÿ˜” but how far am i?

static zealot
#

dkim wanna take a 2 games break? xD

half harness
#

uh

#

ok

wooden adder
#

What is the best way to Match materials that users input in configs between the new versions of mc and the older ones

#

I am using XMaterial right now but it doesnt seem to be working very well

cinder flare
#

You hit em with the

#

?materials

compact perchBOT
static zealot
#

isn't x materials suppose to handle all of that for u tho?

static zealot
#

I haven't used xmaterials before so idk

wooden adder
#

It is but it's weird

cinder flare
#

Nah it's called Bungee Admin Tools

wooden adder
#

I dont know if im not using it right but when a user inputs like ACACIA_LOG it still wont work

old wyvern
#

oh

wooden adder
#

they have to use LOG_2

#

and it gets confusing

ocean quartz
#

You set your api-version to 1.13 and then you use matchXMaterial that's all you need

wooden adder
#

Yeah I do that but then I encounter the issue I just mentioned

#

I just don't want to it be confusing for them

ocean quartz
#

And did you set the api version?

wooden adder
#

yeah ofc

#

They still have to use LOG_2 not ACACIA_LOG and it can be like that for many different blocks

#

can get confusing for them

static zealot
#

that shouldn't be the case tho

#

if the api version is 1.13

ocean quartz
#

I mean if they are on an older version if they type ACACIA_LOG it won't work, because that's not the name, the user needs to type the correct material name based on the version

half harness
#

@static zealot join

static zealot
#

done ๐Ÿ‘

half harness
#

ty

static zealot
#

omfg

half harness
#

?

static zealot
#

Linus spent $250k on alpaca wool

half harness
#

what

#

alpaca wool?

static zealot
#

did I spell it wrong?

half harness
#

no im surprised

static zealot
#

oh yeah. its the stock for 1 year of pillows

#

bcz the price is going up and their manufacturer wanted them to stock up on it

#

so I guess if you want to invest in something, invest in alpaca wool !? xD

timber oak
#

Does Math.round() not remove the decimals completely or will it still say for example 3.0 after rounding?

old wyvern
#

Math.round returns a long/int depending on the argument, so yea, you wont have the decimal place when converting it to string

timber oak
#

Hmmm

#

It's still there though

distant sun
#

toFixed(0)

timber oak
old wyvern
timber oak
#

toFixed() is not a thing

#

Atleast I cant find it

timber oak
old wyvern
#

No, I mean show the snippet where you print

timber oak
#

It's just confusing but sure

#

prRank is the one that got rounded

old wyvern
#

And the entire output string too please

timber oak
old wyvern
#

What type are you using for prRank

timber oak
old wyvern
#

...

static zealot
#

xD

old wyvern
#

Thats the issue

timber oak
#

Oh what

static zealot
#

even if Math#round returns an int it will get converted to a double xD

#

bcz your prRank is a double

old wyvern
#

You're using a floating point number

distant sun
#

or that java lol

timber oak
#

So ig I need to cast to int lol

old wyvern
#

No

#

You're already getting an int from Math.round

timber oak
#

I cannot multiply doubles with ints right?

static zealot
#

you can

old wyvern
timber oak
#

Oh my

static zealot
#

the output will be a double tho

timber oak
#

Then there's no reason for it to be a double...

static zealot
#

yes there is

timber oak
#

Oh okay

static zealot
#

bcz you declared it as a double ...

timber oak
#

Yesyes ik

#

But like I could've made it as an int then

#

In the code

static zealot
#

yeah. if you don't need it to be a double at all

#

you can

timber oak
#

That fixes it, also removes the .0

static zealot
#

well it doesn't remove it

#

bcz its not there at all

#

now

timber oak
#

Ah yeah true

static zealot
#

@half harness u afk?

half harness
#

no

static zealot
#

o

half harness
#

:)

timber oak
#

Is it possible to print something in bold to IntelliJ terminal?

distant sun
#

if a spigot plugin is run on a server with mods - idk how, just saying - is possible to let the user to use namespace key:material id to use either modded items or vanilla items?

boreal needle
#

how the hell did i manage that

half harness
#

โ“

#

what is tha tgraph

timber oak
#

Active servers with the plugin I think?

half harness
#

oh

timber oak
#

Not sure

boreal needle
#

yeah it is

#

its just off my bstats

timber oak
#

That's really good stats though

#

Well done

boreal needle
#

thanks :)

#

almost 100 servers

timber oak
#

What is the plugin

boreal needle
#

pronouns

#

its so niche that im honestly surprised i managed to do this well

#

i was expecting like 20 max

timber oak
#

Ohhh I see, great idea for a plugin

boreal needle
#

oh thanks

#

turns out there's a lot of lgbt+ servers that want this kind of stuff

timber oak
#

Yeah seems like it

static zealot
#

and probably some troll servers in there as well

boreal needle
#

probably

#

they bump the numbers up tho

#

i had some big factions server staff team come and troll in my support server once

prisma wave
#

when the contributors to society have something to say

#

society is a better place thanks to mediocre generic factions servers ๐Ÿ˜Œ

boreal needle
#

ok now i look its not even that big

#

still super immature of them

prisma wave
#

we do a little delinquency

cinder flare
forest pecan
#

Instant break up?

cinder flare
#

nah just kidding, i'm still an innocent boi

forest pecan
#

Yeah virgin better

cinder flare
#

well I never said that

forest pecan
#

๐Ÿ‘€

distant sun
ocean quartz
#

9 I think

#

Actually just checked, 10

distant sun
#

amazing

#

cant be used for fields? ๐Ÿ˜ฆ

quiet depot
#

var

#

never used it

#

probably never will

distant sun
#

sucks to be you

ocean quartz
distant sun
#

not bad

cinder flare
ocean quartz
#

Don't think so

cinder flare
#

ah yeah you right

#

man if only they did the kotlin way and allowed it everywhere

#

would really help java methinks

quaint isle
#

yo gaby that pikachu background looks super fire ๐Ÿ˜ณ

forest pecan
#

Whoโ€™s

quaint isle
#

scroll up a few messages ๐Ÿ”ฅ

steel heart
#

var is op

old wyvern
#

let is OP ๐Ÿ˜Œ

steel heart
#
void a() {
  var b = new c() {
    D d;
  };
  System.out.println(b.d);
}```![fingerguns](https://cdn.discordapp.com/emojis/730681133200834592.webp?size=128 "fingerguns")
quaint isle
#

Hey devs, do you know whether it's allowed to submit your Spigot plugin to multiple websites (spigotmc, mc-market, polymart etc.)?
Or is that against their TOS?

lunar cypress
#

against whose tos

quaint isle
#

well I especially care about spigot and mc market ๐Ÿ˜„

steel heart
#

No it sign

#

isnt

ocean quartz
steel heart
hallow crane
#

It's funny

#

When I was a coding noob, I used google sheets as my first RAT database

#

For logging connections and screenshots taken by it

cinder flare
#

@quiet depot the one time I try to use Stripe the person's credit union gets declined ๐Ÿฅฒ

quiet depot
#

what stripe feature

cinder flare
#

well i dunno i said pay however much you feel like it's worth and they tried signing up for stripe I guess and got rejected?

#

i dunno man i just sent them my paypal email lmao

#

also sorry did I wake you up lmao

obtuse gale
# ocean quartz Nah only local variables

I mean it only makes sense, if you end up doing var map = new LinkedHashMap<K, V>(); as a field, map won't be a Map<K, V> (i.e. any kind of Map regardless of impl), it will be only and exclusively LinkedHashMap<K, V>

#

SOLID go brrrrr

steel heart
#

Cast it fingerguns

obtuse gale
#

:kekw:

winter iron
#

If i extend an abstract class, there is nothing wrong with passing a value to its constructor too if it has one right?

ocean quartz
obtuse gale
#

indeed

obtuse gale
#

I mean

#

Yeah it's fine

winter iron
#

it feels weird

#

and wrong

#

๐Ÿ˜ฆ

ocean quartz
#

How so?

winter iron
#

idk

#

i guess its probs cause i don't normally do it

steel heart
#

I mean why is it abstract then

#

Feels like a leaky abstraction to some degree imo

#

Or at least a not powerful enough abstraction

winter iron
#

i have one method that is abstract but i also had properties that were abstract but I wanna move them to constructor since i dont want them to be publicy accessible

#

private setters

#

and public getters

ocean quartz
#

๐Ÿฅฒ

obtuse gale
#

Nerd talking about Development...

half harness
#

wat

steel heart
#

Sensei do what feels best for you ๐Ÿ˜Š

half harness
#

โ“

steel heart
#

SyntaxErrror404 dropping da roast

obtuse gale
#

I was hoping to be nerd like everyone here... But it's hard

steel heart
#

Hmm I believe in you

winter iron
#

no one here is a nerd

#

we are just intellectuals

steel heart
winter iron
obtuse gale
#

Look like some science labs here... Calculating something

#

Killed a chat, Very nice of me

steel heart
#

No

#

But srsly become a developer right now

#

Be like uscct

winter iron
#
class Smth(val uuid: UUID)

abstract class Smth2 {
    abstract val uuid: UUID
}

whats the differences between these really

#

expect the fact one is constructor invocation

#

is it that Smth2 must be extended?

steel heart
#

Yeah

#

Unnecessary abstraction also called leaky abstraction

#

I think at least

winter iron
#

so that would be a case of unnecessary

obtuse gale
steel heart
#

Yeah cuz in principle that can be achieved by just a normal data class/pojo

#

Creating powerful abstractions often means that we use polymorphism to its fullest

obtuse gale
cinder flare
winter iron
#
abstract class CountdownRunnable(timeToComplete: Long) : BukkitRunnable() {
    var timeToComplete = timeToComplete
        private set
    var finished = false
        private set

    override fun run() {
        if (timeToComplete <= 1) {
            finished = true

            onComplete()
            cancel()

            return
        }

        timeToComplete--
    }

    fun start(plugin: JavaPlugin) {
        runTaskTimer(plugin, 0L, 20L)
    }

    abstract fun onComplete()
}
``` something like this is fine right since `onComplete` would be different depending on use cases?
steel heart
#

I mean you could use a () -> Unit function type and pass that as a callback object

#

But thatโ€™s fine I guess

winter iron
#

that was my other option but I would prefer if it was extended anyways i think

#

it just seems more correct

steel heart
#

๐Ÿ‘

obtuse gale
winter iron
#

I guess it also means that my code is forced to be a bit more coherent

cinder flare
#

so why can't it figure that out hmm

obtuse gale
#

I mean that's what it does

cinder flare
#

java bad kotlin good

obtuse gale
#

So it makes it a LinkedHashMap

steel heart
#

Cohesion feels like a vague sense here SenseiJu

#

I mean people define what cohesion is quite differently

winter iron
#

ยฏ_(ใƒ„)_/ยฏ

steel heart
#

Anyways I have spoken (:

winter iron
#

I think ill stick with the abstraction, just seems it would be clearer if alot is happening inside that method rather than using a callback

#

appreciate the input

steel heart
#

Sure

#

The choice between the 2 designs can be a hard decision so I donโ€™t blame you

winter iron
#

I guess it comes down to preference

steel heart
#

Yeah in most cases probably

#

Eventually convenience comes in to play

old wyvern
#

Oh no...

#

css comes back with its annoyances again

#

but this time

#

in jfx

#

actually wait no

#

I guess this isnt a css issue

half harness
#

you can never escape fefo

cinder flare
#

hey so do you need kotlin to use gradle KTS

#

because I'm getting this error on my CI

#
AILURE: Build failed with an exception.

* Where:
Build file '/tmp/build/80754af9/bungeeadmintools-git/build.gradle.kts' line: 46

* What went wrong:
Script compilation error:

  Line 46:                         file.inputStream().use { translationFile -> translationFile.transferTo(zip) }
                                                                                               ^ Unresolved reference: transferTo

1 error

* 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.

* Get more help at https://help.gradle.org

BUILD FAILED in 50s```
#

but it works on my computer soooo

obtuse gale
#

./gradlew --version

cinder flare
#
... Running build
Downloading https://services.gradle.org/distributions/gradle-7.1-bin.zip
..........10%...........20%...........30%..........40%...........50%...........60%..........70%...........80%...........90%...........100%

Welcome to Gradle 7.1!

Here are the highlights of this release:
 - Faster incremental Java compilation
 - Easier source set configuration in the Kotlin DSL

For more details see https://docs.gradle.org/7.1/release-notes.html

Starting a Gradle Daemon (subsequent builds will be faster)

> Configure project :
e: /tmp/build/80754af9/bungeeadmintools-git/build.gradle.kts:46:85: Unresolved reference: transferTo
obtuse gale
#

The ci runs ./gradlew ... right?

cinder flare
#

yes

#

though I don't know what version of java it is

#

and doing java --version killed it lmao

#
 ... Running build
Unrecognized option: --version
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.```
obtuse gale
#

Hm

#

Lol

#

I think gradle 7 must run on Java 16

cinder flare
#

yeah well

#
      image_resource:
        name: ""
        source:
          repository: java
          tag: latest
        type: docker-image```
#

that's my config file

#

so uh, I don't even know where that comes from

obtuse gale
#

Lmao

cinder flare
#

like this is so poorly documented

#

i can't figure out where I find image resources

#

okay wait I think it might be from docker hub

old wyvern
#

You're probably on java 8

cinder flare
#

yeah well they shouldn't have called it latest then huh

old wyvern
#

Try java -version instead of java --version

cinder flare
#

well hold on I might've figured it out

#

I think it gets it from docker hub and I'm seeing what versions they have available

obtuse gale
#

"not-16-lmao"

cinder flare
#

seriously

#

inb4 "latest" equals 8

obtuse gale
#

Hahahha

#

Not even latest lts

cinder flare
#

awe yeah b oys

#

java 16 it is

#

also shoutout to Yugi for the java -version

old wyvern
#

๐Ÿ’ฏ

obtuse gale
#

Huh

#

Always been --version for me thonking

cinder flare
#

uh mkdir -f?

#

what the -f do

old wyvern
#

The --version one should exist from 9 and above

#

I gave the -version one in case it was 8

#

But welp ๐Ÿคท

obtuse gale
cinder flare
#

ahhh

#

okay now to figure out how to get it to output the built jar and have it for download

#

okay whelp

#

time to setup reposilite lmao

cinder flare
#

boys it's all coming together

cinder flare
#

i just had to erase everything certbot did and let it redo itself

cinder flare
#

now i just gotta figure out how to publish my builds with gradle

frail glade
#

maven-publish plugin.

cinder flare
#

even you have it commented out though!

frail glade
#

That's cause I was too lazy to properly only enable it for system variables.

#

And I don't do an API release every time I deploy an update to SpigotMC.

#

Only when I make API changes.

cinder flare
#

Hmm well, my CI doesn't provide build artifacts

#

So every change I make needs to be somewhere to download, right?

frail glade
#

Hmm?

cinder flare
#

Concourse CI

#

doesn't let you download build artifacts like the way Jenkins does

frail glade
#

Ahh yeah.

cinder flare
#

but I would like a convenient place to download any builds I make

frail glade
cinder flare
#

what

#

why would I do that

frail glade
#

So you could publish your builds somewhere?

cinder flare
#

I setup a Reposilite?

frail glade
#

I mean that's for a maven repository.

cinder flare
#

Also for downloading, right?

#

I mean, should I not use Concourse

frail glade
#

I have no idea what that is tbh.

cinder flare
#

I think their setup is very pretty and I like a lot about it but it doesn't provide build artifacts for some reason

frail glade
#

Build artifacts aren't necessarily maven artifacts.

#

Take LuckPerms for an example.

#

The API is separated from the actual project.

#

The API is deployed to a maven repo while you can download a copy of it on SpigotMC.

#

That's a bad example but hopefully the point got across.

half harness
cinder flare
#

But is there anything stopping me from just deploying every build to my reposilite and using it to download and stuff? like for dev builds in a different branch

frail glade
#

No not really.

cinder flare
#

okay cool

ocean quartz
#

@obtuse gale Actually looks nice this way ๐Ÿ˜ฎ

obtuse gale
#

yo i like that i like that

ocean quartz
#

Writing the processor for it now
scared of the parser ๐Ÿ˜ซ

obtuse gale
#

lol gl

quiet depot
#

@cinder flare thatโ€™s not how it works

#

u donโ€™t pay people using stripe

#

the buyers donโ€™t have a stripe account

#

they just use their credit card or bank or whatever

#

look into stripe checkout

cinder flare
rotund egret
obtuse gale
#

why deluxe menus not working is asking ''is that update ?''

#

its up to date downloaded form spigot site

obtuse gale
#

Anybody here familiar with context digrams and how I can fix this one up, unsure what the connection from User Data File -> Game should be , and Game -> Player, the idea of the game is somewhat similar to like snake or something, but basically once you win your high score is saved in a file, and is also retreived when nceessary

proven forge
#

where can I find how I can get the amount of items in a custom created inventory in place 1 example

prisma wave
#

Inventory#get(int)#getAmount ?

#

๐Ÿ˜Œ

proven forge
#

what does the int meaning

sly sonnet
#

slot

#

slot of the item in your inventory

proven forge
#

does this also work for a custom inventory?

sly sonnet
#

yes

prisma wave
#

Inventory is Inventory

proven forge
#

okey thanks ๐Ÿ™‚

cinder flare
rotund egret
#

Well, except for those times it isn't

cinder flare
#

sounds like docker but you pay amazon

distant sun
#

d;spigot material#getmaterial

ruby craterBOT
#
@Nullable
public static Material getMaterial(@NotNull String name)```
Description:

Attempts to get the Material with the given name.

This is a normal lookup, names must be the precise name they are given in the enum.

Returns:

Material if found, or null

Parameters:

name - Name of the material to get

cinder flare
#

maybe the mods override spigot's getmaterial to add their items to it

distant sun
#

That would be something tbh

cinder flare
#

or append to the material enum

distant sun
#

Only if spigot had a way to get the item by its key

old wyvern
distant sun
#

Interesting

cinder flare
#

alright so concourse looks pretty

#

but it does not fit my needs

#

is jenkinsx any good?

quiet depot
#

whatโ€™s jenkinsx

#

is it just normal jenkins but with an x

old wyvern
#

๐Ÿ˜Œ

cinder flare
#

apparently it's based on kubernetes instead of docker

#

and we're a docker household here so gotta find something new

#

specifically one that provides build artifacts to download ๐Ÿ˜ 

proven forge
#

how can I change the basic spigot unknowncommand message in code?

cinder flare
#

in the lang file

distant sun
#

spigot.yml

#

@cinder flare in code

cinder flare
#

ah yes, forgot spigot has no lang file

proven forge
#

but do you maybe have a source where i can find this?

cinder flare
#
messages:
  whitelist: You are not whitelisted on this server!
  unknown-command: Unknown command. Type "/help" for help.
  server-full: The server is full!
  outdated-client: Outdated client! Please use {0}
  outdated-server: Outdated server! I'm still on {0}
  restart: Server is restarting```
#

line 35 of spigot.yml bro

proven forge
#

yes I know but can i change this in code of my plugin instead of in the spigot.yml

cinder flare
#

uh, you can't

#

unless you do some weird modification of the spigot.yml file

proven forge
#

ah okey

cinder flare
#

bro wtf, why do none of the CI/CD systems besides Jenkins store the artifacts

quaint isle
#

Don't most of them do that? At least CircleCI and github actions are definitely capable of that ๐Ÿค”

cinder flare
#

Jenkins is the only self-hosted open source one that does it

#

all the others I've seen are docker-based, so they don't store state anywhere

#

so you gotta put artifacts in a repository or suttin which I am now okay with, the problem is passing my repository credentials

prisma wave
#

Just use environment variables

cinder flare
#

trust me I have tried

#

docker complicates things significantly

prisma wave
#

Just deploy the docker images ๐Ÿ˜Œ

distant sun
#

Is circleci any good?

cinder flare
#

i mean meh

#

i currently like concourse a lot for what it offers

#

go jenkins if you want the classic

#

oh that advice I just sent is for self-hosting

distant sun
#

I just want something for dev builds

cinder flare
#

i mean then yeah jenkins or circle ci or even github actions will be what you want for easy setup

distant sun
#

I already have github actions setup but for some reason the artifacts aren't available to everyone

tired pumice
cinder flare
#

i am going to commit bathtub toaster

#

i literally spawned 3 workers for this bad boy

tired pumice
#

Star

cinder flare
#

i stg

#

do not ask for help in non-support channels

#

that's the fastest way to get nobody to help you

static zealot
#

also you have to understand that we might not be familiar with some plugins. You have to wait for someone that is familiar with it

static zealot
#

well our knowledge won't just grow bcz you need urgent help... you can do the same thing we can. Go to their documentation and check.

rotund egret
#

@cinder flare
Tamcity does but it's a PITA to setup

boreal needle
#

tc is easy if you use docker

eternal compass
#

lol

#

@proven forge

distant sun
#

nobody uses that

sly sonnet
#

i didn't even know that thing exists

prisma wave
#

because ther s no reason to use it

#

Just send the messages yourself

sly sonnet
#

Yeah, i was doing that

#

I love freedom

eternal compass
rotund egret
boreal needle
#

could you not use a dns based challenge

rotund egret
#

Again, didnt know what I was doing

small walrus
#

What is the best bungee + servers hosting rn?

sly sonnet
#

Dedicated server + pterodactyl panel

#

or a vps if you have a small network

jovial warren
#

anyone here wanna gimme a hand designing Krypton's AI goal and pathfinding API?

native marsh
#

uhh can someone help me with a issue? I will dm you the video to show what's not working ๐Ÿ˜“

half harness
#

what issue?

native marsh
#

a compiler error I can't figure out

half harness
native marsh
#

ye no attachment perms

half harness
compact perchBOT
#
FAQ Answer:

You won't be able to upload images here directly to avoid spam, so please use https://imgur.com/ to upload images/screenshots.
You can also use a screenshot service like gyazo or jinx and post those links here.

forest pecan
#

very funny

#

who likes desinging an ai api anyways

static zealot
#

@half harness I summon you

static zealot
#

you're to busy for me nowadays. smh. dkim I want to break up with you now

sly sonnet
#

sheeeesh

half harness
#

o

white arrow
#

Just curious how do I setup a cog and name it using python and discord.py

cinder flare
white arrow
#

Oh oops

#

I didnt realize

static zealot
#

Yo how do I get the java 16 image on ptero?
I've tried docker pull quay.io/parkervcp/pterodactyl-images:debian_openjdk-16 and it said it pulled but I can't select it in my panel. Do I need to restart the wings or something?

ocean quartz
#

It should be provided by default on latest update no?

rotund egret
#

Pretty sure any time you add anything you need to restart wings

static zealot
#

ugh I am on the latest rn but its not there

#

I Just updated

#

already restarted since I Updated after I downloaded

#

but yeah

#

it still doesn't show up

sly sonnet
#

try restarting panel

#

might be some glitch

static zealot
#

is that just systemctl restart panel ?

sly sonnet
#

i don't really remember, but you could try nginx

#

panel should be it

static zealot
# sly sonnet panel should be it

you can't restart panel. you'd have to restart the webserver. I had to go into settings > nests > Minecraft Nest > Paper Egg and add the version there

#

seems to work

sly sonnet
#

ahh, ok. Haven' t really used it in a while

static zealot
#

asked in ptero discord btw xD

#

I Forgot ... that's a thing

#

even tho I saw the download command

#

there

#

so yeah

#

that's me

obtuse gale
#

okay this whole "Duplicate lines" warning is complete bullshit

#

what the fuck

#

????????????

dense dew
#

xd

prisma wave
#

xdd*

half harness
#

xddd*

sly sonnet
#

xdddd*

errant geyser
#

Anyone got a decent way to copy everything important from a VPS

#

Going through it all manually with SFTP is going to suck

cinder flare
#

Zip, download, upload, unzip?

errant geyser
#

Yeah dw I'm just an idiot

#

I realised I have very little data I care about on it

cinder flare
#

haha

#

see that's the best part of docker

#

i can just delete entire services if I feel like it and remake them instantly

#

very convenient

errant geyser
#

Yeah well I'm like, moving actual VPSs

prisma wave
cinder flare
#

tar and gzip

prisma wave
#

i saw some other algorithm a while ago that was supposed to be better than both combined

#

cant remember what it was called now

#

i think some facebook researcher made it

ocean quartz
#

rar :kek:

lunar cypress
#

My 11th grade computer science teacher wasn't great at explaining nor an expert on a lot of the things he was teaching, but one thing he did right was scolding me for handing in a .rar file for an assignment

prisma wave
#

lmao

cinder flare
#

poor winrar

lunar cypress
#

he got real mad and I will remember that

prisma wave
#

winrar deserves it

obtuse gale
#

lmao

ocean quartz
#

Got scolded for handing in a rar as well lmao

cinder flare
#

winrar has a nostalgia factor, similar to the 80s

prisma wave
#

downloading virus minecraft mods for 1.7.10 ๐Ÿ˜Œ

#

the good old days

#

trying to figure out why i couldnt run modpacks on my 2gb ram pc

cinder flare
#

no dude, it's installing mods by opening minecraft.jar and putting the class files in manually

prisma wave
#

hjfwoijfwoijfwf

#

OOOO

#

"ok so go to percent appdata percent"

cinder flare
#

back in the days of Better Than Wolves and TMI

lunar cypress
#

Downloading mods and your PC suddenly getting slow

cinder flare
lunar cypress
#

And next time you open your browser it's so colourful

prisma wave
#

๐Ÿ˜Œ

lunar cypress
#

The yahoo menu bar and everything

prisma wave
#

ahahaahahah

cinder flare
#

11 hours

#

how many workers do i fucking need

lunar cypress
#

The workers are on strike

cinder flare
#

I have 3 workers!

prisma wave
cinder flare
#

and if anything, the one that just did the gradle should be doing this one

lunar cypress
#

They demand better star

cinder flare
#

damn

#

stupid unions

prisma wave
#

not based

cinder flare
#

i am this close to installing jenkins

#

maybe they have some documentation

prisma wave
#

some of the haskell unsafe stuff is so weird

#

there's an entire module called GHC.Magic

cinder flare
#

sounds like a fancy version of sun.misc.unsafe

prisma wave
#

yeah pretty much

#

there's System.IO.Unsafe too which is very similar

obtuse gale
#

that looks like a c# namespace lol

prisma wave
#

and Unsafe.Coerce which allows you to do type coercion like casting c pointers ๐Ÿฅด

cinder flare
obtuse gale
#

๐Ÿ˜”

cinder flare
#

types can be anything I want

prisma wave
#

yeah exactly the same idea

#

incredibly evil

#

oh that's kinda cool

cinder flare
#

oooh .toCharArray and all that

prisma wave
#

yea

#

ooh you can crash it by coercing a string to an arbitary length integer

#

oh no

#

90% cpu usage

#

help

cinder flare
#

when they said unsafe, they meant unsafe for your life, not unsafe for the language's safety features

prisma wave
#

presumably both

#

coercing things to functions causes a segfault

#

this is weird

#

returns something different every time

#

i guess that's a pointer or something?

cinder flare
#

probably a memory address yea

#

dude segfaults in Haskell

#

now that is something I never thought i'd see

prisma wave
#

๐Ÿ˜Œ

#

funnily enough the "unsafe" packages are very good at segfaulting things

#

you can crash the jvm in like 2 lines as well

cinder flare
#

with great power comes great responsibility

prisma wave
#

now this is odd

#

coercing lambdas always returns 256

#

whereas converting a named function seems to return the memory address again

outer yarrow
#

@obtuse gale Can you accept me? Have to talk with you ๐Ÿ˜ฆ

winter iron
cinder flare
#

what it do

half harness
#

:)

#

uh oh

#

i spy a !!

#

โ€ผ๏ธ

ocean quartz
#

๐Ÿ‘€

half harness
#

๐Ÿ‘€ ๐Ÿ‘€

#

first time i've seen this

#

uhhhhhhhhh

onyx loom
#

a kotlin library throwing NPE instead of KNPE ๐Ÿ˜Œ

ocean quartz
#

Evil

forest pecan
#

โ€˜throw new ArrayIndexOutOfBoundsExceptionโ€™

winter iron
forest pecan
#

Also why underscore in package name tho lol

half harness
#

should be throwing IllegalArgumentException or something like that

winter iron
#

i didnt know what else to put

#

๐Ÿ˜ฆ

half harness
#

datastoragestorage

ocean quartz
#

I'd just call it storage

half harness
#

ยฏ_(ใƒ„)_/ยฏ

winter iron
#

๐Ÿคฆโ€โ™‚๏ธ

#

ofc

#

lmao

onyx loom
#

oh yeah that package name was questionable

winter iron
#

i must be high

onyx loom
#

also could avoid having to use !! in the CooldownManager class, i believe it was the isOnCooldown function

forest pecan
#

He just likes factorial

#

Donโ€™t question him

half harness
#

oh btw sorry for da bully, but don't commit .idea folder, or add ```

User-specific stuff:

.idea/workspace.xml
.idea/tasks.xml
.idea/dictionaries
.idea/vcs.xml
.idea/jsLibraryMappings.xml

Sensitive or high-churn files:

.idea/dataSources.ids
.idea/dataSources.xml
.idea/dataSources.local.xml
.idea/sqlDataSources.xml
.idea/dynamic.xml
.idea/uiDesigner.xml

Gradle:

.idea/gradle.xml
.idea/libraries

Mongo Explorer plugin:

.idea/mongoSettings.xml

File-based project format:

*.iws

onyx loom
#

ik it wouldnt ever get to that point, but better to stay away from all evil ๐Ÿ™‚

half harness
#

instead of !!

#

? = run only if not null

winter iron
#

i do the containskey