#dev-general

1 messages ยท Page 498 of 1

onyx loom
#

i see nothing wrong.

steel heart
#

serialize or serialise

obtuse gale
#

depends where you live

ocean quartz
#

Or the day of the week

obtuse gale
#

lol

#
private static final UUID SPRINTING_SPEED_BOOST_ID = UUID.fromString("662A6B8D-DA3E-4C1C-8813-96EA6097278D");
private static final UUID SOUL_SPEED_BOOST_ID = UUID.fromString("87f46a96-686f-4796-b035-22e16ee9e038");

tf is this lmao

static zealot
#

yeah I'm pretty sure cs:go is unplayable

#

on linux

#

omg how have I not seen this tho?

#

I can just select and drag text

#

this is amazing

jovial warren
#

that is how you call a constructor, wdym /s

jovial warren
#

can't remember why

static zealot
jovial warren
#

I can do that too

errant geyser
#

I feel like I should be executed for my war crimes

val reference = listOf(1, *IntStream.range(1, binary.length).map { 2.toDouble().pow(it.toDouble()).toInt() }.boxed().collect(Collectors.toList()).toTypedArray())
static zealot
#

linux good. well unless I want to play some csgo..

jovial warren
#

if i3 has it, it's really not that special

static zealot
#

I Literally get an average of 5 fps in csgo

errant geyser
errant geyser
static zealot
#

well I'm on kde neon and it really is bad. ON win 10 it was actually playable and without interruptions or anything like that

jovial warren
#
val reference = listOf(1, (1.0..binary.length.toDouble()).map { 2.0.pow(it).toInt() }).toTypedArray()
```?
errant geyser
#

Hey Bardy, it does work though

jovial warren
#

I swear that works

obtuse gale
errant geyser
#

My work of art remains

jovial warren
#

omg what

static zealot
#

impossible

jovial warren
#

lemme fix

#
val reference = listOf(1, (1.0..binary.length.toDouble()).asSequence().map { 2.0.pow(it).toInt() }).toTypedArray()
```ez
errant geyser
#

At least my solution works smh

#

asSequence doesn't existo

#

Once again my war crime prevails

jovial warren
#

oh this isn't an IntRange is it

#
val reference = listOf(1, (1..binary.length).map { 2.0.pow(it.toDouble()).toInt() }).toTypedArray()
```?
#

kinda works

#
[1, [2, 4, 8, 16, 32, 64, 128, 256]]
errant geyser
#
        val reference = listOf(1, *(1 until binary.length).map { 2.0.pow(it.toDouble()).toInt() }.toTypedArray())
``` yeah I fixed it for you
#

Or me, I suppose

jovial warren
#

there we go

errant geyser
#

I kinda liked my attempt

jovial warren
#

no

errant geyser
#

It wasn't pretty but it did work

jovial warren
#

well mine works

#

and it's better

errant geyser
#

smh

pastel imp
#

uh ok still haven't figured out what the best way to store player homes in SQLite would be lol... per user tables??

#

.-.

errant geyser
#

Code shaming

#

I'll cancel u

pastel imp
#

any suggestions?

pastel imp
#

what's the best way of doing it

#

more optimized, etc.

potent nest
pastel imp
#

ideas != always good ones

errant geyser
potent nest
#

no need to use doubles and pow

errant geyser
pastel imp
steel heart
errant geyser
#

In homes I'd have a base-64 encoded string of player homes that gets pulled into a cache when they join, but that's probably not the best way to do it, as I've said

pastel imp
#

lmao

errant geyser
#

Just go for it, do what you think is right and if something doesn't work, google it

obtuse gale
static zealot
#

excuse the bad quality but I don't have sharex on linux

#

so had to use phone

#

xD

#

but that's how many fps I get in csgo

#

with absolutely everything on lowest

#

settings

#

also the sound of the keyboard lmao. its a very old 5$ keyboard

ocean quartz
pastel imp
#

can you even create as many tables as you want in SQLite without any performance issues?

errant geyser
ocean quartz
#

But what string

errant geyser
#

10011001

potent nest
prisma wave
#

Seems like fold would work nicely here too

pastel imp
#

Would it be useful to store data in a temporary var instead of getting and looping everytime in the database when I need it?

ocean quartz
#

My solution: binary.indices.map { 2.0.pow(it).toInt() }
But if you want to use something similar to SirYwell, this would be even shorter without needing the range binary.indices.map { 1 shl it }

potent nest
#

Ah didn't know what binary is but that works well to

lunar cypress
#

Oh hello

static zealot
#

@old wyvern I just figured out who the next mascot should be. GABE.

#

also @quiet depot remember that black screen? It turned out to be just the nvidia driver's fault. I got it again and just switched back to the default one xD

#

I Didn't have to fully reinstall kde smiling_face_with_3_tears

#

well this sucks bcz apparently that could improve my fps or just performance in general smiling_face_with_3_tears

jovial warren
#

not actually sure if I need the krypton prefix in there or not for the resource bundle to work properly

obtuse gale
#

shouldn't you be '' the '? thonking

jovial warren
#

I'm not even half done yet either

obtuse gale
#

using two single quotes for single quotes

jovial warren
#

oh yeah

#

good spot

obtuse gale
#

I never worked with property files but I've seen a few do it and idk lol

jovial warren
#

nah you're right

#

I set up a crowdin too if anyone's up for doing any translations at some point lol

#

there will be quite a lot to translate lol

obtuse gale
#

o

jovial warren
#

atm it only has a few languages that I know I can translate, but if anyone's interested, let me know and I'll add your languages

#

