#dev-general

1 messages ยท Page 82 of 1

distant sun
#

trying to figure out delayed actions first

hot hull
#

I'm on this version, any never or? 1.0.4

signal tinsel
#

@onyx loom HEY! WHY YOU STEAL MY LINE!!!!

onyx loom
#

oop

signal tinsel
#

Gaby shouldn't be too difficult

distant sun
#

idk atm

#

too busy xd

signal tinsel
#

DAMNIT KYLE

#

Wait ur no Kyle

#

Still same south park ref lmao

#

Lmao "major updates"

#
  1. That's not true
  2. Amazong commit names
signal tinsel
#

Does anyone wanna do javadoc for me?

#

I really cba

frigid badge
#

@signal tinsel that would require it to become an actual plugin

#

instead of it being a library you shade in

signal tinsel
#

No right

#

If its something static

#

Idfk

frigid badge
#

you have no idea what you are saying

signal tinsel
#

I know how it works in my head

#

I just cna't explain lmao

frigid badge
#

if you can't explain it you don't know how it works

heady birch
#

Just add the comments onto methods and the javadoc plugin generates it

signal tinsel
#

Tru but that's the part I cba doing

#

Add the comments

#

Bcuz effort

hot hull
#

@twin scarab A friend of mine does, without "issues"

ocean quartz
#

So let me see if i understand, more big servers use paper, the bigger the server the worse is the performance, therefore paper has worse performance than spigot
That's some next level correlation here

signal tinsel
#

Lmao

prisma wave
#

that makes perfect sense

#

as we all know, correlation equals causation

hot hull
#

Anyhow as I was saying, eViDeNcE

old wyvern
#

xD

hot hull
#

@topaz bay we're gonna have to wait a bit till he can do that :kek:

topaz bay
#

@hot hull ?

hot hull
#

He got a mute

topaz bay
#

He already answered me?

ocean quartz
#

@storm latch I'm using Kotlin
I'll figure it, ty though ;p

warm hazel
#

Hello, can i create like with PAPI? I mean by creating a plugin for cars using papi?

prisma wave
#

uh

#

you want to make cars with papi?

warm hazel
#

Ye

heady birch
#

Well I mean it's possible

prisma wave
#

you want to make cars with PlaceholderAPI?

warm hazel
#

No

#

Making a custom plugin with PlaceHolderAPI

prisma wave
#

oh

#

yeah that's easy

warm hazel
#

but whats the placeholder for pressing keys

#

or thingy

prisma wave
#

i'm not sure there is one

old wyvern
#

@ocean quartz
Found a bug with the cmd lib. The commands are not unregistered when the plugin gets unloaded.

ocean quartz
#

You sure they are not unregistering and not just still showing on tab complete?
Because i could not find a way to remove it from tab complete once it was there

old wyvern
#

Yup they are not unregistering

#

Maybe the Listener is unregistered before PluginDisableEvent?

hot hull
#

What is you using to unregister the plugin?

old wyvern
#

I noticed it while using bile auto drop load but seems to be the same when using plugman

ocean quartz
#

I'll take a look at it
Though how is the plugin getting disabled?
If you're disabling it on enable because of dependency and stuff, i suggest doing the check before registering the commands
And if it's plugman then "ugh" xD

hot hull
#

ew

old wyvern
#

And if it's plugman then "ugh" xDxD I cant restart everytime to test

#

I just let it autoreload on build with bile

#

Plus, many users use plugman anyway

signal tinsel
#

Anyone using github actions?

hot hull
#

@old wyvern Still doodoo

old wyvern
#

wha?

#

doo doo?

#

@hot hull I did not understand

onyx loom
#

IT MEANS SHIT

old wyvern
#

doodoo means shit?

onyx loom
#

oui

old wyvern
#

What was that towards? using plugman?

onyx loom
#

oui

old wyvern
#

welp

prisma wave
#

Plugman sucks

old wyvern
#

I cant force all users to not use it sadly

#

xD

prisma wave
#

The thing is plugman is fine in theory it's just very few plugins actually use onDisable properly

#

So you get chaos

old wyvern
#

xD true

heady birch
#

Im guilty

old wyvern
#

bring in the guillotine

prisma wave
#

Off with his head

hot hull
#

Off with all y'all's heads

rotund egret
#

Let them eat cake

ocean quartz
#

@obtuse gale Fixed the array argument on version 1.1.5-BETA

steel heart
#

The thing is plugman is fine in theory it's just very few plugins actually use onDisable properly

public void onDisable() {
  onEnable();
}```
#

afaik this should stup the vandalism

obtuse gale
#

oh dear god

#

what have you done

old wyvern
#

Lets go one step further for the overflow ๐Ÿ—ฝ

public void onDisable() {
  onEnable();
}
public void onEnable(){
  onDisable();
}```
#

Brister AlttenAlten

obtuse gale
#
@Override
public void onLoad() {
  if(isEnabled()) {
    onDisable();
  } else {
    onEnable();
  }
}
@Override
public void onEnable() {
  onDisable();
}

@Override
public void onDisable() {
  onLoad();
}```
#

how's that

#

and yes I should change it

old wyvern
#

oh god xD

lunar cypress
#
void destruction() {
  try {
    destruction();
  } finally {
    destruction();
  }
}
```still one of my personal favourites
#

fair warning this might take a while if you run it

old wyvern
#

a while?

lunar cypress
#

last time I tried it it took my JVM 12-ish minutes to crash I think

old wyvern
#

xD

lunar cypress
#

what's really funny about it is that it can't be cancelled if you run it in some thread or sth

ocean quartz
#

This takes me to recursive programming in school and how much i hated it

lunar cypress
#

I mean... this is not a very useful example of recursion

heady birch
#

