#dev-general

1 messages ยท Page 273 of 1

static zealot
#

what's that about then?

ocean quartz
#

Wait what, is that in the wiki? o.O

static zealot
#

yeah

surreal quarry
#

lmao

forest pecan
static zealot
#

its not just String

ocean quartz
#

Lmao when did i add that

static zealot
#

no idea

#

lmao

surreal quarry
#

it was frosty

#

always messing things up smh

ocean quartz
#

Apparently only one

static zealot
#

oh good

#

that's what I needed

#

man my methods are so much smaller now.

#

well 4 lines smaller but still

#

xD

#

better than 4 lines bigger

#

damn this update will make my files be half the size they were before

surreal quarry
#

how long were your permission checks lmao

static zealot
#

instead of just having a Player parameter I had a String and checking if the palyer is online or not and then getting the player

#

not the perms checks but I had a check for them if (!sender.hasPermission("")) { noPerm.msg(sender) return } this is how it used to be

#

now its just an anotation

#

also not half because of just the perms

#

I'm somewhat rewriting it

winter iron
#

how would i detect which player is the driver of a boat?

surreal quarry
#

oh nice

old wyvern
#

d; spigot Boat#getPassenger

ruby craterBOT
#
@Nullable @Deprecated
Entity getPassenger()```
Deprecation Message:

entities may have multiple passengers, use getPassengers()

Description:

Gets the primary passenger of a vehicle. For vehicles that could have multiple passengers, this will only return the primary passenger.

Returns:

an entity

static zealot
#

passengers Yugi

static zealot
#

but he wants to see if he's the one driving

surreal quarry
#

@Deprecated ๐Ÿ˜”

static zealot
#

or the one in back

old wyvern
#

He wants the primary one

static zealot
#

oh and getPassenger gets the primary one? nice

old wyvern
#

getPassenger returns the primary one

static zealot
#

eturn the primary passenger.

#

if only I could read

old wyvern
winter iron
#

just found out that getPassengers returns list and first element is driver

#

so ill just use that

surreal quarry
#

yea im suyre

old wyvern
#

Ah

surreal quarry
#

but yea that is likely a better approach given that it is deprecated

static zealot
#

man my main class is so much cleaner. I love it

surreal quarry
#

commands in main class ๐Ÿ˜ฌ

static zealot
#

no James

#

as I said

#

rewriting the entire thing

#

lmao

surreal quarry
#

oh right

#

i forgot how to remember

old wyvern
winter iron
#
val Boat.driver : Entity
    get() = this.passengers.first()
#

so good

surreal quarry
#

val Boat.driver = passengers.first()

#

or firstOrNull in case the boat has no passengers

static zealot
#

yes

winter iron
#

cant do the first line

#

but i shall use firstornull

surreal quarry
#

firstOrNull / getOrNull is one of my favorite things

static zealot
#

not mine

#

I hate nulls. because I got roasted by BM for using nulls

#

lmao

#

in Kotlin I mean

surreal quarry
#

??

#

in what context?

static zealot
#

I have a random teleport plugin and I had a checkLocationSafety method or something like that. or getNearLocation actually. where if the location it found was not safe it would search around and if it wouldn't find one at all it would return null. if it did then it would return the Location

#

well that's one of the use

#

I've used it like that a few times

surreal quarry
#

interesting

#

thats how i would do it too

#

what did he suggest instead

static zealot
#

I don't think he did suggest anything. it was about how Kotlin its suppose to be null free or something like that. idk. I mean I still use that kinda stuff but.. I gotta say I hate it so BM doesn't kill me

#

xD

surreal quarry
#

that seems almost backwards. kotlin is a null-safe language specifically so you know things like when it returns null, making it safer to do things like that

winter iron
#

So i apply armor stand to players passenger on join and set it to invisible but when the player logs in near someone else, for that someone else it shows the armor stand, any ideas why?

static zealot
#

ah yeah null safe is what he said I think idk. I mean I didn't really paid attention I think I was doing something else

winter iron
#

i think its just some weird client bug

#

but idk

static zealot
#

and I should've probably paid more attention because usually BM doesn't give bad advices. and I am going to bold usually lmao

lunar cypress
#

@static zealot you're supposed to use null in Kotlin

#

What is frowned upon is making types nullable where they don't need to be

static zealot
#

as I said I should've probably paid more attention to what he said lmao.

lunar cypress
#

As James explained nulls are actually a good way to represent "missing data" in kotlin since it's safe in contrast to java

static zealot
#

hmm

#

is it ok if I do kt if (something.value == null) return ... code here ... something.value!!.doSomething()? Like I know it will work but is that bad as in not conventional or something? Should I just assign it to a variable instead?

#

like I don't use it for anything else and I guess I'll move the check right before I do the code because I can xD

lunar cypress
#

no that's not idiomatic

hot hull
#

If you access something twice, variable that bad boy

lunar cypress
#

what you'd do is something like this

something.value?.doSomething() ?: return
static zealot
#

yeah I can't really do that because I've represented it wrong. its doSomething(something.value)

#

and I can't use ? inside

old wyvern
#

use let

static zealot
#

I'll just make it a variable

old wyvern
#
something.value?.let { doSomething(it) }
hot hull
#

That spacing Yugi

#

Ewwwww

static zealot
#

oh I guess that looks nicer

old wyvern
hot hull
#

Add a space in front of {

old wyvern
#

ah

#

There we go

hot hull
#

Don't be like Aj

#

Much bettet

#

Better*

static zealot
#

damn this class went from 124 lines to 58

forest pecan
#

what if its

#

an attack helicopter?

static zealot
#

well

#

you see

#

I'm an attack helicopter

forest pecan
#

Oh shit

static zealot
#

but I'm ok with people calling me a he

forest pecan
#

ive been calling you wrong

static zealot
#

yeah I don't mind it

old wyvern
#

?

forest pecan
#

asian?

#

lol

static zealot
#

yes. that's how I take it

forest pecan
#

asian and he?

#

xD

old wyvern
#

Wha?

forest pecan
#

li is an asian name

static zealot
#

no short from helicopter

#

... smh Pulse

old wyvern
#

li is a Chinese name

forest pecan
#

well

old wyvern
#

Not an Asian name

forest pecan
#

thas my last name

#

lol

old wyvern
#

ah

hot hull
static zealot
#

o

old wyvern
forest pecan
#

๐Ÿฅฒ

old wyvern
#

is that the shot?

hot hull
#

My response when a professor says something dumb next time

forest pecan
static zealot
#

yes let me just use jd-gui to edit DMenus for 50$

hot hull
#

Mobile discord can go suck a dick

#

It doesn't even show which message it's linking to anymore..

forest pecan
#

already does

#

suck dick

hot hull
#

Fat dick

forest pecan
#

lol

half harness
#

i cant figure out how to push to github

#

from ij

#

without creating a new repo

#

or overwriting my code

forest pecan
onyx loom
#

eh

forest pecan
#

you literally just press the button

#

lol

half harness
#

wut

onyx loom
#

git commit git push?

half harness
#

master has no tracked branch

surreal quarry
#

thats when you run git push?

half harness
#

argh igive up

#

ill just make a repo from ij

surreal quarry
#

sounds like you haven't set your upstream branch

#

which you would know if you used the cli fingerguns

hot hull
old wyvern
half harness
#

Hey dkim19375,

Safety Jim here! It appears that the token for your bot, UniG0 has been posted to the internet. Luckily, our token-scanning gremlins noticed, and have reset your bot's token - hopefully before anyone could have maliciously used it!

Your token was found here: https://github.com/dkim19375/UniG0/blob/0738516ddc9365bf301665ee157db20887c88335/options.properties

Be more careful in the future, and make sure to not accidentally upload your token publicly!

Obtain a New Bot Token: https://discord.com/developers/applications/802290048896073779/bot
welp i pushed it

Discord Developer Portal

Integrate your service with Discord โ€” whether it's a bot or a game or whatever your wildest imagination can come up with.

#

๐Ÿฅฒ

surreal quarry
#

F

#

gotta use those gitignores

half harness
#

yeppp

#

discord was fast on that though

surreal quarry
#

yea they are really quick

half harness
#

it beat me ๐Ÿ˜ฆ i was going on github too

#

i also got an email lol

static zealot
#

hmm. how would I make a random id generator. like what would be the best way? right now I just use (min..max).random() until I find an ID that doesn't exist but that seems not very good xD

surreal quarry
#

bruh whyd it ping

#

i turned it off

static zealot
#

its not a UUID. its just a number between 1 and 9999

#

lmao

surreal quarry
#

your way is prob the best tbh

static zealot
#

waittt

#

can't I do a list of them

#

and shuffle it

#

and get first?

quiet knot
#

hello i'm looking for a mod that could shrink me , i'm willing to pay

static zealot
#

and remove from list if its used

#

damn I'm to smart

surreal quarry
#

(min..max).filter { !it.exists }.random()

quiet knot
#

oh ok ty

static zealot
#

no efe

onyx loom
#

ew

static zealot
#

efe

onyx loom
#

just use .random()

surreal quarry
#

kotlin has list.random

#

lmao

static zealot
#

you know kotlin has better things for that right?

#

efe

#

oh does it have random?

#

didn't know that

onyx loom
#

kotlin stdlib ๐Ÿ‘ ๐Ÿ‘

#

yea it does

static zealot
#

I fucking said (min..max).random()

#

does that look like java efe?

onyx loom
#

ok

surreal quarry
#

blitz just add a filter

#

of the ones that exist

#

and you will be golden

static zealot
#

hmm kotlin has a mutableListOf(int..int) right? hopefully. time to see

#

yep it does

surreal quarry
#

if im not mistaken that will just return a List<IntRange> or something

old wyvern
#

does it need to be random?

static zealot
#

yeah but if you use .random on that James it gives you an int from the list

surreal quarry
#

i think it would give you a random int range

static zealot
#

but it does not have to be random

old wyvern
#

Id say just go for incrementing IDs

static zealot
#

you see the problem is ids expire. so then I just go back to old ids?

old wyvern
#

hmm

static zealot
#

it would look a bit bad I guess if there are multiple ids

surreal quarry
#

i think random is nice

static zealot
#

and they are like 3000, 3001, 3002, 1002, 3004, 3005

#

but when its like 9942, 2145, 2512, 1103, 4566 etc.

surreal quarry
#

?

static zealot
#

it returns an int

#

not a range

old wyvern
#

blitz

static zealot
#

yes?

surreal quarry
#

if you do ids.random() it reuturns an IntRange

old wyvern
#

the list contains a range

surreal quarry
#

you aren't doing ids.random()

static zealot
#

oh wait

#

I'm blind

#

yeah I thought I did ids.random

#

lmao

old wyvern
#

Youd need
(midId..maxId).toMutableList()

static zealot
#

I see. thank you

surreal quarry
#

your best bet is (min..max).filter { !it.exists() }.random() which is valid and will return an int

ocean quartz
#

I like ktor's documentation, would you like to see the kotlin example or the kotlin one?

static zealot
#

I think I'll take the third one (Kotlin)

ocean quartz
#

Just need to figure how to do logins kek

forest pecan
#

dafaq

#

lol

#

you can't do that

#

oh

#

mod

#

he said plugin/mod so i was confused

distant sun
#

in java is there any way to make a method accessible only from inside the project itself?

steel heart
#

he is a troll pulse

#

no gaby

distant sun
#

๐Ÿ˜ฆ

obtuse gale
#

Don't use packages and make everything package-private

steel heart
#

reflection haha

onyx loom
#

๐Ÿฅฒ

#

sounds like a great idea fefo!

#

who needs packages in 2021!

steel heart
#

yeah

#

redundant af

regal gale
#
if (statement) {
  //things
}``` or ```java
if (statement) 
{
   //things
}```
old wyvern
#

