#dev-general

1 messages ยท Page 457 of 1

pale shell
#

What's the better way would you say?

#

What's best practice then? Overlap or no overlap?

prisma wave
#

val main = println "Hello World"

#

K#

pale shell
#

that doesn't work in java bm smh

steel heart
#

public static Consumer<String[]> main = args -> {};

#

๐Ÿ˜„

prisma wave
#

LOVE IT

forest pecan
#

cute

pale shell
#

Anyone wanna type this stuff out for me? ๐Ÿ˜„

forest pecan
#

what stuff

half harness
#

wtuff

pale shell
#

so i gotta have about 100 things sorted

#

same thing just repetitive smh

prisma wave
#

you're doing something wrong

pale shell
#

how so?

#

I can't think of anything else to do this system.

prisma wave
#

repetition = bad

forest pecan
#

DRY

obtuse gale
#

WET

pale shell
#

time to break DRY ๐Ÿ™‚

prisma wave
#

Wet ass code

pale shell
#

Can you suggest a way to do it? I'm honestly curious

prisma wave
#

Idk what you're doing

#

All I know is repetition bad

obtuse gale
#

BM

pale shell
#

I wanna do something every 4 ints.

prisma wave
obtuse gale
#

#RoadTo1MillXP :o

prisma wave
#

:O

prisma wave
pale shell
#

?

prisma wave
#

Elaborate

pale shell
#

You know the pmines?

#

Every 4 /rankup's I want them to get new block but I wanna specify what blocks they get at that level

prisma wave
#

ok so what's the issue

pale shell
#

I can't work out the most optimised way to do it. The only way I can think of doing it will likely break DRY.

oblique heath
#

what do you have currently

hot hull
pale shell
oblique heath
#
public static LevelRange getRangeForLevel(final int level) {
        LevelRange[] results = {ONE,TWO,THREE};
        return results[level/4];
    }
#

pretty sure that's all you need

pale shell
jovial warren
#

May or may not have got permission to add bStats metrics to Krypton

oblique heath
#

actually wait

#

i dont think you need the +1

#

simple as just results[level/4]

#

so if your level is 3

#

you return results[3/4] = results[0] = ONE

#

if your level is 4 you return results[4/4] = results[1] = TWO

pale shell
#

I think I understand what you mean. I'm not dumb in saying this is complex, right?

ocean quartz
#

@old wyvern What is the exclusions on the relocation rule?

oblique heath
#

well it's not terribly complex, just gotta give it a bit of thought

prisma wave
#

Thanks

#

free kiss to anyone that can stop it taking 2-3 minutes to build

ocean quartz
#

Kinky

pale shell
#

just dont break it bm

oblique heath
#

why do you need it to build fast?

obtuse gale
#

--build-cache

#

where's my kiss

prisma wave
#

๐Ÿ™„

#

serious answers only

obtuse gale
#

lol

prisma wave
old wyvern
#

Any subpackages of the earlier pattern

jovial warren
#

-Dsuper.duper.fast.cache.that.does.things=true ez

pale shell
#

bm i wish i could help you but i'm dumb sorry

old wyvern
#

Inclusions is if you dont want to match patterns and only relocate a single package

prisma wave
#

you are all USELESS

prisma wave
#

It's slow

#

takes a long time to build

old wyvern
#

Build it normally?

oblique heath
prisma wave
#

Probably because no gradle cache

old wyvern
#

Yea probably

obtuse gale
#

?download-ram

compact perchBOT
ocean quartz
old wyvern
pale shell
#

did bm call us useless? call in Karen.

old wyvern
#

I think

prisma wave
ocean quartz
#

Ooh it does yeah!

oblique heath
#

when you build it anew, the steps that don't need to be changed are saved and not re-done, aren't they?

#

so everything before the first change is not redone

old wyvern
oblique heath
old wyvern
#

Reposilite seems to have a minor issue but that should be fine, we can fix that later

prisma wave
old wyvern
#

Ill make an issue tonight

prisma wave
#

I think there's a way of caching gradle stuff but idk how

pale shell
#

ty for helping btw guys!!

prisma wave
#

yeah thanks for the help!!!!!!!!!!!!!

oblique heath
prisma wave
#

That's not with docker right

oblique heath
#

i use docker build ...

prisma wave
#

huh

#

Maybe make is just fast

old wyvern
prisma wave
#

o

oblique heath
#

are you deleting the old docker image before you build the new one

quiet depot
#

anyone done vector art before

oblique heath
#

if you are, that might be why

old wyvern
quiet depot
#

by hand tho

prisma wave
#

That looks good ty yugi, will look when I get back

old wyvern
#

Vector art by hand?

pale shell
#

wait a second.... with numbers in the 4 times table or whatever it is it always in 0, 2, 4 or 6 right?

quiet depot
#

i have to design art using mathematical curves by hand

old wyvern
#

Ahh

pale shell
#

4, 8, 12, 16, 20

quiet depot
#

no fancy illustrator or inkscape

prisma wave
#

Uh

quiet depot
#

just graphics calculator

pale shell
#

wait no dw

#

I'll list make a super long list ๐Ÿ˜„

old wyvern
#

I see, you could probably use desmos for help

quiet depot
#

i am using desmos

half harness
#

๐Ÿ‘€

old wyvern
#

Ah

quiet depot
#

do you have experience with desmos?

oblique heath
old wyvern
#

I have used it a bit

oblique heath
#

so for instance

pale shell
#

what the LevelRange one?

oblique heath
#

level = 23
rank(?) = (level/4) + 1 = 6

oblique heath
#

a very slightly modified version of that yes

#

just integer divide by 4, add one

#

then you have your ONE/TWO/THREE in integer form

