#dev-general

1 messages ยท Page 239 of 1

dry coral
#

though

#

if its incredibly long

#

e.g. menus in deluxemenus

#

file for each one

static zealot
#

I mean I don't even know why you need so many formats xD

distant sun
#

a format is not that long

dry coral
#

otherwise it gets messy

static zealot
#

I only use one with DeluxeChat

#

that's why placeholders exist

dry coral
#

exactly gaby

#

that's why 1 file dedicated to formats

#

so it doesnt clutter config.yml

distant sun
#

each component have one required option, the value that is displayed in chat

dry coral
#

well

distant sun
#

and then you can add hover or click action

dry coral
#

see

#

thats like 10 lines possibly

ocean quartz
#

You guys aren't understanding, it's not one file per format or channel just one file per category xD

dry coral
#

for 1 format

#

Yes

#

thats what i said

distant sun
#

you are weak @ocean quartz

static zealot
#

yeah matt that's better. we agree

distant sun
#

but ye, sounds good

static zealot
#

well gaby doesn't

#

xD

dry coral
distant sun
#

haha

ocean quartz
#

I'll send an example in a sec

static zealot
#

someone donate me 300 xp so I can get top 5 ?

dry coral
#

why :(

static zealot
#

so @obtuse gale I see you found things to do huh?

old wyvern
ocean quartz
#

This is an example, it's pretty incomplete and already feels clustered @static zealot @dry coral @distant sun @hot hull

static zealot
#

it doesn't work. ๐Ÿ˜ฆ We just need to talk xD

old wyvern
#

Oh

#

Ok lets talk, how much xp you got?

static zealot
#

=xp

compact perchBOT
static zealot
#

=xp 307160296714403851

compact perchBOT
static zealot
#

this is the guyt I need to take over ^

#

xD

old wyvern
#

oh ok, so you send me 487,186 exp

#

Thanks

static zealot
static zealot
old wyvern
#

xD

static zealot
#

=xp send Yugi 487186 you're welcome

compact perchBOT
ocean quartz
old wyvern
#

Isnt 300exp like 1 advent claim?

static zealot
#

now 1 advent is like 600

#

but Frosty can do that as well xd

old wyvern
#

Already claimed?

static zealot
#

yep

#

I've been slowly taking over

#

everyone

#

I used to be like top 15

old wyvern
#

Spam every 15 mins?

static zealot
#

a couple months ago

hot hull
#

Heck you bish

#

=xp

compact perchBOT
static zealot
#

Frosty please gooo.

#

wait

#

he took

#

the advent

#

noo

#

๐Ÿ˜ฆ

old wyvern
#

XD

hot hull
#

:))

static zealot
#

dw Frosty

#

that 550 daily

#

is going to get me top 5

#

tomorrow

#

at max

prisma wave
#

does anyone know if the worldguard api had breaking changes between 1.8 and 1.16?

#

i imagine so

static zealot
#

if not today. tomorrow I'll be watching from above

prisma wave
#

but im really hoping someone will say no

distant sun
#

can I set the "suppress unused warning if annotated with X" for all projects?

static zealot
distant sun
#

I heard v6 and v7 are quite different

prisma wave
#

that's a shame

hot hull
#

Don't they have a bridge or some shit for it tho?

distant sun
#

like on 1.8 we and wg have a getInstance method and now you have to access it through some "Platform" thing or so

ocean quartz
#

There's a wrapper for it i think

prisma wave
#

๐Ÿ˜ฎ

distant sun
#

codemc has one iirc

prisma wave
#

YES

distant sun
#

or well, one is hosted on their ci

hot hull
#

Anyhow Matt, I contribute stuff tommorrow ok? Did you make an [item] action already perhaps?

static zealot
#

oh man I started a course on Corsera but I don't feel at all like continuing it xD

#

๐Ÿ˜ฎ

#

wrong channel?

old wyvern
static zealot
#

and what you working on @obtuse gale

static zealot
#

and I just started at the beginning of the week

#

ah nice. will it be PvP or nah

ocean quartz
old wyvern
#

a random few

surreal quarry
#

lol

hot hull
half harness
#

what if I made a plugin that made allowed you to make menus (via deluxemenus) using a gui? ๐Ÿ‘€

hot hull
#

No

half harness
#

๐Ÿ˜ฆ

hot hull
#

Making menus through other menus is straight up dumb

half harness
#

โ˜น๏ธ

surreal quarry
#

make a menu to make a menu that makes menus?

hot hull
#

Make a menu to make a menu which makes a menu that makes menus

half harness
#

for those ppl that dont like using config file ยฏ_(ใƒ„)_/ยฏ

#

like make a gui that will write to config

#

but ingame

hot hull
surreal quarry
#

yes

obtuse gale
#

Staring at the screen?

#

I just get depressed and stare at the void

onyx loom
#

o

hot hull
steel heart
hot hull
#

Go to sleep

static zealot
obtuse gale
#

@steel heart noob

prisma wave
#

sees an unread message in dev general
something interesting? Maybe intellij updates
click channel

:neutral_face:

forest pecan
#

only 40% debugging?

#

cap

obtuse gale
#

Anyone knows if the plugin messages listeners (onPluginMessageReceived on Spigot and a listener of PluginMessageEvent on bungee) are called async or sync with the rest of the system?

#

Well in bungee everything is either totally async or sync with respect to the player's connection, would expect the latter

#

But Spigot is kinda wonky when it comes to stuff like that lol

ocean quartz
#

You can always print the event.isAsync() to check

obtuse gale
#

right

#

wait no thonk

#

man fuck bukkit lmao

#

fukkit PES_ThumbsUp

forest pecan
#

shikkit

obtuse gale
#

iirc some people in the fabric community were going to do some fabric + bukkit hybrid

forest pecan
#

so

#

fukkit?

obtuse gale
#

and lowkey call it fukkit lol

forest pecan
#

xD

quiet depot
#

but sponge

#

D:

forest pecan
#

nobody is helping me for aoc on the subreddit and together java morgcry

quiet depot
#

what's the question

obtuse gale
#

I dropped that shit lol

quiet depot
#

i've been too lazy to do it

obtuse gale
#

Might retake sometime but eeeehhh......

forest pecan
#

its

#

tedious

#

like

#

very

obtuse gale
#

holy fuck another airport?

forest pecan
#

lmfao

obtuse gale
#

they still be doing airport problems?

forest pecan
#

they be zoomin

#

nah

