#dev-general

1 messages Β· Page 292 of 1

quiet depot
#

try guess what that does without compiling it

static zealot
#

lmao

vast pilot
#

MySentenceWasBrokeInBetween.exe

prisma wave
hot hull
oak coyote
#

I hope so

prisma wave
oak coyote
#

I need that in my life

quiet depot
#

bingo bango bongo

#

spot on frosty

hot hull
#

Damn, I need to compile and run that shit fast

oak coyote
#

It creates main classes within the main class

#

It’s going to have a great time

quiet depot
#

yeah bm it's just a hello world

#

probably should've done something a bit less obvious

prisma wave
#

System.out was kinda a giveaway

quiet depot
#

it's brainfuck compiled to java

prisma wave
#

o lmao

hot hull
#

How is that hello world tho

oak coyote
#

What did that to the file?

quiet depot
#

lol

oak coyote
#

What chaos did you consume to cause that

#

It’s a mess

quiet depot
#

it's beautiful in a way

prisma wave
#

im guessing

quiet depot
#

that this brainfuck to java converter does it better than most obfuscators

oak coyote
#

It is, how bad is obfuscation for performance in that regard

quiet depot
#

not really noticeable

oak coyote
#

😱

quiet depot
#

i mean this code would take much longer than a System.out.println("Hello World!") to execute

#

but we're talking about minuscule amounts of time

oak coyote
#

You have to tell me what which one you used

static zealot
#

much longer = minuscule amounts of time

quiet depot
#

it's a brainfuck to java converter jerry

#

unless you want to write in brainfuck this isn't a viable option

oak coyote
#

Dam mosey it is

static zealot
#

brainfuck that sounds like its going to fuck with my brain

quiet depot
#

this is the original code ++++++++[>++++[>++>+++>+++>+<<<<-]>+>+>->>+[<]<-]>>.>---.+++++++..+++.>>.<-.<.+++.------.--------.>>+.>++.

prisma wave
#

beautiful

static zealot
#

oh lmao

oak coyote
#

That is cute

quiet depot
#

yeah i've been experimenting with brainfuck

#

that helloworld is from the wiki

#

but I made my own little thing that prints "h" and a newline

#

it's actually considerably easier than I thought it would be

#

all ig h and a newline isn't overly hard