1

regal gale
#

I picked 1 too, i think it's more formatted than the 2nd, while most dev I know used the 2nd

surreal quarry
#

i like 1 better

#

just dont let the mitten see

static zealot
#

I've seen quite some people here use the allman or whatever style its called

ocean quartz
#

Someone shoot me please, as soon as I update ktor auto reload breaks .-.

onyx loom
#

@ brister mitten

surreal quarry
#

allman just seems like so many unnecessary lines. i tried it for about 2 weeks and couldn't get used to it

ocean quartz
half harness
#

Is there any "YamlConfiguration"-like library?

surreal quarry
#

snakeyml

half harness
#

i can't find out how to use it

#

even after gOoGlIng

surreal quarry
#

its either the same or bukkit is like forked from or based off of it

#

or triumph config

half harness
#

๐Ÿ‘€

half harness
#

oh i didn't see that

forest pecan
ocean quartz
#

I mean YamlConfiguration uses snakeyaml

half harness
#

String document = "\n- Hesperiidae\n- Papilionidae\n- Apatelodidae\n- Epiplemidae";

#

uh

old wyvern
half harness
#

i thought snakeyml put newlines for me

ocean quartz
forest pecan
#

my toe hurts

old wyvern
#

Which?

static zealot
#

font

old wyvern
#