pale shell
#

but I wanna specify a thing for each one?

#

So, ONE = Stone, TWO = cobble, etc

oblique heath
#

then have an array

#

where index 1 is stone

#

index 2 is cobble

#

etc etc

#

or was that what you were asking originally?

pale shell
#

Is it easier if i explain what i'm trying to make in the end?

oblique heath
#

probably

pale shell
#

like end goal

oblique heath
#

hit me with it

pale shell
#

so, you know the pmines plugin i got right

oblique heath
#

give me a 10 word summary

pale shell
#

You start with Stone, every 4 /rankup you get new block

oblique heath
#

okay

pale shell
#

that was 10 exactly by accident haha

oblique heath
#

xd

#

i approve

#

is it only ever one new block each time

pale shell
#

I mean, I have a system what allows for multiple blocks to be put in a mine but i can sort that out because it acts in same way as single blocks

oblique heath
#

okay

#

what were you going to use the ONE, TWO, THREE enums for

pale shell
#

Those would've been how I would've worked out what blocks they'd have in a way. If they're at TWO they'd get the different blocks

oblique heath
#

when would you need to work out what blocks they have

#

specifically

pale shell
#

I mean, I just wanna change what blocks they have every 4 rankups

oblique heath
#

okay

#

now when they change, do they keep all previous blocks as well

#

or is it only the new one

#

actually idk if that's in the scope of what you're asking right now

pale shell
#

It'll mainly fill it with the set list of blocks if that makes sense

oblique heath
#

i think it does

#

so here's what I think

pale shell
#

lemme get some imgs to show example

oblique heath
#

every player can have a "block level" , which is what the ONE/TWO/THREE were before

#

it'll just be an integer and it starts at 0

#

when you fill your mine, you'll use a random number between the range of 0 and block_level, and use the result of that as the index for your big list of all blocks

#

whenever a player does /rankup, you can update the block level to be num_rankups/4

pale shell
oblique heath
#

yeah that's what i assumed was happening

pale shell
#

I can handle the blocks changing but it's just the part of working out what stage they were at you know?

oblique heath
#

yep so again for the 'stage' all you need to do is divide their current level by 4

#

integer divison always rounds down

#

so a player level 2 = stage 0, player level 8 = stage 2, etc.

pale shell
#

so

    public static LevelRange getRangeForLevel(final int level) {
        LevelRange[] results = {ONE, TWO, THREE};
        return results[level / 4];
    }

right

oblique heath
#

yep

#

so for your code, i don't think you need the LevelRange enum at all anymore

#

just work with the int produced by level/4

#

i just included it so it'd be similar to your original code

pale shell
#

So it's not needed to have that class anymore?

oblique heath
#

unless you have a reason to, i don't think it's needed

#

what are you using it for now / were planning on using it for?

pale shell
#

Mainly so I can work out what stage they're at

oblique heath
#

right

#

so now you can just use a normal ol' int to do that

#

instead of an enum

pale shell
#

Then I just make a bunch of lists saying what blocks go at what stage?

oblique heath
#

sure

#

that'll work well if you plan on having later stages not contain certain blocks from earlier ones

pale shell
#

yeah

oblique heath
#

for example if you have a stage with diamond and emerald blocks, maybe you don't want coal ore to show up

pale shell
#

that's what I was after tbh

oblique heath
#

then yeah

pale shell
#

It'll likely be a set thing in the code.

hot hull
#

That's dumb

pale shell
#

How so?

hot hull
#

Stop hardcoding shit

#

This could easily be configurable

pale shell
#

It's for personal use only.

hot hull
#

Doesn't change the fact

old wyvern
#

Wasnt it for privatemines?

pale shell
#

I'm going through privatemines's API.

hot hull
#

@ocean quartz Haven't asked in a while, where Triumph Chat

ocean quartz
#

Haven't done in a while either, had to pause it for the gui update and slimjar

#

I love writing gradle plugins ๐Ÿ˜ƒ

old wyvern
#

๐Ÿฅฒ

frail glade
#

How's slimjar going?

hot hull
#

How are the finals going :kek:

jovial warren
#

man, when you want to work on something but it requires changes from a PR you have open to be merged lol

#

anyone else ever had that before?

ocean quartz
frail glade
#

Finals are eh. Coming soon. Had an exam the other day, waiting to hear what I got on it.

#

Nice work.

ocean quartz
#

That is, if I can find out wtf is wrong in here lmao

jovial warren
#

imagine not also asking how Krypton's doing xD

frail glade
#

Figured you weren't working on it atm since you were busy fine-tuning your Waterfall PR.

jovial warren
#

nah I'm still working on it lol

#

added BungeeCord support yesterday because I got bored and couldn't work on block breaking because I'm waiting for the placing PR to get reviewed so I can merge it

#

managed to do that in like 83 additions and 17 deletions somehow

frail glade
#

Nice.

#

Got to learn how to do some Azure deployment stuff yesterday. It's pretty cool how easy they make it.

jovial warren
#

yeah Azure is great, just expensive

misty shard
#

do you have a link?

frail glade
ocean quartz
#

I guess Java isn't allowed thonking
Made a wrapper for it in Kotlin and it works

frail glade
#

Oh for the gradle plugin?

ocean quartz
#

Yeah

#

Was giving me a dumb error when passing a Java class to gradle, changed to a Kotlin one and it works

frail glade
#

Odd

prisma wave
#

why has pasting yaml got to be so shit

boreal needle
#

why is pasting yaml special

#

is it not the same as pasting literally anything else

prisma wave
#

indentation

#

is aids

boreal needle
#

cant you just

#

copypaste

prisma wave
#

im actually about to hurt someone

boreal needle
#