static zealot
#
-[--->+<]>-.[---->+++++<]>-.+.++++++++++.+[---->+<]>+++.-[--->++<]>-.++++++++++.+[---->+<]>+++.[-->+++++++<]>.++.-------------.[--->+<]>---..+++++.-[---->+<]>++.+[->+++<]>.++++++++++++..---.[-->+<]>--------.++[--->++<]>.++++[->++<]>.-------.+++++++.-------.+++++++.-------.+++++++.-------.+++++++.-------.+++++++.-------.+[--->++<]>++.++[--->++<]>.+++[->++<]>.[++>-------<]>.+[->+++<]>+.++++++++.-[++>---<]>+.--[->++++<]>+.----------.++++++.```
quiet depot
#

fyi this brainfuck to java converter is also written in brainfuck lol

#

that's some dedication

static zealot
#

lmao

quiet depot
#

doesn't just compile to java

#

compiles to c, ruby, go, tcl, java

#

and 386 linux executables

forest pecan
#

is it fair to make it so that my jar is obsfucated but the code is open source to make people who decompile look like dumbasses

#

lol

hot hull
#

Will be annoying to help with issues but I mean that's fair

forest pecan
#

hm yeah mappings

#

OOF

remote goblet
#

its more work

#

people who decompile are dumbasses anyway but eh

#

decompiles minecraft code

forest pecan
#

lmao

static zealot
vast pilot
#

.

jovial warren
#

@prisma wave any ideas why depending on PDM 0.0.32 gives me PDM runtime 0.0.30?

prisma wave
#

are you sure?

#

that, uhh... might be another relocation thing

static zealot
#

are you sure about that

prisma wave
#

although this one is easier to fix

#

you can just relocate the runtime with shadowJar

jovial warren
#

I'm saying in the compileClasspath list it says 0.0.30

prisma wave
#

o

#

odd

jovial warren
#

very

prisma wave
#

huh

#

well

#

clean building it seemed to fix

#

lemme redeploy

jovial warren
prisma wave
#

the gradle plugin has about 30 different hacks so im not surprised something broke

jovial warren
#

lol

prisma wave
#

try now

jovial warren
#

might take a minute or two to fully deploy to Gradle

#

oh also, is it only the runtime and common-lib that get published to your repo?

#

might have to clear the cache for this for it to work

prisma wave
#

i only redeployed the plugin

#

the others dont matter

jovial warren
#

yeah

#

cleared my caches and still gives me 0.0.30

prisma wave
#

odd

jovial warren
#

does Gradle even let you force override like that?

prisma wave
#

i just deleted 0.0.32 and republished it

#

lol

remote goblet
#

functionality

jovial warren
#

CmdAuction

#

imagine

#

AuctionCommand > CmdAuction

#

also, very useful

steel heart
#

Cmd reminds me of FactionsUUID or smtng

jovial warren
#

reminds me of SuperiorSkyblock

#

@prisma wave works now btw, cheers Alex

remote goblet
#

thats just how i name all my packages peepoSad dont bully me

jovial warren
#

imagine being one of those who uses shortened, useless variable names

old wyvern
#

πŸ‘€

signal tinsel
#

Ok so

#

I have a github repository (private) for my plugin

jovial warren
#

right

remote goblet
#

shush you use TODO() in kotlin

#

rat

signal tinsel
#

Can I use github actions to automatically compile?

jovial warren
signal tinsel
#

If so, how

jovial warren
#

if you have Pro I think so

remote goblet
#

Imagine using a function that intentionally throws an error ASfacepalm seems dumb to me

#

ever thought about remembering to do something

signal tinsel
#

Lemme see

#

I'd buy pro for that tbh

jovial warren
#

ever thought about forgetting

#

TODO gives you a helpful reminder that you've forgotten to implement something

old wyvern
jovial warren
#

^

signal tinsel
#

I don't have that

#

Starting college in teh summer tho

jovial warren
#

if you're like 13+ and at school you can get it

remote goblet
#

i got it yesterday

signal tinsel
#

I don't have a school email

jovial warren
#

even if your school isn't on the list and doesn't have a domain ending in .edu

obtuse gale
#

Ripp

old wyvern
#

Dont need one

#

Submit any documents to prove you are a student

jovial warren
#

my school's domain ends in .co.uk and I still got it lol

signal tinsel
#

Anyway

remote goblet
#

thats why you do it

#

:)

signal tinsel
#

I don't think you need github pro to auto compile using actions

remote goblet
#

yeah but like

jovial warren
#

you don't need it, but you get quite a strict limit without it

remote goblet
#

free access to intellij ultimate, goland, clion, data grip, php storm, pycharm, webstorm, ect cb_dance_kanna

jovial warren
#

also, imagine having private repos amirite

signal tinsel
#

What's the limit

signal tinsel
jovial warren
#

go to settings -> billing & plans

#

GitHub Actions minutes

signal tinsel
#

I have 2000

#

That's plenty

jovial warren
#

oh also, another reason for using Linux

signal tinsel
#

Considering I only need to compile on the main branch, and I work on a development branch

jovial warren
#

Linux has a minute multiplier of 1, so for every minute on Linux it's a minute on GitHub Actions

#

for Windows it's x2

#

and for MacOS, x10

signal tinsel
#

Yeah look

#

How do I do it

jovial warren
signal tinsel
#

Yes I know

#

But I don't know how to do dis

jovial warren
signal tinsel
#

That's why I came for help

jovial warren
#

I don't use it, so I couldn't tell you really

signal tinsel
#

.........

jovial warren
#

just read the links I sent

half harness
#

lol

jovial warren
#

it's really not rocket science, trust me

signal tinsel
#

I'm aware

surreal quarry
#

bruh i just realized that when i updated nexus, i never stopped the autostart from my previous one, so every time i start my server, i end up starting 2 instances of nexus

#

im so stupid lmfao

jovial warren
#

what you using to autostart? crontab?

#

or systemd

#

or init.d lol

surreal quarry
#

init.d i believe

jovial warren
#

init.d old

surreal quarry
#

yea but its what their docs tell you to use so

jovial warren
#

you not using systemd?

#

there's a systemd config on there somewhere

surreal quarry
#

i am now xD

jovial warren
#

lol

#

init.d stuff is in /etc/init.d btw

surreal quarry
#

ye

half harness
#

I just got lectured to use public fields instead of getters and setters 😳

onyx loom
#

now is a great time to correct ur tutor then

remote goblet
half harness
remote goblet
#

they're objectively wrong

half harness
#

ill copy and paste

onyx loom
#

well why do u think public fields is a wrong idea dkim

half harness
#

uhhh because you guys told me not to use them

#

πŸ˜…

half harness
#

also iirc it "clones" or something, so u have to use methods to modify vars

onyx loom
#

theres no point u coming to this discord to say something ur tutor has said wrong if u dont know why

half harness
#

i wanted to see which was correct, if I should use getters/setters or not

remote goblet
#

your tutor wasn't but why weren't they

surreal quarry
onyx loom
#

ill give u an idea why dkim

#

Enc

surreal quarry
#

you would still be able to modify the value

regal gale
#

L

onyx loom
#

no

half harness
#

like for example ```java
plugin.someVariable.anotherVariable = "str";

onyx loom
#

not now πŸ˜…

surreal quarry
#

A