Thats a ToC course from yt

#

No idea

#

might be

#

xD

ocean quartz
#

Omg that is definitely comicsans

old wyvern
#

Exams in 6 hours

ocean quartz
half harness
#

idk im just looking at their wiki

#

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

ocean quartz
#

"idk", why do i even ask lol

half harness
#

....

#

I'm literally just looking on the wiki

#

I didn't even know it was raw snakeyaml

#

;-;

ocean quartz
#

Talking about your replies lol
And i mean by raw snakeyaml is because YamlConfiguration uses snakeyaml

half harness
#

Talking about your replies lol
I answered "idk" because... I didn't know that I was using raw snakeyaml
And i mean by raw snakeyaml is because YamlConfiguration uses snakeyaml
well I need to make my own smaller version of YamlConfiguration, but i need to know how to make that

forest pecan
#

w hat

#

smaller version of YamlConfiguration?

half harness
#

idkk

#

what do I use?!

#

I can't use YamlConfiguration

#

because it's to big

forest pecan
#

? learn-java

#

jkjkjk

half harness
#

So I have no idea what to do ๐Ÿ˜ซ

forest pecan
#

xD

old wyvern
#

Huh?

half harness
surreal quarry
#

triumph config

half harness
#

pls

old wyvern
#

Are you working on a plugin or external application?

half harness
#

second one

forest pecan
#

oh

#

external app

half harness
#

because I don't know things

surreal quarry
half harness
#

oooo

static zealot
surreal quarry
#
    private val discordFile = File(plugin.dataFolder, "discord.yml")
    val discord = SettingsManager.from(discordFile).configurationData(DiscordBot::class.java).create()