and yes, as you can see if you clicked the link, there will be LOLCAT translations lol

#

what languages do you guys speak btw?

#

just out of curiosity

#

other than English ofc lol (before one of you says English)

obtuse gale
#

Spanish

ocean quartz
#

I mostly speak Java and Kotlin

static zealot
#

I only speak PAIN

#

can't get the drivers to work smiling_face_with_3_tears

lunar cypress
#

I've had a pretty seamless experience with drivers fortunately

#

even though it took me opening one gh issue for one driver to find the documentation I was looking for

jovial warren
#

ffs why can't I ever get good answers lol

lunar cypress
#

you got one

jovial warren
#

oh yeah

lunar cypress
#

I wish I could say I still speak French

jovial warren
#

@ocean quartz -_-

#

I swear you speak Portuguese

lunar cypress
#

is that a motherfuckin brazil reference

jovial warren
#

lol what

onyx loom
jovial warren
#

lol

onyx loom
#

come to brazil

jovial warren
half harness
#

wait

#

what is that

#

is that config

jovial warren
half harness
#

oh that is config

jovial warren
#

no

half harness
#

what

jovial warren
#

it is translation

half harness
#

same thing

jovial warren
#

it is language

half harness
#

google translate time ๐Ÿคก /s

#

wait a minute

jovial warren
#

there will be more dw

onyx loom
#

english upside down ๐Ÿคก

#

usa bad

half harness
onyx loom
half harness
jovial warren
#

right, there's a few more now

half harness
#

๐Ÿ˜ฎ

onyx loom
#

COME to BRAZIL

half harness
#

sus

ocean quartz
#

Damn, i'm 24 and I still haven't started coging

half harness
onyx loom
#

coging is the new craze

half harness
#

yea matt

onyx loom
#

its more of a genz thing

half harness
#

ah

ocean quartz
lunar cypress
#

See my brain still works to some extent

gusty glen
#

th java.lang.invoke.WrongMethodTypeException: cannot convert MethodHandle(PathfinderGoalSelector,int,PathfinderGoal)void to (Object,Object)Object?

forest pecan
#

@gusty glen

#

what was the result

#

was methodhandle faster

#

or was reflection faster

gusty glen
forest pecan
#

oh

#

@obtuse gale

#

what you got

gusty glen
#

the results

forest pecan
#

lmao

gusty glen
#

so basically it doesn't matter since both have same performance for invoke

forest pecan
#

mhm

#

Though, i wouldnt say methodhandle is "better reflection"

#

they are each their own purpose

gusty glen
#

method handles allow composition of reflected methods

#

but normal reflection is more versitile if you want to make a broader search on the class

forest pecan
#

Yeah

gusty glen
#

I think I'll just pretend methodhandles doesn't exist

#

until I have to use one of them for sure, and when the time comes I'll use lambdametafactory which seems to have a performance closer to direct call

obtuse gale
#

LMF is great for.. well.. instantiating functional interfaces

#

MH in general is great for (pseudo?) code generation

#

That you cannot do with reflection

old wyvern
#

Try static final MethodHandles

old wyvern
#

Do user defined fille attributes change the hash of a file?

quiet depot
#

don't think so

potent nest
#

MethodHandles should be a lot faster ๐Ÿค”

old wyvern
cold kettle
#

Hi, I have a problem with the plugin deluxemenus, namely, I would like to order in requirements was something like that takes the item from the inventory and gives something in return

hot hull
distant sun
#

@prisma wave how can I make a function like this

function {
  this = "this"
  that = "that"
  x = 25
}```
hot hull
#

:what:

cinder flare
#

you wanna swap two vars?

#

and in haskell?

#

oh

distant sun
#

no, like a builder

#

well technically a builder ig

cinder flare
#

does haskell have builders

distant sun
#

kotlin.

prisma wave
#

absolutely not

cinder flare
#

oh well you shoulda specified

prisma wave
distant sun
#

why would I ask about haskell smh

hot hull
#

So much haskell circlejerk

cinder flare
#

i dunno, that's BM's favorite lang

prisma wave
#
inline fun function(blah: BuilderType.() -> Unit) = BuilderType().apply(blah).build()
``` for example
hot hull
#

ew

distant sun
#

yeah I cant do that, welp

prisma wave
#

what

#

why not

distant sun
#

or, hmm

#

nvm thanks

hot hull
#

ยธlol

prisma wave
#

ok

distant sun
#

what does reified mean for a generic?

prisma wave
#

the type of the generic can be used at runtime

distant sun
#

ic

prisma wave
#
inline fun <reified T> blah() {
  println(T::class.java)
}