half harness
#
plugin.getSomeVariable().setAnotherVariable("str");
```which one better?
remote goblet
#

well what language is this

surreal quarry
#

java

#

i would assume

remote goblet
#

looks like js to me

surreal quarry
#

if its java thats atrocious

#

the second one

#

that wouldn't do anything

onyx loom
#

lol

half harness
surreal quarry
#

the second one, but you edited it now lol

half harness
#

oh

#

lol

#

so which one is better to use?

#

and why

regal gale
#

Well... on second thought, GDScript from Godot looked quite the same format as Python...

half harness
#

;-;

#

@regal gale i thought you were going to say some wise words

regal gale
#

?

half harness
#

||aka answering my question||

#

πŸ™„

surreal quarry
half harness
#

ooo ok

#

what is SO?

surreal quarry
#

use context bruh

half harness
#

SO

surreal quarry
#

i sent you a StackOverflow link

half harness
#

ohh

#

🀦

surreal quarry
#

and said this is a SO post

regal gale
#

Anyway, you can most likely tell by the function format: function e(): pass

#

I'm into this πŸ‘€

half harness
#

I think it was a mistake to say that lots of experienced people say not to use public vars-

prisma wave
#

ask whoever's saying public vars are good for their reasoning

half harness
#

πŸ€”

#

btw I barely even know what encapsulation is

prisma wave
half harness
half harness
steel heart
#

Yeah

#

I mean if the object only acts like a vessel

#

Public field would be fine

half harness
#

😳

lunar cypress
#

Those are literally screenshots of my messages

half harness
half jackal
#

??

surreal quarry
#

lmao

half harness
#

but I didn't DM u johnny

#

πŸ‘€

steel heart
#

Isn’t that what exerosis said

lunar cypress
#

I know, I was joking

half harness
#

:p

lunar cypress
#

But I did say the exact same things somewhere else before

half harness
#

πŸ‘€ this guy sus

half harness
steel heart
#

Johnny is jesus?

half harness
#

wot

half jackal
#

i need help

compact perchBOT
#

There is no time to wait! Ask your question @half jackal!

half jackal
#

but i did

steel heart
#

Dkim don’t act dumb

half jackal
surreal quarry
#

someone will answer if they can help you

#

don't ask in here for help somewhere else

half harness
steel heart
#

Thought you talked with him the other day

lunar cypress
#

Conclure your name is triggering me

lunar cypress
#

It doesn't make sense NotLikeThis

half harness
#

i did?

#

1 sec lemme check disc history

#

xD

steel heart
half harness
#

oh I did

#

🀣

#

||sorry Exerosis||

ocean quartz
half harness
#

lol

steel heart
#

Dkim is a wizard

#

Has to be that way

half harness
#

lol

#

anyways i gtg

#

afk

steel heart
#

gtg and afk

half harness
#

I got to go afk

#

oh wait i gtg

#

forgot

steel heart
#

Lmao

unkempt tangle
#

Can anyone deobfuscate me a code ;C

forest pecan
#

what

half harness
#

what

forest pecan
#

you used senpai again

#

you bis

unkempt tangle
#

Can anybody deobfuscate dis ;c

forest pecan
#

is this brainfuck

#

lol

unkempt tangle
#

Last line is plain

half harness
#

Anyone know if its possible to use something like playerinteractevent to make blocking in 1.8 work in a 1.16 server? (Yes, I'm trying to make a 1.16 server with 1.8 combat.... probably will be unsuccessful but I want to get it as close as possible)

unkempt tangle
half harness
#

:p

regal gale
#

Has to be that way

unkempt tangle
#

😦

#

Anybody skilled enough for assembly/ghidra?

forest pecan
#

who the hell that is skilled enough would even program in those languages

obtuse gale
#

ur mum

unkempt tangle
lunar cypress
#

"deobfuscate" without saying what this even is

#

πŸ‘

#

this just looks like you opened some binary format in a text editor

unkempt tangle
#

Yes I did

forest pecan
lunar cypress
unkempt tangle
#

Then how do I figure out what the right program is?

#

Each file has actually an header

lunar cypress
#

you haven't said anything about what the file is

ocean quartz
#

Would help if you told us what it is

unkempt tangle
#

Which includes their specific type

#

A language file.

lunar cypress
#

elaborate

#

what is a language file

unkempt tangle
#

A binary that includes translated strings.

lunar cypress
#

that is not a precise description of the format

unkempt tangle
#

Johnny the informations you are seeking from me. Is exactly what I am asking you.

lunar cypress
#

You do have the file though?

unkempt tangle
#

I wouldnt ask, if I would know the answers.

lunar cypress
#

You have to know at least what format the file is

#

usually that isn't hard to find out if you look at the extension

unkempt tangle
#

bin

lunar cypress
#

and if you seriously have no idea you'll need to open it in a hex editor and look for clues

unkempt tangle
#

Also there is an idx file probabbly the index file.

lunar cypress
#

ok bin is not a standard, where does the file come from

unkempt tangle
#

Or somekind of manifest

#

Out of my pocket.

regal gale
#

...?

lunar cypress
#

πŸ˜‚ πŸ‘Œ

unkempt tangle
#

I dont know

lunar cypress
#

wdym "you don't know"

#

why do you even want to read it then

regal gale
#

Because that is an alien language, and he wants to study to be an alien cursed_fingerguns

#

||that was a joke btw||

unkempt tangle
#

Why is everyone mean to me 😭

lunar cypress
#

who's being mean?

unkempt tangle
half harness
#

heres a better question: Where did you get that file

lunar cypress
#

I just asked that

unkempt tangle
#

A friend of mien

lunar cypress
#

And they don't want to answer

regal gale
#

Johnny just asked it way back

half harness
#

welp

unkempt tangle
#

I was interested too

half harness
#

we can't really do much...... if we don't know what the file is for

ocean quartz
#

Still no information about the file lol

unkempt tangle
#

...

half harness
#

ask your friend where they got it

regal gale
#

Here's a better question: Do you even know what you are doing? thonking

half harness
#

lol

forest pecan
#
public class HelloWorld {
    public static void main(final String[] array) {
        float lllllllIlIllIII = HelloWorld.lllI[0];
        while (llIll((int)lllllllIlIllIII, HelloWorld.lllI[1])) {
            ++lllllllIlIllIII;
            "".length();
            if (" ".length() == (" ".length() << ("   ".length() << " ".length()) & ~(" ".length() << ("   ".length() << " ".length())))) {
                throw null;
            }
        }
    }
}
ocean quartz
#

It's not that hard "translation file for game xy thay i got from x place to do y thing" just explain yourself lol

unkempt tangle
#

hell no

forest pecan
#

obfuscator

#

lmao

quiet depot
#

n3w0rk did they just send that paste alone?

forest pecan
#

XD

lunar cypress
quiet depot
#

or did you just pick a random file

half jackal
#

i need help

compact perchBOT
#

There is no time to wait! Ask your question @half jackal!

unkempt tangle
#

There are more files.

half jackal
#

you idiot

quiet depot
#

send everything in it's original format

#

don't touch anything

forest pecan
unkempt tangle
#

But they are flagged with _de.bin _en.bin

lunar cypress
#

though if this is some random binary format nobody knows you'll have to reverse engineer it

unkempt tangle
#

I thought en is the most interested one

half harness
#

remember: Not every files are java class files

regal gale
#

??

half harness
#

he said to deobfuscate... even tho its not a .java file

forest pecan
#

wait me?

half harness
#

no

forest pecan
#

oh

quiet depot
#

dkim obfuscation isn't a technique unique to java

forest pecan
#

^^

ocean quartz
regal gale
#

Yeah

forest pecan
#

its used in C# and many others

half harness
#

but we might have to decompile it if its compiled

#

πŸ‘€

#

and im 99% sure theres no decompiler for every language

unkempt tangle
#

.NET "needs" obfuscating too

quiet depot
#

n3w0rk if you want a serious answer about what it might be, you need to upload the entire thing

surreal quarry
#

I have an API, and I have some dependencies for that api as compileOnly because they are provided by my plugin, however this means that when using the API certain types aren't available because they are compileOnly. I have tried api, but that seems to include it in the jar, which I don't want because its unnecessary. Is there anything that would be like compileOnlyApi lol

quiet depot
#

@surreal quarry you shouldn't need to

#

explain the situation more clearly

#

what dependency specifically

#

where is the dependency coming from

hot hull
#

Anyone wanna contribute and figure out why it doesn't serialize and deserialize properly? Would appreciate it fingerguns
https://github.com/op65n/VaultManager

quiet depot
#

frosty link the relevant classes

hot hull
#

sec

#

Everything relevant can be traced back from here

quiet depot
#

you should really prefer the bukkit scheduler over an executor service for async operations

surreal quarry
#

My API depends on hololib, a library I created, which contains a class called Hologram. My api has a HologramManager, and some of the methods use the Hologram as params or return types, which means that you can't really do anything with the HologramManager

I think my issue may be that I was applying shadowJar to my api project though, cause i just changed that and it seems to be providing the classes to whatever project uses my api without shading

quiet depot
#

so you fixed it?

surreal quarry
#

I believe so

#

If not I'll be back here in a little bit lol

quiet depot
#

πŸ‘

surreal quarry
#

Ok, I'm back doesn't seem to be working. I am basically wanting to be able to provide access to my dependencies (preferably only in the compile classpath) without them actually having to add the dependency to their pom/build.gradle, and im not sure which "method" for the dependencies (api, compileOnly, implementation, etc)
By doing api and not shading, I get the following in the compile classpath, but only the dev.jaims ones are actually available for use.

quiet depot
#

does moducore get shaded in?

#

or is it an api for another plugin

surreal quarry
#

I have a moducore project, which has two modules, the plugin and the api. the plugin shades the api as well as the dependencies the api needs so its available at runtime. Other plugins wishing to use the moducore api, would specify it as provided/compileOnly since its available at runtime

steel heart
#

Thought api was meant to shade in

surreal quarry
#

At least thats what im going for

steel heart
#

Since it’s basically implementation but transitive

quiet depot
#

use the api keyword in the api subproject james

#

because when people use the moducore api, they're going to be using compileOnly

#

so it won't shade in

surreal quarry
#

oh thats facts

steel heart
#

compileOnlyApi exist

surreal quarry
#

thanks

#

doesn't seem to conclure

steel heart
#

Weird

quiet depot
#

are you using the java library plugin?

steel heart
#

What version of gradle and do ya use java library?

surreal quarry
#

gradle is 6.8 and im not using the java plugin

steel heart
#

add java-library

#

I think that will give it

quiet depot
#

he said he's not using the java plugin

#

so he must be using java-library already

steel heart
#

Hm

quiet depot
#

there's nothing wrong with my approach imo

surreal quarry
#

i may be misunderstanding, but i have nothing in my plugins block relating to java or java-library

quiet depot
#

paste your parent build.gradle

#

none of this should work without one or the other

surreal quarry
quiet depot
#

oh yeah

#

kotlin plugin includes java-library already I think

surreal quarry
#

ah ok

quiet depot
#

that api if statement

surreal quarry
#

either way i think you're right since they are doing compileOnly, i can just shade these libraries and use api for my api module

quiet depot
#

don't do that

surreal quarry
#

better alternative is?

quiet depot
#

in the api build.gradle

#

declare version

surreal quarry
#

good call

steel heart
#

compileOnlyApi works fine

quiet depot
#

with kotlin conclure?

steel heart
#

maybe the kotlin plugin is dodo

#

no

surreal quarry
steel heart
#

"java-library"

surreal quarry
#

lemme try to add the java-library plugin

steel heart
#

ouh

#

thats weird

#

ye

stuck harbor
#

mf msg mmmmm

surreal quarry
#

oh yea that fixed it

#

thanks conclure

hot hull
#

So anyone got any suggestions? fingerguns

steel heart
#

For? :0

ocean quartz
hot hull
stuck harbor
#

make it use a different library

#

I guess

#

always works for me

steel heart
#

Btw frosty what doesn’t work if you can be more specific?

hot hull
#

Serialization and deserialization

steel heart
#

What are you serializing?

hot hull
#

Inventories

#

It's a private vaults plugin

#

I linked the relevant class there as well

steel heart
#

Oo let me see

remote goblet
hot hull
#

Well yea because Collections#emptyList is immutable

#

make a new Array list instead

hot hull
steel heart
#

Yeah

#

I ate some yummy noodles

#

Wait

#

Is this stored as base 64?

#

Oh ye

#

Have you done any debugging ?

hot hull
#

Yes, it prints the serialized string, however when it get's deserialized the inventory is empty, so I'm presuming it's either how it returns the itemstacks, or something linked to that

steel heart
#

Is FileConfiguration#loadFromString suppose to take a base64 string?

hot hull
#

I copied what matt did, and his was base64 so idk

steel heart
#

d;spigot FileConfiguration#loadFromString

ruby craterBOT
#
public abstract void loadFromString(@NotNull String contents)
throws InvalidConfigurationException, IllegalArgumentException```
Description:

Loads this FileConfiguration from the specified string, as opposed to from file.

All the values contained within this configuration will be removed, leaving only settings and defaults, and the new values will be loaded from the given string.

If the string is invalid in any way, an exception will be thrown.

Parameters:

contents - Contents of a Configuration to load.

Throws:

InvalidConfigurationException - Thrown if the specified string is invalid.
IllegalArgumentException - Thrown if contents is null.

steel heart
#

Hmm kinda sus

#

I wonder what type of string it takes

#

But that can be a potential bug factor

forest pecan
glacial halo
#

Where do i find the latest dev build for deluxe tags and deluxe chat with rgb color support please. thank you.

compact perchBOT
#
FAQ Answer:

Spigot Account Linking
To get support for a premium plugin owned by Clip or Glare you will need to verify your spigot account using =spigot in the #bot-commands channel. After you have successfully linked your spigot account you should ask your question in the coresponding channel for that plugin. If you have already linked your account and want to update your roles, run this command =spigot check.

glacial halo
#

i already did this last year...

half harness
#

then #deluxechat

glacial halo
half harness
#

prob better support

glacial halo
#

what about deluxe tags

half harness
glacial halo
#

right

ocean quartz
half harness
old wyvern
#

#deluxe-chat

half harness
#

ohhh

#