This takes me to recursive programming in school and how much i hated it

ocean quartz
#

What Niall? xD
And yeah i know was just saying it made me remember the school times

lunar cypress
#

niall was trying to make a recursion joke, but failed

heady birch
#

Lol

ocean quartz
#

Oh xD

lunar cypress
#

I really like recursion

#

It's often a lot more expressive than loops

#

and far simpler in many cases

ocean quartz
#

I agree with you in that yeah
Though we had to do full exercises where everything needed to be recursive and it was awful

old wyvern
#

I had a 1 day workshop for that. The instructor just defined recursion and gave us problems

#

๐Ÿ’€

lunar cypress
#

well, the language I'm currently using doesn't even have loops to begin with

#

you get used to it

old wyvern
#

And half an hour later he conducted a competition on hackerrank for the same

ocean quartz
#

We did it in C

old wyvern
#

๐Ÿ’€

lunar cypress
#

oh lord

ocean quartz
#

Yup

lunar cypress
#

that sucks I agree

old wyvern
#

We did it in CSame but I asked the dude If I can use Java and he said yes so welp xD

lunar cypress
#

I thought that it'd be a good idea to choose algorithms and data structures for my final oral exam in a few days

#

So I suppose I'll have to get into some of the stuff in java again as well

hot hull
#

@old wyvern I'm loving these NPEs from Silkspawners, cause the spawner isn't being broken by a player, iMaGiNe A pLuGiN aCtUaLlY hAvInG nUlL cHeCkS

steel heart
#

who has nullchecks lol

hot hull
#

i Do

steel heart
#

noob

hot hull
#

Not even sure how to even retrieve the type of the broken spawner once I handle the checks..

steel heart
#

whats their current code

old wyvern
#

nUlLKolin Gang has joined the chat

prisma wave
#

๐Ÿ˜Ž

#

imagine having null

old wyvern
#

Im surprised someone didnt bring that up this time tho

#

ok nvm

#

celebrated too soon

#

xD

ocean quartz
old wyvern
steel heart
#

lol

old wyvern
steel heart
#

lol

ocean quartz
#

Hank you vor the rang

old wyvern
#

I have no idea xD

hot hull
#

No but I seriously have no idea how to even go about handling this properly

old wyvern
#

is SilkSpawners supposed to handle explode events?

#

How is it getting to SS?

hot hull
#

It's calling SpawnerBreakEvent

#

But it's throwing an npe cause they don't know the concept of a null check

old wyvern
#

ah

#

Wait you are calling it?

hot hull
#

No

#

It's getting triggered since the explosion is breaking the spawner

old wyvern
#

um

#

BlockBreakEvent isnt triggered for explosions

hot hull
#

BlockExplodeEvent

old wyvern
#

No explosion ahndling

hot hull
#

4head

old wyvern
#

wha?

hot hull
#

I'm listening to blockexplodevent, it just so happens to be that when a spawner is broken by an explosion, it throws an npe

steel heart
#

lol

hot hull
#

From ss spawnerbreakevent

steel heart
#

thats pog

old wyvern
#

weird

#

can i see the stacktrace @hot hull ?

lunar cypress
hot hull
#

Not on pc anymore

old wyvern
#

ah rip

prisma wave
#

@lunar cypress lmao

hot hull
#

I'll show you tommorrow

prisma wave
#

that's brilliant

old wyvern
#

Alrighty

#

ciao gonna go have dinner

lunar cypress
#

yeah I love this meme template

#

it's so simple and dumb but really funny for some reason

hot hull
#

It was the quarantine man, it fucked your humour

lunar cypress
#

I'm afraid that is true

prisma wave
#

@topaz bay I am learning go

#

Give tips

#

What is are & and * pointers

topaz bay
#

Go only has 1 type of pointer @prisma wave

#

those symbols represent the operation youre doing

prisma wave
#

Is the * like Kotlin's!

topaz bay
#

* is how you declare that it is a pointer and not just the type

prisma wave
#

Oh

topaz bay
#

& is how you create a pointer

prisma wave
#

Ah so similar to c++

#

kinda

topaz bay
#

Maybe, havent used it

prisma wave
#

I think it's the same

old wyvern
#

Yup

prisma wave
#

Why not just pass the value?

topaz bay
#
type Human struct {
  Name string
}

func GetPointer() *Human { // returns a pointer to a human
  return &Human { 
    Name: "Sxtanna"
  }
}
prisma wave
#

Is it some low level string thing

topaz bay
#

You arent

#

The * is also how you dereference

prisma wave
#

oh

topaz bay
#

aka, get the value of the pointer

prisma wave
#

ah I see

old wyvern
#

& gets mem loc

  • gets value at mem loc
prisma wave
#

So flag.String returns a String*

#

*String

topaz bay
#

yes

prisma wave
#

interesting

topaz bay
#

And the value at that pointer is assigned with the parse method

prisma wave
#

Oh that's kinda weird

#

So if I didn't call Parse() the pointer would point to nothing?

topaz bay
#

Yes

prisma wave
#

That seems odd

topaz bay
#

Seems perfectly logical to me?

prisma wave
#

Why wouldn't flag.String initialize it?

topaz bay
#

How does that seem logical to you?

prisma wave
#

Oh

#

Actually I think I get it

topaz bay
#

Youre defining what the flag is

prisma wave
#

Yeah because it's not just 1 string

#

It has to be parsed

#

I see

#

That's actually pretty cool

#

So it's kind of like lazy initialisation

#

But cleverer

errant geyser
#

4head ive been meaning to ask you for a while, how do you get those special symboly things for not equals and stuff?

topaz bay
#

font ligatures

prisma wave
#

A font

#

Jetbrains mono & Fira Code have them, probably a few others