blah<String>()
distant sun
#
return Option.builder("p")
        .longOpt("page")
        .argName("page")
        .type(Int::class.java)
        .desc(description)
        .build()```
This is how the builder looks
prisma wave
#

it would

#

you could just add an extension property

#
var BuilderType.property
  set(value) = setProperty(value)
  get() = // whatever
distant sun
#

mfs the argument passed through constructor cant be modified

#

ty bm

prisma wave
#

lol

#

np

jovial warren
distant sun
#

hmm

#

ty guys

jovial warren
#

Yw

jovial warren
hot hull
#

that is hideous

jovial warren
#

I'm considering dropping the networking ones, since having to look up translations for those could slow it down

jovial warren
#

you're meant to use properties files for localisation

boreal needle
#

why all the lines

#

cant you just \n

jovial warren
#

because I want them to print separately

#

as separate logging lines

#

if I use \n, I get a message that doesn't have the logger prefixes for the subsequent lines

boreal needle
#

then print them as separate lines?

jovial warren
boreal needle
#

just split by \n

jovial warren
#

you smart

#

right, fixed that now

#

what do you think about my thoughts on the networking ones?

hot hull
#

why properties file tho :C

#

use a different format

boreal needle
#

maybe emphasise the security implications of krypton.bungee.no-direct a little more?

jovial warren
#

nah there's not much more I can really say there

boreal needle
#

think of it like this

#

how many newbie server admins see the old "if you wish to use ip forwarding, please enable it in your bungeecord config as well" and dismiss it as nothing without realising that it's literally a uuid spoof waiting to happen

jovial warren
#

I put a warning up in the console to warn users that someone attempted to connect directly when BungeeCord mode is enabled

boreal needle
#

same problem there

jovial warren
#

true

half harness
#

how does it bypass that

old wyvern
#

It doesnt

#

reified only works for inline functions

#

Its handled at compile time

#

it also doesnt work if used on a "generic" that isnt available as reified

#

You need to know the class at compile time to use reified

prisma wave
half harness
#

what are inline functions ๐Ÿ˜ฉ

old wyvern
#

You dont use kotlin?

half harness
#

i do

lunar cypress
#

functions that are inlined at compile time

half harness
#

but im confused what they are

lunar cypress
#

you don't actually call them

#

The place where you call them in your code is replaced with the content of the function

half harness
#

can u give example?

lunar cypress
#

forEach

half harness
#

what would that be replaced with?

#

for (blah)?

old wyvern
#
fun main() {
  sayHello()
}

inline fun sayHello() {
  println("Hello World")
}

would be converted to the equivalent of

fun main() {
  println("Hello World")
}
half harness
#

๐Ÿ˜ฎ

old wyvern
#

Its ussually only useful when working with higher order functions

#

To reduce the overhead

half harness
#

ic

old wyvern
#

dependsOn is supposed to block till the other task completes right?

lunar cypress
#

dependsOn declares the dependencies of a task

#

which means when you run the task, the tasks it depends on are run first

old wyvern
#

At what point can I expect that other task to be complete?

#

hmm

#

Ok so say I have shadowJar of my moduleA depending on jar of moduleB, is it a good assumption to think jar's output will be present before something I handle is shadowJar's finalizedBy? I thought this would be the case, but it doesnt seem to generate the output jar of moduleB

old wyvern
#

@quiet depot any idea about how I can resolve this?

quiet depot
#

erm

#

is this project os

pale shell
half harness
pale shell
#

?

#

i was asking "are you ok sir"

#

come join r/haskellmeme

old wyvern
quiet depot
#

link

old wyvern
quiet depot
#

what's module a and b

pale shell
#

piggy, can my subreddit and helpchat work together

quiet depot
#

no

old wyvern
#

slimjar is A
slimjar-external is B

pale shell
#

$5

#

i'll nitro boost for the rest of the year

old wyvern
#

I havent added the task to it yet

#

i have it on local

#

but the idea is

#

it compiles B, copies it as resource for A (with a diff extension so it doesnt get extracted), and them compiles A

pale shell
#

no

quiet depot
#

I don't get it

#

wym a resource

#

like a dependency?

old wyvern
#

so as a file

quiet depot
#

or the jar is literally in the other jar

pale shell
#

he means bacon

quiet depot
#

odin please stop

old wyvern
#

slimjar-external.isolated-jar to be specific

pale shell
#

?

old wyvern
quiet depot
#

push ur gradle updates pls

old wyvern
#

Sure, one moment

#

@quiet depot done

quiet depot
#

I think it'd only work if slimjar-external:jar was actually meant to run

#

like depending on it is one step

#

actually calling it is the second step

old wyvern
#

Like manually invoking it in the commandline?

quiet depot
#

I'm not sure

#

I'm just guessing

#

I've never tried something like this

old wyvern
#

ah

#

I mean this seems to work on the second shadowjar run

#

but

#

that just feels a bit inconsistent

quiet depot
#

how are you building the project?

old wyvern
#

on clean shadowjar, it doesnt find the jar as its generated even after this runs

old wyvern
quiet depot
#

try this

#
tasks.register('copyExternal') {
    it.dependsOn(':slimjar-external:jar')
    final File externalJar = project(':slimjar-external').getTasks().getByName("jar").outputs.files.singleFile
    println(externalJar)
    println(externalJar.exists())

    if (!externalJar.exists()) return
    final File resourceModule = layout.buildDirectory.file("resources/main/slimjar-external.isolated-jar").get().asFile
    resourceModule.getParentFile().mkdirs()
    if (resourceModule.exists()) {
        resourceModule.delete()
    }
    Files.copy(externalJar.toPath(), resourceModule.toPath())
    doLast {
        shadowJar
    }
}```
old wyvern
#

alrighty, testing

quiet depot
#

and remove ur shadowjar task

#

and run copyExternal

#

so call copyexternal directly

#

if that doLast doesn't work just get rid of it and run shadowJar at the end

#

files.copy
shadowjar
}

pale shell
#

shadowJar

old wyvern
#

hmm

#

oh wait

#

Moving all that to doLast seems to work

quiet depot
#

all of what

old wyvern
#

The copying

quiet depot
#

okie

old wyvern
#
tasks.register('copyExternal') {
    it.dependsOn(':slimjar-external:jar')
    it.doLast {
        final File externalJar = project(':slimjar-external').getTasks().getByName("jar").outputs.files.singleFile
        println(externalJar)
        println(externalJar.exists())

        if (!externalJar.exists()) return
        final File resourceModule = layout.buildDirectory.file("resources/main/slimjar-external.isolated-jar").get().asFile
        resourceModule.getParentFile().mkdirs()
        if (resourceModule.exists()) {
            resourceModule.delete()
        }
        Files.copy(externalJar.toPath(), resourceModule.toPath())
    }
}
#