oops

#

#deluxe-chat

onyx loom
#

lol

ocean quartz
#

Don't send people to general plugins when there is a channel for it lol

onyx loom
#

imagine not having deluxechat so u dont know the channel name clojuremoon

half harness
#

🀷

ocean quartz
half harness
#

;-;

steel heart
onyx loom
#

o

forest pecan
#

I use ||AsyncDeluxeChat-cra AHM AsyncDeluxeChat-ALPHA-1.0.0||

#

jk

obtuse gale
#

PULSE

#

RULES

#
- Don't include yourself in piracy talks or activities, including plugin leaks.
wind patio
surreal quarry
#

"bing is not google"

#

lmao

steel heart
#

Bing is bing kekw

half harness
#

Anyone know why the src folder isn't generating ;-;

#

I didn't touch any of the files

#

tImE tO dElEtE aNd ReGeNeRaTe

#

yess it worked

#

idk y

#

btw is there any reason not to use DCEVM jdk?
I already have it and should I not use it if I'm not hotswapping?

prisma wave
#

no java 15

#

and i think mc crashes if u try and run with it

half harness
#

oh

#

okay

#

thx

#

although for mc i use the default one installed when installing mc

jovial warren
#

you used the wrong your

empty flint
#

@prisma wave Hey, buddy, friendo, amigo... I got another stupid hacky kotlin thing I wanna do and can't and I don't understand why I can't. Mind teaching me a bit, oh prophet of the superior coding language?

forest pecan
#

tf lol

prisma wave
#

i will try

#

sounds spooky tho

old wyvern
forest pecan
#

lmao

old wyvern
#

lol did you watch his fizzbuzz one? xD

empty flint
#

This is the issue I don't understand.

Use of enum entry names as types is not allowed, use enum type instead

I have an enum class Foo and am trying to use it as a type for an interface Bar<out T : Foo> so that I can then have a class that implements it Foobar : Bar<Foo.Fooo> or whatever

mellow kestrel
#

i have a question

compact perchBOT
#

There is no time to wait! Ask your question @mellow kestrel!

empty flint
#

Shut up Barry, nobody asked you

mellow kestrel
#

lol

old wyvern
mellow kestrel
#

so i made a server and idk how tf to add a role especially a color role

surreal quarry
#

get luckperms

#

read the luckperms docs

mellow kestrel
#

:0

empty flint
#

Whoops I made a mistake there, @prisma wave. The interface is Bar<out T : Foo> with Foo being an enum. I feel like it should just be Bar<out Foo> though. Not sure. It's been a while

#

What I don't really get is why it lets me declare the interface without any issue, but I can't actually use it

prisma wave
#

you can't do that

#

enum constants aren't types

#

consider using a sealed class + objects for a similar effect

empty flint
#

but but but...

#

my stupid hacky plans

#

Kinda don't like sealed classes tbh

#

any other way to do this?

prisma wave
#

sealed classes

#

lol

surreal quarry
#

why do you not like sealed classes lmao

#

isnt it the exact same except you know all the classes that extend it

prisma wave
#

yes

empty flint
#