quiet depot
#

fira code

topaz bay
#

cascadia code has them too

frail glade
#

What are you making?

errant geyser
#

Which is best? I'm guessing that's very subjective but still

topaz bay
#

fira code

prisma wave
#

I'd say JB mono

topaz bay
#

I use fira in the editor, and jetbrains mono for the ide

prisma wave
#

It's really personal preference

errant geyser
#

Ok, thanks guys

topaz bay
#

@frail glade was that to me?

frail glade
#

Si

topaz bay
#

Im making many things right now

prisma wave
#

Aren't we all

topaz bay
#

If youre asking about the picture, thats golangmc

frail glade
#

Ahh

#

Kinda cute

prisma wave
#

go is kinda confusing but at the same time clever

topaz bay
#

Go is extremely simple

#

How dare you.

prisma wave
#

Idk

frail glade
#

Meanwhile I've been sitting here looking at the same error for 10 minutes. I think it's time for bed or something.

prisma wave
#

I'm still not sure why flag.Int couldn't do the parsing then and there

#

Probably being very dumb but oh well

topaz bay
#

Question

#

Have you used a flag parsing lib in Java?

#

Because this is almost EXACTLY how every flag parsing library works

prisma wave
#

As in for a command line?

topaz bay
#

Huh?

frail glade
#

Was doing with testing with ORM earlier and I sat there trying to fix this error for a solid 20 minutes and then I realized I was testing with Java and not Kotlin and it was requiring getters that I assumed had been generated.

prisma wave
#

what exactly is a "flag" in this case

topaz bay
#

program arguments

prisma wave
#

@frail glade F

#

yeah so a command line

topaz bay
#

like -nogui for paper

prisma wave
#

RIGHT

#

I get it now lol

topaz bay
prisma wave
#

So you could override the flags

#

I see

#

That went completely over my head lmao

topaz bay
#

This is from commons cli

prisma wave
#

I see

frail glade
#

Mfw face when fw when my interface doesn't initialize.

#

Smh my head mh head.

prisma wave
#

are you ok

frail glade
#

Not really

#

I just want this stupid choosable thing to work

pale shell
#

Have you asked it politely to work?

frail glade
#

Mhmm

pale shell
#

Have you cursed at it yet?

#

Sx is here, I run

topaz bay
#

One of my favourite things to do is eat foods that Im allergic to, just to be reminded of my mortality

frail glade
#

I have no cursed at it yet.

prisma wave
#

that's... Very...

frail glade
#

Maybe I just need Sxtanna to yell at me so I get my shit together.

prisma wave
#

existential

pale shell
#

I don't think Sx has yelled at me yet

topaz bay
#

I mean, theres nothing like having your throat swell nearly shut

#

But allowing JUST enough air in

remote goblet
#

Okay sx

topaz bay
#

NOT TOO MUCH

remote goblet
#

ima need your help

topaz bay
#

wtf

#

why

pale shell
#

Ori I'll help instead I'm the new sx

topaz bay
#

Don't you ever fucking disrespect me like that

remote goblet
topaz bay
#

...

pale shell
#

How did I disrespect you???

#

Isn't it a honor to be as smart as me??

topaz bay
#

@remote goblet method references

#

Oh... eh nvm you use the current context

#

Why are you doing it like this?

#

Instead of using a composable builder?

frail glade
#

Okay here's my theory, in my abstractd interface I add a function for the name of the backend and then I do some enum thingy mc jiggy and then from there I can get the backend for the interface

errant geyser
#

Are you feeling ok?

topaz bay
#

Why not like... just make a normal enum...

frail glade
#

Well, when you initialize it, how do you have it choose which one?

#

Chooooooooser

topaz bay
#

You get the enum constant that matches the name of whats in the config

#

guice injection of the database

remote goblet
#

Okay sx

topaz bay
#

would also pull the config details from that plugin's config too

#

Kinda fire

remote goblet
#

i have some garbage EventWaiter class

topaz bay
#

ngl

remote goblet
#

ideally i need to make it so there's no arrow code

#

or as little arrow code as possible

topaz bay
#

then use a builder

remote goblet
#

how tho

topaz bay
#

Like task chain

#

also, this is truly horrendous

prisma wave
#

@remote goblet no Liskov reee

#

Did you write that?

topaz bay
#

Whered you get this?

remote goblet
#

I didn't

#

that's from JDA

#

JDA Utilities*

#

its legit garbage code

topaz bay
#

I dont understand why this..

#

why?

prisma wave
#

what

remote goblet
#

Neither do i, its so bad

topaz bay
#

Its literally the same thing?

prisma wave
#

lmao

topaz bay
#

just one return difference

prisma wave
#

what is going on

remote goblet
topaz bay
#

stupidity

frail glade
#

Okay but I'm not using guice for it. So in this case wouldn't the enum just go inside the interface and then have a method to get the name and then match it to the config?

topaz bay
#

jesus fucking CHRIST

#

WHAT IN THE HELL

remote goblet
#

Ex fucking actly

#

that is the recommended command handler for JDA

frail glade
#

Why not use Matts?

remote goblet
#

it's not done?

#

and i made my own anyway

#

so kekW

#

i created the exact same thing with 23 less class files

errant geyser
#

I thought Matt's was in pre beta or something still

remote goblet
#

it is

topaz bay
#

ugh... annotations

remote goblet
#

my command handler is in the exact same design but just

#

not as horribly coded

errant geyser
#

๐Ÿ˜ฌ

#

Shots fired

frail glade
#

Oh I have to make a new instance of it, duh.

brave ember
#

Hey so Iโ€™m not a developer, but I am instead looking for 1 or 2. Anyone?

frail glade
brave ember
#

Ah thank you ๐Ÿ™