it seems to copy even on shadowJar

quiet depot
#

u know gradle/groovy has nicer shit to copy

old wyvern
#

That flattens it

quiet depot
#

wym

old wyvern
#

you mean the from into right?

quiet depot
#

yes

old wyvern
#

it seems to be unzipping the jar

#

Is there a way to get over that?

quiet depot
#

well that's not right because I use copy for jars

#

here's one of my configs

pale shell
#

copy?

old wyvern
#

alright, let me try that

pale shell
#

piggy can i ask a quick question about gradle

lunar cypress
#

You should definitely extend the Copy task

quiet depot
#

yes odin but how hasn't previous conversation hasn't demonstrated my lack of knowledge with gradle

lunar cypress
#

register<Copy>("copyExternal")

#

ah wait you use the bad dsl

old wyvern
#

lol

quiet depot
#

oof

pale shell
#

i mean, i just wanted to know can i move a jar from my build/libs into the plugins and use a plugin to autoload it or some shit?

quiet depot
#

wym autoload it

pale shell
#

i tried following all the tutorials to debug the plugins but they don't work

old wyvern
#

piggy, can copy copy to a renamed jar?

quiet depot
#

no clue

old wyvern
#

oh ok

quiet depot
#

odin

#

did you follow my tutorial

pale shell
#

yes.

quiet depot
#

and what went wrong

pale shell
#

it didn't work

quiet depot
#

did you read the text or just look at a couple of images

steel heart
#

Odin you trying to hotswap or what?

pale shell
#

I'm a visual learner

quiet depot
#

I don't care

#

I'm not helping you if you didn't bother to read the text

pale shell
steel heart
#

Did you install dcevm

pale shell
#

???

steel heart
#

Read what piggy wrote in that tutorial dummy

pale shell
#

dce virtual machine?

prisma wave
#

i think you've identified the source of the problem

pale shell
#

I'm sorry

prisma wave
#

i mean

#

i seem to recall us mentioning this before

#

like twice

quiet depot
#

fyi visual learning doesn't mean you can't learn from reading

#

text is still visual

pale shell
#

It says Java 7, 8 or 11 but i don't have that?

#

I have Java 16

quiet depot
#

it tells you how to install it...

#

well dcevm doesn't exist for 16

pale shell
#

so i obviously can't do it then?

quiet depot
#

well you can still setup a server in ij and have gradle export ur plugin to it

#

you just can't use dcevm

steel heart
#

Ah yes the less nice hotswap ๐Ÿ˜

quiet depot
#

there's not even any point of trying to hotswap without dcevm

#

it's so limited

steel heart
#

Indeed

prisma wave
#

(or just use java 11)

pale shell
#

I mean.... Why don't they support Java 16?

pale shell
prisma wave
#

it's newer

quiet depot
#

because it's maintained by like one guy, who's probably busy with other shit, and who doesn't think a non-lts version is worthy of his time

prisma wave
#

and you can have more than 1 jdk installed too

quiet depot
#

it'll probably be updated for java 17

pale shell
#

Can I install java 11 and java 16?

quiet depot
#

yes

#

I've got like 6 jdks installed

pale shell
#

I didn't know that

prisma wave
#

i just said you can

pale shell
#

soz

#

I didn't know

prisma wave
#

but i just said it's possible?

pale shell
#

I thought it would only support 1 ver

old wyvern
#

got it piggy

copy {
   from project(':slimjar-external').getTasks().getByName("jar").outputs.files.singleFile
   into layout.buildDirectory.file("resources/main/")
   include('*.jar')
   rename ('(.*)-(.*)-.*.jar', '$1-$2.isolated-jar')
}
#

Thanks

pale shell
#

you have to sign up to install it now??

quiet depot
#

๐Ÿ‘

#

what the fuck

#

where are you trying to install it from

pale shell
#

oracle

quiet depot
#

because wherever that is

#

I don't recall linking oracle on my guide

pale shell
#

that's the only place to get it from no?

old wyvern
#

even oracle doesnt need to signup

quiet depot
#

read the guide

#

yes it does yugi

#

for older java versions

old wyvern
#

Wait what?

#

Oh

quiet depot
#

odin if you have any more questions

#

read the guide

#

because it answers everything

pale shell
#

I'm following it step by step

quiet depot
#

evidently not because somehow you ended up downloading from oracle

pale shell
#

how did you get the tree command? It no longer exists

quiet depot
#

what guide are you following...

pale shell
#

p

quiet depot
pale shell
forest pecan
#

thats old

#

thats the oudated one

pale shell
#

oh

forest pecan
#

use the one piggy sent

pale shell
#

Okie

#

it says it only supports Java 11 but there's no place to install Java 11 officially you have to sign up to oracle now to get it? wtf?

half harness
#

lol

prisma wave
#

oh my god

pale shell
#

?

prisma wave
pale shell
#

but you need to install Java 11..

old wyvern
#

...

pale shell
#

"As of right now, DCEVM only supports java 8 & java 11"

old wyvern
#

Yes

#

so?

pale shell
#

I have Java 16.

quiet depot
#

stop

#

the problem is you're using your intuition

#

don't do that

#

just blindly follow the guide

pale shell
#

well i think i got it sorted but idk

quiet depot
#

how?

pale shell
#

it has the folder there so

quiet depot
#

good

pale shell
#

I don't get this though

#

the detected sdks

quiet depot
#