``` then register it and it just works ![fingerguns](https://cdn.discordapp.com/emojis/730681133200834592.webp?size=128 "fingerguns")
static zealot
#

oh wait I completely forgot about TriumphConfig. I should switch

surreal quarry
#

indeed

#

its great

forest pecan
#

copy and paste this code. and there we go we have minecraft

static zealot
#

probably not as good as ConfigMe but...

#

xD

old wyvern
#

Its a configme fork

ocean quartz
#

It is ConfigMe lol

surreal quarry
#

^

static zealot
#

ah nvm then

half harness
#

lol

#

How do i use TriumphConfig?

static zealot
#

you don;t

surreal quarry
#

look at what i just sent

#

like 10 messages ago

#

explaining how to use it

half harness
surreal quarry
#

yes

half harness
surreal quarry
#

you make a class with your config stuff

#

then use the SettingsManagerBuilder

#

and then you call like blah.getProperty(Blah.SOME_PROPERTY)

static zealot
#

or you can read the ConfigMe documentation which is more detailed and then check what the differences are fingerguns ๐Ÿ˜ฆ

half harness
#

wheres the maven repo?

forest pecan
#

So this is some external application?

#

right

static zealot
#

"me.mattstudios:triumph-config:1.0.1-SNAPSHOT"

surreal quarry
#

repo

half harness
#

ik

#

but

#

what do I put in the repositories {}

old wyvern
#

probably central

ocean quartz
#

1.0.5-SNAPSHOT

surreal quarry
#

its whatever matts repo is

#

iirc

ocean quartz
#

It isn't on central

old wyvern
#

ah

half harness
surreal quarry
#

maven { url = 'https://repo.mattstudios.me/artifactory/public' } pretty sure its that

half harness
#

ok

#

thx

static zealot
surreal quarry
#

not that i know of

ocean quartz
static zealot
#

its an extension

#

a guy posted on spigot

old wyvern
#

ah

half harness
#

so that i dont need 100 methods?

surreal quarry
#

theres

#

two

#

methods

#

getProperty

#

setProperty

ocean quartz
#

No, you can't

half harness
#

โ“

surreal quarry
#

it uses generics

ocean quartz
#

It's null safe, all properties must be declared

half harness
#

uhh what do you mean by "must be declared"?

ocean quartz
#
@Path("path")
val CONFIG_VALUE = Property.create("object")
surreal quarry
#

except you're using java probably (unless you've become a better person) so Property<Blah> instead of val

half harness
#

uh

old wyvern
surreal quarry
#

probably wont be in the config lmao

static zealot
#

it sets it

#

and spits an error

ocean quartz
#

In java, it's boilerplate galore

@Path("path")
public static final Property<String> CONFIG_VALUE = Property.create("object")
old wyvern
#

What about a missing key in config?

ocean quartz
old wyvern
#

Error on load?

ocean quartz
#

If the key is missing it'll rewrite it as default

old wyvern
#

ah

ocean quartz
#

Basically the key will never miss

old wyvern
#

Wait

#

Where was the default specified?

ocean quartz
#

On the create

surreal quarry
#

Property.create

old wyvern
#

oh ok

ocean quartz
#

The only time the key is not present is when it's optional or the yaml has wrong syntax so it'll error

old wyvern
#

ah

static zealot
#

ah I thought it erros as well

half harness
#

how do I get the value from a Property?

#

getDefaultValue doesn't seem right

surreal quarry
#

no its not

#

do you have a settingsmanger yet

half harness
#

nope

surreal quarry
#

so you should make one
SettingsManager blah = SettingsManager.from(file).configurationData(Blah.class).create()

#

then you can just call SettingsManager#getProperty(blah)

ocean quartz
#

In java settingsManager.get(Property.PROPERTY) in kotlin settingsManager[Property.PROPERTY]

static zealot
#

wait what?

surreal quarry
#

oh it was changed to get

#

i need to update xD

static zealot
#

why do I use get if I can use [] or is that just in your library?

half harness
#

in the .configurationData(Blah.class) what class do I put in?

static zealot
#

not in config.yml?

#

the SettingsHolder one

surreal quarry
half harness
#

the one with @Path?

surreal quarry
#

it will implement settingsholder

static zealot
#

yeah

surreal quarry
#

yea

half harness
#

and stuff

#

okay

#

perfect

ocean quartz
#

Yeah turned into an operator function

static zealot
#

ah so its yours only. k then

half harness
#
public class YamlFile implements SettingsHolder {

    @Path("text")
    Property<String> property = Property.create("value");

    public String getText() {
        SettingsManager manager = SettingsManager.from(new File("config.yml")).configurationData(YamlFile.class).create();
        return manager.get(property);
    }
}
```like this?
surreal quarry
#

no

half harness
#

oh

ocean quartz
#

Make it public static final

half harness
#

ohh right

#

final?

#

ohh right

surreal quarry
#

and delcare the SettingsManager only once

ocean quartz
#

Yes

#

And the setting manager goes in your main class

#

Or where you want to access it from, not in the holder

half harness
#

should the static manager var be static?

#

assuming it is

surreal quarry
#

no the manager shouldn't be static

ocean quartz
#

Huh? You mean the settings manager? Then no

half harness
#

ok

static zealot
#

I should check the migration features from ConfigMe because I've never used them. I just redid the entire config from scratch and its getting kinda annoying

half harness
#

but my main class only has public static void main

#

so id have to make an instance

#

of the class

obtuse gale
#

yes

half harness
#

or can I just make an instance of the manager in other classes?

obtuse gale
#

psvm is just a global entry point to your application

half harness
#

is there anything bad about having multiple instances of it?

#

whats a psvm...

onyx loom
#

public static void main

forest pecan
#

Multiple instances of your main class...?

half harness
#

no

forest pecan
#

oh

#

of what then

half harness
#

multiple instances of SettingsManager

forest pecan
#

you should study my ap java textbook

#

lmfao

#

you will learn a lot

ocean quartz
#
public static void main(args) {
  new Application();
}

Now your application doesn't need any static

half harness
#

but

forest pecan
#

?

half harness
#

is there anything bad in having multiple SettingsManager instances?

forest pecan
#

Yes

half harness
#

oh

forest pecan
#

why would you have multiple?

surreal quarry
#

just make one

half harness
#

:C

surreal quarry
#

then reloading and stuff will work

half harness
#

ohhh

#

okay

#

ill make one ๐Ÿ˜

forest pecan
#

im wondering how guice works

ocean quartz
#

Why would you have multiple?

surreal quarry
#

im going through changing all of my blah.getProperty(blah) to blah[blah]
its gonna be a long night lmao

forest pecan
#

i made a media library

 public String getResourcepackUrlYoutube(final String youtubeUrl, final String directory, final int port) {

        YoutubeExtraction extraction = new YoutubeExtraction(youtubeUrl, directory);
        extraction.downloadVideo();
        extraction.extractAudio();

        ResourcepackWrapper wrapper = new ResourcepackWrapper.ResourcepackWrapperBuilder()
                .setAudio(extraction.getAudio())
                .setDescription("Youtube Video: " + extraction.getVideoTitle())
                .setPath(directory)
                .setPackFormat(6)
                .createResourcepackHostingProvider(library);
        wrapper.buildResourcePack();

        HttpDaemonProvider hosting = new HttpDaemonProvider(directory, port);
        hosting.startServer();

        return hosting.generateUrl(Paths.get(directory));

    }

    public void displayImage(final int map, final File image) throws IOException {

        BufferedImage bi = ImageIO.read(image);

        ImageMap imageMap = new ImageMap.ImageMapBuilder()
                .setMap(map)
                .setViewers(getOnlinePlayerUUIDs())
                .setWidth(bi.getWidth())
                .setHeight(bi.getHeight())
                .createImageMap(library);

        imageMap.drawImage();

    }