frail glade
#

Rip nvm that's not working since I require parameter stuff

ocean quartz
topaz bay
#

@ocean quartz This is clearly bullying

frail glade
#

It's quiet

#

Yeah it is, isn't itM

topaz bay
#

@frail glade Im watching avatar

#

smile

frail glade
#

On Netflix?

topaz bay
#

yes

#

The aspect ratio kinda bugs me though

frail glade
#

It is kinda older.

topaz bay
#

2005

frail glade
#

Mhmm.

#

I'm watching Royal Paines

topaz bay
#

The x files from 1993 is even widescreen

#

lmfao

frail glade
#

Are you going to go onto Project Korra next?

topaz bay
#

is it on netflix?

frail glade
#

I'm not sure.

topaz bay
#

oh wait...

#

I actually have that

frail glade
#

I figured you would.

topaz bay
frail glade
#

Yup

topaz bay
#

Theyre actually not bad

#

720

frail glade
#

Yeah

#

My show was on Netflix but it got removed 5 days ago.

#

I was so confused as to where it went at first.

topaz bay
#

Please explain to me why I have 9 seasons of the x files

#

Make it make sense

frail glade
#

I don't know if I've ever seen that.

topaz bay
#

WHAT!!!!

#

Please tell me you at least know the theme

#

Even if you dont know x files, you probably know the theme

frail glade
#

Yeah I have.

#

I used to watch Forensic Files.

topaz bay
#

HOW CAN YOU NOT KNOW THESE ICONS

frail glade
#

There's a fly in my room. I'm upset.

topaz bay
#

You wanna guess what this is?

frail glade
#

There's no windows on the floor I'm on.

topaz bay
#

One chance

frail glade
#

I have no idea because idk what you watch

topaz bay
#

THINK ABOUT IT

#

Oh nvm, fuck it.

#

Its game of thrones

#

Without the 8th season, cause fuck that season

frail glade
#

I never watched that.

topaz bay
#

WHAT

frail glade
#

I watched The Witcher though.

#

And I'm watching WestWorld.

topaz bay
#

I fucking love west world

frail glade
#

I'm only on S1 tho

topaz bay
#

Bring yourself back online...

#

My alt mc account is using a Dolores skin

frail glade
#

Oh yeah?

topaz bay
#

Well it was, until one of my hoes changed it to a Genji skin

#

I have a 4k bluray box set of westworld

frail glade
#

Ooo

#

I think mine is only 1080p

frail glade
#

Damn

topaz bay
#

kinda sick

#

kinda fire

#

One of my top 5 shows

frail glade
#

What are your other 4

topaz bay
#

In no particular order, steven universe, game of thrones, american horror story, and once upon a time

#

Oh you know what, Im actually completely fine with that order

#

That order seems about right

#

but west world would be before once upon a time

frail glade
#

I used to watch OUAT

topaz bay
#

I fucking love that show

frail glade
#

I think I got through S1 or S2

#

Idk where it's at now

#

Oh the show ended

topaz bay
#

why is sokka legit high in this episode

frail glade
#

Is this on Netflix or something?

topaz bay
#

yes, its avatar

frail glade
#

No

topaz bay
#

S2E11

frail glade
#

OUAT

topaz bay
#

Oh

#

Yeah, it is

frail glade
#

I've got 6 minutes left in my episode

#

I'll check it out

#

Might have to start over

topaz bay
#

LOL

#

Good luck

#

Also, if you havent seen Sense8 thats another BOMB ass show you should watch

#

A huge shame they cancelled it

frail glade
#

I saw a few

topaz bay
#

Its fucking iconic

frail glade
#

It was interesting

topaz bay
#

the fight scenes!!!!

#

UGH

#

Actual cinematic masterpieces

frail glade
#

Hehe

topaz bay
#

The big boy scenes were kinda fire too

#

๐Ÿ‘€

frail glade
#

S1E1 here we go

topaz bay
#

OUAT?

frail glade
#

Ya

topaz bay
#

yuuuuhhhhhh get into ittttt

frail glade
#

I think this guy was familiar

#

He's also in Manifest

topaz bay
#

Josh Dallas could literally push me down a flight of stairs

#

And I'd be happy

frail glade
#

Weird flex, but okay.

#

I can't send this picture. It's being marked as explicit.

topaz bay
#

LOL

#

dm?

old wyvern
#

Hmm guys, is Java web apps worth it? If so any idea where should I start?

remote goblet
#

java sucks

#

do skript

old wyvern
#

Bruh

#

Srsly tho

#

Is it comparatively ok?

#

?

prisma wave
#

By web apps do you mean like a PWA?

old wyvern
#

Yea

#

I think?

#

Can you explain what Progressive Web App is?

prisma wave
#

Seems like it could be worth a try

#

Progressive web app is a website that can work offline as well

#

With a few extra features

#

You can add it as an "app" on mobile and things

old wyvern
#

O.o

#

Can you link me any resources I can use to get started?

prisma wave
#

There's a framework for Java PWAs, vaadin iirc

#

that might be worth a try

#

Spotify is a PWA for example

#

So you can run it inside chrome as a standalone app rather than downloading a native binary

#

It's kinda like electron

old wyvern
#

O.o nice. Imma have a look at vaadin

lunar cypress
#

Java's main usage today is web apps I'd say

#

as everything else, really

frail glade
#

False. It's minecraft. Get it right.

#

And my printer

distant sun
#

^

frail glade
#

How's everyone doing today

heady birch
#

3 billion devices run java ๐Ÿ˜„

distant sun
#

I swear that number haven't change in years

lunar cypress
#

lemme just set up my website with this cool new feature called "applets"

heady birch
#

๐Ÿ˜ญ

#

Applets