what about it

pale shell
#

I don't have that

quiet depot
#

have you read the text on the guide

pale shell
#

yes

quiet depot
#

which text

pale shell
#

I mean it says you can add them manually but I'm worried if it's not picking them up did i do something wrong

quiet depot
#

no

#

just add it manually

#

like the guide says to

#

and stop worrying

#

I told you to stop thinking

#

just follow the guide blindly

pale shell
#

oh so that detected thing was moved in new IJ

quiet depot
#

nope

#

still there for me

#

probably just doesn't work on windows

pale shell
#

for me it's elsewhere

#

it's moved to there for me

quiet depot
#

erm

#

ok

old wyvern
#

What has moved there?

pale shell
#

the setting

old wyvern
#

That isnt for detected sdks

#

Thats to change your jdk homepath like the label suggests

pale shell
#

this setting

#

it moved for me

old wyvern
#

Its not on windows I think

pale shell
#

it is, I'm on windows and I ust found it

old wyvern
#

Found what my guy?

quiet depot
#

it doesn't matter lol

old wyvern
quiet depot
#

just keep following the guide

pale shell
#

its in the folder on the right hand side

#

it opens a drop down thing for me

old wyvern
pale shell
#

you must have a different ver than me idk man

#

well back to the guide i go

prisma wave
#

didnt you say you're on a comically outdated version

pale shell
#

2021.1 ?

#

I'm pretty sure i'm on 2021.1

old wyvern
#

ss of your detected sdks please

pale shell
#

2 secs

old wyvern
#

sure

pale shell
#

on it now

prisma wave
#

add haskell sdk ๐Ÿคค

pale shell
#

why

#

oh

#

oh no

old wyvern
#

weird

pale shell
#