Does that look clean

static zealot
#

no

#

didn't read it tho

#

so idk

forest pecan
#

๐Ÿฅฒ

#

depression

#

bish

#

i will be the one and only

#

Override

#

@static zealot fu

ocean quartz
#

The lack of final ๐Ÿ˜ฉ

forest pecan
#

oh

#

oop

#

lol

surreal quarry
#

languages that are mutable by default ๐Ÿ˜”

quiet depot
#

you should be using static factories instead of public constructors

#

also Blah.BlahBuilder is redundantly verbose

#

Blah.Builder works fine

forest pecan
#

oh yeah

#

i forgot

#

intellij auto generates those names

obtuse gale
forest pecan
#

no like actually

#

lol

steel heart
#

I love caffeine

onyx loom
#

me too ๐Ÿ˜ƒ

steel heart
#

Itโ€™s so great

#

Like srsly

#

No checked exceptions

#

Much more sense making

forest pecan
#

its literally 5 am for you

#

lol

steel heart
#

No

#

3:35

forest pecan
#

oh

#

well

#

still tho lol

half harness
#

If I /reload will my static variables reset?

steel heart
#

Hmm in paper yes

#

But that shouldnโ€™t most likely matter if youโ€™re using static the way it is intended to be used I think

#

Anyway paper does some stuff with the ClassLoaders that makes sure the static stuff is reloaded or unloaded and then loaded rather

forest pecan
#

pls

#

do

#

not

#

use

#

that

#

command

#

No like seriously

#

it's not good to use

frail glade
#

Hello, this request I made, is it really possible or is it a rumor?

forest pecan
frail glade
#

I don't think this completely answers my question

old wyvern
#

What part is left unanswered?

frail glade
#

I believe that yes, you can assign something to the receipt book.

See this plugin, it receives the information from the recipes and cancels it.

Likewise, we can identify this and take action, right?

old wyvern
#

Seems that just calls /recipe take <player> * for when a player joins

obtuse gale
#

That is the most disappointing snake oil I've ever seen xD

old wyvern
#

also cancels recipe discover event if that helps

obtuse gale
#

Forgot to set the limited crafting gamerule to false lmao

frail glade
obtuse gale
#

It doesn't prevent them from clicking the book

#

They will be able to, it's just that there will be nothing to see

#

I don't see any packet for showing the recipe book recipes, only for clicking discovered ones (basically only when "quick crafting")

#

So that would be a no :d unless that click fits your needs

frail glade
#

What I want is the following:

The user will click on the book and nothing will happen (this is already done by the plugin)

But I need that when he clicks on the book, a command is executed, is this possible?

old wyvern
#

No

frail glade
#

And with a custom jar as they say?

#

And with this one?

#

(I'm paying 60-80 $ to anyone who helps me with this)

hot hull
stuck harbor
#

I just started using vim

#

ohhh my god

#

it is soooooo goood

#

I don't know if I can go back to intellij now

obtuse gale
#

for java?

stuck harbor
#

yeah

#

using spacevim's java layer, ofc

prisma wave
#

Admins we have a troll

stuck harbor
#

although, for some reason, the SPC command doesn't want to work

stuck harbor
prisma wave
#

are you serious

stuck harbor
#

perhaps

obtuse gale
#

lmao

stuck harbor
#

I'm not just a java dev, so just using 1 application is very convenient

prisma wave
#

IntelliJ is an everything IDE :))

stuck harbor
#

even tho intellij might be easier to develop with

#

vim has quite a big learning curve, but it's very efficient

prisma wave
#

yes I am sure vim is productive but literally nothing can beat IJ's convenience and qol

stuck harbor
#

yeah tbf

#

all I need is syntax highlighting, javadoc viewing, and code completion

#

everything else I can do with terminal

prisma wave
#

sounds like a downgrade to me

stuck harbor
#

I'm really turning into a linux user lol calling intellij bloat

prisma wave
#

smh

#

Let me guess, i3 and Arch as well?

stuck harbor
#

ryzen 3 and manjaro

#

manjaro is arch based but hush

prisma wave
#

lol I mean i3 the window manager

#

But Manjaro is good

stuck harbor
#

ohhh I thought u mean the processor

#

I have been looking at i3 window stuff

#

looks pretty noice

prisma wave
#

yea it seems useful

#

I tried it once but couldn't get used to it

#

I was gonna say i3 + arch + vim is the elitist Linux environment

stuck harbor
#

I love how u quit vim, ESC :q!

#

and saving is ESC :w

prisma wave
#

So intuitive โ˜บ๏ธ

stuck harbor
#

well it kinda is

#

quitting is just entering the internal vim command q!

#

q obv means quit

#

just getting out of insert mode, and getting into the command line is more buttons

#

but hitting ESC is very inconvenient, leaving the home keys

#

so I just remapped it to jk

prisma wave
#

yeah it makes some sense

#

But I don't understand how it can be more productive than IJ

stuck harbor
#

no mouse

#

only keyboard

#

legit, when u use vim, no mouse needed

old wyvern
#

Keyboard Combos!

stuck harbor
#

lol

prisma wave
#

IJ has keybinds