frail glade
#

๐ŸŽ

distant sun
#

How's everyone doing today
@frail glade h o m e w o r k s

#

hby? ๐Ÿ˜‚

frail glade
#

Just went for a run. Going to work on some stuff for EssX today.

ocean quartz
#

Oh boy Denizens breaking my plugin for other people again wonderful start of the day
Why tf does it change NPC ids..

obtuse gale
#

Lol

#

Good old Denizen

prisma wave
#

it doesn't run the thing

hot hull
#

It went

topaz bay
#

?

prisma wave
#

go modules

#

doesn't actually run the program

#

it just builds it or something

zealous wharf
#

Waffle king

#

Itโ€™s officially been 24hrs of when I paid

#

Does it say anything?

hot hull
#

=check @zealous wharf

compact perchBOT
#
No Spigot Account Linked!

Seems they don't have an account linked?

zealous wharf
#

ffs

hot hull
#

Oh wait, I'm stupid

#

Still not showing up on spigot?

zealous wharf
#

Yes

#

Itโ€™s been 24hrs

#

Can someone like refund me

#

Or something

#

@frail glade

hot hull
#

I'm confused rn

zealous wharf
#

I bought the plugin

#

Then It said

old wyvern
#

wait for him to reply phoenix

hot hull
#

And you have to wait for paypal to process the payment..

prisma wave
#

also

zealous wharf
#

It was supposed to be 24 hrs

hot hull
#

It's paypal..

frail glade
#

It's been 23 hours.

#

If they don't release it by the time I have dinner tonight, I'll contact them.

#

I can't refund money I never got.

hot hull
#

Time to buy a lambo, make sure the bank is processing, and refund >:)

frail glade
#

Lol. I wish.

errant geyser
#

So i need you guys' opinion on this. A plugin I've been comissioned to update uses MCCORE: https://github.com/Eniripsa96/MCCore, but like, the last commit was 2 years ago so I assume there will be bugs and a lot of issues with using it on 1.15.2. Is it worth trying to use it or do I just skip it and convert all the methods the plugin uses from it into a utils class by using the Javadocs to find out what they do?

frail glade
#

@zealous wharf I think it just cleared.

zealous wharf
#

No way

#

Finnaly

#

Waffle king

#

Can you verify me please?

#

@frail glade

frail glade
#

You can run the command yourself in #bot-commands

#

=spigot check

#

You need to link first.

old wyvern
prisma wave
#

@errant geyser depends on 2 things:
how much is being used
how long conversion will take.

Try and use it in 1.15, adjust for any compile-time errors. If you get any runtime errors and it's not a large amount of code being used then I'd move away from it. The GitHub page looks awful so you're probably not missing much

errant geyser
#

alright cheers

#

Now I just have to upload it to the repo kekw

#

And they removed their pom/build file so now I gotta hope it all builds with just the Spigot dependency

#

:omegaYikes:

ocean quartz
#

Thoughts on this?
To dynamically register commands

final CommandBuilder commandBuilder =
        new CommandBuilder()
                .setPrefix("?")
                .setCommand("test")
                .setExecutor((args, message) -> {
                    // Handling the command here
                })
                .setRequirement("#admin-up")
                .setParamLimits(0, 2)
                .autoDelete();

commandManager.register(commandBuilder.build());
old wyvern
#

Lovely

prisma wave
#

pretty nice

#

although tbh I'm not sure why you'd want that

ocean quartz
#

Thought about it because Gaby suggested I do a faq command like we have here, so let's say I do ?faq create newfaq, you can't make a new command with the annotations this way, but it'd be handy and easy with the builder

#

A command to create commands

onyx loom
prisma wave
#

send code

onyx loom
#

i got the jdk and kotlin lib already thonking

#

its literally just

#

main
printIn

#

fun main() {
printIn("Hello world")
}

prisma wave
#

hm

#

how have you setup intellij

#

u better be using gradle

onyx loom
#

idfk

#

do i need to do that rn

#

i was just following the getting started tutorial on kotlin website

hot hull
#

@onyx loom Don't start with kotlin

prisma wave
#

nah it shouldn't be necessary although it's a good idea

onyx loom
#

no u

prisma wave
#

@hot hull shush you

onyx loom
#

YEAH SHUSH

ocean quartz
#

Frosty, at the end you'll be the only hater left

prisma wave
#

kotlin is easier to learn

hot hull
#

You're dooming him..

prisma wave
#

on the contrary

onyx loom
#

exactly

#

ive looked at java vs kotlin code

#

kotlin is much more cleaner

prisma wave
#

see

onyx loom
#

๐Ÿ˜

prisma wave
#

This guy is smart

#

Unlike the haters

onyx loom
#

F java

onyx loom
#

ok back to my shenanigans

prisma wave
#

That

#

Is a good question

onyx loom
#

ive googled it and people are saying that ive got mismatched versions or some shit

#

but ive just updated everything to the latest so idk

obtuse gale
#

Hi

hot hull
#

Ooof

obtuse gale
#

Why I have this error

hot hull
#

Make sure your java at 8

onyx loom
#

ye i am

obtuse gale
onyx loom
#

kotlin 1.3 or some shit

#

1.3.72

obtuse gale
#

My code

hot hull
#

You're loading a dependency outside the onEnable method Magic