No I know they are different of course

surreal quarry
#

no i mean sealed is the same as a regular class

#

or regular open class

prisma wave
#

enum constants aren't individual types

empty flint
#

The only reason I don't like them is because of OCD reasons. I know it sounds stupid but I really frickin hate that I have to declare them all in one file and then that one file is the only file in the IDE that doesn't have its file ending hidden. It's a mental disorder. I am sick. Don't judge.

prisma wave
#

whereas objects in a sealed class are

#

use java sealed classes then lol

#

except you need java 15 for that πŸ₯²

#

but i agree, it's kinda messy

#

but pretty much the same as enums if you do it nested

#

syntax is very similar

empty flint
#

like this?

sealed class Foo
object DooDoo : Foo()
object PeePoo : Foo()
object Kevin : Foo()
old wyvern
#

inside

empty flint
#

Oh the objects are inside the Foo?

old wyvern
#

Yea

ocean quartz
#

Is there any difference between java's sealed classes and kotlin's?

old wyvern
#

Java sealed classes can be anywhere

#

The sealed class can declare the classes that can extend it

empty flint
#

Oh is that so I have to type Foo.DooDoo instead of just DooDoo?

old wyvern
#

Yes

empty flint
#

Gotcha

prisma wave
#

For now

#

I expect they'll add it once java adds support

ocean quartz
#

It's added in the 1.5 experimental for 1.4.30

prisma wave
#

ah noice

onyx loom
#

kotlin 1.5 Pog

prisma wave
#

πŸ™„

#

elara 1.0 >

onyx loom
#

objection

#

u can make plugins with kotlin

#

cant with elara (yet)

#

opinion is subject to change once this is done

surreal quarry
#

that doesn't make it a worse language

#

stupid minecraft devs smh

onyx loom
#

no

#

elara jvm pog

prisma wave
#

theyre experimental in kotlin

empty flint
#

yeah

#

they exist tho

#

just wanted to update you on that in case your info is old

#

if you knew they were a thing carry on

prisma wave
#

yup

prisma wave
empty flint
#

πŸ˜„

steel heart
#

Die

#

Literally

empty flint
#

You're welcome

surreal quarry
#

Matt is there any way to use the property and get the settings manager that it was assigned in

ocean quartz
#

There isn't, thought about that but tbh couldn't even think of a way to implement that

surreal quarry
#

alright

steel heart
#

Wait

#

I smell contribution needed

surreal quarry
#

the only way i can think of is potentially reflection

#

but that might get messy

steel heart
#

Unsafe

obtuse gale
#

theUnsafe

regal gale
#

That's... disorientating thonking

pale crown
#

Is there a better way of working out how many times a block has had bonemeal used on it other than storing every block that has been bonemealed in a database/yml file?

remote goblet
#

unlikely

pale crown
#

Oof

remote goblet
#

well

#

you may be able to set a blocks metadata to the value

#

but peepoShrug

pale crown
#

Block MetaData goes after server restarts though right?

remote goblet
#

likely

obtuse gale
#

I don't think it does

#

Last time I knew of it isn't persistent

remote goblet
pale crown
#

Yeah I’ll try tomorrow

remote goblet
#

setting somethings meta data value is usually resets

orchid frigate
#

I'm looking for a dev to help with some plugins for my minecraft server ❀️

surreal quarry
orchid frigate
#

Thanks

forest pecan
#

quick question, if i had a for each loop like this:

        boolean usingLegacy = false;
        final String ver = Bukkit.getVersion();
        for (final String str : ImmutableSet.of("1.8", "1.9", "1.10", "1.11", "1.12")) {
            if (ver.contains(str)) {
                usingLegacy = true;
                break;
            }
        }

Would the ImmutableSet.of("1.8", "1.9", "1.10", "1.11", "1.12") be defined 5 times? or only once

#

i would think once, but im not sure

ocean quartz
#

It'll break once it finds one and sets it, so only once

forest pecan
#

Yeah ok

#

just making sure

obtuse gale
#

is ther a staff online pleas

#

i can not link my spigot account

#

Stream#anyMatch(Predicate<? super T>)

#

smh @forest pecan

forest pecan
#

smh stream abuse

#

lmao

obtuse gale
#
final boolean legacy = ImmutableList.of("1.8", "1.9", "1.10", "1.11", "1.12").stream()
                                    .anyMatch(Bukkit.getVersion()::contains);

😍

forest pecan
#

isnt that super slow

#

comparatively

#

cause you are using list

#

i mean its only 5 elements ig

obtuse gale
#

why would it be slower because it's a list?

#

in any case an arraylist is faster than a hashset (or even a linkedhashset) when iterating

forest pecan
#

im using .contains

#

which is O(1) for hashset...

#

but its O(N) for arraylist

#

oh wait

obtuse gale
#

you're using contains......... on a string

forest pecan
#

oh wait lmao

#

ah nvm

#

its string

ocean quartz
#

isnt that super slow
Yall worry too much about small performance

obtuse gale
#

Pattern.compile("1\\.(?:8|9|10|11|12)") :kekw:

forest pecan
#

my dad is willing to make an array of sets rather than a list of sets

#

although that makes sense

#

cause in the case i was dealing with.. the performance difference was rather...

#

high

#

i will just say that

#

and actually

#

regex is prolly the best anyways lmao

#

so i will use that

obtuse gale
#

lol

forest pecan
#

but for array and lists

#

the performance gap increases

#

a ton

#