the indentation

prisma wave
#

no

#

it messes it up

boreal needle
#

wat

obtuse gale
#

Yaml is a bitch, that's all I have to say

prisma wave
boreal needle
#

yaml is alright

prisma wave
#

WHY

boreal needle
#

i mean

#

the indentation is copied perfectly

frail glade
#

Just lint it 4head.

prisma wave
#

with should be the same indentation as uses

#

etc

boreal needle
#

oh yeah

old wyvern
#

bm

boreal needle
#

thats just github's yaml editor being terrible

#

what else can i say

prisma wave
#

probably

boreal needle
#

its actually vile

prisma wave
#

ij probably doesnt have this problem

old wyvern
#

Thats not yamls fault, you pasted it over extra indentations

#

xD

obtuse gale
prisma wave
#

even if i remove all the indentation it still messes it up

old wyvern
#

That isnt a text editor i think

prisma wave
#

maybe it's githubs fault

old wyvern
#

just githubs actions ui

obtuse gale
#

Therefore

#

GitHub bad

prisma wave
#

still horseshit

ocean quartz
#

@old wyvern :pog:

  "relocations": [
    {
      "originalPackagePattern": "original.package",
      "relocatedPackagePattern": "relocated.package",
      "exclusions": [
        "test.exclusion"
      ],
      "inclusions": [
        "test.inclusion"
      ]
    }
  ]
old wyvern
#

ayyyy

#

lit

#

we have pretty much everything ready I think

#

resolver is almost done as well locally

frail glade
#

Interesting. What's the use for inclusions and exclusions? Just what gets relocated and what doesn't?

old wyvern
#

Like you dont want to relocate the entire pattern

frail glade
#

Fair enough.

#

Lmk when ready for testing.

old wyvern
#

alrighty ๐Ÿ˜„

frail glade
#

And we're allowed to specify our own mirrors too, right?

old wyvern
#

Yup

ocean quartz
#

Yeah I am adding that right now

frail glade
#

Awesome!

ocean quartz
#

Ayy this part is basically done, now let me add the option for the mirror

frail glade
#

Wahoo.

static zealot
hot hull
#

And that is when you go tell the person to go cliff jumping

boreal needle
#

cliff jumping sounds pretty fun ngl

static zealot
#

I think I'm going to be the one jumping

dawn hinge
#

I'm gonna be the one going to the cliff

boreal needle
#

can i join the two drums and the cymbal

boreal needle
#

yep that sounds like me :D

prisma wave
#

Alan Turing ๐Ÿคข ๐Ÿคข

ocean quartz
#

Wow wow, don't be rude to my boy Turing

prisma wave
#

The guy invented mutability

#

He deserves hell

ocean quartz
#

Tbh he pretty much got hell in the last few years of his life ๐Ÿ˜ข

prisma wave
#

yeah unironically yikes

#

Poor guy

half harness
#

mutability ๐Ÿ˜

onyx loom
#

unpopular opinion

jovial warren
jovial warren
static zealot
#

for the past few weeks I was always able to use my small vps from OVH as a test server and now it can barely start the server ๐Ÿ˜ข

half harness
#

why? :/

frail glade
#

I assume you're using the VPS for something else too? Cause I think there's some host that has a dev package plan for like $5 / month that's pretty decent.

pale shell
#

if only i could automate this part of the coding, lol.

static zealot
boreal needle
#

yaayyyy my domain got approved for ossrh

obtuse gale
#

Nice

#

Now push everything to central

boreal needle
#

thats the plan

obtuse gale
#

everything

boreal needle
obtuse gale
#

Well, every release to central

#

Snapshots go to s01.oss.whatever

boreal needle
#

dont you publish everything to s01

#

releases get synced

static zealot
#

by any chance does anyone know where each server's settings in pterodactyl are saved? And I don't mean server files but the startup flags, build configuration etc.

obtuse gale
#

I don't think so? You specify the snapshot repo and a release repo

boreal needle
#

who knows lmao

#

im sure ill figure it out

jovial warren
#

lemme help

obtuse gale
#

Maven makes it really easy to publish, I actually never tinkered with gradle on that area

jovial warren
#

I've used Maven Central before

#

I know the pain

obtuse gale
#

It's a PITA the first time but once everything is set up it's pretty smooth

jovial warren
#

there's quite a few requirements to meet

boreal needle
#

oh shit i forgot about them

jovial warren
#
  1. everything must be signed
  2. you must include both sources and javadocs
  3. you must include the name, description, URL, packaging, license, developer and SCM information for the project
hot hull
#

How I normally merge PRs

boreal needle
#

ive done 2

#

half ish 3

jovial warren
jovial warren
boreal needle
#

i use maven ๐Ÿฅฒ

jovial warren
#

๐Ÿฅฒ

boreal needle
jovial warren
#

can help translate if necessary

#

the pom stuff is easy anyway

hot hull
#

Rythm be boning me rn

jovial warren
#

name = 'Whatever' becomes <name>Whatever</name> for example

#

then the blocks are just nested XML keys

boreal needle
#

alright lets see if i can figure out gradle :D

jovial warren
#

these go at top-level btw, same level as <groupId>

jovial warren
#

converted enough people by now lol

boreal needle
#

lmao yeah

#

i got halfway

#

i do some funky stuff with the build that took me a while to get going

static zealot
jovial warren
#

also, was reading up on a Gradle article earlier thinking about Gradle that just proves that Gradle is not only subjectively superior, but also objectively superior, to Maven

static zealot
#

but only sometimes

boreal needle
#

gradle do be speedy

hot hull
#

Need to check all those out, only issue I had was with Spirits cause it's forbidden in some countries for some reason

