#dev-general

1 messages ยท Page 509 of 1

prisma wave
#

nvm

#

that onReavtionAdd function is a mouthful

half harness
#

lol

jovial warren
#

I, and I'm sure other will too, refuse to provide support for obfuscation

half harness
jovial warren
#

no obfuscation is one of the development commandments lol

tropic cypress
#

why not?

jovial warren
#
  1. Thou shalt not obfuscate
  2. Thou shalt not use digital rights management
  3. Thou shalt release the source to thy code under a license approved by the Open Source Foundation
jovial warren
half harness
# tropic cypress why not?
  • it's always leaked anyways, just google "anypaidpluginhere" leaked, not saying you should use them btw, they're probably backdoored or smth
  • no contributers besides people you're working with
  • spigotmc doesn't even allow strong obfuscation, proving my first point even more
tropic cypress
#

then why minecraft's server software has obfuscation

tropic cypress
jovial warren
#

because companies like to do that, thinking it gives them security

tropic cypress
#

generally obfuscation

#

will impact performance

half harness
tropic cypress
#

just that

#

hmm

#

so just that

jovial warren
#

depends on what obfuscator you use tbh

#

that doesn't even have a definitive answer

tropic cypress
#

okay

#

thanks

half harness
#

plus obfuscators are so expensive

#

at least the good ones

#

the free ones usually just rename the fields, classes, and methods

jovial warren
#

yeah I remember looking this up, most of them are complete rip offs

tropic cypress
#

thanks

jovial warren
tropic cypress
#

if I do that

#

how do I edit my codes

prisma wave
old wyvern
#

ProGuard is good enough if you really want to go that route, no real point tho

jovial warren
#

^

#

the harder you try to "protect" your code, the harder the people trying to figure out what it does will try

prisma wave
#

Obfuscation bad

tropic cypress
#

hmm

jovial warren
half harness
old wyvern
#

Everything doesnt need to be open source

jovial warren
#

add jda-reactor btw dkim

half harness
jovial warren
#

actually no, jda-ktx iirc

half harness
jovial warren
#

but those first two commandments are sticking

old wyvern
#

How about we drop jda and use Discord.hs

#

๐Ÿ˜Œ

half harness
jovial warren
#
1. Thou shalt not obfuscate
2. Thou shalt not use digital rights management
#
  1. Thou shalt not steal the code of others without appropriately crediting them
old wyvern
#

I dont think any company really enforces drm for common users

#

Its only enforced towards other companies or places where their most profit comes from

jovial warren
#

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

prisma wave
jovial warren
#

I mean, most of this applies to Minecraft plugins anyway lol

old wyvern
jovial warren
#

I wanna know if there's anything I could add/change/remove

hot hull
#

Ctrl A + Delete

jovial warren
#

why?

distant sun
jovial warren
#

yeah I just noticed that lol

#

like literally 5 seconds before you mentioned that, since I was moving something I'm adding to it kekw

distant sun
#

:))

ocean quartz
#

@jovial warren What is the point of annotating something with the Dsl stuff? What advantages does it have?

boreal needle
#

what should i call my github machine account

mental geode
jovial warren
#

but using that annotation on classes stops you from things like declaring a block inside of a block where you're not meant to

#

e.g. ```kotlin
dependencies {
implementation("") {
dependencies {
// not allowed with the DSL marker iirc
}
}
}

static zealot
jovial warren
#

winget has been around for ages now

static zealot
#

well according to him 1 year

#

but its finally going to be released

#

to everyone

jovial warren
#

oh it's finally getting out of preview?

static zealot
#

yeah

jovial warren
#

nice

static zealot
#

everyone's going to get it in an update. I won't switch back to windows tho xD

#

as a matter of fact I almost got my brother to switch to linux too so I'll be removing windows completely in the future

jovial warren
#

nice

#

@obtuse gale hey can you teach me how to read data with Gson's TypeAdapters? it seems kinda weird tbh

#

writing a deserializer for ```kotlin
data class RegistryBlock(
val properties: Map<String, List<String>> = emptyMap(),
val states: List<RegistryBlockState>
)

#

you got all these beginObject things and what not

prisma wave
#
instance FromJSON RegistryBlock where
    fromJSON elem = RegistryBlock {
        properties = fromJSON $ blah elem
        states = fromJSON $ blab2 elem
   }
jovial warren
#

lol

prisma wave
#

you're welcome

steel heart
jovial warren
#

yeah good point

jovial warren
#

anyone know how to merge two Git branches without a merge commit or rebasing?

#

note that these two branches don't have diverging histories, the branch that's getting merged into master is ahead by 6 commits

static zealot
#

just go to github repo and use the fetch and merge button

jovial warren
#

actually nvm, I just needed to avoid doing a --no-ff merge

static zealot
#

nvm then

jovial warren
#

just merged all the latest dev changes into master

#

the dev branch is in preparation for the system that I'm putting in place when Krypton goes stable, which is that merges into master can only come from dev, and dev is going to produce sorta pre-release development builds that can be tested

#

for now though, dev is just a branch I can push to that I can fuck around with without doing shit to master lol

winged mica
#

Does anyone know how to load a dependency from a jar while server is running?

I already created the download system but I'm not sure how to add it to the classpath

prisma wave
#

usually you'd use reflection to call the URLClassLoader#addURLs method

#

although it's worth mentioning that doesn't work on java 16+

old wyvern
#

๐Ÿ™‚

prisma wave
#

shush

jovial warren
#

yeah can recommend SlimJar

prisma wave
#

i cannot

old wyvern
#

๐Ÿฅฒ

prisma wave
#

๐Ÿฅฒ

winged mica
old wyvern
#

That includes a library lorenzo

#

The plugin auto adds the dependency on the library

#