#

I rarely use a mouse

old wyvern
#

I have an extension that reminds me about missing shortcuts

#

And I still keep missing ๐Ÿฅฒ

#

At a high score of 130 I think

prisma wave
#

๐Ÿฅฒ

stuck harbor
#

lol I use that too yugi

old wyvern
#

xD

prisma wave
#

I need to get that

old wyvern
#

Like I totally forgot I even had it before I saw the notification at bottom right one day

#

it was at like 97 at that point I think for debug or build or something

stuck harbor
#

nice

#

my guy it's just shift+f9

old wyvern
#

๐Ÿฅฒ

stuck harbor
#

I wanna get a stream deck just for macros

old wyvern
#

My laptop has like 6 extra keys for macros itself

#

idek what I set it to tbf

stuck harbor
#

nice nice

#

try them

old wyvern
#

I not used to using them

#

feels weird

lunar cypress
#

I have a macro that generates a markdown codeblock lol

#

bcs it sucks typing that on german keyboards

stuck harbor
#

lol german keyboards

old wyvern
stuck harbor
#

u probably have a รŸ button

lunar cypress
#

yeรŸ

stuck harbor
old wyvern
#

Still pretty useless tho

#

its like they they threw it on for the sake of it

stuck harbor
#

@prisma wave guess who is installing i3?

prisma wave
#

๐Ÿฅฒ

stuck harbor
#

๐Ÿ™‚

hot hull
#

i3?

prisma wave
#

window manager

#

It's like the lightest desktop "environment" you can get in linux

stuck harbor
#

@prisma wave look whats in the top right of that screen lol

#

a certain Vi Improved editor

old wyvern
#

๐Ÿ‘€

stuck harbor
#

lol

#

thats a good reference

old wyvern
#

Mr Robot

stuck harbor
#

mhm

stuck harbor
#

yep

prisma wave
#

My god

stuck harbor
#

judging by the top left screenfetch

prisma wave
#

How did you install that so quickly

#

Or is it a fake

stuck harbor
#

oh thats just from google

prisma wave
#

Oh lol

stuck harbor
#

im still installing balena etcher lol

prisma wave
#

Right

stuck harbor
#

once u get into the manjaro install disk tho, its like 5 mins

prisma wave
#

Maybe I'll try i3 and vim again

#

Become the true hackerman

stuck harbor
#

lol

#

aight im burning the iso to my usb

#

gotta backup my home dir first tho

obtuse gale
#

tf is with maps

#

Im running two instances of minecraft and theyre rendering at different speeds

prisma wave
#

spaghetti

hot hull
#

Macaroni

#

How do you list pc specs using cmd

obtuse gale
#

is systeminfo what u wantr

#

idk if that shows stuff like gpu tho

hot hull
#

Lemme check

#

Sheesh I have a feeling this gonna take a while

#

Shows barely any useful info

obtuse gale
hot hull
#

No, no I can not

#

@quiet depot you would probably know this

quiet depot
#

@hot hull no clue

#

in linux it's ez

#

just lshw

hot hull
#

Goddamn it I'm an idiot

#

Was trynna use wmic, but used v instead of w...

obtuse gale
#

how come someone can do this but the minute i try and do any kind of animations with maps it bugs out

lunar cypress
hot hull
#

Not gonna be installing anything, wmic works just fine. (Need it to verify specs for a pc I'm picking up later)

#

So just wanna verify them when I get there

lunar cypress
#

Questionable setup

hot hull
#

Your 4head is questionable

lunar cypress
#

I mean seriously, you can get a lot more out of 1.1k bucks

hot hull
#

I'm not paying that much for it

lunar cypress
#

Or is it used or something

hot hull
#

I'm paying 400 for it

#

That's just the specs it has

lunar cypress
#

Ok that's fine

hot hull
#

My pc died so really don't have much leniency in being picky

obtuse gale
#

I need a cool looking plugin concept

#

that i can codde quicklyh

hot hull
#

@obtuse gale What kinda plugin

#

Also why quickly

obtuse gale
#

Cos I cba to code something hard lol

#

any kind

hot hull
#

Async entities

obtuse gale
#

that doesnt sound cool looking nor quick to code

hot hull
#

:))

quiet depot
#

@hot hull getting an upgrade ๐Ÿ˜„

#

should still use linux

ocean quartz
distant sun
#

Cant buy a cheaper win 10 key off internet?

hot hull
#

Im not buying anything of this, I'm buying the entire thing for 400, I used pcpartpicker just to show the specs

stuck harbor
#

mhm

hot hull
#

And I don't have options when it comes to building it myself rn

#

This one will give me the option to upgrade "easily" in the future so that's nice

distant sun
#

Nice Frosty :)

hot hull
#