jovial warren
boreal needle
#

like it feels dangerously quick

jovial warren
boreal needle
#

i keep on thinking its doing something wrong

#

but its not

onyx loom
jovial warren
#

because Gradle be like:

boreal needle
#

no 16 support is kinda sad

jovial warren
#

you what?

onyx loom
#

gradle 7.0

jovial warren
#

yeah I was gonna say, there's no way Gradle would've let that slide for this long

#

upgrade Gradle with ./gradlew wrapper --gradle-version=7.0

onyx loom
#

i think so anyway

jovial warren
#

(or gradlew.bat, or even just gradlew, if you're on Windows)

boreal needle
jovial warren
#

๐Ÿ˜ฎ

#

is that Arch?

boreal needle
#

yes

jovial warren
#

like Arch Linux?

boreal needle
jovial warren
#

oh yes

obtuse gale
#

what else could it be lmao

boreal needle
#

B)

jovial warren
boreal needle
#

no theming?!!!

jovial warren
#

nope, just plain old i3 lol

boreal needle
#

my eyes hurt

jovial warren
#

lol

boreal needle
#

half the fun of using i3 is making it pretty

onyx loom
#

bardy pc > lucy pc

jovial warren
#

I've never really bothered, my only requirement for DE/WM is that it works pretty much

boreal needle
#

nah i really hate i3status

#

look at how much cleaner polybar can be

jovial warren
#

Spotify | packages to update | main drive free | expansion free | wifi status | RAM usage | CPU usage | CPU temperature | date and time

#

that's my layout

jovial warren
boreal needle
#

oof dunst is wonky

#

ill need to fix that now

onyx loom
jovial warren
#

I think that bug's been fixed now, not 100% sure though

onyx loom
#

ur pcs temps are so high they cannot be read properly

jovial warren
#

made a PR for it once, never got merged because it broke Intel CPUs (the maintainer uses an Intel CPU)

onyx loom
#

ur pc gonna be explode

jovial warren
#

lol

distant sun
#
root@vesta:~# sftp -i key root@a
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@         WARNING: UNPROTECTED PRIVATE KEY FILE!          @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0644 for 'key' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
Load key "key": bad permissions
root@a: Permission denied (publickey).```
I love linux
jovial warren
#

that's it telling you that you're a moron and you should be protecting your keys from write access outside of your user

boreal needle
#

root

#

๐Ÿ‘€

jovial warren
#

nothing wrong with using root on a server if you secure it properly

#

and you are the only user

distant sun
#

aight, how do I secure the keys

onyx loom
#

create ur own encryption algorithm

obtuse gale
#

@Vision ๐Ÿคก

distant sun
#

fr though

old wyvern
#

Set the permission for the pem file to be for only root

distant sun
#

chmod 400 key?

old wyvern
obtuse gale
onyx loom
#

eeeek

ocean quartz
#

Should probably had asked someone to remove that

onyx loom
#

why matt? theres absolutely NOTHING wrong with it

ocean quartz
#

True

half harness
#

smh matt

#

making false claims

obtuse gale
#

This is why Java needs type aliasing ๐Ÿ˜ฉ

heady birch
#

public class MyCoolTypeAlias extends MyComplexType<A, OtherComplexType<B>>

onyx loom
#

omg its niall

#

hello ๐Ÿ˜Š

heady birch
#

Hi

#

Anyway, rust has type aliases ๐Ÿ™‚

half harness
#

so does haskell

obtuse gale
#

so does kt and a dozen other languages

#

one of many reasons why java sucks

onyx loom
#

outdated language

forest pecan
#

I need 4 mi server!! !

ocean quartz
obtuse gale
#

literally what I said right after lol

ocean quartz
#

Just in case he didn't see xD

obtuse gale
#

@half harness

prisma wave
#

does kotlin have algebraic data types though

#

didnt think so

#

gn

half harness
#

yes i see

obtuse gale
#

nighty

half harness
#

u pinged me twice ;-;

obtuse gale
#

ok

ocean quartz
#

@half harness Sorry

jovial warren
#

@heady birch

#

Rust

#

oh ffs why is my default JRE 8

#

luckily, archlinux-java makes it really easy to switch between the Java version that can be found in PATH

boreal needle
#

im trying to add a custom stylesheet to my javadocs, how do i do it?

#

i've got this far

#
tasks {
    ...
    withType<Javadoc> {
        
    }
}```
frail glade
#

Is there a setylesheet file option?

boreal needle
#

options is giving me a MinimalJavadocOptions but thats not got the properties i need

#

somehow i need to get a StandardJavadocDocletOptions but i dont have a clue what im doing

obtuse gale
#

yeah cast it to that

obtuse gale
#

I can guarantee it's safe :^)

boreal needle
#

ay that worked

jovial warren
#

you're meant to create a custom task @boreal needle

boreal needle
#

oh

boreal needle
#

how do it do that

jovial warren
#

lemme show you my task for this

boreal needle
#

also why

#

gradle is so different from maven, tbh its not making much sense

jovial warren
#

actually, just use dokka for documentation

#

might be easier

obtuse gale
#

I mean the default task works fine lol

jovial warren
#

when it actually works, sure

obtuse gale
#

when does it not

boreal needle
#

is that not for kotlin

jovial warren
#

yeah but it works for Java too

obtuse gale
#

Hey devs out there I have a question

jovial warren
#

it turns documentation into a tree of nodes

jovial warren
compact perchBOT
#
FAQ Answer:
ยป Give the helpers some details
ยป Ask suitable questions
ยป Be polite
ยป Wait

Source

ocean quartz
#

๐Ÿฅฒ

obtuse gale
#

Oh its about a different plugin ๐Ÿ˜ฆ