This then injects all your dependencies at runtime whenever you want

#

If in a spigot plugin, onLoad is probably ideal

winged mica
#

oh, ok

old wyvern
prisma wave
#

WHAT

#

THEYRE SUPPOSED TO BE USING PDM

#

๐Ÿ˜ก ๐Ÿ˜ญ

old wyvern
#

16 suppourt bm

jovial warren
#

we need to finish rewriting PDM

prisma wave
jovial warren
#

not sure we can really compete with SJ though

old wyvern
#

Whats the point lol

jovial warren
#

yeah

prisma wave
#

grrrrrrrr

jovial warren
#

maybe it's time you accept defeat BM

old wyvern
#

The only reason me and matt worked on this is because bm gave up

#

Rather im asking him to join lol

jovial warren
#

yeah

prisma wave
#

fine

old wyvern
#

You're in?

prisma wave
#

you "win"

#

but pdm still has more stars

#

therefore better

old wyvern
#

lol

static zealot
#

lemme star slim jar

prisma wave
#

no dont

#

please

static zealot
#

to late

prisma wave
old wyvern
onyx loom
#

@prisma wave just delete the pdm repo

#

delete all repos starting with a P actually

static zealot
#

or make it private xD

prisma wave
#

no

prisma wave
onyx loom
#

yes

prisma wave
#

i cba to open email

old wyvern
#

Lemme check

prisma wave
#

it doesnt even send a notification

#

github bad

#

hithub coming soon will revolutionise this

old wyvern
#

๐Ÿ˜Œ

#

Haskell to soon revolutionize git

jovial warren
#

lol

prisma wave
#

haters will say it's not possible

old wyvern
#

I cant find the link in the invite page bm

prisma wave
#

darn

#

okay

old wyvern
#

The collab invite seems to have that

#

but not org invite

#

inconsitent design

#

therefore

#

github bad

#

hithub good

prisma wave
#

very inconsistent

#

๐Ÿ˜Œ

old wyvern
#

๐Ÿ˜Œ

jovial warren
prisma wave
#

10 minutes

#

give us some credit

jovial warren
#

lol

#

like MineHraft

prisma wave
#

thats gonna blow up

jovial warren
#

lol

prisma wave
#

i have just been busy with devden

jovial warren
#

sure

ocean quartz
#

SlimJar great ๐Ÿ˜Œ

jovial warren
#

that's literally exactly half of Krypton's stars and I swear SJ's been out like half the time

ocean quartz
#

@old wyvern You should watch this https://www.youtube.com/watch?v=vTMEdHcKgM4

I got a bit tired of my simple heightmap-based planets and decided to experiment with generating them using the Marching Cubes algorithm instead, so that I could add a 'terraforming' ability for shaping the world with caves and tunnels and so on. I hope you enjoy!

If you'd like to get early access to the project files (they'll be made freely av...

โ–ถ Play video
old wyvern
#

๐Ÿ˜ฎ

ocean quartz
#

I love his videos, so many cool things, and he's joining everything together now

static zealot
#

me2

old wyvern
#

Like his projects are continuations of each other now?

ocean quartz
#

Kinda, he's more like getting every feature and adding to one project on this one video

old wyvern
#

ohhh, looks very interesting!

static zealot
#

yeah for example, he made planets, then he made athomsphere, then he made terrain generation for those planets

#

something like that

old wyvern
#

ah

#

Ive seen this video of his earlier once
https://www.youtube.com/watch?v=cWpFZbjtSQg

Experimenting with portals, for science.

The project is available here: https://github.com/SebLague/Portals/tree/master
If you'd like to get early access to new projects, or simply want to support me in creating more videos, please visit https://www.patreon.com/SebastianLague

Resources I used:
http://tomhulton.blogspot.com/2015/08/portal-rende...

โ–ถ Play video
ocean quartz
#

Ooh that one was awesome too

old wyvern
static zealot
#

I am confused. Didn't he post the Terraforming video before? Is this a repost? Or am I thinking of something else?

#

Oh it might have been the Hydraulic Erosion I am thinking of.

old wyvern
ocean quartz
#

Lmao

jovial warren
#

wat

#

I don't get it

static zealot
#

that's just minecraft + raft or whatever the other game is called

ocean quartz
#

This sounds fun

old wyvern
#

Let me type my way out of his glorious war!

static zealot
jovial warren
#

ah

old wyvern
static zealot
ocean quartz
#

Yeah, he kinda uses that one too

jovial warren
#

someone tell me what I should implement into Krypton next lol

#

I'm bored and can't quite decide

prisma wave
#

minehraft compatibility

jovial warren
#

yeah that's not specific enough

#

it works fine

#

for the most part

ocean quartz
#

Is it playable?

static zealot
jovial warren
#

define "playable"

onyx loom
#

is it fully minecraft with connectivity

ocean quartz
#

Has entities, world generation, etc

jovial warren
#

no

ocean quartz
#

Then it doesn't work lmao

onyx loom
#

๐Ÿฅฒ

jovial warren
#

I need something more specific than just "make it work"

onyx loom
#

make entities work

#

make world gen work

jovial warren
#

I can't do entities until Nicole tells me how far she is with them

onyx loom
#

hurry up nicole

ocean quartz
#

Do world generation then

jovial warren
#

๐Ÿฅฒ

static zealot
#

update the docs

jovial warren
#

lol

static zealot
#

do the blocks update in real time when I update them using the API?

ocean quartz
#

Also had to downgrade my IJ, the plugins that weren't working were too needed ๐Ÿ˜ฉ

static zealot
#

if not, then fix that as well

jovial warren
ocean quartz
#

Yeah

jovial warren
#

I actually don't know

static zealot
#

well i gtg rn but maybe later or tomorrow will finally fix my plugin and see how it works xD