#

its just this problem

#

they did airport

obtuse gale
#

bbabaababbbaabaabaaaabbaabbabbbbbabaabbabbbababaaababbababbabbbabbabbbbabbabbbababbabbaababbaaaa

#

amazing

forest pecan
#

yes

old wyvern
#

context free grammer

quiet depot
#

d;player

ruby craterBOT
#
public interface Player
extends HumanEntity, PluginMessageRecipient, Conversable, OfflinePlayer```
Description:

Represents a player, connected or not

quiet depot
#

d;player#setdisplayname

ruby craterBOT
#
void setDisplayName(@Nullable String name)```
Description:

Sets the "friendly" name to display of this player. This may include color. Note that this name will not be displayed in game, only in chat and places defined by plugins.

Parameters:

name - The new display name.

quiet depot
#

(yes the link's broken right now, we don't host 1.16.4, I need to change it to spigot)

ocean quartz
#

Ooo I like that

surreal quarry
#

looks really nice

dawn hinge
#

yeah

hot hull
#

ooh that's sexy

#

Missing public I pressume tho

quiet depot
#

it's not missing anything

#

you don't put public on interfaces

hot hull
#

oh that's an interface, yea ignore me kek

#

Just woke up, don't bully me

quiet depot
#

dw I thought the same thing originally

#

thought there must be something wrong with my modifier indexing

#

then I realised that you just don't put visibility modifiers on interface members

hot hull
#

d;world#setHeight

#

:c

quiet depot
#

i'll turn it on in a sec

#

working on a bug rn

hot hull
#

Boutta go test out harekare's dependency thingy

quiet depot
#

heretere

hot hull
#

heretere's*

ruby craterBOT
#

There was no direct match for that query, did you mean any of the following?: org.bukkit.World#getMaxHeight org.bukkit.entity.Entity#getHeight org.bukkit.block.data.type.Wall#setHeight org.bukkit.entity.Entity#getHeight org.bukkit.World#setThundering

quiet depot
#

@hot hull

hot hull
#

Oh yea that's not added yet

#

smh

#

My brain isn't large enough to figure out this runtime dependencies stuff heretere uses kek

quiet depot
#

ask him then

hot hull
#

Or I can just tell Gian to stop crying about jar size

quiet depot
#

yes

#

that's a good idea

#

idk why gian cares about that

hot hull
#

Cause it takes 5 seconds to download and transfer it instead of 1

regal gale
#

Any good website building tool out there?

quiet depot
#

wix

regal gale
#

I only know DreamWeaver so far thonking

quiet depot
#

I wouldn't recommend learning tools to build sites

#

why not learn the languages instead

regal gale
#

I already got myself the kmowledge for that

quiet depot
#

then there's no point learning tools like dreamweaver lol

regal gale
#

Anyway, when I search though, i see that WordPress is most common

kindred hatch
#

@hot hull !!!!

hot hull
#

What Gian !!!!

kindred hatch
#

Whatโ€™s in the new release? Iโ€™m not home so I canโ€™t see ๐Ÿ‘€

kindred hatch
hot hull
#

Just finished stuff, added shit like bot activity etc

kindred hatch
#

Oooo

#

Canโ€™t wait to run my 50kb plugin

hot hull
#

Everything is finished, but runtime deps

#

:haha:

#

Dream on when it comes to runtime deps Gian

kindred hatch
#

๐Ÿ˜พ

hot hull
#

Make a lib that actually handles JDA's bullshittery

kindred hatch
#

๐Ÿ‘€

quiet depot
#

@regal gale it's made with html css & js

hot hull
#

Anyhow, you'll live with that

quiet depot
#

no fancy tools

hot hull
#

Not like you have to update it daily smh

quiet depot
#

frosty send me jar pls

#

or link repo

#

so i can compile

#

assuming it's all pushed

#

preferably repo actually

kindred hatch
#

Bad Dev!!!!

hot hull
#

Already compiled

#

Ah yes blame the dev for everything :sad:

quiet depot
#

imagine not using the latest gradle

hot hull
#

What's the latest?

quiet depot
#

imagine setting the archive file name instead of setting the classifier to ""

#

6.7.1 iirc

hot hull
#

meh same shit, also :what:

quiet depot
#

replace

#

archiveFileName.set("DiscordWhitelist-${project.version}.jar")

#

with

#

archiveClassifier.set("")

#

latest shadow version is 6.1.0

kindred hatch
#

๐Ÿ‘€

hot hull
#

And what's the difference?

quiet depot
#

smaller

#

gian likes it smaller

hot hull
#

๐Ÿ˜

quiet depot
#

lol gian must hate me for using guice and stuff if he doesn't like your big plugins

hot hull
#

Placeholders, more leniency

kindred hatch
#

๐Ÿ˜‚

quiet depot
#

i do try to make them smaller tho

#

if I didn't exclude shit it'd be 5mb vs the 2mb they usually are

hot hull
#

Well yea but you kinda can't when using JDA without using runtime

kindred hatch
#

Less than 3mb is nice ๐Ÿ‘€๐Ÿ‘€ 10mb is too much

hot hull
#

Could probably exclude some shit from jda to make it like 7mb

quiet depot
#

frosty have you looked at minimize jar and shit?

hot hull
#

I've not no

quiet depot
#

also take a look at proguard

#

try gradle's minimize stuff first, then proguard after that

#

i got your jar down to 4.7mb

#

sort of

#

not a viable solution

#

I just used 7z instead of zip

#

doesn't fix anything lol I just wanted to see the difference

hot hull
#

minimize takes it down to 7mb

quiet depot
#

ok

#

that's good

#

try proguard

#

and also paste the minimize thing so I can test it too

hot hull
#

Lemme exclude some shit first

quiet depot
#

that's what minimize should be doing for u

#

I think

#

also as a side note, if you're not doing audio stuff you can exclude opus-java

#
implementation('jda') {
    exclude module: 'opus-java'
}```
hot hull
#

exclusion got it down to 4mb

kindred hatch
#

;D

hot hull
#

You happy now?

kindred hatch
#

A little

hot hull
#

:))

hot hull
#

Anyone know how I would get the category a text channel is in using JDA?

quiet depot
#

TextChannel#getParent

hot hull
#

โค๏ธ

quiet depot
#

time to add jda to docdex

blazing walrus
hot hull
#

Had to make a quick image transcript bot cause we moved our group from messenger to discord cause messenger removed a shit ton of a features, and it's nice having all the images in one place :p

#

Gae

 * <br>Note that an {@link net.dv8tion.jda.api.entities.Category Category} will
 * always return {@code null} for this method as nested categories are not supported.
steel heart
obtuse gale
#

ur mum

quiet depot
quiet depot
#

and now jda

#

d;jda member

ruby craterBOT
#
public interface Member
extends IPermissionHolder, IFakeable, IMentionable```
Description:

Represents a Guild-specific User. Contains all guild-specific information about a User. (Roles, Nickname, VoiceStatus etc.)

regal gale
#

Yey

#

d;jda AudioManager

ruby craterBOT
#
public interface AudioManager```
Description:

AudioManager deals with creating, managing and severing audio connections to VoiceChannels. Also controls audio handlers.

half harness
#

d;bukkit

ruby craterBOT
#
public final class Bukkit
extends Object```
Description:

Represents the Bukkit core, for version and Server singleton handling

distant sun
#

d; javaplugin

ruby craterBOT
#
public abstract class JavaPlugin
extends PluginBase```
Description:

Represents a Java plugin

distant sun
#

d;

prisma wave
#

d; Entity

#

Doesn't work

quiet depot
#

he's offline

prisma wave
#

:(

quiet depot
#

trying to fix javadocs command

#

it be broke

#

d;entity

ruby craterBOT
#
public interface Entity
extends Nameable, CommandSender, PersistentDataHolder, Metadatable```
Description:

Represents a base entity in the world

quiet depot
#

@prisma wave beep boop

half harness
#

wait

#

how does it extend 4 classes

quiet depot
#

it's an interface

#

also

#

new command

#

d;javadocs

ruby craterBOT
#
Javadocs:

โ€ข 1.11.1
โ€ข 1.11
โ€ข 1.10.2
โ€ข 1.10
โ€ข 1.9.4
โ€ข 1.9.2
โ€ข 1.9
โ€ข 1.8.8
โ€ข 1.8.7
โ€ข 1.8.6
โ€ข 1.8.5
โ€ข 1.8.4
โ€ข 1.8.3
โ€ข 1.8
โ€ข 1.7.10

half harness
#

๐Ÿ˜ฎ

quiet depot
#

that's ugly

#

i need to make that less ugly

half harness
#

d;1.13.1 bukkit

ruby craterBOT
#
public final class Bukkit
extends Object```
Description:

Represents the Bukkit core, for version and Server singleton handling

half harness
#

d;1.8.3 bukkit

ruby craterBOT
#
public final class Bukkit
extends Object```
Description:

Represents the Bukkit core, for version and Server singleton handling

obtuse gale
#

1.8.3???????????

#

not even 1.8.8????

#

what is wrong with you

quiet depot
#

d;1.8.8 bukkit

ruby craterBOT
#
public final class Bukkit
extends Object```
Description:

Represents the Bukkit core, for version and Server singleton handling

quiet depot
#

next step is adding support for java se docs

#

for some reason they're different from all the others

#

not as simple as adding a link for it to scan in the config ๐Ÿ˜ฆ

obtuse gale
#

different how thonk

#

what it do

quiet depot
#

all on one page as you can see

#

easy to index through

#

split up into 27 pages

#

for no ones convenience

#

i'm really curious how long it'll take to index

#

for reference 1.16.4, the biggest javadoc I store, takes 4 seconds

#

(in practice it'll take longer because you'll be indexing multiple docs at the same time)

obtuse gale
#

Is it really one page for each letter + _?

#

lol

quiet depot
#

yes

obtuse gale
#

I mean yeah, java se + jdk + all the other crap bundled in between is MASSIVE

#

Also Piggy

#

Java 8

#

ew

quiet depot
#

most devs use jdk 8

quiet depot
#

i might set 11 as the default

prisma wave
obtuse gale
#

sucks tbh

prisma wave
#

That's only classes though

half harness
#

oh

quiet depot
#

only need classes

#

not all javadocs have that file

#

not supporting it

obtuse gale
quiet depot
#

lol

#

anyone wanna debug my code for me?

obtuse gale
#

na thanks I'm good cct

quiet depot
#

k we now have a javadocs command that looks okish

#

d;javadocs

ruby craterBOT
#
Javadocs:
โ€ข 1.11.1    โ€ข 1.8.5
โ€ข 1.11      โ€ข 1.8.4
โ€ข 1.10.2    โ€ข 1.8.3
โ€ข 1.10      โ€ข 1.8
โ€ข 1.9.4     โ€ข 1.7.10
โ€ข 1.9.2     
โ€ข 1.9       
โ€ข 1.8.8     
โ€ข 1.8.7     
โ€ข 1.8.6     
blazing walrus
#

thats actually insane

#

love it

obtuse gale
#

Bukkit 1.5 javadoc cct

quiet depot
#

if you can send me a jar of that then i'm happy to add it

#

or a zip

obtuse gale
#

lol

onyx loom
#

๐Ÿ˜ฌ

quiet depot
#

got 1.6* aswell?

onyx loom
#

i think 1.7 is enough pain ๐Ÿ˜ฌ

obtuse gale
quiet depot
#

surely be a lamb, download them all, zip em up and send them to me

obtuse gale
#

DM or here?

quiet depot
#

idc

#

my dms are open if you want to do that

#

you probably have to send them here though

#

unless you have nitro

#

members here get like a 100mb upload limit or something

onyx loom
#

rly?

quiet depot
#

yea

#

boost perk

onyx loom
#

o

quiet depot
#

yep just checked

onyx loom
#

oh yea, level 3 boost

quiet depot
#

level 3 is 100mb limit for all members

obtuse gale
#

aaa yes, the perks of 3rd world country internet upload speeds

quiet depot
#

thx

obtuse gale
#

np

#

I mean who tf is gonna code for 1.5 anyway lol

distant sun
#

why not have them all if it's possible ๐Ÿคทโ€โ™‚๏ธ

obtuse gale
#

was gonna ask "who tf is gonna code for 1.7.10" but uuuh... ๐Ÿ˜ฌ people do that

blazing walrus
#

I code in 1.17 CacoCool

obtuse gale
#

wait mbax was part of bukkit development back in the old ages?????????

#

why isn't mbax here ๐Ÿ˜ฆ

quiet depot
#

okie

#

d;javadocs

#

that's a bad sign

obtuse gale
#

lol

distant sun
#

I just learned that there are a tone of interesting stuff in java that I don't know about ๐Ÿ˜ฎ

quiet depot
#

such as?

distant sun
#

some design patterns, let me see

quiet depot
#

d;javadocs

ruby craterBOT
#
Javadocs:
โ€ข 1.6.2
โ€ข 1.5```
quiet depot
#