Error opening zip file or JAR manifest missing : C:\Program\Files\Java\dcevm-11.0.11+1\lib\hotswap\hotswap-agent.jar weird ๐Ÿค” (yes that's the right directory)

quiet depot
#

no it's not

pale shell
#

I just checked tho?

quiet depot
#

C:\Program\ Files, not C:\Program\Files

pale shell
#

oh for real?

quiet depot
#

yes

pale shell
#

oh ty I got a new error now

#
Error occurred during initialization of VM
agent library failed to init: instrument
quiet depot
#

did you install java 11 or 8?

pale shell
#

oh yeah i need to install java 11 don't i

quiet depot
#

8 or 11 works

pale shell
#

i still had 16 my bad

quiet depot
#

stop

#

you're thinking again

pale shell
#

?

quiet depot
#

don't assume things

#

just answer my question lol

#

did you download 11 or 8

pale shell
#

well when i type java --version in cmd it says 16.

quiet depot
#

that doesn't answer my question

#

in the windows install section

#

did you download dcevm 8 or 11

pale shell
#

11

onyx loom
#

๐Ÿ™‚

quiet depot
#

ok

#

so then why did you follow the usage instructions for java 8

#

clearly labelled 8 and 11

pale shell
#

my bad

#

I got the "no main manifest attribute" thing now

quiet depot
#

show me your run configuration

pale shell
quiet depot
#

why is the path to jar set to your plugin j9ar

pale shell
#

isn't that what it means?

quiet depot
#

read the guide

pale shell
#

it says hotswapdemo-all.jar

stuck harbor
#

time to set up hotswap on sublime text 4 hon hon

quiet depot
#

there is a very explicit link on how to setup the run configuration for minecraft

pale shell
#

i mean it's running something

#

ok so, one last issue i have is it's not loading the plugin onto the server?

#

am i supposed to put a pre-built jar into the plugins first or?

steel heart
steel heart
#

urite

pale shell
#

looks to see if you accidently leaked the token

pale shell
#

World Record PR?

half harness
pale shell
#

I made a PR within like 2 minutes of him posting

half harness
#

oh lol

#

wat aren't those just comments

pale shell
#

yes

#

but you shouldn't leave that there tho

#

yo piggy you here? I got one last question, do i need to build a jar of the plugin put that in the plugins folder within the server in the project and then debug or does it do it automatically?

quiet depot
#

you'd need to configure gradle to do it

#

there's a link on the guide to another guide on how to do it

pale shell
#

ok ty so gradle does that automatically as well?

quiet depot
#

if you configure it to

pale shell
#

ah got it ty

half harness
#

then u add shadowJar.dependsOn taskNameHere

hot hull
#

ยธdisgusting

pale shell
#

(.[0-9]+, [0-9]+.) ๐Ÿ˜

steel heart
#

(.\d+, \d+.) ๐Ÿฅฐ

pale shell
#

i love regex

#

it does my job for me

#

I can go through a whole file removing what's needed with just (.[0-9]+, [0-9]+.+)

steel heart
#

yes but 0-9 does the same as \d fyi

pale shell
#

um, I just found out something cool.

#

you can use \n in replace to add news line in intellij

steel heart
#

yup

pale shell
#

when you think you found something new but no, its known already.

steel heart
#

I mean I never use regex to replace stuff in intellij so thanks for enlightening me about it

pale shell
#

did you not know it was possible or?

steel heart
#

just forgot about it

half harness
onyx loom
half harness
ocean quartz
half harness
#

idk how to use coroutines

#

D:

ocean quartz
#

Learn it

jovial warren
#

dkim smh

#

what are you doing with your life

#

also why do you duplicate your name in your packages

half harness
#

lol

jovial warren
#

it should probably just be me.dkim19375.jdautils

#

that's perfectly fine

half harness
#

i'd probably refactor it to jdacore or smth ๐Ÿ˜Ž

#

before it just used to be java util classes

jovial warren
#

lol

boreal needle
#

is anyone up for rating my docs?

#

:O is that my pastebin?

jovial warren
#

yeah I thought I'd use it since HC's one is just pure haste which sucks at both syntax highlighting and figuring out languages from files

half harness
#

HC paste doesn't support kotlin ๐Ÿ˜ญ

boreal needle
#

you know what does?

#

my one

#

:P

#

anyyywayyy

jovial warren
#

where did you get this theming and this syntax highlighting from btw?

boreal needle
#

theme is my own

jovial warren
#

yeah I thought that might be it

boreal needle
#

highlighting is prismjs + prism live

jovial warren
#

but no way you wrote the parsers yourself

boreal needle
#

lol no

jovial warren
#

yeah I didn't think so lol

boreal needle
jovial warren
#

I mean, you're using 8 spaces for indentation in the examples so...

#

apart from that, lgtm

boreal needle
#

oops

jovial warren
#

using 8 spaces indentation = executed for war crimes

boreal needle
#

what about tabs

#

because i use tabs

jovial warren
#

nah they're fine

#

I read some articles after we had that debate a week or two ago in your Discord and it kinda said that the tabs vs spaces argument is just a bunch of BS anyway

boreal needle
#

fair enough lmao

#

oh yeah i forgot that happened

jovial warren
#

using 8 spaces for indentation though will get you executed though ๐Ÿ˜›

ocean quartz
jovial warren
boreal needle
old wyvern
#

Imagine having to encrypt package names in strings to survive relocations ๐Ÿฅฒ

boreal needle
#

i've not bothered with themes and stuff yet

#

i will Soonโ„ข๏ธ

jovial warren
#

or just do what Luck does and do "com{}google{}guava".replace("{}", ".") @old wyvern

boreal needle
#

iirc you can also build a string from a byte array

jovial warren
#

yeah you can

old wyvern
#

oh true ๐Ÿคฆโ€โ™‚๏ธ

jovial warren
#

neither of these solutions mean you can declare these as compile-time constants though ๐Ÿ˜ญ

old wyvern
#

I was just going for a caesar cipher xD

#

welp

half harness
#

wait for kotlin

#

if i want to run code that will block, do I use launch {}? so that it won't block the thread

jovial warren
#

no

#

runBlocking

steel heart
#

bbg up for coding review?

jovial warren
#

if you're using coroutines

#

go for it conclure

steel heart
#

(java)

jovial warren
#

oh god

steel heart
#

but ye

old wyvern
#

Bardy

steel heart
#

lol

jovial warren
old wyvern
#

he said he doesnt want to block

#

xD

half harness
# jovial warren `runBlocking`

won't that block the thread?

what i mean, like rn i have ```kt
thread {
val scanner = blah
etc etc it blocks the thread
}

#

what would i replace that with?

jovial warren
#

oh he edited it afterwards

old wyvern
#

it does block dkim

#

use launch on a coroutine scope

half harness
#

uh

jovial warren
#

use GlobalScope.launch to launch a new coroutine

old wyvern
#

Dont use globalscope

half harness
#

๐Ÿฅฒ

old wyvern
#

Create your own ones

#

the constructor is CoroutineScope(Dispatcher)

half harness
#

what are scopes for?

jovial warren
#
GlobalScope.launch(Dispatchers.IO)
```is fine Yugi
old wyvern
#

The scope matters bard

half harness
#

awuygdjshd

old wyvern
#

GlobalScope is for tasks that might run indefinitely through the lifetime of an application

jovial warren
#

the contexts are combined anyway, and the default context for GlobalScope is EmptyCoroutineContext

old wyvern
#

You can use your own scope to handle how it manages exceptions and such

jovial warren
#

so you end up running with the context Dispatchers.IO anyway

half harness
#

what is coroutineScope {} ?

old wyvern
#

otherwise all tasks in that scope get cancelled

half harness
jovial warren
#

clicks the link to the FUCKING DOCUMENTATION LITERALLY 4 LINES DOWN

half harness
#

wat

jovial warren
#

literally click the link to the documentation

#

click where it says coroutineScope dkim

#

then read

half harness
#

oh thats a hyperlink

jovial warren
#

๐Ÿคฆโ€โ™‚๏ธ

ocean quartz
#

Yo @boreal needle your pretty paste makes it very hard to read, the pinkish doesn't fit well with the background color

boreal needle
#

is that the offwhite

#

i have taken it out of some places where i used that scheme

#

ill do it now actually

ocean quartz
#

Yeah this, from Bardy's link

boreal needle
#

yeah that one

half harness
#

dark reader ๐Ÿ˜Œ

boreal needle
#

i originally designed the scheme for a blue background and it worked quite well

ocean quartz
#

Design it for Atom one dark ๐Ÿ˜Œ

boreal needle
#

wheres the fun in that

ocean quartz
#

Also @half harness println for logging disgustedjiro

half harness
#

?

#

oh

#

logger lib?

ocean quartz
#

Yes lol

half harness
#

what lib should i use?

ocean quartz
#

JDA already provides that

half harness
#

o

#

name of it?

#

wait

#

how do i use the lib

ocean quartz
#

The same way you use Bukkit's logger, it's the same thing

half harness
#

bukkit automatically formats the log with println

ocean quartz
#

Don't tell me you use println with Bukkit as well

half harness
#

but println is convenient

#

which is why i made a function to log

#

top level function its called iirc

boreal needle
#

ok the offwhite is now gone

#

actually white now

ocean quartz
steel heart
half harness
#

should i store the variable? i dont want to DI every time i want to print ._.

ocean quartz
#

Yes?

pale shell
#

I'm trying to write a discord bot what will help find bugs before people complain to me about them kekwhat

#

It's usually one of those small things

obtuse gale
#

End users are the best bug hunters

ocean quartz
#

They'll find bugs in the weirdest fucking places

old wyvern
#

Imagine not using a language that prevents most bugs at compile time

#

๐Ÿ˜Œ

pale shell
#

no i mean, it's mainly down to people not reading what the messages say

onyx loom
onyx loom
#

^

half harness
pale shell
#

like "Please have two block locations for the mine"

onyx loom
#

then just use the extension function one?

half harness
steel heart
#

Its like youโ€™re advocating anti patterns

onyx loom
#

having 2 of the same function here is just confusing

half harness
#

๐Ÿ˜ฉ

pale shell
#

Probably a dumb question but how can I have it so I can store a list of errors and alongside that the fix? like
"Couldn't find two corners" : "Do this to fix it" ?

lunar cypress
#

data class Problem(val error: String, val solution: String)?

pale shell
#

is that only for Kotlin?

old wyvern
#

write a similar POJO if in java?

steel heart
#

records ๐Ÿฅฐ

pale shell
lunar cypress
#

thought you were using kotlin, but I would assume you know how to do this in java

pale shell
#

idk if i can do this in kotlin :/

#

It's a java libary so

steel heart
#

interoperability

old wyvern
pale shell
#

why

eternal compass
#

thats not allowed

pale shell
#

is it os?

old wyvern
#

I have absolutely no idea

pale shell
#

I think it's fake I can't find it

obtuse gale
#

That can't possibly be real lmao

pale shell
#

It's not

onyx loom
#

amogus

old wyvern
#

Possibly

#

Or someone was crazy enough

pale shell
#

I can't find it anywhere so It's fake

eternal compass
#

thats not how that works...

#

one person can make something, doesn't mean its fake

old wyvern
#

ig that might just be a theme with a self-written neofetch

pale shell
eternal compass
#

it could just be ubuntu or debian re-themed aswell

old wyvern
crimson nymph
#

so could I in theory take a shop that is already in place.....take it's menu and add onto it and change it however I'd like?

old wyvern
#

Ayy, none of the tests broke this time

crimson nymph
#

Cause I'd like to have a central /shop command that allows you to see everything on the server...including the spawnershop and minion shop and all that under one command

old wyvern
#

Im not sure I understand what you're asking

#

What exactly do you want to do?

#

add items onto a GUI?

forest pecan
#

is this code related?

crimson nymph
#

Well there's a plugin called auto tune...and it's got it's own shop gui menu but I'd like to have that kinda "wrapped" inside another menu plugin that allows me to make that a submenu on a greater menu that has other shops

old wyvern
#

Yea, wrong channel

crimson nymph
#

I'm asking if it's possible.

#

with this one

old wyvern
#

As in with your own plugin?

crimson nymph
#

no, as just I'm looking for a plugin that allows me to take existing menus and parents them in such a way where they are all available with one greater gui menu...

#

idk how to word this

#

lol

old wyvern
#

Then like previously stated, you'd have better luck asking those channels

crimson nymph
#

oooo

#

alrighty

serene cave
#

Hello

prisma wave
#

HI TRUMP

serene cave
#

Hello Semigroup Mitten

#

Long time no see

prisma wave
#

yes indeed

#

it's been a while

serene cave
#

Mhm

prisma wave
#

how are you my favourite president

serene cave
#

I am very good

#

what about you

prisma wave
#

better now that you're here ๐Ÿฅฐ

#

i was getting worried i must admit

serene cave
#

Me too. I was worried after not greeting my fellow citizens

prisma wave
#

Oh of course, that sounds terrible

old wyvern
#

bm

prisma wave
#

yo

old wyvern
#

If a classloader returns a class other than the one asked, is there any check performed for verify that?

prisma wave
#

o good question

#

idk

#

maybe not explicitly, but it would probably cause problems with method invocations and things

old wyvern
#

I should probably provide more context, I seem to be getting a very weird stack trace, had to manually print it out because cant use debugger with this part but heres the general issue.

I have a isolated classloader with non-relocated counterparts of a few relocated classes, so I have a classloader that returns the relocated class's reference if the class asks for the non-relocated version

#

It seems to print "Found"

#

but then throws a classdefnotfound

#

Specifically, im not sure how it ends up calling the parent method after returning control already

at java.net.URLClassLoader.findClass(URLClassLoader.java:362)
at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
at my.random.app.injector.loader.MappableInjectableClassLoader.loadClass(MappableInjectableClassLoader.java:27)
half harness
#

aaaaa how do i do this - i got the groupid on maven central, but im stuck on the signing part

obtuse gale
#

Iโ€™m making 2 plugins.

CasinoPlus

Games

  1. 3 kinds of poker
  2. Blackjack
  3. Slots
  4. War
  5. Roulette

Features
1.Placeholder Api
2.Partyโ€™s
3.Custom Games

MinigamePlus

Games
1.Spleef/Splegg
2.Parkour
3.King of the hill
4.Kit-PvP
5. Custom events

Features

  1. Party invites
  2. Rule customization
    3.GUI
    4.AI

Please give me some suggestions on the name and some features. Direct message me them or I wonโ€™t see them

half harness
#

jitpack is so easy

old wyvern
#

matt probably knows

#

He has used central before

half harness
#

mattttttttttttt

#

๐Ÿฅบ

ocean quartz
half harness
#

matt

old wyvern
#

๐Ÿฅฒ

half harness
#

plz help me

ocean quartz
#

No

half harness
#

why

#

did you not fix the problem?

ocean quartz
#

Because i have never published to central from gradle with success

old wyvern
#

wait what?

#

Wasnt the cmd framework on there initially?

ocean quartz
#

They were maven

old wyvern
#

ah

#

Is it easier with maven?

steel heart
#

Yugi did u solve the thing ?

old wyvern
#

What thing conc?

old wyvern
#

Nope

#

Im not sure if thats a possible solution anymore, jvm witchcraft is at hand.

#

Looking for other options

steel heart
#

Hmm yeah

ocean quartz
#

I always had an issue where artifacts would be staged but not published, and I had to manually publish them
It's not exactly easier just wouldn't work for me, i am sure if i tried now i could do it better, but back then i had no idea how to use gradle

old wyvern
#

Maybe abuse the gradle plugin a bit more to have it perform the relocations

steel heart
onyx loom
ocean quartz
#

Nay

half harness
#

where do i get the key id, password, and ring file??

old wyvern
onyx loom
#

prolog ๐Ÿ˜Œ ๐Ÿ™

half harness
#

ah

#

i just opened that

ocean quartz
#

You ask before opening

half harness
half harness
#

i didn't google it

#

๐Ÿ’€

ocean quartz
#

That's what i am saying, you ask before googling disgustedjiro

jovial warren
onyx loom
ocean quartz
#

What the actual fuck is that Bardy?

jovial warren
#

I've based it off of Luck's Message from LP

#

it's for translations Matt

#

I might just stop using Adventure's translation system for this and use the resource bundle stuff tbh

#

since using components here isn't really what we want

steel heart
#

Itโ€™s good Matt?

jovial warren
steel heart
#

I doubt he was the one to invent it

old wyvern
#

wtf

steel heart
#

Itโ€™s a fine approach imo

ocean quartz
#

4110 lines Jesus

old wyvern
#

Demonic

jovial warren
#

got a better idea btw?

ocean quartz
#

Lmao

old wyvern
#

Rewrite that properly?

jovial warren
#

lol

#

what's actually wrong with it?

old wyvern
#

Complete mess

#

4k lines ffs

jovial warren
#

ignore Luck's one

#

mine

steel heart
#

Be more concrete rather than just saying itโ€™s a complete mess. What is a mess? How can you make it less messy then?

#

I mean sure it arguably is messy but everything has pros and cons

old wyvern
#

You seem to retain a lot of the weird parts. Havent read through it, but the multi arg functional interfaces are probably not the way to go

jovial warren
#

I am thinking that maybe it's not such a good idea to use components here

old wyvern
#

Id suggest reading through and organizing this a bit more

jovial warren
#

since that's not actually what we need

#

what do you guys think btw? should I replace components with just strings here?

steel heart
#

I like strings

half harness
#

uh should i use maven plugin or maven-publish?

old wyvern
#

maven-publish

jovial warren
#

maven-publish

#

maven is the old one

half harness
#

oh

#

ok

steel heart
#

Given that their special syntax addition I guess it could be a reasonable change bbg

#

So yeah less verbose

old wyvern
#

Just copy paste the one I sent earlier and modify it dkim

#

You'll pretty much have the same

half harness
#

ok

#

uhh im getting like a million warnings

#

lol

jovial warren
#

if you speak a language not listed btw, lmk and I'll add it lol

onyx loom
#

i speak Shakespearean english ๐ŸŒš

jovial warren
#

yeah that, pirate english and LOLCAT are for the memes lol

half harness
#

ya i found it now

#

so i put that

#

but how do i publish to mvn central?

#

i also changed all the values and stuff

old wyvern
#

change the property names to what you like, then create a gradle.properties file in your project root (make sure to add this to your .gitignore) and provide the repository credentials there with the properties you used earlier

half harness
#

yea i did that already

#

i think i did it correctly

old wyvern
#

That should be it, you can just run gradlew publish to publish then

half harness
#

i also just realized i dont have a license

old wyvern
#

Remove whatever you dont want

half harness
old wyvern
#

What does the output show?

#

is there any errors/warnings?

half harness
#

i dont think so

old wyvern
#

Send your build file

#

=paste

compact perchBOT
#
HelpChat Paste

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

half harness
old wyvern
#

oh wait

half harness
#

uhh

old wyvern
#

You need to configure your signing

half harness
#

oh

#

how come you're not thonking

old wyvern
#

Im not using central

half harness
#

oh

old wyvern
#

also

#

that artifact name

#

jesus

onyx loom
#

๐Ÿ˜Œ

half harness
#

lol

#

uh

#

i have ```gradle
signing {
useGpgCmd()
sign configurations.archives
}

#

i have no idea what to do

#
Execution failed for task ':signMavenPublishPublication'.
> A problem occurred starting process 'command 'gpg''
#

๐Ÿ˜ฉ

#

๐Ÿ˜ฆ

ocean quartz
#

๐Ÿฅฒ

half harness
#

๐Ÿ˜ญ

obtuse gale
old wyvern
#

remove the / before bull and shit

half harness
#

oh

#

thx

#
Execution failed for task ':signMavenPublishPublication'.
> Unable to read secret key from file: key.gpg (it may not be a PGP secret key ring)
``` D:
ocean quartz
#

This video is giving me anxiety

stuck harbor
#

I got a notification about that

#

I said 'nah'

onyx loom
#

big yikes

#

me too iwanio

ocean quartz
#

It splashed into the motherboard notlikeblob

static zealot
#

yes it did. but at least its cooled lmao

#

if you're not at the end yet