gusty glen
#

I did it! KT [15:02:26 INFO] [QueensWhitelist]: [FileWatcher] Detected modifications on file config.yml, reloading configs.

ocean quartz
#

Ayy nice

gusty glen
#

it wasn't even harder ||no I'm lying I'm working on that for like 6 hours now, help me||

errant geyser
#

mmmmmm some nice nightmare fuel

jovial warren
#

Integer.valueOf kekw

onyx loom
#

operator fun plus ๐Ÿ˜Œ

gusty glen
#

imagine toInt

errant geyser
#

hey at least it worked

#

That's rare

boreal needle
#

oof i dont have a demo server anymore

jovial warren
#

I just learnt about something really cool and really useful

#

Git hooks

boreal needle
#

did you not know that they're a thing?

jovial warren
#

you can create bash files that will get run when you perform certain actions, to avoid you pushing something stupid lol

jovial warren
steel heart
#

Yeah BBG itโ€™s very pog you told me that

gusty glen
#

how do I send plugin message from sponge to bungee ๐Ÿ˜ข ?

old wyvern
#

Seems you need to use channels

forest pecan
#

i just discovered ffmpeg is written in assembly

#

the developers must be in agony

#

lmao

dusk holly
#

Who pinged me

serene cave
#

I did

humble silo
dusk holly
forest pecan
#

theres a lot of libs out there

dusk holly
#

Just instruct an FBI technician to do it

#

eazy

serene cave
humble silo
serene cave
lunar cypress
#

yeah ffmpeg wrappers are usually good enough

forest pecan
#

it is a backup if VLC doesnt work

#

for Linux systems mainly

humble silo
#

Mml?

dusk holly
#

that gif looks like me (obama)

forest pecan
#

people are going to hate me posting this for like the 100th time lol

#

but

serene cave
dusk holly
humble silo
forest pecan
#

Actually... way much more then that

#

Lmao

lunar cypress
#

ffmpeg does a whole lot of shit

forest pecan
#

It can encode, it can play so many damn extensions

#

it can grab gifs, do whatever shit

lunar cypress
#

you can replace your video editing software with it if you want

forest pecan
#

trim, adjust audio

#

Lmao

#

the possibilities are endless

humble silo
#

Oh wow, thatโ€™s pretty insane... I really havenโ€™t used it lol

forest pecan
#

I am using it currently to fetch frames from an mp4 video efficiently

forest pecan
#

cause using java for this would be too slow

#

you can do everything a video editing software does by using commands in ffmpeg

#

Lol

#

it even adds overlays and stuff

forest pecan
#

Lol

lunar cypress
#

A lot of video editing software uses ffmpeg internally anyway

forest pecan
#

mhm

lunar cypress
#

It's like the standard for that sort of stuff

forest pecan
#

It's also fast as fuck

#

its written in assembly and C

#

like omega fast

lunar cypress
#

but incredibly complicated, I've never really gotten the hang of it

forest pecan
#

pretty much all the video editing operations you see are just ffmpeg commands

#

being ran

humble silo
#

when was it first released?

forest pecan
#

2000

#

December 20th, 2000

humble silo
#

Lol, not very specific, where is the time in milis?

#

lol

forest pecan
#

Lmao

humble silo
#

Huh well thatโ€™s pretty cool! I hope to never have to use it!

forest pecan
#

all the wrappers and stuff for java do the work for me

#

so i dont have to deal with the actual Process itself

old wyvern
#

๐Ÿฅฒ

forest pecan
#

how did u get that

old wyvern
#

๐Ÿ˜Œ

forest pecan
#

Oh

prisma wave
#

๐Ÿ˜Œ

forest pecan
#

epoch converter?

old wyvern
#

ofc lol

forest pecan
#

Lmao

prisma wave
#

that doesnt sound very functionally pure

forest pecan
#

no wonder I see all the 0s at the end

old wyvern
prisma wave
#

Instant.now() ๐Ÿคข

old wyvern
#

๐Ÿ˜Œ

humble silo
old wyvern
#

๐Ÿ˜”

steel heart
#

d;Instant#now

ruby craterBOT
#
public static Instant now()```
Description:

Obtains the current instant from the system clock.

This will query the system UTC clock to obtain the current instant.

Using this method will prevent the ability to use an alternate time-source for testing because the clock is effectively hard-coded.

Returns:

the current instant using the system clock, not null

steel heart
#

d;Instant#past

ruby craterBOT
#
public Instant plus(TemporalAmountย amountToAdd)
throws ArithmeticException, DateTimeException```
Description:

Returns a copy of this instant with the specified amount added.

This returns an Instant, based on this one, with the specified amount added. The amount is typically Duration but may be any other type implementing the TemporalAmount interface.

The calculation is delegated to the amount object by calling TemporalAmount.addTo(Temporal). The amount implementation is free to implement the addition in any way it wishes, however it typically calls back to plus(long, TemporalUnit). Consult the documentation of the amount implementation to determine if it can be successfully added.

This instance is immutable and unaffected by this method call.

Returns:

an Instant based on this instant with the addition made, not null

Parameters:

amountToAdd - the amount to add, not null

Throws:

ArithmeticException - if numeric overflow occurs
DateTimeException - if the addition cannot be made

distant sun
#
Could not find spigot-api-1.16.5-R0.1-SNAPSHOT.jar (org.spigotmc:spigot-api:1.16.5-R0.1-SNAPSHOT:20210517.222435-81).
Searched in the following locations:
    https://hub.spigotmc.org/nexus/content/repositories/snapshots/org/spigotmc/spigot-api/1.16.5-R0.1-SNAPSHOT/spigot-api-1.16.5-R0.1-20210517.222435-81.jar```
Good one gradle ๐Ÿ™„
steel heart
#