it dissapointed me

obtuse gale
#

an array is a list though...

hallow crane
#

wat

forest pecan
#

no im being serious

hallow crane
#

no

obtuse gale
#

not a list object

forest pecan
#

my runtime got reduced by 2 seconds by using an array

hallow crane
#

oh

forest pecan
#

compared to an arraylist

obtuse gale
#

but it's an actual list

hallow crane
#

u mean a theoretical list

obtuse gale
#

lol

hallow crane
#

like 1 2 3 4 5

obtuse gale
#

yea

hallow crane
#

java be whack

obtuse gale
#

I mean the backbone of an ArrayList is literally a primitive array anyway lol

#

hence the name

hallow crane
#

True, but its also dynamic sized 🦈

obtuse gale
#

in case you didn't notice

hallow crane
#

what

obtuse gale
hallow crane
#

shark

#

I did not type that

forest pecan
#

it just dissapoints me

#

when very high number

hallow crane
#

ArrayLists as a high level object have a dynamic length

forest pecan
#

of elements

#

like the difference

#

is huge

hallow crane
#

But not in reference to their primitives

obtuse gale
#

well yeah, but the backend array if the size increases gets copied and replaced

forest pecan
#

im talking about an array of sets

#

or an arraylist of sets

hallow crane
obtuse gale
#

pulse what the hell are you talking about

hallow crane
#

List<Set<List<Set<Map<Set<List>,List<Set>>>>>>

obtuse gale
#

ikr

forest pecan
#

comparing an ArrayList of Set to Array of Set

#

the difference is huge

#

one reduced 2 seconds

hallow crane
#

Yes

#

No

obtuse gale
#

why in the world would you hate yourself that much

forest pecan
#

No

hallow crane
#

Not that much

forest pecan
#

im serious

hallow crane
#

2 seconds

#

Nah

forest pecan
#

you want proof?

hallow crane
#

yes

forest pecan
#

Ok

hallow crane
#

your profiler is bugged

#

2 seconds is lightyears for code

obtuse gale
#

lmao

#

yea

hallow crane
#

BS

forest pecan
#

So while using Array:

obtuse gale
#

like a Set<>[]?

forest pecan
#

While Using ArrayList

hallow crane
#

whatever profiler you're using was designed by a tech camp student in 2012 using eclipse copying code from the IT camp's website program

forest pecan
#

let me change the impl

#

one sec

obtuse gale
#

LOL

forest pecan
#

its not eclipse, and im being serious here tho

hallow crane
#

'serious'

#

I do big data for a living

#

sorting of gigabytes of data

#

optimized algorigthms

#

Timsort is good look it up

#

primarily in Java

#

bogosort = 😩

obtuse gale
#

unless you're talking about hundreds of thousands of elements, or even possibly millions, 2 seconds is cause of your fried cpu

hallow crane
#

Yeah

#

well it does say 70mb or something

forest pecan
#

talking about 10^5

#

elements

hallow crane
#

what is the data

forest pecan
#

integers

hallow crane
#

is the set equal

#

for both

#

what profiler are you using

forest pecan
#

Yes

#

its not a profiler

#

its a competition

hallow crane
#

ah, the "yes" profiler!

#

my favorite

forest pecan
#

?

hallow crane
#

straight from the basement of "Dunkin Smith" in 2009 learning python 2.1 from his grandpa's handbook

#

wait competition?

forest pecan
#

its all timing out

#

when i use set

hallow crane
#

Like..a website is profiling it

forest pecan
#

No

#

server

hallow crane
#

yeah a website

forest pecan
#

they send the file to a server

#

not the webstie..

hallow crane
#

website = server in this context

forest pecan
#

no they dont grade on the fucking website

#

they sent it to a machine

#

and then grade it using jvm

hallow crane
#

Yeah it's like....React profiling

#

yeah

forest pecan
#

its separated

hallow crane
#

React.js

forest pecan
#

and here are the results:

hallow crane
#

Vue.js

#

Angular.js

#

profiling

forest pecan
#

t = timed out

hallow crane
#

I am gonna be real honest here I am not actually all that interested in this, I have to go do some work and fill out some paperwork

#

Thanks for the info

forest pecan
#

im just trying to make a rant here tho

hallow crane
#

@obtuse gale can take it from here gl

forest pecan
#

it dissapointed me greatly

obtuse gale
#

lol

forest pecan
#

i was thinking it was perhaps arraylist initilization

#

cause adding the elements

#

is slow

#

but yeah thats the results i got...

#

15 test cases timed out, 5 passed

#

where test cases 1-5 size is 100,
6-10, 2000
11-20, 10^5

obtuse gale
#

what's the deal? what you gotta do?

forest pecan
#

cause i didnt get promoted?

#

and the solution was using an array of sets?

#

and i was claiming it to be dumb at first

#

then i searched it up and realized that indeed arraylist is slow when adding this many

#

at least for initialization part, when parsing data

#

i don't think it was a problem with indexes, however, that is O(1)

obtuse gale
#

I mean primitive arrays are faster, they aren't behind layers of slow calling iterators and methods

obtuse gale
forest pecan
#

No

#

im just adding

obtuse gale
#

you stupid bitch

forest pecan
#

im guessing that is why though

obtuse gale
#

that's a HUGE optimization

#

seriously

forest pecan
#

Yeah

obtuse gale
#

new ArrayList<>(capacity)

#

literally that lmao

forest pecan
#

Wait actually

#

i cant