(it isn't even worth building it yourself rn, since parts are overpriced af, cpu is like 70โ‚ฌ, pcpartpicker says 200 lmao)

ocean quartz
#

Yeah, that's why i thought it was weird you didn't go for 3600, but 400 is not a bad price for that

hot hull
#

A deserved upgrade might I say

half harness
#

Whats better for files - - or _?

#

or likeThis

#

like-this
like_this
likeThis

ocean quartz
#

For yaml i prefer first one

half harness
#

ok

#

thx ๐Ÿ™‚

#

should I have a separate file for each server?

#

i could use yaml for that

#

i think

onyx loom
#

congrats @hot hull

#

this is a big milestone in ur life

hot hull
tawdry sluice
#

hello

#

does anyone know how to delete this

#

like

#

its a

#

linkvertise search bar on the bellow of my pc

#

screen

#

please someone help

hot hull
#

How the fuck does one change language settings on windows 10

lunar cypress
onyx loom
#

๐ŸŒ

hot hull
#

Excuse me, I've never used win10 before so..

steel heart
#

lol

ocean quartz
#

How's everyone doing today?

hot hull
#

Amazing

steel heart
#

fine n u

ocean quartz
#

In pain

steel heart
#

lovely

ocean quartz
#

Not so much in pain as I managed to get a basic response from OAuth2, but god this is killing me

steel heart
#

Sounds horrifying

lunar cypress
#

Oauth2, fun stuff

steel heart
#

is the one for $4 worth?

hot hull
steel heart
#

Frosty sotp flexing

half harness
#

YESSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS_ _

hot hull
#

Ah yes now I'm the one flexing lmao

steel heart
#

go away

half harness
#

I FINALLY DID IT_ _

half harness
#

compared to me

steel heart
#

why are you runnin

ocean quartz
dawn hinge
#

good job

ocean quartz
onyx loom
hot hull
#

Pogggggerrrsss

distant sun
#

looks nice boi @ocean quartz

forest pecan
#

@steel heart

#

wtf

#

why is your dog

#

red

steel heart
#

bruh he is neon pink-purple

forest pecan
#

i cant tell

#

is that a painting

#

or is that a dithered image

#

lol

steel heart
#

yeah

#

dithered

#

idk it was too fat

#

so I had to dither it

forest pecan
#

oh

#

ez

#

i fed it a ton of

#

big macs

half harness
#

helpchat ?learn-java is better

steel heart
#

no stop

steel heart
#

lol

hot hull
#

An absolute beauty

#

Latest IJ startup screen is nice

#

It's a joke efe

steel heart
#

dude

#

its not

#

it explicitly tells the implementation can be null but also not null

onyx loom
#

^

#

its basically saying too
assert null != null yes

ocean quartz
hot hull
#

Ewwww

distant sun
#

is that Ktor?

ocean quartz
#

Yeah

distant sun
#

interesting

ocean quartz
#

Loving it so far, from what I was looking at how to do in Spring it was so complicated, in Ktor i did it in just a few lines

distant sun
#

gotta learn how webhooks work uhh

old wyvern
#

You could just use jda gab

#

You're trying to send discord webhook messages right?

distant sun
#

no

#

receive data from spiget, plugin updates to be more precise

old wyvern
#

link?

frigid badge
#

bro

#

have you made a rest api or something like it before?

stuck harbor
#

stonks

distant sun
#

no

steel heart
#

it does what it says it does

#

:]

#

its also highly performant

half harness
old wyvern
#

Enterprise

#

!

half harness
#

im actually quite surprised lol

jovial warren
#

@NotNull @Nullable yeah because that's gonna work lol

steel heart
#

yup

jovial warren
#

I bet someone's gonna come across this and actually think it's a legit plugin

steel heart
#

lol I think not

#

I basically allude its a joke in the plugin desc

jovial warren
#

I wanna know how tf you even managed to make this work

steel heart
#

idk

#

I think if you have source declared then no check

jovial warren
#

omfg it just took me like 10 attempts to transfer my domain to Cloudflare

steel heart
#

lol

jovial warren
#

typical that on the attempt where I had ShareX open ready to post a screenshot it works lol

steel heart
#

those are nice

jovial warren
#

also, while you guys are probably hosting sensible things like Jenkins, Nexus, mail maybe, etc. guess what I host

steel heart
#

no clue

jovial warren
#

look at what's on there

steel heart
#

looks smooth

jovial warren
#

2 Tor exit nodes

#

and I've just bought another KVM slice to host a third lol

steel heart
#

damn, I'm still left with a potato pc

jovial warren
#

my pocket money recently got increased to ยฃ20 a week, so I have more spending flexibility now lol

steel heart
#

viola

jovial warren
#

probably gonna get myself a few DMCA takedown requests from those but hey ho, worth it

distant sun
#

isnt a webhook just a post endpoint?

steel heart
#

ye smtng like that

jovial warren
#

pretty much

#

I believe webhooks just listen for POST requests submitted to them

half harness
#

I just spent 30 minutes trying to figure out why my config saving things aren't working when I realized i was reloading and not saving ๐Ÿคฆ

distant sun
#

Imagine forgetting the password of the router panel ๐Ÿ™„

#

now i have to restart it p.p

half harness
static zealot
#

Omg

#

My laptop just crashed as well

#

XD

#