maven

distant sun
#

AnNoYiNg

jovial warren
#

even if I'm making a Spigot plugin, I'll always depend on the Paper API

prisma wave
ocean quartz
#

Sir

obtuse gale
#

I'm actually saving that

onyx loom
#

hahahahah

#

im sending that to my mates

gusty glen
#

lol is not bad though, it's a simple game from the mechanic perspective

distant sun
jovial warren
#

smh Gaby

steel heart
#

bukkit!

distant sun
forest pecan
#

why does Files.walk include the parent file

#

its so irritating lmao

obtuse gale
#

does it?

forest pecan
#

It does

#

when i did recursion

#

it made an infinite loop

#

of the file that is being walked (folder in this case ig)

#

lmao

obtuse gale
#

I'm not sure though...

forest pecan
#

if I used File and used File#listFiles it worked

river gazelle
obtuse gale
#

or at least I never experienced that issue

#

works fine for me

river gazelle
#

:(

obtuse gale
river gazelle
#

Welp

#

thanks

old wyvern
#

Send us what you're doing with it pulse

forest pecan
#

Yeah no, you won't understand a shit about it

#

Lmao

#

But yeah basically

#

I had two implementations with the same logic. Except one used Path

#

and another used File

#

and one used File#listFiles (or whatever it was), and the other Files#walk

river gazelle
#

Is that possible that I get somehow ban from that site?

old wyvern
forest pecan
#

so basically, here are my two impls

#

(the part where it matters)

river gazelle
forest pecan
#
          final File[] children = f.toFile().listFiles();
          if (children != null) {
            for (final File child : children) {
              if (child.isDirectory() || (child.isFile() && child.getName().contains(extension))) {
                folders.add(child.toPath());
              }
            }
          }

vs

          try (final Stream<Path> stream = Files.walk(f)) {
            stream
                .filter(
                    x ->
                        Files.isDirectory(x)
                            || (Files.isRegularFile(x)
                                && x.getFileName().toString().contains(extension)))
                .forEach(folders::add);
          } catch (final IOException e) {
            e.printStackTrace();
          }
#

also idk wtf that indentation is, google format is so cursed

#

with streams

obtuse gale
#

what the fuck is that

old wyvern
#

You dont need to try catch that

obtuse gale
#

use predicates properly

#

and if you're checking for the extension you should probably check if it endsWith

forest pecan
#

cause intellij says that Files.walk needs it for some reason

obtuse gale
#

Files.walk is meant to be used in a try-with-resources

forest pecan
#

Yeah

onyx loom
#

what the heck is that formatting

obtuse gale
#

pulse not knowing what he's doing

#

lmao

forest pecan
#

So...

steel heart
#

catch?

forest pecan
steel heart
#

If it throws a checked one then yes

old wyvern
#

Ah true, just confirmed from the docs

steel heart
#

Yugi for how long have you been dabbing by now?

old wyvern
old wyvern
#

๐Ÿ˜Œ

forest pecan
steel heart
forest pecan
#

is the boolean expression shit

#

or smthing

steel heart
#

Pulse you should probably cache that predicate

old wyvern
#

Predicates are functions that return a boolean

#

Oh that isnt what you asked

forest pecan
#

Yeah

old wyvern
#

And yea, you dont need to check if its a regular file after checking for directory id assume

steel heart
#

Since it uses a side effect I think (iirc) an optimization would be to cache it

steel heart
#

Idk

#

Always thought lambdas that uses side effects are slower or less optimized than pure ones

old wyvern
#

Shouldnt be, its a just a reference capture

steel heart
#

Cant confirm it but by the looks from luckperms as an example it seems like it

old wyvern
#

Lambdas are just in itself slightly slower than their imperitive counterparts

steel heart
#

LuckPerms caches most lambdas which uses side effects iirc

obtuse gale
#

also what kind of side effects could Files.isDirectory(Path) have?

old wyvern
#

He means adding to the list I think

#

the terminal forEach

obtuse gale
#

I mean.... that's the purpose of it

forest pecan
#

yeah uh.. Files.walk does indeed include the parent file

old wyvern
#

Yea

forest pecan
#

i verified for the 3rd time

#

im stuck in an infinite loop

steel heart
#

No the x.getFileName().toString().contains(extension)

#

Might be wrong I actually donโ€™t know if itโ€™s true

obtuse gale
forest pecan
#

why does Files.walk include the parent file tho...

#

relatively confused

obtuse gale
#

Predicate.not(whatever::equals) ๐Ÿ˜Œ

steel heart
#

that exists

#

Bruh

#

My life is a lie

#

Pog

obtuse gale
#

JDK 9+ I believe

forest pecan
#

also, why can't Path literally have something like an overloaded function to avoid us from getFileName().toString()

#

ugh

obtuse gale
#

11 actually

steel heart
#

Ah well fair then

forest pecan
#

Because if we want to get the file name, we always have to do that

#

I have a ton of those in my code, and it feels repetitve and ugly

old wyvern
#

Also, collect and addall

#

instead of foreach

obtuse gale
#

oh yeah you're kinda meant to do that i believe

#

because

#

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

old wyvern
#

pure is better ๐Ÿ˜Œ

forest pecan
#

if at least there was smthing like Files.getName(Path p)

steel heart
#

The Path api is somewhat verbose lol

obtuse gale
quiet depot
#

verbose

#

youโ€™re arguing that something is verbose

#

in the most verbose language

steel heart
quiet depot
#

not a great argument I must admit

forest pecan
old wyvern
steel heart
#

I guess you have a point piggy

onyx loom
#

conclure havent u said urself u like verbosity?

steel heart
#

I do

#

But it gets out of hands sometimes

forest pecan
#

Lombok users be like

prisma wave
#

๐Ÿ˜Œ

old wyvern
#

AbstractAbstractionFactoryImplOverLordDestroyedMechaPhantomBeastSupplierProvider

quiet depot
#

sounds like a papi 3 class

old wyvern
#

Amazing ๐Ÿ˜Œ

#

Enterprise, as all things should be!

steel heart
#

When will papi3 release

forest pecan
#

never

quiet depot
#

We have BukkitPlayerStatisticsFunctionProvider

old wyvern
#

Btw piggy, gaby is making the 2.0 js expansion right?

quiet depot
#

I think thatโ€™s our longest name

steel heart
#

Damn thatโ€™s long

forest pecan
#

Not as long as the DeluxeAsyncJoin

#

that thing

onyx loom
#

lol

forest pecan
#

Lol

steel heart
#

Hehe

quiet depot
#

yeah but this is a legitimate class pulse

onyx loom
#

that plugin is a monstrosity

obtuse gale
#

^

forest pecan
#

But his is too!

quiet depot
#

this actually has a purpose

forest pecan
#

but his does too

quiet depot
#

it provides functions for bukkit player statistics

forest pecan
#

he makes people's days

#

Lol

steel heart
prisma wave
#

DeluxeAysncJoin fans vs terrible-plugin enjoyers vs pdm appreciators

onyx loom
#

terrible-plugin ๐Ÿ˜Œ

forest pecan
#

what happened to James

#

i havent seen him

#

for a while

old wyvern
prisma wave
#

@surreal quarry

steel heart
#

So like

#

I am gonna start on papi4 now

old wyvern
#

So like

#

I am gonna start on papi5 now

jovial warren
#

So like

onyx loom
#

helpchat hates the number 3, just like valve

jovial warren
#

I am gonna start on papi27 now

old wyvern
#

I believe papi3 installs satan.exe on your pc

steel heart
#

Sounds horrific

old wyvern
#

Absolutely

steel heart
#

Yugi

#

Whenโ€™s your bday

old wyvern
#

oct 3

minor oracle
old wyvern
#

๐Ÿ˜ถ

steel heart
#

I may donate some yugi oh cards on ur bday

old wyvern
#

๐Ÿ˜ฎ

steel heart
#

=remind me 3 October "Yugi bday"

compact perchBOT
#
New Reminder Set!
In 490 days, 4 hours, 19 minutes:

Yugi bday

old wyvern
#

Do you have the exodia tho?

quiet depot
#

papi 3 itself doesnโ€™t install satan

#

but papi 3 js expansion does install native stuff on ur pc

steel heart
steel heart
#

Oh it moved from that deprecated js engine right?

#

Or what it now was

quiet depot
#

it installs v8

old wyvern
#

Are there no major non-native ones?

#

Or was it chosen for speed?

quiet depot
#

it was chosen because its the only option that solves the issue we initially had

steel heart
#

Is it still using nashorn or will it be using something like graal instead ?

old wyvern
#

490 days?

quiet depot
#

before nashorn was deprecated we were still looking for an alternative because people wanted es6 support

old wyvern
#

Why did it assume next year? xD

steel heart
#

Ye lol

#

Ah hmm and graal doesnโ€™t do the job?

old wyvern
#

Didnt thein update 2.0 with es6 suppourt?

quiet depot
#

nashorn doesnโ€™t have proper es6 support

#

the only java js engine that has full es6 is graal

#

but graal needs jvm args to work on openjdk, and in a newer openjdk version (thereโ€™s a JEP) theyโ€™re completely removing the graal jit compiler, so it wonโ€™t work at all

steel heart
#

Oh thatโ€™s unsettling

half harness
#

hi

ionic talon
#

hello

steel heart
#

Hi

old wyvern
#

hi

quiet depot
#

so the only 2 java based options left are nashorn and rhino

#

Rhino is so fucking primitive

#

itโ€™d be a major step down to use it

prisma wave
quiet depot
#

and choosing nashorn doesnโ€™t solve the original issue

half harness
#

uh oh

#

lol

steel heart
#

Hmm and creating one yourself isnโ€™t an option piggy?

ionic talon
#

huh??

quiet depot
#

v8 is the only choice

steel heart
#

Or I mean yeah itโ€™s probably hella time consuming

prisma wave
#

okay just making sure

#

Thanks

quiet depot
#

thatโ€™s a gigantic task conclure

prisma wave
#

yeah making a js engine isn't trivial lmao

quiet depot
#

now v8 gives us es6, which is what we originally wanted

#

and also has the benefit of speed

#

but sadly its native

#

so if you run freebsd or arm youโ€™re fucked

steel heart
#

Oof

prisma wave
#

Noooo! The 3 people running minecraft servers on freebsd

old wyvern
#

xD

prisma wave
#

They're gonna be distraught

old wyvern
#

Are there no binaries for those platforms?

quiet depot
#

only 64 bit mac/linux/windows

old wyvern
#

rip

quiet depot
#

Iโ€™m sure v8 actually does have binaries for other platforms

#

its just the java binding Iโ€™m using doesnโ€™t

prisma wave
#

Seems like it would

quiet depot
#

using j2v8 btw

#

It needs manual memory management so I gotta learn how to do that

#

donโ€™t think its too hrs

onyx loom
quiet depot
#

hard

ionic talon
obtuse gale
#

you can reflect sun.misc.Unsafe in Java 16...?

#

why is that still allowed?

prisma wave
#

basically the whole "strong encapsulation" thing was just a farce to destroy pdm

#

they were jealous of its success

obtuse gale
#

lol

prisma wave
#

They don't actually care about protecting internals

ocean quartz
#

Java 16 encapsulation was created by the elitists to destroy PDM

old wyvern
#

๐Ÿ˜ฎ

prisma wave
#

Precisely

#

Matt gets it

old wyvern
#

Gosling!!

prisma wave
#

Gosling strikes back

onyx loom
#

slimjar developers created java 16 Kappa

old wyvern
#

That man is the devil

prisma wave
#

๐Ÿคข ๐Ÿคฌ

old wyvern
#

silence

prisma wave
#

Abraham Lincoln just joined devden ๐Ÿ˜ฎ

#

They are spreading

old wyvern
#

lmao

old wyvern
surreal quarry
#

i think he died

#

i've just been busy with work and other things tho

obtuse gale
#

w-work?

#

things?

#

Do you not spend 24hs a day doing absolutely nothing? Wasting time?

forest pecan
#

damn

obtuse gale
#

Same tbh

ocean quartz
#

Rewriting my commands framework is so boring holy shit ๐Ÿ˜ฉ

prisma wave
#

Rewrite it in

onyx loom
#

holy shit do i hear matt is working on the BELOVED FRAMEWORK????

ocean quartz
#

Something like that ๐Ÿ˜ซ

onyx loom
#

๐Ÿ˜

ocean quartz
#

i'm this close to quitting it

prisma wave
#

Relatable

eternal compass
#

can people just not read or something?

onyx loom
#

no! ๐Ÿ˜ฉ

#

dont u dare quit

ocean quartz
#

It's so boring, like, first time was fun and all because i was learning something new, now it's mostly rewriting what i have but better, and it's just awful

onyx loom
#

hey matt what do u need help with

#

i shall contribute to mf-cmd

prisma wave
onyx loom
#

and probably make it worse but we ignore that

ocean quartz
#

Tbh, i don't even know, like it's not hard or anything, just boring

onyx loom
#

๐Ÿ™

eternal compass
# prisma wave Young Tim Gaming

this guy DM'd me saying "do you want to play minecraft"
and I said no, so he said "none of my other friends are on, you have to"
for like the next 10 minutes. I don't get some people lol

prisma wave
#

Poor young Tim Gaming

eternal compass
#

๐Ÿฅฒ

#

but like, theres like 1500 people in a server, and you DM the owner expecting them to play with you at a moments notice?

prisma wave
#

he needs to do gaming

#

He loves gaming so much he made it his name

eternal compass
#

lol

jovial warren
#

BM tf are you doing up at 3 AM lol

half harness
tender cargo
#

Is a bot that runs on java in the forge mod launcher possible? just wondering

ocean quartz
#

Yeah

tender cargo
#

oo nice

tender cargo
ocean quartz
#

Still should be possible, don't see why you would do it on client side, but possible it is

tender cargo
#

ok

#

how hard do u think it would be to make a bot that sends in game messages to discord thru webhook or just thru a bot being hosted on the client

#

Also does anyone think it can gen a. Config file or if it will need to just have the config within the mod jar file

gusty glen
#

Between Path and File, which one do you prefer?

obtuse gale
#

I prefer Path

gusty glen
tender cargo
half harness
tender cargo
#

Not really besides baritone on some servers when I need it

#

Normaly just optifine

half harness
#

baritone is bannable on many servers

obtuse gale
#

Mods are literally like plugins but on the client instead, they can do stuff directly on the client instead of on the server

#

So configs are 100% possible

tender cargo
#

Oh wow

#

That's crazy

#

Nice knowledge

gusty glen
#

what is baritone?

tender cargo
#

Auto player

obtuse gale
#

I mean it's just.. a java program after all (talking about mods)

tender cargo
#

Basically just will automate anything

half harness
#

can act like xray, but better (which is why it's bannable on a lot of servers)

tender cargo
#

Is considered a hack so don't use it without perms from server owners or risk getting banned

obtuse gale
tender cargo
#

how much do u think someone would charge for it?

#

do u think $15 would be enough for someone?

#

probly depends on who is ganna do it

obtuse gale
#

i wouldn't exactly know, personally i never worked neither with forge nor the discord api so yeah can't really tell

tender cargo
#

ok

#

yes

#

even tho i have no clue what that does

gusty glen
#

I love Path sometimes

obtuse gale
#

I mean that's intended

#

did you read the documentation?

tender cargo
#

i dont read any documentations

ocean quartz
tender cargo
#

true

#

but i dont code so i still wont read

distant sun
#

On spigot, does it matter if you run 20 plugins or 10? Like split everything in its own jar or combine them. Was just wondering if it does allocate some mem for each jar or whatever

obtuse gale
#

It does yeah but it's negligible

distant sun
#

Ok

sonic sandal
#

Who can help me with a host recommendation for a minecraft server with 5-6 sections, decent ping and keep players

distant sun
#

I dont like seeing Plugins (74) but I kinda feel more safe having everything on its own jar than 10 plugins in one and if something breaks / is not needed anymore, the whole things become unusuable

obtuse gale
distant sun
#

So multiple jars?

obtuse gale
#

Simple is better

#

Each Plugin is its own manageable bit

distant sun
#

I also tried to create my own papi like system with expansions but I didnt trust myself enough to create big things with that ๐Ÿคฃ

obtuse gale
#

Expansion loading is neat ngl but yeah you might just decide and leave it at (soft)depend & an API

jovial warren
#

not really that hard Gaby

quiet depot
#

just look at papi 3

#

works ez

jovial warren
#

yeah all you need to do is load all the resources and the entry point

#

oh btw pig, do expansions support injecting dependencies with Guice?

#

is that how the new system works?

quiet depot
#

yes

jovial warren
#

ah

quiet depot
#

well

#

what depdendencies

jovial warren
#

well whatever ones you need for expansions

quiet depot
#

not exactly

#

if an expansion is for a plugin, we can't magically produce an instance of that plugin's api

jovial warren
#

yeah

#

I meant like inject PAPI-specific dependencies

quiet depot
#

but like if they wanted to use guice

#

they could

#

but it's not required at all

jovial warren
#

ah

quiet depot
#

places I deem essential, I create nicer apis for

#

e.g. files

#

previously users would have to inject the file manager and manage files themselves

#

but I made a nicer api for it so they don't have to do that

#

guice is confusing for newbies

jovial warren
#

apparently so

#

I get a bit confused by the inversion of control tbh

quiet depot
#

only people that might know how to use it are sponge peeps, but even then, their guice usage isn't even that extravagant, nothing like how papi uses it as far as I can tell

jovial warren
#

like how instead of you creating a sort of tree starting at the entry point, you make one finishing at the entry point

quiet depot
#

no clue what you're saying

jovial warren
#

like how to get an instance of a dependency, you're meant to inject it into the place you need it

quiet depot
#

ah

distant sun
#

I didnt said it is hard, I just didn't used it

jovial warren
#

whereas in Krypton, the server instantiates all its dependencies there, if we were using Guice, Guice would instantiate it and we could inject it into the server

#

but we can't use Guice on the backend anyway, since everything has to stem from the server because of the API

quiet depot
#

ah yeah

jovial warren
#

man, I just remembered that I spent like 2-3 hours or something last night configuring Detekt lol

quiet depot
#

well that's not really true

#

guice doesn't instantiate anything

jovial warren
#

basically Checkstyle for Kotlin lol

quiet depot
#

guice shouldn't be handling any logic, that goes against convention

jovial warren
#

wdym?

quiet depot
#

your dependencies should be instantiated before you bind them in guice

jovial warren
#

yeah

quiet depot
#

everything being instantiated in your server class

#

sounds awfully like a major violation of srp

jovial warren
#

lemme show you

#

this is the main Server interface

quiet depot
#

so much stuff

jovial warren
#

well where else is it meant to go?

#

I have Guice bindings for all this stuff for plugins

quiet depot
#

oh right

#

back to papi

#

yes we have guice bindings for things like this

#

to get server u'd go

#
@Inject
public BlahExpansion(@NotNull final Server<?> server) {}```
jovial warren
#

ah okay

quiet depot
#

but tbh most of guice usage in papi is internal

obtuse gale
#

If I have like an admin page and a client page that both need to use and edit data from a database , but theyre seperate apps, whats the best and easiest way to manage that without having to duplicate code alot?

obtuse gale
#

do i need to have5 like a common module or something that has all the db objects or smthn?

prisma wave
#

Probably a good idea

distant sun
cinder flare
#

so I just reinstalled Arch and as soon as I finished, I had a thought

#

what if I installed Gentoo

static zealot
#

ok

cinder flare
#

thoughts?

static zealot
#

yes

#

no idea what that is

cinder flare
#

it's the next step above arch

#

you compile everything yourself

obtuse gale
#

We are in 2021, that's just masochism

cinder flare
#

well no it's fun, and it lets you customize so much

#

like every piece of software has a mod list thing where you can just not compile certain parts that you don't need

#

plus you learn a significant amount about like root-level operating system stuff which I want to because I want to do a lot of OS stuff eventually

static zealot
#

well then go for it if you like it

lunar cypress
#

I use Arch Gentoo, btw

cinder flare
#

and that is a position very few hold

lunar cypress
#

true true

cinder flare
#

or I could go ultra hard and do Linux From Scratch

obtuse gale
#

Bruh Barry deleted my message

#

@Starmism dig through the logs!!

cinder flare
#

yea I saw lmao

#

and I mean that's what every competition is

#

imo, the scale really goes something like this

#
Ubuntu -> Debian -> Arch -> Gentoo
#

at least, that's how I progressed through the distros (and I am currently in the arrow between Arch and Gentoo lol)

obtuse gale
#

Hmm hmm

quiet depot
#

thereโ€™s an infographic that describes the transition between these very distributions

cinder flare
#

oh? sounds cool send it

quiet depot
lunar cypress
#

This is literally cars and watches for nerds

cinder flare
#

ah perfect

#

though Fedora kinda dead now that Red Hat big dumb

jovial warren
#

Wasn't Fedora that died lol

cinder flare
#

well yeah CentOS, but Fedora is going down with it

#

at this point, very little reason to use Red Hat besides RHEL if you're already using it

jovial warren
#

Blame IBM for that

cinder flare
#

it's okay, I never really liked Red Hat all too much

old wyvern
#

Forget linux, write your own os

cinder flare
#

I would actually be super interested in that ngl

old wyvern
#

WinStar 10

cinder flare
#

it's not gonna be based on Windows 10 yikes

old wyvern
#

xD

cinder flare
#

the only good part of Windows is the Desktop Environment

#

Honestly, if Microsoft made a Windows DE for linux that was like pretty similar, I would happily pay money for it

old wyvern
#

Theres a os windows remake coming

#

ReactOS i think

cinder flare
#

nah they cancelled Windows 10x

#

oh haha

#

ReactOS is a remake of like Windows XP

old wyvern
prisma wave
#

windows from scratch

old wyvern
#

ah

old wyvern
prisma wave
#

wait...

old wyvern
#

ElaraOS to soon take over the market

prisma wave
#

๐Ÿ˜Œ

static zealot
#

HWindows? xD

cinder flare
#

Hindows!

prisma wave
#

YES ๐Ÿ˜Œ ๐Ÿ˜Œ ๐Ÿ˜Œ ๐Ÿ˜Œ ๐Ÿ˜Œ

old wyvern
#

Hinhows

prisma wave
#

can only run pure applications

static zealot
#

Hindohs

cinder flare
#

is an Operating System pure? ๐Ÿคฃ

old wyvern
#

Eindows

prisma wave
old wyvern
#

๐Ÿ˜Œ

cinder flare
#

I mean, surely a lot of parts of it are totally pure right

prisma wave
#

probably some

old wyvern
#

Useless operating systems > Useful operating systems

prisma wave
#

๐Ÿ˜Œ

old wyvern
#

๐Ÿ˜Œ

cinder flare
#

i guess pure might not be the right word, but they're small little utilities that do small things

#

good old Unix philosophy

old wyvern
#

That depends star

#

For eg: io actions in haskell could be considered pure

prisma wave
#

grep is pure ๐Ÿ˜Œ

#

yes

old wyvern
#

It doesnt by itself do anything

prisma wave
#

therefore you can have a pure os

old wyvern
#

Mhm

#

๐Ÿ˜Œ

prisma wave
#

lots of IORef

cinder flare
#

yeah shells are pure right

#

they just call other things

old wyvern
#

๐Ÿ˜Œ ๐Ÿ˜Œ

prisma wave
#

in theory

#

except they have to talk with some other program that might not be pure

#

therefore they aren't necessarily pure

cinder flare
#

hmmm very sad

old wyvern
#

IORef PlusOne

prisma wave
#

๐Ÿ˜Œ

old wyvern
#

ST monad

prisma wave
#

Kernel monad

old wyvern
#

๐Ÿ˜Œ

cinder flare
#

maybe I'll go Solaris because I love Sun so much

prisma wave
#

๐Ÿคจ

cinder flare
#

I really do though

obtuse gale
#

Haha get it

#

star

#

the sun

cinder flare
#

ah yea yea

obtuse gale
#

You're such a Joker

prisma wave
#

haha yeah that was a good and funny joke

jovial warren
#

totally intended

old wyvern
#

Isnt that the os that liveoverflow keeps finding major exploits in every 2-3 weeks

prisma wave
#

probably lmao

old wyvern
#

lol

prisma wave
#

i hate to break it to you

#

but

old wyvern
#

โ˜€๏ธ

prisma wave
#

sun is kill

cinder flare
prisma wave
#

hmm

cinder flare
#

Ooh I could try out BtrFS!

#

man why is linux so cool

prisma wave
#

cabal takes so long to build stuff ๐Ÿ˜ฉ

#

come on hlint

#

i just want to be shit at emacs without having to wait 30 minutes for this to build

#

please

cinder flare
#

bro emacs why

prisma wave
#

hipster

cinder flare
#

vim is also hipster

prisma wave
#

"yes i use haskell, arch and emacs, why do you ask?"

cinder flare
#

soon I'll be using haskell, gentoo, and vim

prisma wave
#

yikes

#

that is too hipster

#

hipster overflow

cinder flare
#

no such thing

#

remember System V? ๐Ÿ˜Œ

prisma wave
#

๐Ÿคจ

cinder flare
mental geode
#

how did you react so fast

#

what

#

probably using dem typewriters

cinder flare
#

uh, I have it on my monitor, saw it, right clicked, and clicked on it

lunar cypress
#

Honestly anything other than notepad is bloat

cinder flare
#

nah dude all the real homies use nano

lunar cypress
#

Nano has too many features

cinder flare
#

really? i feel like nano and notepad are on very similar levels

abstract kraken
#

anything other than a slate tablet is bloat ๐Ÿ˜„

prisma wave
#

very true

quiet depot
#

sublime gud

mental geode
#

i am using paint 3d as an IDE now.

cinder flare
#

paint 3d

#

now that's bloat

half harness
#

that is awesome

static zealot
mental geode
#

yuh i make my code 3d

static zealot
#

we should be friends

mental geode
#

ko

static zealot
#

Paint and Paint 3D

#

are the best

half harness
mental geode
#

we are friends now

#

ok now that we are friends whats your credit card number

static zealot
#

||0000-0000-0000-0000||

prisma wave
cinder flare
jovial warren
prisma wave
#

๐Ÿ˜Œ

half harness
cinder flare
mental geode
#

i use a piece of a4 paper and a pen as an IDE

static zealot
jovial warren
cinder flare
#

i know, was a funny

static zealot
half harness
prisma wave
#

kotlin mf's have a little habit of spelling things wrong

cinder flare
static zealot
cinder flare
#

8.5" x 11"

jovial warren
#

Kontrol.KMonad ๐Ÿ™‚

cinder flare
jovial warren
#

lol

#

Kontrol.Konad

prisma wave
#

forM_(::println, (1..10)) ๐Ÿ˜Œ

#

oh my

#

i need to do this now

static zealot
#

btw there's a new Cross a country in a straight line series

#

now in Scotland

mental geode
#

i dont write my code on paper anymore i write it directly on the trees

prisma wave
#

bold and progressive ๐Ÿ˜Œ

cinder flare
#

the hardest part of linux isn't which distro, it's a wallpaper engine equivalent

static zealot
#

damn man. I write it on bones

cinder flare
#

so hard to make it look good without a three-monitor-spanning animated wallpaper from Skyrim

static zealot
#

and use sharpened rocks to do so

mental geode
prisma wave
#

ah yes

mental geode
#

wait does system32 exist i nlinux

prisma wave
#

no

mental geode
#

systemlinux

#

delete that

prisma wave
#

okay

static zealot
#

imagine using other wallpapers other than the default ones

mental geode
static zealot
#

nah. default one is the best for everything

#

especially Ubuntu

#

(the so called hypo which is actually just 2 hairy balls)

cinder flare
#

nah if i'm keeping a default wallpaper, it's gonna be from Pop!_OS

static zealot
#

why u questioning me?

#

what are those?

old wyvern
#

tits?

static zealot
#

balls mate

#

they have hair

#

on them

old wyvern
#

lol

#

Nips tho