#

idk how many

#

im going to add

#

its a graph

#

and im reading the data

obtuse gale
#

what's the actual thing you're doing?

forest pecan
#

so i cant deifne capacicty

#

its an undirected graph

#

where graphs can be repeated to visited other nodes

#

etc etc

obtuse gale
#

hm I see

forest pecan
#

i cant determine capacity if i dont know how the graph size is initialized at first????

#

which is why im pissed cause this solution should work

#

the only difference with that and the answer was that it the data structure with array and arraylist

obtuse gale
#

dance mooves
cringe

forest pecan
#

dont ask me

#

lmao

#

so yea, idk what else i could've used

#

i was sticking to list, cause, that is good practice

#

but apparantly dumb bitch competition was like

#

nonoonno

#

you fucking non

obtuse gale
#

lmao

forest pecan
#

so thats why i was mildly dissapointed

#

with the performance

#

lmao

#

Perhaps another solution i could've made is a Vector[]

#

however, i didn't know if Vectors were good

#

as I have never really used them

obtuse gale
#

Vectors are pretty much deprecated

forest pecan
#

thats what i thought

#

cause arraylist, queues

#

stacks

obtuse gale
#

yea

forest pecan
#

they exist

obtuse gale
#

well

#

Stack extends Vector

forest pecan
#

i mean well you know

#

Vector has little uses cause other data structures

#

have better functionality

obtuse gale
#

but I've never used Vector itself other than for a Stack lol

forest pecan
#

is method recursion slower than iterative with queues and stacks?

obtuse gale
#

recursion over loops?

forest pecan
#

i know that queues and stacks have more deep recursive calls compared to method recursion before it goes to stackoverflow

#

nah like speed/memory wise

obtuse gale
#

what

forest pecan
#

you know, like iterative recursion

#

in a stack

obtuse gale
#

I'm not sure what is it you're asking lol

forest pecan
#

do you not know how iterative recursion works lol

#

i think you know it

#

but never heard of the name

#

like

#
Stack<Integer> = ...
stack.push(firstObject);
// while not empty
while (!stack.isEmpty()) {

    // Pop off end of stack.
    int obj = stack.pop();

    // Do stuff.
    // Push other objects on the stack as needed.
    ...

}
obtuse gale
#

I don't see how that is recursive

forest pecan
#

// Push other objects on the stack as needed.

#

thats where the recursion like iterative comes in

#

you add its "children" to the stack

#

like in recursion, you access them right

#

in stack, you just add em there

#

so its not really "recursion" ig

#

but more like a different form

obtuse gale
#

I mean that isn't recursive lol

#

it's just a regular loop with a, maybe "non-specified" if you want to call it like that, exit condition

forest pecan
#

eh not really cause you still

#

end up going through all elements

#

like you know in a tree, you recurse each of the children right after visiting parent

#

in the method

obtuse gale
#

that is recursive, yes

forest pecan
#

Yeah, this is very similar in the sense that for some data structures, adding to it adds to the front

#

so when you go again in the iteration, you visit that child

#

and so on

obtuse gale
#

eeh

forest pecan
#

so its kinda recursively

#

you know what i mean?

obtuse gale
#

I tend to link recursion to fractal-like "problems"

forest pecan
#

fractals lol

obtuse gale
#

well yeah

forest pecan
#

they are tho

obtuse gale
#

most fractals are just a recursive function

forest pecan
#

fractals are recursive

obtuse gale
#

if not all thonking

#

what's the exact definition of a fractal

#

anyway, thing is that they depend upon themselves

#

that I see as recursion

forest pecan
#

yea depends on parent

obtuse gale
#

or a part of something that depends on the same process

forest pecan
#

infintely grows

#

until stackoverflow

#

🀑

#

i wanna try to see if i were to do it in graphics

#

wait actually it will eventually get to the point

#

where pixels arent small enough

#

to represent

obtuse gale
#

how can I remove a file from a git server if I pushed the file but I don't want to delete locally?

#

or rather my question is can I "uncommit" a single file?

#

stackoverflow is an amazing site

hot hull
#

I might've opened 370 schematic files at once

#

Yikes

#

IJ Struggling

obtuse gale
#

:bruh:

hot hull
#

Not my fault it opens all the files you move into it for some fucking reason

#

And it crashed

obtuse gale
#

Amazing

obtuse gale
#

help

hot hull
#

kek

hot hull
#

Pray fellas that this works, cause if it does, neato

static zealot
#

what works?

hot hull
#

@quiet depot Got any resources explaining clean and proper way of parsing json files?

#

Also, can I use github as file storage? as in I upload files to github, and then access them in my plugin somehow? Since there's gonna be a lot of files and jar will get big real quick

static zealot
obtuse gale
#

πŸ˜”

static zealot
#

for me I mean

hot hull
quiet depot
#

but you've got me

#

so just ask me questions

static zealot
#

xd

quiet depot
#

and using github for file storage is fine

#

we do it for barry

static zealot
#

yeah but he wants to get the files somehow

#

that's what he asked

quiet depot
#

he didn't ask how

#

he asked if he could

hot hull
static zealot
#

and then access them in my plugin somehow?

hot hull
#

I'll figure that out myself Blitz :p

static zealot
#

ah

#

ok then

#

I thought you asked if its possible xD

quiet depot
#

getParsedChunkPopulatorFile() is this your method?

hot hull
#

Yes

quiet depot
#

I only work with gson

#

I recommend switching