Nothing is responding anymore :(

#

:((

ocean quartz
#

Yikes

old wyvern
#

๐Ÿ˜ฎ

forest pecan
#

did you backup the code

ocean quartz
#

Yugi, ever done oauth with github?

old wyvern
ocean quartz
#

Trying to figure out how the callback stuff works, if I authorize it'll work and take me to the website again, but if i click cancel it'll just refresh the page xD

old wyvern
#

refresh the authentication page or your webpage?

ocean quartz
#

The authentication page

old wyvern
#

xD

ocean quartz
#

Yup

#

I managed to get it to send to the page again, but it wouldn't pass through the backend so wouldn't have any error handling

old wyvern
#

wait, are you sure theres a cancel button?

ocean quartz
#

After login in

old wyvern
#

oh wait 1 sec

prisma wave
#

help i accidentally made a factorial function

#

it's not supposed to be a factorial

#

but it is

ocean quartz
#

I think the issue is with ktor's oauth thonking

#

param("error") never triggers

old wyvern
#

There is no error param matt

#

@ocean quartz

ocean quartz
#

It should though thonking

old wyvern
#

I dont see it under web application flow in the documentation

#

Only device flow has that

ocean quartz
#

Clicking cancel pings the url:

http://localhost:8080/login/github/?error=access_denied&error_description=The+user+has+denied+your+application+access.&error_uri=https%3A%2F%2Fdocs.github.com%2Fapps%2Fmanaging-oauth-apps%2Ftroubleshooting-authorization-request-errors%2F%23access-denied&state=509cc0e62bd7c41a
#

Ooh the issue here is /?

old wyvern
#

Hmm

#

Weird

#

Ah

#

You added a / to the redirect url I guess?

ocean quartz
#

Yeah, removed it and nothing changed, though it's pinging this now, which should be correct

http://localhost:8080/login/github?error=access_denied..
old wyvern
#

Welp

winter iron
#

Anyone done custom modelling with fishing rods before?

hallow crane
#

Does anyone have an itemStack serializer + deserializer like essentials (readable and easy to edit) (for YAML) like this: http://wiki.mc-ess.net/wiki/Command_Reference/Kits#Example

I know how to make one but it will take a long time and I'd rather use an existing library to save time. I tried using Essentials' one but it's too complicated and intertwined with essentials' core for me to be able to reliably strip it out into my own project.

half harness
steel heart
#

I love u

half harness
#

๐Ÿ™‚

#

aw my intellij is not responding

#

๐Ÿ˜ฆ

forest pecan
#

First time creating a wiki

#

any thoughts?

static zealot
#

me too. it took my laptop 3 hours to repair

#

I finally got to open it again

#

lmao

half harness
#

RIP jitpack uses java 8 so I'm forced to use it ๐Ÿ˜”

steel heart
#

@forest pecan

#

is this already using completable futures? AsyncVideoExtraction

forest pecan
#

Yea

steel heart
#

I don't suggest nesting it

forest pecan
#

oop

steel heart
#

you probably want smtng like this

static zealot
#

man windows still not fully working ๐Ÿ˜ข

steel heart
#
class AbstractPojo {
  Object o;

  Object lock = new Object();

  AbstractPohjo() {

  }

  public void setO(Object o) {
    synchronized (lock) {
      this.o = o;
    }
  }

  public O getO() {
    return o;
  }
}
class APojoImpl extends AbstractPojo {

  APojoImpl() {
    super.o = new String('L');
  }

}
class Pojo {

  ExecutorService executorService;
  AbstractPojo pojo;

  Pojo(ExecutorService executor, AbstractPojo pojo) {
    executorService = executor;
    this.pojo = pojo;
  }

  Pojo(AbstractPojo pojo) {
    this(new ForkJoinPool(32),pojo);
  }

  public AbstractPojo getDelegated() {
    return pojo;
  }

  public CompletableFuture<Void> setO(Object o) {
    return CompletableFuture.runAsync(() -> {
      pojo.setO(o);
    },executorService);
  }

  public CompletableFuture<Object> getO() {
    return CompletableFuture.supplyAsync(() -> {
      return pojo.getO();
    },executorService);
  }
}

//usage
Pojo pojo = new Pojo(new APojoImpl());
pojo.<Object>getO()
  .<String>thenApply(o -> {
    return o.toString();
  })
  .<Void>thenAccept(o -> {
    Logger.info(o);
  })
  .<Void>thenAccept(() -> {
    pojo.setO(new Object());
    return null;
  });
#

or smtng

steel heart
#

CompletableFutures are a way to avoid nested callbacks

#

sorta like async await

#

they r different tho

#

but ye whatever

quiet depot
#

paste function

#

tell me what it does

prisma wave
#

what

quiet depot
#

ur factorial function

prisma wave
#

Oh

#

I think I fixed it now

#

It was a foobar thing

quiet depot
#

o

prisma wave
#

Trying to solve it and accidentally made a factorial lol

steel heart
#

Piggy, do you prefer putting static initialization in a static init block or just directly initializing when declaring?

static int i;

static {
  i = 1;
}

//or

static int i = 1;
prisma wave
#

I am not piggy but second is usually better

quiet depot
#

latter

#

static initialization blocks have their uses

#

that isn't one of them

steel heart
#

yeah yeah ik

#

just an arbitrary example

#

but then it should be avoided when possible?

prisma wave
#

yeah

#

Well

#

You could forget to initialise it :)

#

But also it's just cleaner

#

More obvious what's happening

#

Easier to read

steel heart
#

hmm Ig

forest pecan
#

does anyone know

#

what the hell

quiet depot
#

@forest pecan R

forest pecan
#

ooo

#

ty

#

it wasn't clear to me at first

static zealot
#

hmm. is there a way to add priorities to commands? in spigot?

quiet depot
#

elaborate

static zealot
#

because this is pretty annoying. I have a plugin that has a command that conflicts with my plugin's main command and the other plugin has a "disable" feature but it only tells me the feature is disabled so I still can't use mine. well I can using /pluginname:command but its annyoing

#

I've tried loading before and also loading after but same result

quiet depot
#

is that plugin os?

static zealot
#

no unfortunately

quiet depot
#

free?

static zealot
#

nope

#

its DeluxeCombat.

quiet depot
#

decompile it and look for how their commands are registered

nova bluff
#

if they register using plugin.yml you could just delete the alias

static zealot
#

oh wait that I didn't think of

quiet depot
#

see if they're using the playercommandpreprocessevent or plugin.yml

#

but yeah try dkm's thing first

forest pecan
#

i literally can't understand R lmao

#

my friend gives R code to me and i cant understand anything about it

static zealot
#

damn thanks. it is plugin.yml. I completely forgot about that.