there we go

hot hull
#

Ew

obtuse gale
#

aye

hot hull
#

Not sure how it looks on pc, but ew

obtuse gale
#

paper รถ

blazing walrus
hot hull
#

The person who had the brilliant idea of switching nitro gifts with gallery, is a fucking nonce

quiet depot
#

do you have any suggestions to make it look better?

distant sun
#

one message

#

with fields

quiet depot
#

not following

hot hull
#

I mean you just need to state that there's paper and jda docs as well, the rest is self explanatory lol

distant sun
#

or 1.14 - 1.14.4, 1.13 - 1.13.2, 1.15 - 1.15.2

quiet depot
#

this isn't just for helpchat guys

hot hull
#

I am aware yes

quiet depot
#

not all servers are going to have 10 pages of spigot javadocs

obtuse gale
#

yes they will

#

all of them

distant sun
#

you want to disable certain docs or?

#

"Premium DocDex"

quiet depot
#

no

distant sun
#

"Upgrade now to access 1.2.5 docs"

#

Also, I was talking about Adapter and Interpreter (which looks interesting but don't really understand it)

forest pecan
#

i wanna give up aoc but i have only 5 days left kekw

distant sun
#

I gotta complete mine as well ๐Ÿ˜ฆ

forest pecan
#

the last 5 days

#

are so damn tedious

#

it aint funny

#

one of them includes rotating puzzle pieces to see if they can connect to each other

#

and you have like 36 pieces idk

lavish notch
#

In Java, if I want a function that could return either a double or a integer - how do I initialise it? (I don't know the termanologie - I'm referring to the public static [TYPE] name(parms) {...})

distant sun
#

give it a different name?

lavish notch
#

What if I am wanting to have 1 function?

#

The idea is I have a config where a user can set if they want a double or int value... and within the code - Ideally don't want to have a selection statement for it.

distant sun
#

why not use double

lavish notch
#

won't that return a trailing decimal?

distant sun
#

if the value set in config is 1, will become 1.0 using getDouble

#

pretty sure there is a way to get ride of that .0

lavish notch
#

Obviously there are ways, but surely if I have the function defined as a either - there would be issues returning the other?

distant sun
#

you cant have n methods with the same name & parameters but with different return types

lavish notch
#

Hmm...

#

is it possible not to define a type?

distant sun
#

just use a double

lavish notch
#

That is frustrating.

hot hull
#

Could make it using generics I suppose?

prisma wave
#

There's no other way of doing it lol

half harness
#

just do someMethodDouble or smth

hot hull
#

As in you input what class type it returns

prisma wave
#

the compiler doesn't know if the config has an int or double, so how is it supposed to know what to use?

#

just return a double

half harness
#

or return a map ๐Ÿ™‚

prisma wave
#

And truncate if necessary

lavish notch
#

So there isn't an "either/or" type?

onyx loom
#

.toInt ๐Ÿ™‚

hot hull
#

No

lavish notch
#

Dang

lavish notch
prisma wave
#

Not in the standard library

hot hull
#

I mean could use an object and then cast

prisma wave
#

Yes it is

hot hull
#

But that's ew

prisma wave
#

It is a very bad idea

half harness
prisma wave
#

Just return a double

half harness
#

my idea is possible but a bad idea

prisma wave
#

Or have 2 function

distant sun
#

or use a double

#

there are rounding / decimal formatting methods to get ride of the .0

prisma wave
#

or just cast to an int

lavish notch
#

Would it be bad practice to have concatenated functions?

prisma wave
#

what ?

lavish notch
#

like have a function, that calls another?

prisma wave
#

Lol no

distant sun
#

that's how stuff works xD

prisma wave
#

That's the entire concept of recursion

#

And just

#

Everything

lavish notch
#

Alrighty then

hot hull
#

Can I suggest you to read up on java

half harness
#

?learn-java fingerguns

#

๐Ÿ˜ฆ

distant sun
#

pretty sure this is a generic thing lol

prisma wave
#

no it's not

distant sun
#

ok then, lisp

prisma wave
#

Make your jokes

#

But clojure would actually do this easily

#

Because dynamic typing

#

Alternatively consider a language with algebraic data types

#

Such as elara

#
let fromConfig (String key) => Int | Double {
    return blah
}```
half harness
#

oof

#

that looks confusing

#

what is =>

#

and let

#

and no semicolons

distant sun
#

let is a function if I'm not wrong

prisma wave
#

let is anything

prisma wave
#

Let = functions and variables

half harness
#

so many languagesssssss

prisma wave
#

=> is just to show it's a function

distant sun
#

(((Li((s)))p))

surreal quarry
#

imagine a language not being able to know when its lines end smh

half harness
#

ik

#

but the code above didn't have it :O

surreal quarry
#

yea elara doesnt need semicolons

half harness
#

๐Ÿ‘ป

surreal quarry
#

or are you jsut commenting that thats good lol

distant sun
#

I like that you can fold everything in one line on kotlin and use ; when it gets confused

surreal quarry
#

yea i like that you can use them where you need its just stupid to require it

half harness
#

;-;

distant sun
#

Agree

half harness
#

can anyone tell me some examples and explanation of difference of lib and api

#

plz

#

plzzz

#

plzzzzz

surreal quarry
#

i believe api is you are implementing the api, and a lib is already implemented

#

its something to do with transitivity

half harness
#

?

#

๐Ÿ˜ถ

surreal quarry
#

are you asking in general or like in gradle api vs implementation

half harness
#

general

#

like protocollib and a plugin's api

distant sun
surreal quarry
#

oh an api is something that is generally already available at runtime (you don't need to shade it in), and a lib is shaded in to your plugin to give extra features not available at runtime

onyx loom
distant sun
prisma wave
#

accelerated mobile pages

prisma wave
#

It's been on the table for a long time

onyx loom
#

o

distant sun
#

Ah ok

prisma wave
half harness
#

;-;

#

what server is that

surreal quarry
#

elara

onyx loom
#

imagine not being in the elara discord

surreal quarry
#

fr smh

distant sun
#

elaracord

#

Who came with the idea of adding that stupid warning "x loaded y from z which is not a softdepend or depend" smh

prisma wave
#

Wow

#

It wasn't even valid

#

elara discord

#

lol

#

d; Entity

ruby craterBOT
#
public interface Entity
extends Nameable, CommandSender, PersistentDataHolder, Metadatable```
Description:

Represents a base entity in the world

prisma wave
#

xd

hot hull
#

d;fields 1.16.4 Material

ruby craterBOT
hot hull
#

Lol

prisma wave
#

๐Ÿ˜”

distant sun
#

d;fields 1.7.10 material

ruby craterBOT
distant sun
#

Cute

hot hull
#

Wait

prisma wave
#

d;fields 1.6 Biome

ruby craterBOT
#

Unknown javadoc: 1.6.

hot hull
#

d;fields 1.5 mtaerial

ruby craterBOT
#

There was no direct match for that query, did you mean any of the following?: ```

prisma wave
#

aww

#

lol?

hot hull
#

Got em

#

d;fields 1.5 biome

ruby craterBOT
#

There was no direct match for that query, did you mean any of the following?: ```

hot hull
#

1.5 docs be amazing

distant sun
#

d;javadocs

ruby craterBOT
#
Javadocs:
โ€ข 1.6.2
โ€ข 1.5```
distant sun
#

:(

#

d; 1.6.2 Player

ruby craterBOT
#

There was no direct match for that query, did you mean any of the following?: ```

distant sun
#

F

hot hull
#

d; 1.5 Bukkit

ruby craterBOT
#

There was no direct match for that query, did you mean any of the following?: ```

hot hull
#

Bruh

#

d; 1.16.4 Bukkit

ruby craterBOT
#
public final class Bukkit
extends Object```
Description:

Represents the Bukkit core, for version and Server singleton handling

half harness
#

d;fields ChatColor

ruby craterBOT
#
org.bukkit.ChatColor
Fields:
org.bukkit.ChatColor%BOLD
org.bukkit.ChatColor%UNDERLINE
org.bukkit.ChatColor%RESET
org.bukkit.ChatColor%COLOR_CHAR
org.bukkit.ChatColor%GOLD
org.bukkit.ChatColor%MAGIC
org.bukkit.ChatColor%ITALIC
org.bukkit.ChatColor%GRAY
org.bukkit.ChatColor%YELLOW
org.bukkit.ChatColor%DARK_GREEN
org.bukkit.ChatColor%BLACK
org.bukkit.ChatColor%DARK_GRAY
org.bukkit.ChatColor%LIGHT_PURPLE
org.bukkit.ChatColor%RED
org.bukkit.ChatColor%STRIKETHROUGH
org.bukkit.ChatColor%AQUA
org.bukkit.ChatColor%DARK_BLUE
org.bukkit.ChatColor%DARK_PURPLE
org.bukkit.ChatColor%GREEN
org.bukkit.ChatColor%DARK_AQUA```
Description:

All supported color values for chat

distant sun
#

Whats up with the %

half harness
#

those are the field thingy

#

like # but for fields i think

#

what is MAGIC

distant sun
#

k

half harness
#

โ“

#

d;ChatColor

ruby craterBOT
#
public enum ChatColor
extends Enum```
Description:

All supported color values for chat

distant sun
#

&k lol

half harness
#

oh

#

the obushucated one

distant sun
#

Dumb

half harness
#

;-;

surreal quarry
#

not shmart

half harness
#

;-;;;

#

i cant spell

#

obfuscated

static zealot
#

oh DD has new pfp

#

and now uses embeds

half harness
#

whos dd

static zealot
#

DocDex

surreal quarry
#

there is an imposter among us

half harness
#

me

distant sun
#

Lol where is that from

surreal quarry
#

a project im working on

#

i added a java example

distant sun
#

Link

surreal quarry
#

im writing this cause i hate CMI for having modules that dont work

static zealot
#

love the license warning at the top

surreal quarry
#

lmao ive always wanted to know how to do that so i figured why not learn and od it

distant sun
#

Pretty nice feature, yes

surreal quarry
#

the license? lmao

distant sun
#

The system for adding a license

surreal quarry
#

oh yea

distant sun
#

nub

ocean quartz
#

@surreal quarry Instead of def ver = "1.0.1-SNAPSHOT" you can just use the normal version then do project.version

surreal quarry
#

ooh thanks

#

will that not try to use the subproject version inside the subprojects {}

ocean quartz
#

Shouldn't because it's in the main project's root

surreal quarry
#

if i set the version outside of the subprojects it gives me undefined, but i can set it inside and then it works so ill go with that

#

maybe thats what you meant and i misunderstood

lavish notch
#

So I'm attempting to make a function that will return the price of a provided item (from ShopGUIPlus to be more specific);

public static double getItemPrice(ItemStack material, Player player) {...}

and I was wondering, can i return a value such as null in the case where there isn't a "sellable" price? - as currently, it's intended to return a java double.

surreal quarry
#

yea you can return null, maybe just show it as @Nullable or make a note in the documentation about why it would return null so you dont forget

lavish notch
#

Mind providing the relevant code snip-it?

surreal quarry
#

something like

/**
  * @reuturn the price or null if blah
  */
@Nullable
public ... getItemPrice(...) {
    double price = ...
    if (something) {
        return null
    } else {
        return price
    }
}``` i would probably do something like that
lavish notch
#

It doesn't like null?

#

Using org.jetbrains.annotations.Nullable btw

surreal quarry
#

whats the error when you hover it

lavish notch
#

Required type:
double
Provided:
null

surreal quarry
#

you might need to use Double its been a while since ive used java

hot hull
#

Because double is a primitive

#

Use Double

lavish notch
#

mad man frosty.

forest pecan
#

primitives can't be null

lavish notch
#

works, thx

#

Does Double work in the same way for generic calculations?

#

IE: 1 + 1 = 2

forest pecan
#

yes

#

its just a wrapper class

hot hull
#

It's the same thing, just an object

lavish notch
#

kk

forest pecan
#

its in place because some data structures cannot use primitives

#

and it also has some good utility methods

lavish notch
#

How do I access a non-static variable located outside of a static function?

prisma wave
#

you can't

obtuse gale
#

You need an instance of the holding object

lavish notch
#
private final SellGUI sellGUI;

public ShopHandler(SellGUI sellGUI) {
   this.sellGUI = sellGUI;
}
#

I'm trying to access that inside a static function

forest pecan
#

get instance of ShopHandler

#

then use that variable

#

you must have created an instance of SellGui somewhere

#

you have to use that instance to get the variable

obtuse gale
#

Or ditch static :^)

forest pecan
#

well what is the static function

lavish notch
obtuse gale
#

There is no "this" in a static context

forest pecan
#

you can't use this because its not an object instance

obtuse gale
#

this refers to this instance, this object

#

Static is no instance

forest pecan
#

like you can just use the method anywhere without defining an instance

#
static void yo() {}
#

if this was in class EnchantPlugin

#

I would have to use use EnchantPlugin.yo()

hot hull
#

?learn-java

compact perchBOT
#
FAQ Answer:

Start with this -
https://docs.oracle.com/javase/tutorial/java/concepts/index.html
Breeze through this skipping stuff that doesn't seem relevant like bitwise operators-
https://docs.oracle.com/javase/tutorial/java/nutsandbolts/index.html
and then hit this
https://docs.oracle.com/javase/tutorial/java/javaOO/index.html

They're the first three from this larger thing - https://docs.oracle.com/javase/tutorial/java/index.html
Which you should definitely go through overall. But those three should be enough for slightly better understanding of wtf is happening here without feeling like a huge time sink
That one is a small part of this larger site - https://docs.oracle.com/javase/tutorial/index.html
wherein "Essential Java Classes" and "Collections" also have good useful stuff

hot hull
#

:))

lavish notch
#

D:

#

Where is the fun in learning java

#

๐Ÿ˜›

onyx loom
#

no

forest pecan
#

no

lavish notch
#

I'm being sarcastic lmfao

surreal quarry
surreal quarry
#

How would a "cancellable" event work? I have an event that I call when a player runs a command via a sign, and if I wanted to make that cancellable how can I do that. I know I would set the event to implement Cancellable, but then would I have to figure out the logic of "cancelling" that event in the setCancelled method or can I make a property called cancelled thats a boolean and somehow return the event, bc callEvent doesn't seem to return the event, but if it did I would be able to run the callEvent before and then check if (cancelled)

quiet depot
#

d;cancellable

ruby craterBOT
quiet depot
#

well that's useful

obtuse gale
quiet depot
#

you would have to write custom cancelling logic

#

for example, in an item drop event

#

simply cancelling the event doesn't stop the items from being dropped

#

the items are still on the ground

steel heart
#

maybe he should go and look in the craft event factory class thing?

quiet depot
#

you have to pick those items back up to cancel the event

#

I guess?

#

I've never made custom events

#

just speculating

steel heart
#

its correct

surreal quarry
#

damn thats annoying

obtuse gale
#

Well there are two cases for cancellable events, those that are called before the action takes place and those that are called after the action takes place:

  • If it's called before, simply stop running the method or w/e and it won't change anything, causing no effects
  • If it's called after, you'll have to rollback to the previous state
#

First case is easy

surreal quarry
#

thats what im thinking is if i call it before, but callEvent doesn't seem to return the Event

#

so i can't really check

ocean quartz
surreal quarry
#

oh

#

im dumb

obtuse gale
#

lol

surreal quarry
#

i can just make a variable for it lmao

#

ty

steel heart
#

as its never really cancelled

obtuse gale
#

yeah but those don't really implement Cancellable, since one that has Event.Result can be one of many states

#

They can be boiled down to a true/false "cancelled" state yes, but it would lose that accuracy

steel heart
#

that depends

#

wym by accuracy?

obtuse gale
#

whatever you're typing I probably won't read btw

#

lol

ocean quartz
#

It's a book

steel heart
#

As far as I can see using Cancellable is mostly for Events that is fired before making it actually cancellable. Else Event.Result would be more logical to use as it represents a denial/acceptance of an event instance. But yes it's used for representing multiple results which cancellable can't do. It does not lose accuracy.

surreal quarry
#

also another events question, for the handlers is this all i need to do

    override fun getHandlers(): HandlerList {
        return HandlerList()
    }
ocean quartz
#
override fun getHandlers(): HandlerList {
    return HANDLERS_LIST
}

companion object {
    private val HANDLERS_LIST = HandlerList()
}
#

Cuz bukkit needs the static list for some reason

surreal quarry
#

ah ok

#

thanks

onyx loom
#

what is exactly is the HandlerList?

surreal quarry
#

i think its a list of the events listeners

onyx loom
#

ah yea that would make sense

onyx loom
#

when u create a new project with kotlin & gradle, is it normal for for gradle to create src/main/java aswell?

half harness
#

yes

surreal quarry
#

yea it always creates it lol its annoying

half harness
#

y is it annoying

surreal quarry
#

cause its just a random directory that i dont use

half harness
#

but-

onyx loom
half harness
#

thats where the code goes

surreal quarry
#

and it clogs up my project structure

half harness
#

oh

surreal quarry
#

no

half harness
#

java

#

oh

#

wut

surreal quarry
#

code goes in src/main/kotlin

half harness
#

ohh

#

right

quiet depot
#

wow

#

the jdk is very big

steel heart
#

Ye

quiet depot
#

in my storage format (which is wildly inefficient for space, but great for indexing), it takes up 193.8MB

steel heart
#

Will still be included?

quiet depot
#

d;string

#

hm

steel heart
#

d;String

#

d;Channel

ruby craterBOT
#
public interface Channel
extends Closeable```
Description:

A nexus for I/O operations. A channel represents an open connection to an entity such as a hardware device, a file, a network socket, or a program component that is capable of performing one or more distinct I/O operations, for example reading or writing. A channel is either open or closed. A channel is open upon creation, and once closed it remains closed. Once a channel is closed, any attempt to invoke an I/O operation upon it will cause a ClosedChannelException to be thrown. Whether or not a channel is open may be tested by invoking its isOpen method. Channels are, in general, intended to be safe for multithreaded access as described in the specifications of the interfaces and classes that extend and implement this interface.

steel heart
#

d;class

#

d;java.lang.String

onyx loom
#

@quiet depot what jdk?

quiet depot
#

8

onyx loom
#

o

steel heart
#

Oof

quiet depot
#

d;string

onyx loom
#

11 is just under 300 mb for me haha

#

ngl i thought jdk was much smaller, i always thought like 50mb

quiet depot
#

this is just the documentation

#

the jdk 8 executable is like 200mb (incl binary, required libraries, etc)

steel heart
#

d;type

ruby craterBOT
#
public interface Type```
Description:

Type is the common superinterface for all types in the Java programming language. These include raw types, parameterized types, array types, type variables and primitive types.

steel heart
#

d;string

#

Thatโ€™s weird

quiet depot
#

not really

#

it's too long

#

for some reason my check isn't working

steel heart
#

Ooh

quiet depot
#

d;string

onyx loom
#

would docdex ever be available in other servers?

obtuse gale
#

d;charsequence

ruby craterBOT
#
public interface CharSequence```
Description:

A CharSequence is a readable sequence of char values. This interface provides uniform, read-only access to many different kinds of char sequences. A char value represents a character in the Basic Multilingual Plane (BMP) or a surrogate. Refer to Unicode Character Representation for details. This interface does not refine the general contracts of the equals and hashCode methods. The result of comparing two objects that implement CharSequence is therefore, in general, undefined. Each object may be implemented by a different class, and there is no guarantee that each class will be capable of testing its instances for equality with those of the other. It is therefore inappropriate to use arbitrary CharSequence instances as elements in a set or as keys in a map.

obtuse gale
#

:^)