obtuse gale
#

    Method method = new Method();

    public void onEnable(){
        method.consoleMessageOn();

        method.Files();
        method.files_Exist();
    }

    public void onDisable(){
        method.consoleMessageOff();
    }
}```
#

Am I doing something wrong

hot hull
#

public class Main extends JavaPlugin {

    private Method method;

    public void onEnable(){
        method = new Method();
        method.consoleMessageOn();

        method.Files();
        method.files_Exist();
    }

    public void onDisable(){
        method.consoleMessageOff();
    }
}
ocean quartz
#

No point in putting the "method" inside the enable unless it is dependent on plugin

hot hull
#

Eeeee, only god knows what the Method class is

ocean quartz
#

method class reading that hurts

hot hull
#

Go away

prisma wave
#

But it exists

#

java.reflect.Method iirc

#

:)

hot hull
#

And those method names are hurting my eyes

onyx loom
#

reeeeeeeeeeee

obtuse gale
#

Still having the same error

#

Why?

prisma wave
#

Naming Convention? No such thing

#

send your code now

hot hull
#

KM, null checks? No such thing

prisma wave
#

๐Ÿ˜ญ

ocean quartz
#

@obtuse gale Plugin already initialized you most likely have another class extending JavaPlugin

prisma wave
#

@onyx loom you still having trouble?

onyx loom
#

yes ๐Ÿ˜ฆ

obtuse gale
#

    private Method method = new Method();

    public void onEnable(){

        method.consoleMessageOn();
        method.Files();
        method.files_Exist();
    }

    public void onDisable(){
        method.consoleMessageOff();
    }
}```
hot hull
#

Jesus

compact perchBOT
#
๐Ÿ“‹ Your paste, MAGIC
https://paste.helpch.at/wijidahuye

A member of staff has requested I move your message to a paste,
Most likely beacause it contains a config/error/code snippet.

prisma wave
#

@onyx loom how did you make the project? New project > Kotlin > Kotlin / JVM?

onyx loom
#

indeed

ocean quartz
#

@obtuse gale Exactly what I said, your Method class is also extending JavaPlugin, why?..

obtuse gale
#

But

#

If not my config file

#

Will be not working

ocean quartz
#

You might wanna learn a bit of Java before you keep going
Anyways that is not how that works
You need to pass down the instance of your Plugin with Dependency Injection

rotund egret
#

JetBrains Academy (free online course): https://www.jetbrains.com/academy/
Codeacademy (free online course): https://www.codecademy.com/learn/learn-java
University of Helsinki (free online course): https://java-programming.mooc.fi/
Basic Java Tutorials: https://docs.oracle.com/javase/tutorial/

If you want some free guides @obtuse gale

JetBrains

Introducing JetBrains Academy โ€“ an educational platform for future developers. Master programming by building real applications step by step in an adaptive project-based learning environment integrated with IntelliJ IDEA Edu.

prisma wave
#

@onyx loom go to file, project configuration, and send a screenshot of "Project"

onyx loom
#

project structure?

prisma wave
#

That's it

onyx loom
prisma wave
#

Annoyingly that looks fine

onyx loom
#

do u wanna hop in vc? i can screenshare that way

#

might be easier to identify

prisma wave
#

I can't vc rn

onyx loom
#

aww

prisma wave
#

But in like an hour

onyx loom
#

i wanted to hear that sexy voice ๐Ÿ˜‰

prisma wave
#

Yes

#

Be patient

onyx loom
#

ye np

#

ill keep troublshooting

prisma wave
#

In the meantime I'd try making a gradle project

#

Enable kotlin and put files in src/main/kotlin

#

Should work fine

onyx loom
#

alr

prisma wave
#

Python isn't that bad

onyx loom
#

ye i needed to learn it in secondary school

prisma wave
#

Imagine your school offering computer science ๐Ÿ˜ญ

onyx loom
#

wew

#

its all there as far as i know

prisma wave
#

Wtf is wrong with your pc lmao

onyx loom
#

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

prisma wave
#

build.gradle?

onyx loom
#

i have the file there ye

prisma wave
#

I mean can you send it lol

onyx loom
#

do u wanna see it?

#

๐Ÿ˜…

prisma wave
#

Yep

onyx loom
prisma wave
#

You're not making this very easy ๐Ÿ˜ก

#

Everything there looks fine

onyx loom
#

sorry PES_Cry

prisma wave
#

You got JDK installed right?

onyx loom
#

as soon as this starts working, i shouldnt annoy u for a while haha

#

ye ofc

#

i just tried updating it before coming in here

prisma wave
#

Ok

#

I have a bit of an idea

#

Do you know how to use gradle?

onyx loom
#

not really but ill give whatever it is a try

prisma wave
#

It's a build tool and dependency manager

#

We'll get to the actual semantics later

#

but anyway on the right there should be a gradle tab

#

if you click that, then your project name, then tasks, then it'll be something like "build"

onyx loom
#

yep

prisma wave
#

Double click build

#

and tell me if it works

#

because that'll narrow it down to being a problem with intellij if it does

onyx loom
#

still unsolved reference

prisma wave
#

ok plan b

#

Go terminal at the bottom

#

then type gradlew.bat build

#

if that works then intellij is being dumb

onyx loom
#

o its not compiling kotlin

#

tf

prisma wave
#

strange

#

Ss?

onyx loom
#

* What went wrong:
Execution failed for task ':compileKotlin'.
> Compilation error. See log for more details

* 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 1s
1 actionable task: 1 executed
prisma wave
#

well that's descriptive

hot hull
#

IJ releaving you from your misery

prisma wave
#

I would suggest you reinstall IJ

#

With jetbrains toolbox while you're at it

onyx loom
#

i already have ๐Ÿ˜ฆ

#

but yeah sure

prisma wave
#

๐Ÿ˜ฌ

#

You should delete USER_HOME/.intellij-blah after you uninstall

#

it'll be a hidden folder remember

onyx loom
#

where would one find this sorcery

#

hmm

prisma wave
#

user home on windows is C:\users\username

onyx loom
#

i found a .gradle

prisma wave
#

anything Todo with Intellij?

#

If so delete it

#

then do a fat reinstall