#

Lol

boreal needle
#

lets see if i can figure this one out

jovial warren
obtuse gale
#

we never mentioned any plugin lol

jovial warren
obtuse gale
#

How do you get the greyed out areas on scoreboards let me show an example
(they at the start of each line)

jovial warren
#

that's just the | character I believe

#

in bold grey

#

try &7&b| maybe?

obtuse gale
#

So like &&b|

#

Oh

#

We have same idea lol

jovial warren
#

&7 for the grey and &b for the bold

#

e.g. &7&b| &rRank

#

(&r makes sure the formatting doesn't also apply to the word "Rank")

obtuse gale
#

Oki will do

#

ty

distant sun
#

does anybody have a jar for lambdaattack?

#

Could not find artifact com.github.games647:lambdaattack-version-1-16:pom:2.4.0 in central (https://repo1.maven.org/maven2)
I was never a fan of building it

ocean quartz
#

This is why I don't do recursion, it's always stack overflow ๐Ÿฅฒ

distant sun
#

sooo

obtuse gale
#

lol that ain't on central

distant sun
#

yup

boreal needle
#

imagine your stuff not being on central

#

couldnt be me ๐Ÿ˜Ž

distant sun
#

is not on central cuz it is a module

distant sun
#

I need it for 1.16

jovial warren
boreal needle
#
 withType<Javadoc> {
        val opts = (options as StandardJavadocDocletOptions)
        opts.stylesheetFile = File("${project.rootDir}/src/main/javadoc/resources/javadoc.css")
        opts.addBooleanOption("-allow-script-in-comments", true)
        opts.footer = "<script src=\"{@docRoot}/resources/prism.js\" type=\"text/javascript\"></script>"
        doLast {
            copy {
                from("${project.rootDir}/src/main/javadoc/resources")
                into("${buildDir}/docs/javadoc/resources")
                include("prism.js", "prism.css")
            }
        }
    }```
#

is this how im supposed to do it

jovial warren
#

looks about right

#

no need to bracket the as cast there

#

can just be val opts = options as StandardJavadocDocletOptions

boreal needle
#

ah yeah

#

it works perfectly

jovial warren
#

actually you don't even need that

boreal needle
#

which is always a bonus

jovial warren
#

just cast

#

just remove the val

#

just type options as StandardJavadocDocletOptions and then use options instead of opts

#

Kotlin will handle the smart cast for you there

boreal needle
#

sadly not

jovial warren
#

wow

#

Kotlin why u embarrassing me in front of my friends smh

boreal needle
#

am i a friend? :D

jovial warren
#

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

steel heart
#

krypton ETA?

jovial warren
#

what exactly do you want?

obtuse gale
#

ETA

steel heart
#

I mean like when will the offical release be

jovial warren
#

I haven't got the foggiest idea

#

soonโ„ข๏ธ ๐Ÿฅฒ

obtuse gale
#

ya bet

jovial warren
#

I mean, help would be much appreciated

boreal needle
#

i would contribute if i knew how to kotlin

obtuse gale
#

tbh I'd love to but considering my kt code is probably crap (I know kt, I don't know good kt) and I don't have much time to spend on other things.. yeah sad

jovial warren
#

fair

boreal needle
#

im gonna have 14 weeks of no school soon

#

gonna start learning kt

jovial warren
#

me too

steel heart
#

yo pog

jovial warren
#

we break up on the 27th May

boreal needle
#

y11?

jovial warren
#

you bet

boreal needle
#

same here

jovial warren
#

oh nice

boreal needle
#

our last day is literally one lesson

#

so pointless

jovial warren
#

we get like at least 4 days of nothing lol

#

there's no assessments in the last week

#

and I don't think any of our teachers are gonna make us do anything

#

I just merged it locally and it was fine

#

wtf GitHub

boreal needle
jovial warren
#

had to manual merge that

#

dw, only 458 total issues ๐Ÿฅฒ

boreal needle
#

how the hell do gpg keys work

jovial warren
#

first of all, let me get my grammar police stuff out of the way and say that GPG is the name of the tool you can use to manage the keys (stands for GNU Privacy Guard), the name of the standard is OpenPGP

#

second, it's just public and private keys

boreal needle
#

do i use the same keypair across several machines?

#

or one for each

jovial warren
#

up to you

#

I would recommend you use different keys though

#

for both security and ease of use

boreal needle
#

ok cool ill do that

#

it feels good to expand away from java and maven

jovial warren
#

good

obtuse gale
#

Devs basically how would you make your leaderboard slimmer? Because its very thick and it dosent need to be

half harness
#

wdym?

obtuse gale
#

Basically lemme quickly ss it

half harness
half harness
compact perchBOT
#
FAQ Answer:

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

obtuse gale
#

Ik ik

hot hull
#

thi(c)^2

boreal needle
#

i broke ossrh

obtuse gale
#

br br brrrrrr

boreal needle
#

is gradle supposed to be generating hashes of the asc files

#

like thats a lot of files for 3 artifacts and a pom

obtuse gale
#

oh yeah that's normal lol

#

or literally any other artifact in central lol

jovial warren
half harness
#

why?

jovial warren
#

no clue

old wyvern
#

Umbrella Academy

karmic fjord
#

ah yeah

#

thanks

obtuse gale
half harness
#

looks fine?

obtuse gale
#

To make it smaller

half harness
#

also wrong channel :p

#

just shift the top stuff to the left and remove some dashes

frozen basin
#

pray

jovial warren
prisma wave
frozen basin
#

i dont get how some servers are able to get the rank prefixes on leaderboards

#

like it boggles mind

#

i want to do it too lol

#

but idk how

prisma wave
#

hmm?

frozen basin
#

something like this

prisma wave
frozen basin
#

yeah

#

like the way its formatted is

#

[rank] [player] - [stats]

#

welp im stumped

jovial warren
#

hey @old wyvern, remember ages ago when we were designing the ticking stuff for Krypton? remember you said something about a way to deal with the Thread.sleep wake up overhead? do you by any chance remember what exactly you said?

#

working on replacing the tick scheduler with a while loop on the main because it's easier to get a thread reference to

#

and easier to watchdog

old wyvern
forest pecan
#

Intellij: Unused method or class

#

Me:

tranquil crane
#

anyone know what IntelliJ wants me to use instead?

obtuse gale
#

Sysout.printf?

oak raft
#

ew

tranquil crane
#

That's what I was thinking but does that append a newline?

obtuse gale
#

I believe so

tranquil crane
#

turns out it does append a newline

#

System.out.format and System.out.printf do the exact same thing

obtuse gale
#

format? Never heard of that one there before

tranquil crane
obtuse gale
#

Lmao

wind bolt
#

Only one day till the release of SimplexCore 1.0.0 Alpha

#

I'm excited

forest pecan
#

yesterday

#

lmao

wind bolt
#

I'm not advertising it smh

#

Just expressing my excitement

#

Sorry but I'm excited that a 3 month project is finally ready for an alpha release

#

It's a big deal for me since I've never taken a project like this on before

#

@forest pecan

#

It's an ultimate conglomeration of everything I've learned about java

#

And bukkit

#

Well the majority anyway

#

Sorry I have pride in my work

wind bolt
#

That's the dumbest thing I have ever seen a trucker do

oak raft
sweet cipher
#

Does anyone have a working gradle with spigot I can. see? I got back from vacation and now it doesnโ€™t work.

sweet cipher
#

What

#

Build.gradle

#

Thank you

oak raft
obtuse gale
#

Ok

sweet cipher
#

Did you just talk to yourself?

#

When?

#

Welp no help for me lol

obtuse gale
#

I mean you can just google "spigotmc gradle" lol

sweet cipher
#

I did

#

It isn't working for some reason

obtuse gale
#

Send your build.gradle

#

=paste

compact perchBOT
#
HelpChat Paste

Please use a paste service to share configs, errors, code and long logs.
โ€ข HelpChat Paste

pine dirge
#

this dev help channel right?

sweet cipher
sweet cipher
#

I guess it fixed itself

#

I spent an hour trying to figure it out yesterday, came back today, and it worked again lol

obtuse gale
#

And all i had to do was ask

#

Who would've thought

wind bolt
sweet cipher
#

Would you rather be called Fefo or Emily @obtuse gale

wind bolt
#

Femily or Emifo

obtuse gale
#

Yikes lol

sweet cipher
wind bolt
#

Fefily

obtuse gale
#

Emily please

sweet cipher
#

Alright

wind bolt
#

@sweet cipher not with development but configuration?

sweet cipher
#

Yes

pine dirge
wind bolt
#

If its for coding and plugin dev

#

If its for literally anything else

pine dirge
#

just help me with this

wind bolt
#

Dm me

pine dirge
#

oh ok

sweet cipher
obtuse gale
#

Yw

hot hull
#

chest, hopper, etc

hot hull
#

containers, spawners I believe as well

jovial warren
#

omg you don't know what a tile entity is?

#

now called a block entity btw

#

@Volatile var mainThread: Thread? = null; internal set if (WatchdogProcess.mainThread == null) WatchdogProcess.mainThread = Thread.currentThread() is it just me or is this some mad hackery

#

anyone know if there's an easier way to retrieve the single thread for a single thread scheduled executor?

#

actually I got an idea lol

#
lateinit var mainThread: Thread private set
private val tickScheduler = Executors.newSingleThreadScheduledExecutor { Thread(it, "Tick Scheduler").apply { mainThread = this } }
#

or I could just become a sane human and use a while loop over an SES

jovial warren
#

should I add main thread execution to Krypton btw?

steel heart
#

Yeah like bukkits BukkitScheduler#runTask or smtng?

jovial warren
#

more like server.scheduler.sync().run() maybe but yeah

prisma wave
#

CoroutineContext

jovial warren
#

remember this has to be Java compatible BM

#

well, I mean, launching coroutines is technically kinda Java compatible I guess

#

maybe the scheduler could just have the addition of runSync and scheduleSync functions

#

there won't be any unnecessarily long function names like scheduleSyncDelayedTask or runTaskTimerAsynchronously though

hot hull
#

When you're pea brain so you deprecate scheduleAsyncTask because people keep thinking it says A sync

#

๐Ÿคก

jovial warren
#

lol

#

is that actually why they deprecated those?

stuck harbor
#

yes we must schedule a sync task

#

naturally scheduleAsyncTask

onyx loom
#

why does it have to be java compatible

stuck harbor
#

this is why some people defect to snake case

jovial warren
stuck harbor
#

scheme compatible?

hot hull
#

Go read the deprecation message

onyx loom
#

then people can learn kotlin

stuck harbor
#

force people to learn kotlin

#

yes good

onyx loom
#

yes.

#

the way i see it - its a server written in kotlin, so its api should be as idiomatic for kotlin as possible

stuck harbor
#

hmm thats a fair point

quiet depot
#

the way i see it - its a server written in kotlin, so its api should be a skript implementation

onyx loom
#

๐Ÿ‘€

stuck harbor
#

skript lisp?

#

yes pls

quiet depot
#

yes

stuck harbor
#

man just use lua

quiet depot
#

this is literally what lua is for

jovial warren
quiet depot
#

it's the best language for the job

onyx loom
#

KTS

jovial warren
#

dw though, I want it to be compiled and use code generation rather than use runtime interpretation

#

yeah that might work actually

quiet depot
onyx loom
#

yes

jovial warren
#

KTS = Kotlin Script

#

because yes, Kotlin has a JetBrains-made compiler plugin for scripting support

quiet depot
#

lua's purpose, is to be used as an embedded language

stuck harbor
#

yeah

#

I hate lua's arrays tho

old wyvern
#

Use Embedded Elara

#

Easy solution

stuck harbor
#

hon hon

#

quantum scripting language pls

quiet depot
#

does desmos use latex?

#

i'm tryna paste something into desmos but it aint working

stuck harbor
#

it should do

#

then again, should doesn't mean does

#

my brain still doesn't get LaTeX tho

#

I'm too used to WYSIWYG

quiet depot
#

what's that?

old wyvern
#

"What You See Is What You Get"

quiet depot
#

I think i've heard of it before

#

oh

#

lol

old wyvern
#

lol

lunar cypress
#

LaTeX is used to render mathematical equations and such, not to interpret them, so I doubt desmos is using it

quiet depot
#

oh

#

so what's the actual format?

#

is that tex?

lunar cypress
#

same thing with tex

quiet depot
#

what's the format called then? With the {} and backslashes and shit

lunar cypress
#

I would assume they use their own

quiet depot
#

damn

lunar cypress
#

oh

#

apparently latex does work

quiet depot
#

do you know of a latex convertor?

#

a place where I can input my plain old math expression

#

and it converts it into the format

lunar cypress
#

And apparently you need to double up the backslashes

lunar cypress
quiet depot
#
1/6(-221+1/(2sqrt(3/(-62408+(1934006903193088-8294400sqrt(54368280633789597))^(1/3)+8(3777357232799+16200sqrt(54368280633789597))^(1/3))))-1/2sqrt(-124816/3-1/3(1934006903193088-8294400sqrt(54368280633789597))^(1/3)-8/3(3777357232799+16200sqrt(54368280633789597))^(1/3)+23270400sqrt(3/(-62408+(1934006903193088-8294400sqrt(54368280633789597))^(1/3)+8(3777357232799+16200sqrt(54368280633789597))^(1/3)))))```
#

wolfram alpha outputted it

lunar cypress
#

christ

#

ok, there's not much to do here

#

for fractions, use \frac{1}{6}

#

for powers, use ^{...}

#

sqrt is \sqrt{...}

quiet depot
#

but double backslash right?

lunar cypress
#

For desmos it said so on some stackexchange post

quiet depot
#

ok

lunar cypress
#

seems to work

quiet depot
#

thanks, finally got it working

jovial warren
#

hey anyone here up for reviewing the contribution guide I've came up with for Krypton?

#

I wanna get some feedback

steel heart
#

Looks fine, do you have a code of conduct also?

jovial warren
#

what would I need that for?

steel heart
#

Just from GitHub: A code of conduct defines standards for how to engage in a community. It signals an inclusive environment that respects all contributions. It also outlines procedures for addressing problems between members of your project's community. For more information on why a code of conduct defines standards and expectations for how to engage in a community

#

Iโ€™ve seen it in some other open sources so was just curious

jovial warren
#

might not be a bad idea I suppose

prisma wave
#

i dont think you need to explain how to use git

#

seems a bit condescending

jovial warren
#

lol

#

well, ya never know

prisma wave
#

if someone knows kotlin chances are they also know enough about git

jovial warren
#

true I guess

boreal needle
#

i'm looking at pdm

#

what exactly does it support?

old wyvern
#

wdym?

boreal needle
#

oh nvm im just bad at reading

onyx loom
#

slimjar

old wyvern
#

๐Ÿ˜Œ

old wyvern
#

hmmmmm

half harness
#

oh i just realized it's May

#

nice

jovial warren
#

omg dkim

#

took you long enough

#

lol

half harness
#

if it wasn't for #announcements i probably wouldn't have known for a lot longer

#

lol

jovial warren
#

@prisma wave excuse me sir

#

may I ask that you review a PR for me?

#

maybe I should get a bot that can check stuff lol

#

since relying on human beings is annoying

old wyvern
#

The server has stopped responding! This is (probably) not a Krypton issue.

jovial warren
#

you what

#

yeah got that from Paper lol

old wyvern
#

(probably) not
The confidence is high xD

#

Does paper say that too?

jovial warren
#

ofc

old wyvern
#

lol

jovial warren
#

Spigot says that

#

gimme a min, I'll reference the line in the patch

old wyvern
#

ahh

jovial warren
#

I mean, it probably isn't a Krypton issue tbh

old wyvern
#

Did you switch to thread sleep ?

jovial warren
#

not yet

#

idk whether I should or not tbh

old wyvern
#

hmm

#

What was the issue?

jovial warren
#

I wasn't multiplying the timeout time properly (the one in the config is in seconds, and we need to use it in milliseconds)

old wyvern
#

ah

jovial warren
#

I still got a few improvements to make to plugin loading at some point

#

namely, a good reloading system (if possible, may need pig's help here lol), and support for dependencies

half harness
#

reload?

jovial warren
#

yes

half harness
#

but

jovial warren
#

like built-in support for reloading your plugin

half harness
#

what if u just make a onReload method

#

in the plugin

#

isn't that how sponge does it

jovial warren
#

what do you think I'm going to do

ocean quartz
half harness
#

heeeeeeeeeeeeeelp

old wyvern
#

quick, yeet your pc

boreal needle
old wyvern
#

bard, for a proper "reload" system youll need to isolate plugins kind of

#

Or actually

boreal needle
#

that works quite well

old wyvern
#

use osgi

half harness
#

that took a while ๐Ÿ˜ฉ

old wyvern
static zealot
#

someone help me ๐Ÿ˜ข I can't get nms to work anymore with paper

ocean quartz
#

?help

compact perchBOT
#
FAQ Answer:
ยป Give the helpers some details
ยป Ask suitable questions
ยป Be polite
ยป Wait

Source

ocean quartz
#

Smh

static zealot
#

I ran java "-Dpaperclip.install=true" -jar paperclip.jar

#

shut up

old wyvern
#

lol

ocean quartz
#

Support nowadays

static zealot
#

and it said it installed in my local maven repo

#

oh wait

#

I only use maven central

#

not local

#

fuck

static zealot
#

yes hire me. I'll do nothing for money!

#

well I'm very good at wasting time

old wyvern
#

OH FFS

#

WHY

obtuse gale
# static zealot not local

Lol I had the same issue before I genuinely didn't notice I went ask in the paper discord xD so embarrassed when they told me

old wyvern
#

They already scheduled the terminals to be in 10 days

jovial warren
old wyvern
#

wgnoegn3ignpwgj3pg

jovial warren
#

you know what day the 4th May is don't you lol

static zealot
jovial warren
#

Star Wars day lol

#

through an absolutely awful pun that is very smh worthy

ocean quartz
old wyvern
#

When the fuck do they expect us to study

jovial warren
#

hey do you guys think that creating a security manager to stop plugins stopping the JVM is a good idea or not?

static zealot
#

oh boy help me ๐Ÿ˜ข

jovial warren
gusty glen
old wyvern
#

System.exit

static zealot
#

I ask for latest log he gives me oldest ... ๐Ÿ˜ข

jovial warren
#

also, it won't be called onReload, it'll be called reload lol

static zealot
#

I say its in a .txt file he gives me a .gz file

#

I say put it in a paste he dms me the txt file

jovial warren
#

/krypton plugin PluginName reload lol

half harness
#

these ppl

jovial warren
old wyvern
#

yes

old wyvern
hot hull
jovial warren
hot hull
#

Makes a whole lot more sense

old wyvern
#

Or ofc, you can manually do it by isolating plugins and providing interfaces for interaction from another classloader

jovial warren
#

not if you consider there may also be other sub commands there

static zealot
wind bolt
#

Zipped file inn a pastabin

jovial warren
#

e.g. /krypton plugin PluginName shutdown, /krypton plugin PluginName initialize

static zealot
#

oh and I'm glad... he's getting banned lmao

half harness
#

so built-in plugman? fingerguns

static zealot
#

he's leaking shit

half harness
#

lol

jovial warren
#

@old wyvern what exactly is OSGi and how is it applicable here?

old wyvern
#

In this case you would structure your plugins as an osgi module

jovial warren
#

also this looks kinda big

old wyvern
#

Might be, havent really used it yet, only heard of it from piggy

#

I dont think it would be unreasonably large

jovial warren
#

I mean, surely the way you'd do unloading is to try your hardest to force the JVM to remove the classes before reloading them

old wyvern
#

The only way to do that is to make sure no references to your class loader is held

#

so essentially

jovial warren
#

there's no way OSGi can possibly do it another way

old wyvern
#

Read up on it bard

jovial warren
#

also, how tf does Bukkit handle this then?

old wyvern
#

it doesnt

#

thats the issue

#

xD

jovial warren
#

maybe there's a good reason for that

old wyvern
#

And why is that?

jovial warren
#

because of the hackery it requires

old wyvern
#

This isnt a hack

#

osgi is a well known and old framework

jovial warren
#

removing all references to a class and hoping that the GC yeets it is a hack and a half

old wyvern
#

The OSGi Alliance, formerly known as the Open Services Gateway initiative, is an open standards organization founded in March 1999 that originally specified and continues to maintain the OSGi standard.
The OSGi specification describes a modular system and a service platform for the Java programming language that implements a complete and dynamic...

old wyvern
#

You ensure no leaking of references outside of the same classloader in the first place

jovial warren
#

ah

gilded granite
#

im just now starting off learning java and im so confused lmao

#

what the heck is a public class main

#

or a public static void

jovial warren
#

you're creating the main class

#

and the main method

static zealot
#

it sounds like you should start from the beginning and not by reading other's code

#

?learn-java

compact perchBOT
#
FAQ Answer:

Oracle Docs:
You should start with this, breeze through this(skipping stuff that doesn't seem relevant like bitwise operators), then hit this.
They're the first three from this larger thing which you should definitely go through overall. But those three should be enough for slightly better understanding of what is happening here without feeling like a huge time sink.
That one is a small part of this larger site wherein "Essential Java Classes" and "Collections" also have good useful stuff

Online Courses:
If you want some free online courses, you can find them on Coursera. Yes they are paid but you can chose to take them for free with the only disadvantage being the fact that you don't get a certificate at the end. Some of the best courses can be found Here.
You can also take a look at Udemy but from what I've seen most of those courses are paid.

Other services:
Some other cool services that will help you learn java are SoloLearn, W3Schools and JetBrains Academy.

As you can see there are plenty of good ways to learn as long as you're willing to invest the time. Have fun learning!

jovial warren
#

the JVM (the virtual machine running your code) needs somewhere to call to start execution of your code

#

this is called the entry point

gilded granite
jovial warren
#

surely that course should explain to you how it works

gilded granite
#

its an absolute begginers course

#

they just said "you can ignore this is here for now, as its out of the scope of this course"

static zealot
#

yo @old wyvern what was that website you gave me the haskell course on named again? xD

jovial warren
#

how tf is that out of the scope of the course lol

static zealot
#

should probably add it here