quiet depot
#

yes kaliber

onyx loom
#

๐Ÿ˜ฎ

quiet depot
#

you can host it in your own server right now if you want

onyx loom
#

o

quiet depot
#

i'm gonna make it public tho eventually

#

i just have to modify the bot for it

#

not too hard to do

onyx loom
#

well i have no need for it myself ๐Ÿคฃ but its a cool thing

quiet depot
#

just have to make shit like prefix stored in mysql

obtuse gale
#

d;pattern

quiet depot
#

and add admin commands to change it

obtuse gale
#

:(

quiet depot
#

damn

#

looks like the length checks for embeds are done in the embedbuilder

#

and not when sending the embed

obtuse gale
#

d;keypair

ruby craterBOT
#
public final class KeyPair
extends Object
implements Serializable```
Description:

This class is a simple holder for a key pair (a public key and a private key). It does not enforce any security, and, when initialized, should be treated like a PrivateKey.

quiet depot
#

that sucks balls

#

and yeah the jdk is the default javadoc now, instead of 1.16.4

onyx loom
#

docdex bad

quiet depot
#

that makes more sense imo

obtuse gale
#

tbf it does

#

d:spigot player

#

oop

#

d;spigot player

ruby craterBOT
#

Unknown javadoc: spigot.

obtuse gale
#

breh

quiet depot
#

1.16.4

#

not spigot

#

ig I can add an alias tho

obtuse gale
#

hm

onyx loom
#

paper javadoc ๐Ÿ˜ฎ

quiet depot
#

it already supports aliases because i'm not stoopid and i knew they would come in handy

#

d;paper player

ruby craterBOT
#

There was no direct match for that query, did you mean any of the following?: ```

obtuse gale
#

I mean that would be more on the bot's side wouldn't it?

quiet depot
#

looks like paper is ded

obtuse gale
#

lol

quiet depot
#

nah the actual api supports aliases

obtuse gale
#

oo

quiet depot
#

I must have killed docdex while it was indexing paper woops

obtuse gale
#

d;path

#

:(

quiet depot
#

damn i really gotta shit but i want to make this work before i go

obtuse gale
#

lmfaoo

quiet depot
#

i'm desparate

obtuse gale
#

dude

#

go

quiet depot
#

getting light headed

obtuse gale
#

xD

quiet depot
#

no

#

this is more important

obtuse gale
#

fuck's sake no

quiet depot
#

i can hold it in

steel heart
quiet depot
#

d;string

ruby craterBOT
quiet depot
#

k cool

#

still can't go yet

#

have to push now

#

push the commit*

#

not pushing anything else

#

d;pattern

ruby craterBOT
quiet depot
#

k cool

obtuse gale
#

breh

steel heart
#

Piggy is bungeecord javadocs added?

quiet depot
#

no

#

wonโ€™t add bungee

obtuse gale
#

y

quiet depot
#

will add waterfall

obtuse gale
#

aa

quiet depot
#

bungee doesnโ€™t have docs

obtuse gale
#

uuh it does?

quiet depot
#

or it has very very few docs

quiet depot
#

theyโ€™re lacking really badly

#

barely anything is documented fefo

steel heart
#

Oh yeah waterfall is probably more relevant

obtuse gale
#

yeah

#

maybe the bungee chat api? components n shit?

steel heart
#

True

obtuse gale
#

they have their own docs

quiet depot
#

iโ€™ll add sponge and paper and waterfall when i get on

#

oh really

steel heart
#

Epic

quiet depot
#

theyโ€™re separate

#

yuck

obtuse gale
#

yeah they are

quiet depot
#

oh iโ€™ll also add luckperms, worldedit/worldguard, papi

#

what else is there

obtuse gale
#

luckperms \o/

steel heart
#

Damn

obtuse gale
#

d;1.16.4 textcomponent

ruby craterBOT
#

There was no direct match for that query, did you mean any of the following?: org.bukkit.event.entity.ItemSpawnEvent org.bukkit.command.TabCompleter org.spigotmc.event.entity.EntityMountEvent org.bukkit.event.server.TabCompleteEvent org.bukkit.event.entity.ItemDespawnEvent

steel heart
#

d;fefo

ruby craterBOT
#

There was no direct match for that query, did you mean any of the following?: java.sql.Ref javax.xml.crypto.dsig.keyinfo.KeyInfo java.nio.channels.FileLock javax.management.relation.RoleInfo java.awt.Font

obtuse gale
#

okay it's shaded into spigot but it isn't part of the docs

quiet depot
#

yeah itโ€™ll only grab stuff on the spigot javadoc

steel heart
#

d;piggy

ruby craterBOT
#

There was no direct match for that query, did you mean any of the following?: org.omg.CORBA.Policy javax.swing.Spring javax.swing.SpringLayout java.nio.channels.Pipe java.security.PolicySpi

obtuse gale
#

policy

#

the hell is CORBA

steel heart
#

Lmao nice

quiet depot
#

idk what corba is

#

it was causing erros tho

obtuse gale
#

what in the world is corba lmfao

quiet depot
#

d;fields implementation_stub

ruby craterBOT
#

There was no direct match for that query, did you mean any of the following?: org.w3c.dom.DOMImplementationList org.w3c.dom.ls.DOMImplementationLS org.w3c.dom.DOMImplementation org.w3c.dom.DOMImplementationSource org.w3c.dom.bootstrap.DOMImplementationRegistry

quiet depot
#

ugh

steel heart
#

d;CORBA

ruby craterBOT
#

There was no direct match for that query, did you mean any of the following?: org.omg.CORBA.ORB java.sql.Clob java.awt.Color java.sql.NClob java.awt.Scrollbar

obtuse gale
quiet depot
#

d;methods rfiimplementation_stub

ruby craterBOT
#

There was no direct match for that query, did you mean any of the following?: org.w3c.dom.DOMImplementationList org.w3c.dom.ls.DOMImplementationLS org.w3c.dom.DOMImplementation org.w3c.dom.DOMImplementationSource org.omg.PortableServer.DynamicImplementation

obtuse gale
quiet depot
#

wtf is it called

steel heart
#

d;org.omg

ruby craterBOT
#

There was no direct match for that query, did you mean any of the following?: org.omg.IOP.IOR org.omg.CORBA.Any org.omg.IOP.Codec org.omg.CORBA.ORB org.omg.IOP.Encoding

obtuse gale
#

d;CORBA.Any

ruby craterBOT
#

There was no direct match for that query, did you mean any of the following?: org.omg.CORBA.Any org.omg.CORBA.DynAny org.omg.CORBA.AnyHolder org.omg.CORBA.ARG_IN org.omg.CORBA.DynArray

obtuse gale
#

brooo

steel heart
obtuse gale
#

d;AnyHolder

ruby craterBOT
#
public final class AnyHolder
extends Object
implements Streamable```
Description:

The Holder for Any. For more information on Holder files, see "Generated Files: Holder Files". A Holder class for Any objects that is used to store "out" and "inout" parameters in IDL methods. If an IDL method signature has an IDL any as an "out" or "inout" parameter, the programmer must pass an instance of AnyHolder as the corresponding parameter in the method invocation; for "inout" parameters, the programmer must also fill the "in" value to be sent to the server. Before the method invocation returns, the ORB will fill in the value corresponding to the "out" value returned from the server. If myAnyHolder is an instance of AnyHolder, the value stored in its value field can be accessed with myAnyHolder.value.

obtuse gale
forest pecan
#

so

#

guys

obtuse gale
#

maybe

forest pecan
#

how do i use intellij's debugger

obtuse gale
#

ooo great question

forest pecan
#

ik clicking on lines

#

makes breakpoints

steel heart
#

Run debug mode

obtuse gale
#

yeah breakpoints

#

I still don't know what corba is

steel heart
#

Itโ€™s in the jdk loool

obtuse gale
forest pecan
#

oh wow

#

its similar to eclipse debugger

obtuse gale
#

idk how eclipse does it

#

but it's p cool

forest pecan
#

its just that step over in eclipse is F6 and for intellij its F8

#

๐Ÿ˜ฆ

quiet depot
#

u can use eclipse keymap on ij

forest pecan
#

that exists?

#

oh it does

#

wow

#

eclipse gay tho

obtuse gale
#

lmfao

#

true

quiet depot
#

found the thing that was giving me cancer

#

d;rmiconnectionimpl_stub#addnotificationlistener

ruby craterBOT
#
void addNotificationListener(, MarshalledObjectย filter, ObjectNameย listener, ObjectNameย name, Subjectย delegationSubject, MarshalledObjectย handback)
throws InstanceNotFoundException, RuntimeOperationsException, IOException, SecurityException```
Description:

Handles the method MBeanServerConnection.addNotificationListener(ObjectName, ObjectName, NotificationFilter, Object). The NotificationFilter parameter is wrapped in a MarshalledObject. The Object (handback) parameter is also wrapped in a MarshalledObject.

Throws:

InstanceNotFoundException - The MBean name of the notification listener or of the notification broadcaster does not match any of the registered MBeans.
RuntimeOperationsException - Wraps an IllegalArgumentException. The MBean named by listener exists but does not implement the NotificationListener interface, or name or listener is null.
IOException - if a general communication exception occurred.
SecurityException - if the client, or the delegated Subject if any, does not have permission to perform this operation.

Parameters:

filter - The filter object, encapsulated into a MarshalledObject. If filter encapsulated in the MarshalledObject has a null value, no filtering will be performed before handling notifications.
delegationSubject - The Subject containing the delegation principals or null if the authentication principal is used instead.
name - The name of the MBean on which the listener should be added.
listener - The object name of the listener which will handle the notifications emitted by the registered MBean.
handback - The context to be sent to the listener when a notification is emitted, encapsulated into a MarshalledObject.

obtuse gale
#

what the fuck

steel heart
#

Nice java

quiet depot
#

hm

forest pecan
#

bro nice argument

forest pecan
#

i like using that argument

quiet depot
#

it has $ signs

#

and mongo didn't like them

forest pecan
quiet depot
#

so i replace $ with ! and vice versa for deserialization/serialization

#

it should be showing $ in that command

#

but it's not

#

and i don't care because no one will ever use that class

obtuse gale
#

lol

quiet depot
#

and if you use $ in parameter names, fuck you

forest pecan
#

i use it in class names

#

๐Ÿ˜Š

obtuse gale
#

ban

quiet depot
#

you shouldn't

obtuse gale
#

piggy do the ban on pulse

quiet depot
#

$ shouldn't be used anywhere in java

forest pecan
steel heart
#

d;$

ruby craterBOT
#

There was no direct match for that query, did you mean any of the following?: javax.net.ssl.SSLSessionBindingListener org.omg.CORBA.NO_MEMORY java.awt.dnd.DragSourceDragEvent javax.management.Descriptor javax.swing.SpinnerNumberModel

forest pecan
#

d; bot

ruby craterBOT
#

There was no direct match for that query, did you mean any of the following?: java.awt.Robot javax.swing.Box java.lang.Byte java.awt.Font java.sql.Blob

forest pecan
#

d; piggy

ruby craterBOT
#

There was no direct match for that query, did you mean any of the following?: org.omg.CORBA.Policy javax.swing.Spring javax.swing.SpringLayout java.nio.channels.Pipe java.security.PolicySpi

obtuse gale
#

corba lol

forest pecan
#

omg

#

omg

#

org.omg

obtuse gale
#

bru

#

d;resultset

ruby craterBOT
obtuse gale
#

fric

forest pecan
#

its time to sin

steel heart
#

d;Serializable

ruby craterBOT
forest pecan
#
package com.github.pulsebeat02;

public class $ {
}

obtuse gale
#

why is the jdk javadoc so well documented lmao