onyx loom
prisma wave
#

In the parent folder of that

onyx loom
#

also a .m2 folder which is maven i think?

prisma wave
#

yeah that's maven

#

if there's nothing about intellij in users/Dylan then just reinstall

#

but sometimes things get leftover

onyx loom
#

whats groovy

#

im installing .java, .kt, .kts

prisma wave
#

groovy is another JVM language

#

It's what gradle is written in, you might as well enable it

onyx loom
#

ah ye ok

#

installing: Extracting Kotlin-compiler ๐Ÿ‘€

#

this might be it

prisma wave
#

It might well be

onyx loom
#

so fukin weird if this is the issue

prisma wave
#

I'm running out of ideas so it had better be

#

yeah I've literally never seen this happen before

obtuse gale
#

Why is it that deluxechat is making two ranks on my IGN?

prisma wave
onyx loom
#

omg

#

i dont believe it

#

same issue ๐Ÿ˜‘

prisma wave
#

ffs

onyx loom
#

i create the kotlin file under src main kotlin right?

prisma wave
#

yes

onyx loom
prisma wave
#

Hmm

#

if you make a Java file does that work?

onyx loom
prisma wave
#

It's println

#

A lot of people confuse it with printIn

onyx loom
#

wait.

prisma wave
#

println = print line

#

with the letter L

#

They look exactly the same on discord lol

ocean quartz
#

And when i tell people to use -l and they do -1

onyx loom
#

๐Ÿ˜†

#

still the same anyways

prisma wave
#

tf

onyx loom
#

help me out ๐Ÿคฃ

#

rn i wanna shoot myself

prisma wave
#

Bruh what is wrong with your pc

onyx loom
#

at this point i need to uninstall windows

#

might aswell use linux

prisma wave
#

Lmao

#

Worked fine on windows for me

#

Back in the day

#

Hm

#

let's try something

#

if you back into the intellij terminal

#

and run javac src/main/java/wew.java what does that give?

#

it might need to be backslashes on windows idk

onyx loom
#

OMG

#

its working

prisma wave
#

oh

#

oh?

#

the command?

onyx loom
#

i went back to the kotlin file

#

and tried with the printLn

steep grove
#

Anyone who writes free plugins

prisma wave
#

wait

#

you're telling me it was just printIn instead of println this whole time

onyx loom
#

nonono

#

i dont think it was

prisma wave
onyx loom
#

cus i went into the project structure and the SDK drop down had the kotlin sdk in there this time

#

whereas in my old IJ, it wasnt there

#

altho, the project was still using the same jdk tho

prisma wave
#

hm

#

it's actually supposed to be the JDK i think

#

which is weird

#

i hate programming

onyx loom
#

๐Ÿ˜†

prisma wave
#

at least it works now lmao

onyx loom
#

hello world

prisma wave
#

probably would've noticed that on pc

#

nice nice

#

you gonna start with plugins or just basic things?

onyx loom
#

basics is the way to go

prisma wave
#

smart

onyx loom
#

will spend a couple months makes just makin some simple shit ig

prisma wave
#

i doubt it'll take that long

#

once you know the basic stuff you can probably start with plugins

onyx loom
#

i have a pdf file of programs that i made in visual basic, so will just try to recreate them first in kotlin

prisma wave
#

sounds like a good plan

onyx loom
#

just simple variable calculation shit and some other stuffs

#

parameter passing etc

ocean quartz
#

Write minecraft as your first project

onyx loom
#

hmm maybe i should

#

u smart matt

prisma wave
#

yes

#

from scratch

#

no libraries allowed

onyx loom
#

fun minecraft {
minecraft()
}

prisma wave
#

wow

#

you've done it

#

congratulations

onyx loom
#

๐Ÿ˜„

#

thanks i worked really hard on it

prisma wave
#

truly a god tier programmer

onyx loom
#

well on the bright side of that nonsense

#

we earned some good xp

prisma wave
#

we did

#

so i guess it wasn't a complete waste of time

onyx loom
#

indeed

prisma wave
#

i'm catching up to you ๐Ÿ‘€

onyx loom
#

indeed

prisma wave
#

300 xp away

#

better start another troubleshooting session

onyx loom
obtuse gale
#

Is this more efficient

#
        consoleMessages.set(1, "(Mute v1) Going offline. Goodbye");

        System.out.println(consoleMessages.get(0));
        System.out.println(consoleMessages.get(1));```
#

Then creating multiple strings value

ocean quartz
#

Like how?

obtuse gale
#

Array list can hold multiple value

#

But with the index

prisma wave
#

that's not really how it works

#

ArrayList will actually use slightly more memory because object headers

ocean quartz
#

I don't understand why you'd need to put them in a list then get from the list, sounds like just adding more to do nothing
And i don't know what you meant by

Then creating multiple strings value

obtuse gale
#

I know that but it is more efficient

prisma wave
#

in what way?

obtuse gale
#

Isn't it?

prisma wave
#

"efficient" could mean anything

#

it's not faster, and it's not more memory efficient

#

what else is there?

ocean quartz
#

You gave us one example, give use the other one and we'll tell which one is better

onyx loom
#

omg

#

kotlin is the same as visual basic for user inputs

#

this is great

prisma wave
#

readLine()?

onyx loom
#

i dont need to do anything

#

indeed

prisma wave
#

ah yes

#

it's like 5 lines in java lol

#

well 2

onyx loom
#

๐Ÿ˜†

prisma wave
#

but they're quite long lines

onyx loom
#

peasants

prisma wave
#

precisely

#

imagine using java

onyx loom
#

pfff

ocean quartz
prisma wave
#

hey that's me in the video i'm famous

#

but nice one

ocean quartz
#

Now to actually implement it correctly now that I know it works xD

onyx loom
#

hey that's me in the video i'm famous

#

but nice one

steel heart
#

lol

onyx loom
#

is there a carriage return in kotlin?

#

nvm

prisma wave
#

\n?

onyx loom
#

ye

prisma wave
#

You don't need it with printIn btw

#

You probably figured that out

onyx loom
#

wait wut

#

example?

prisma wave
#

println adds \n to the message

#

print() doesn't

onyx loom
#

oh ye ye ye ye

#

nvm i knew that ๐Ÿ˜„

#

thought u meant something else nvm

prisma wave
#

๐Ÿ‘

#

ah yeah I can see the confusion

onyx loom
#

just finished my sesh for today. so far kotlin has gave me a fat boner

prisma wave
#

๐Ÿค”

#

I mean you've got a point

#

It is very attractive

onyx loom
#

exactly

obtuse gale
#

guys need help

#

well let me tell you what i did

#

i was configuring my skywars

#

and i went to my folders and decompressed an old backup

#

but it replaced all my config

#

i loose all

#

is there a command to make a rollback in files time ?

#
            mute.add(player.getUniqueId().toString());
            player.sendMessage(ChatColor.translateAlternateColorCodes('&', "&bYou are muted"));
            config.set("player" + "." + "UUID", player.getUniqueId().toString());
            saveConfig();
            return true;
        }
        if (command.getName().equalsIgnoreCase("unmute") && mute.contains(player.getUniqueId().toString())){
            player.sendMessage(ChatColor.translateAlternateColorCodes('&', "&bYou are unmuted"));
            mute.remove(player.getUniqueId().toString());
            saveResource("config.yml", true);
            return true;

        }```
#

How do I like

#

Remove a player uuid from the config

lunar cypress
#

\r

#

lol

#

wtf

#

as I sent that message discord updated this channel with 100 new messages

pale shell
#

just finished my sesh for today. so far kotlin has gave me a fat boner
@onyx loom java can do better ;)

prisma wave
#

objectively false

pale shell
#

Ah but it's true.

#

What if you've been using java wrong all this time

prisma wave
#

it's not in the least bit true

ocean quartz
#

No one uses Java right, and that's the problem

prisma wave
#

i'm not sure you can use it right

pale shell
#

I use it right every day

#

That's defo why it throws errors 24/7

lunar cypress
#

I had a discussion with someone recently who said that mutable objects in Java are not the default and that you can use it as a functional language

prisma wave
#

w-w-what?

#

i...

#

what?

#

they're not the default?

pale shell
#

I'm confusion sorry

#

Default?

lunar cypress
#

as an example they mentioned newer standard library apis that are mostly immutable

#

like java.time

prisma wave
#

in what way does that mean it's the default lmao

lunar cypress
#

idk. I was quite confused as well

prisma wave
#

that person is an idiot

lunar cypress
#

oh that wasn't even the best take

#

lmao

prisma wave
#

@pale shell supposedly things are immutable by default in java which is absolutely untrue

lunar cypress
#

What is a class but a curried function?

prisma wave
#

what else you got?

lunar cypress
#

I still don't quite get that one

prisma wave
#

i...

#

that person should never touch a computer again

lunar cypress
#

Classes (and by extension, inheritance hierarchies) and curried functions are really not that different. They exist to encapsulate some state or behavior within a context.

pale shell
#

๐Ÿ‡ธ ๐Ÿ‡ฆ ๐Ÿ‡ฒ ๐Ÿ‡ช

#

Wot, i didn't send that

lunar cypress
#

It was a civil discussion and no offence was taken, lol

#

but it's still rather far fetched

#

to say the least

prisma wave
#

what I don't understand

#

is how they actually know what curried functions are and yet they somehow got it completely wrong

lunar cypress
#

well

#

I think they try to super impose something on the languages they're forced to use lol

#

To my question

Why not use a language that embraces those concepts naturally, i.e. a functional one?
They answered
Because, sadly, that's not what I get paid to use ๐Ÿ˜ฆ

prisma wave
#

poor guy

lunar cypress
#

ok, I have more interesting programming language takes

prisma wave
#

stuck with OOP

#

let's hear them

lunar cypress
#

This one was under a thread about concurrency models, especially coroutines and how they work in different languages, with some focus on go

prisma wave
#

ooh go

lunar cypress
#

Go does things that have been done before but with new terminology for marketing purposes. I really can't stand Go.

This. I also hate that there are so many languages taking bad ideas from it, the identifier : type = value; thing is especially annoying.

#

I mean the first one is a fair opinion, I guess, but the second one is somewhat funny to me

#

Like, there are so many things to consider in this context and you pick this?

prisma wave
#

identifier : type = value; they hate the idea of specifying a type?

lunar cypress
#

No they don't, that's the thing

prisma wave
#

what do they hate about that

lunar cypress
#

That's a very minor detail, imo. Doesn't make a difference to type identifier = value in terms of language features.

It's arguably less readable but my main gripe is the colon, it doesn't need to be there at all. The same goes for things like -> in functions, just random symbols floating about for fluffy aesthetic reasons. This is not what programming is about.

prisma wave
#

ugh

#

one of those people

#

i bet they only use C and Haskell or something and think they're superior

#

literally every programming language uses symbols

#

they're not "aesthetic" if they convey meaning

lunar cypress
#

exactly

prisma wave
#

by their argument the curly bracket is useless because it could be just replaced with indentation

lunar cypress
#

they go on to say that func f() int {} is clearly more readable than func f() -> int {}

#

Which I don't even agree with lol

prisma wave
#

me neither

#

they sound like an idiot

lunar cypress
#

they do

prisma wave
#

although

#

i gotta say

#

typing := is pretty annoying