#dev-general

1 messages · Page 44 of 1

wind patio
#

.twig anyone???

cinder flare
#

twig sucks bro

#

it's like the same as django templates

#

Blade is much closer to normal PHP which lets you do like nice functions and stuff

#

stuff like the @class directive that lets you do like tailwind style boolean object for classes is so nice man

wind patio
#

yeah true i didnt really like twig in symfony

#

just wondering if anyone did

lavish notch
cinder flare
#

really? that's pretty weird lol

#

i know chazza uses Inertia with Analyse at least iirc

wintry plinth
#

We do, kinda

#

Tebex itself uses Laravel+Inertia+Vue, but our templating engine (for the storefront) is twig

#

But personally, I much prefer to use the Headless APIs as you get full control of the storefront. Using the stack you want/like, without anything else

lavish notch
lavish notch
wintry plinth
#

I’m not sure of any other stores but I know MCC Island does, and they use Next.js I believe

inner ruin
cinder flare
#

I mean React is nicer than Twig lol

distant sun
#

Does anyone ( @ocean quartz ) know about a 🆓 tool similar to dbdiagram.io that lets you download some file that you can later on import back and continue working on the diagram? We got like 40 tables and is a pain to save the "configuration" of dbdiagram on a txt file or something and rearrange the tables every time I have to make an edit.

wind patio
#

what do you need 40 tables for

potent nest
#

it's for a restaurant

distant sun
#

It is for work, a banking app

wind patio
#

so uh, work doesnt provide any tools, such as magic draw?

distant sun
#

The project is quote old and some relationships are not so straightforward, hence why I want to make a diagram.
Idk what "magic draw" is but I need something like dbdiagram which is made for DBs and not diagrams in general because I don't want to draw the tables or the arrows that represents FKs

wind patio
#

mysql workbench?

distant sun
#

We use Microsoft SQL

wind patio
#

no I mean you can do that in mysql workbench

distant sun
#

Interesting

wind patio
distant sun
#

Do you need to be connected to a db or you can create the tables through this functionality?

wind patio
#

Im not sure, havent used it, just heard about it

distant sun
#

Right, I will check it out, thanks!

wind patio
#

there's also visual-paradigm

pastel imp
#

Like some actual irl examples on how to properly use it

wintry plinth
pastel imp
lavish notch
wintry plinth
lavish notch
#

Also a lot of server owners don't know much about hosting and rather pay the subscription to have it managed.

wintry plinth
#

Yeah I get that. But if templates existed using headless

thorny raft
#

Hi, is anyone familiar with portforwarding? I have this issue where I am required to input "Virtual Host Port" before I can proceed to add a port. This is on a D-Link DIR-X1860Z WiFi6 router. Any help please.
https://imgur.com/a/LRBpfxS

wintry plinth
#

I spent a few thousand commissioning an artist for a website half a year ago, I wanted to turn that into a site with the headless APIs, but had no time lately

#

Someday..

lavish notch
#

Hosting wise.

queen aspen
#

Feel free to tell me more about what you're up to

rugged spear
#

Hello

#

I need help rq

#
[22:56:39] [Server thread/INFO]: sdxq issued server command: /kit create test
[22:56:39] [Server thread/INFO]: ItemStack{STONE_SWORD x 1, UNSPECIFIC_META:{meta-type=UNSPECIFIC, enchants={DAMAGE_ALL=1}}}```

so I created this command which just do this:

```java
List<ItemStack> items = new ArrayList<>();
        for (int i = 0; i < inventory.getSize(); i++) {
            ItemStack item = inventory.getItem(i);
            if (item != null) {
                items.add(item);
                System.out.println(item);
            }
        }

        String name = ChatColor.stripColor(kitName.toLowerCase());

        kitManager.addKit(new KitData(items, name, new ItemStack(Material.STONE)));```
#
[22:56:41] [Server thread/INFO]: sdxq issued server command: /kit test
[22:56:41] [Server thread/INFO]: test [ItemStack{STONE_SWORD x 1}, ItemStack{BIRCH_STAIRS x 8}] ItemStack{STONE x 1}```
#

but when I add the items to the player it doesn't have enchant

#
private void claimKit(String kitName, Player player) {
        KitData kit = kitManager.getKitByName(kitName);
        for (ItemStack item : kit.items()) {
            player.getInventory().addItem(item);
        }
    }```
#

pretty simple thing, but enchants doesn't work

#

Server: 1.20.4, Java: 17, Client: 1.20.4

#

this is just a bug or I'm dumb?

rugged spear
#

Uh

#

now it's worst with downgrade

#

oh god

#

Okay now when I do the claim in Server: 1.20.1 seems to work but when I load it from a filed it's doesnt

sturdy zinc
#

during a mvn package I get many errors cannot access <path to java file

half harness
sturdy zinc
half harness
#

or just compilation errors

sturdy zinc
#

mvn clean is that the same

#

no errors in code

half harness
#

mvn clean package just runs both

#

clean clears some cache stuff

#

stuff in your maven local seems corrupted (?) in line 62 - 67 (idk about others, but I know LastLoginAPI is on a public maven repo... so you should probably be using that instead of maven local too)
Don't know why the other errors are happening; hoping clean would fix it

#

and also please send your pom.xml

sturdy zinc
#

did the mvn clean package and same errors

half harness
sturdy zinc
#

I couldn't find or get it to work on public maven

half harness
#

try deleting the jars in 62-67 and regenerating them

#

not sure why those are messed up

half harness
sturdy zinc
#

it works now

#

still getting warning for lastloginapi

crude cloud
#

one of your repos declared is http instead of https

half harness
sturdy zinc
#

all the warnings are setup for public mavens

sturdy zinc
#

I was able to fix all the maven warnings by changing the version on a few of them and then back now no warnings on maven, still got the 100 zip END header not found errors which is stopping me from compiling

solid loom
#
    @EventHandler
    public void onEntityDamage(EntityDamageByEntityEvent event) {
        if (event.getEntity() instanceof Player) {
            // Check if the killer is an Ender Crystal
            if (event.getDamager() instanceof EnderCrystal) {
                EnderCrystal enderCrystal = (EnderCrystal) event.getDamager();

                // Retrieve the player who placed the Ender Crystal
                if (enderCrystal.getCustomName() != null) {
                    Player crystalPlacer = getServer().getPlayer(enderCrystal.getCustomName());
                    if (crystalPlacer != null) {
                        event.setDamage(0); // Prevent damage from the Ender Crystal
                        event.setCancelled(true);
                        event.getEntity().setLastDamageCause(event); // Register the damage cause

                        // Set the killer to the player who placed the Ender Crystal
                        ((Player) event.getEntity()).getKiller(); // This will be used in onPlayerDeath

                        return;
                    }
                }
            }
        }
    }```how do i make it track if the damage reason is respawnanchor
simple kestrel
#

A respawn anchor is a block

solid loom
# simple kestrel A respawn anchor is a block
@EventHandler
    public void onEntityDamagebyBlock(EntityDamageByBlockEvent event) {
        if (event.getEntity() instanceof Player) {
            // Check if the killer is an Ender Crystal
            if (event.getDamager() instanceof RespawnAnchor) {
                RespawnAnchor respawnAnchor = (RespawnAnchor) event.getDamager();

                // Retrieve the player who placed the Ender Crystal
                if (respawnAnchor.getCharges() != 4) {
                    Player crystalPlacer = getServer().getPlayer(respawnAnchor.getCustomName());
                    if (crystalPlacer != null) {
                        event.setDamage(0); // Prevent damage from the Ender Crystal
                        event.setCancelled(true);
                        event.getEntity().setLastDamageCause(event); // Register the damage cause

                        // Set the killer to the player who placed the Ender Crystal
                        ((Player) event.getEntity()).getKiller(); // This will be used in onPlayerDeath

                        return;
                    }
                }
            }
        }
    }```
#

not working

simple kestrel
#

So you should check the block type and then check if the blockdata is instanceof RespawnAnchor

solid loom
#

im not sure on how to do that

brittle leaf
#

getDamager() returns Block, RespawnAnchor is a child of BlockData, so your original instanceof would always be false

#

tho i dont think the server keeps track of who tried to fill the respawnanchor and failed so the explosion will tell you it was the respawn anchor but not who tried to fill it

wind patio
#

@wintry plinth hey, uh, have you used any SSH packages that allow you to SSH into a remote and execute commands in laravel?

#

tried spatie/ssh, doesn't allow password authentication

wintry plinth
wind patio
#

eh, well, I don't wanna set-up it on multiple machines

wintry plinth
#

I’ll have a look for you tho :o

wind patio
#

I've seen SSH facade

#

but it's gone

#

I'm on v10.16.0 laravel

wintry plinth
#

V11 Laravel tomorrow!!

#

Which means I can finally start on something

cinder flare
#

It's like super easy to just make like an ed25519 pub/priv keypair and set it up

#

and like 100000x more secure

wind patio
#

ughh, yeah but

#

am I gonna

cinder flare
#

and it's arguably easier to set it up on multiple machines, you just edit the ~/.ssh/authorized_keys file and bam

#

can just copy paste the whole thing lol

wintry plinth
#

😂

wind patio
#

well I'm on windows

#

and I want to test some stuff locally

agile galleon
#

Then don't be on windows

inner umbra
#

Virtual Machine 😉

wind patio
#

I'm aware there are options

#

but those options are not what I'm looking for

agile galleon
#

WSL

wintry plinth
#

Laravel 11 today pikoh partyparrot

pastel imp
#

oh no

#

we doomed

wintry plinth
wind patio
#

how can a thing be so good

#

I wish we could use this at work

#

instead we use springboot

wintry plinth
wintry plinth
#

Reverb is gonna be effort to setup I've just looked at docs

pastel imp
#

ngl the update looks pog

#

svelte does have some of those things or similar

#

but some it doesn't

wind patio
#

one of our senior devs is trying to implement a custom api rate-limitter/manager, where you can enable/disable specific endpoints or groups for API user "groups" and add rate limits per N amount of time and its a big struggle

#

we use several spring boot instances over different servers and zuul for our external gateway

#

and it seems like it would be a breeze using laravel lol

agile galleon
wind patio
#

yeah I thought I knows smt from laravel called breeze lol

inner umbra
#

Huh... java public class Custom { public static Custom instance = new Custom(); private Custom() { System.out.println("Custom constructor called."); } } Any reason the output is only shown the first time Custom.instance is used rather then on runtime?

wind patio
#

you mean only when you access the field?

distant sun
#

Static blocks run the first time the class is referenced shrug

inner umbra
#

👍

wind patio
#

when first accessed or class loaded

distant sun
#

Probably obvious, but when using String Builders in kotlin, should I do append("string").append(variable) or is append("string$variable") just as good? I would say the first one is more correct shrug_animated

prisma wave
#

i would doubt it makes a huge difference tbh

#

bear in mind of course that nowadays StringBuilders are only really necessary if you're appending in a loop

distant sun
#

Yeah, but I like it more than string =+ other string xD

pastel imp
#

I wonder if training an ai model that is multilingual with a mixed language dataset is beneficial or not

#

since in theory, just an english dataset would work in theory....

oblique heath
#

might add a lot of complexity but if you are short on data it could be worth considering

oblique heath
#

if the amount of data you have using any one language is not enough to get the results you want

pastel imp
#

I currently have a dataset of around 250k messages in english and the same dataset translated into other 7 languages.

oblique heath
#

how similar are the messages

pastel imp
oblique heath
#

like what is the common theme of the messages

#

what are they about/related to

pastel imp
#

TBH, I am not fully sure, it's not my dataset. I just know that they are comments from social media

oblique heath
#

ok

#

i mean idk i'd say start with just english

pastel imp
#

so I would assume quite a wide range of themes

oblique heath
#

mixing multiple languages means you two subsets of tokens that won't ever mix

#

lot of wasted potential

pastel imp
#

brain not braining

oblique heath
#

ok imagine a simple model that takes in text as input

pastel imp
#

hmhm

oblique heath
#

you are going to chop up the text into tokens of words

#

(or letters but that will lead to the same problems eventually i think)

oblique heath
#

however you probably will never encounter an english word in a french datapoint, and vice versa

#

and you have basically two words in different languages that mean the same thing but are different tokens

#

you need more neurons to handle more possible input tokens, but you still have the same amount of meaningful words, just duplicated

#

you can of course consider translating one language into another but we all know how terrible that can be at getting subtle and potentially very important meanings across

pastel imp
long dagger
#

I just saw this on a relatively popular site, pretty scummy

#

read the top class name

#

I reload the page and the numbers are different

#

Its also a shopify template 😐

oblique heath
#

lol

fleet bay
#

First time using typescript, wanna kill myself already

sly sonnet
#

suppress it

fleet bay
#

Yes ofc

#

Or use any

#

But its so annoying sometimes haha

inner umbra
#

Why does JSONObject.get("Object") return long from "Object": 1 Shouldn't int be priority?
And yes I can do ((Long) JSONObject.get("Object")).intValue() but just curious why its not checked already.

potent nest
#

json only has one numeric type, read the docs of the json library you use I guess

inner umbra
#

👍

pastel imp
#

Random question, in a moderation system, is having categories like "Insult", "Threat", "Toxic", etc. relevant? Or would simply Neutral and Toxic be enough?

wind patio
#

depends if you wanna generalise or not

crude cloud
#

toxicity meter

#

-100 to 100

#

but also allow to go over 100

static zealot
#

69 to 420

#

funny numbers

#

I think

wind patio
#

real

pastel imp
#

since examples for each label have different sizes which unbalances the dataset

pastel imp
wind patio
#

¯_(ツ)_/¯

oblique heath
#

regardless of how many categories you end up picking you probably want them to all be discrete

#

i think emily's suggestion is very decent but i can also see some shortcomings depending on how well the model performs as well as what you actually use this for

oblique heath
pastel imp
oblique heath
#

delete overrepresented categories' datapoints until you have an equal amount in each

#

nothing crazy

pastel imp
#

so making it all 20k

#

would decrease the size by a lot

#

giving it way less examples

oblique heath
#

yeah

#

but the amount of data isn't everything, it's still worth it to normalize

#

the alternative to normalizing is having your model end up preferring to label any message as neutral

pastel imp
oblique heath
#

not very easy to solve

pastel imp
#

I am also testing a 2 label (Neutral & Toxic) Dataset of 1.3m messages, thing is, around 87% are neutral, which is not good, but it will serve as testing.

oblique heath
#

having too much of one label makes it very hard to tell if the model is actually learning anything

pastel imp
#

This dataset also had noise added to the messages

oblique heath
#

is the accuracy on test data with the same distribution of labels as the training data

oblique heath
# pastel imp wdym?

are the percentages of this distribution

Neutral: 59.87%
Insult: 32.05%
Obscene: 6.92%
Toxicity: 6.59%
Threat: 6.32%
Identity Hate: 2.58%
Servere Toxicity: 0.61%

also the case for your test set

pastel imp
#

not 100% but yes

#

the same dataset without noise had similar accuracy, loss and f1, but precision was at 81.47% and recall at 78%

#

Difference is that stuff like "you s2$k" wouldn't be detected

#

while with noise it was

oblique heath
#

if you have noise, you should be able to increase your total dataset size by several fold, especially for the minority labels i would think

pastel imp
#

wouldn't that possible cause issues with duplication?

oblique heath
#

maybe try using noise disproportionately on the less common labels to bump their percentages up and get your set closer to normal

oblique heath
#

especially when you have a small dataset like you do

pastel imp
#

should I do this with only Neutral and Toxic labels then? Seems like a better approach for this

#

and easier to balance out

oblique heath
#

train your model on only those two?

#

if so i think yeah that'd be fine, combine all the bad labels into one like you planned originally

#

you should definitely have your model use a softmax for how confident it is in each, although it's probably doing it already

#

seems like a convenient feature to get the exact percentage confidence for future applications

#

also this is a pretty obvious thing to do but are you doing all the basic things when preprocessing your data, like turning to lowercase and removing unicode etc etc

pastel imp
oblique heath
#

very nice

#

one final though i have is if the duplicate datapoints with different noise in each (which you should do fr) is not enough or if performance still isnt where you want it, you can try feeding your model a "context" of several messages that were sent in a row

#

i think that's pretty important to recognize toxicity for human moderators so surely having a model be able to see that will do good things

#

you'll have to figure out using custom tokens to separate messages correctly though but i bet that'll do pretty well

pastel imp
#

The dataset isn't mine, but from the limited search I did inside it, it already contains some of those

#

will have to wait until tmr for the models to finish training with the new dataset

#

then we will see

#

kinda 7x the amount of toxic data points now

#

lmao

#

dataset has 1123353 toxic and 1167756 neutral

#

neutrals were untouched by noise

#

toxic were once the original, no noise, then 6x the same with different noise amounts

#

suppose that's good enough?

oblique heath
#

seems pretty good to me ngl

pastel imp
#

we will see what the models say tmr

#

Hell 530mb dataset

#

only noticed it now

#

xD

foggy pond
#

I tried asking in the IntelliJ discord but it seems dead

#

But is it normal for files on onedrive to result blank when opened from a mac, and uploaded from a pc?

ocean quartz
#

IJ has a discord?

solid loom
#

how do i fix this>?

compact perchBOT
#
📋 Your paste: nightmarexd_
https://paste.helpch.at/ixecesunem

A member of staff has requested I move your message to a paste,
Most likely because it contains a config/error/code snippet.

foggy pond
solid loom
#

oh ok

#

my bad

foggy pond
#

I need to somehow have a common local repository so dependencies for my projects work between my mac and my windows desktop computer, but onedrive is being so slow

#

Is it a bad idea to have my repository folder in my onedrive, so that both my mac and windows machine can have a common place to find dependencies?

ocean quartz
#

Wdym by find dependencies? Why not just use Github? Push from one pc pull from other, let your buildtools handle dependencies

foggy pond
ocean quartz
#

That's why I asked you what you meant by finding dependencies, because let's say your project uses gradle, when you open the project it'll download all dependencies you need, so no matter which pc you're using all you need to do is open the project

foggy pond
#

yeah but if those dependencies are in my local maven

#

On one computer

#

I tried setting up sona nexus or something but I cannot understand for the life of me how it works

ocean quartz
#

Use reposilite

foggy pond
#

does it work for gradle projects too

#

Also, it says "self hosted" - does that mean one of my machines needs to be constantly on

ocean quartz
#

Yes, I mean it's a maven repository manager it'll work on either
And yes it's self hosted, get a cheap vps, it doesn't need much
But if you really need local stuff, you can also always just add jars to the repo in a lib folder or something like that, there are many ways to make your life easier than using onedrive

foggy pond
#

Can I set it up on a linux machine?

#

I can host it where my network is hosted on

#

Though idk how difficult it might be

ocean quartz
#

Yes

#

If you use docker it's super simple

foggy pond
#

Idk thing is that this all seems very overkill

#

I simply want to be able to work on my projects on two different machines, at this point it's easier to just have an USB

ocean quartz
#

Setting up your reposilite and using git to keep them in sync might be a lot of work at first but will definitely make your life much easier in the long run

foggy pond
#

I'm just scared of using an USB stick as a friend of mine lost a shit ton of data on it randomly and has to pay 700£ to get it fixed

#

i might be better off just rebuilding all the dependencies on both computers

#

way simpler though long

#

i got this laptop so I could do work outside of the house for university, i can't spend days trying to figure this out

crude cloud
#

just use GitHub

foggy pond
#

then just publish on my other machine locally?

ocean quartz
#

You could also use Github packages, but personally found that just hosting my own reposilite was much easier to setup and use

foggy pond
#

how come setting up a server to host reposilite on is easier than using github?

crude cloud
#

GitHub packages specifically

#

not GitHub in general, they serve different purposes

#

one is a git repo host for projects and all that sync stuff you want, the other is a maven repo for hosting dependencies

distant sun
orchid wyvern
#

Hello there, so we are currently switching to Folia cause of multithreaded schedules and better cpu usage.
Folia runs much more stable than paper thanks to better use of the CPU cores and not going on just the first thread.
Long story short: We would love to see someone here that maybe have experience to change the source zip-file project of a few Plugins from working on Paper to working on Folia (All of them are open source, but not planned to update to support Folia nearby. So the Folia-API integration and changing the schedules.
There is a option for universal-schedula or better use MorePaperLib which will work on Bukkit and Folia as well. If someone have experience in that, can write me. You dont need to update all, just maybe to tell us how after one worked. That would be awesome. Me and the team would really appreciate that. Thanks! heart

#

That would really help us..

distant sun
potent nest
terse elbow
potent nest
#

typing is not unnecessary

cinder flare
#

unneccessarily lmao

#

me when static type checker prevents errors

wind patio
#

lmao

cerulean ibex
#

typescript devs do too much with their types

cinder flare
#

me when devs use types for their inteded purpose?

wintry plinth
#

I’ve got to openly admit, I’ve been a JS developer for many years and always hated the thought of using typescript. It’s not until I started using it where I really saw the benefits

#

TS is really useful for stuff like database records, having the IDE completion. Or pulling in data from third party places, and having the completion to pull out what you need

agile galleon
#

It sometimes is a mess though

calm sail
#

i need to put an image on a menu like this
like the video on yt the name is "how to make custom gui" but for me don't work

#

i talk about the pl deluxemenu

orchid wyvern
wintry plinth
pastel imp
#

charlie taking our jobs

wintry plinth
#

😂 happy to take up jobs as and when

pastel imp
#

bruv a millionaire doing side quests

#

xd

wintry plinth
pastel imp
#

Xd

crude cloud
#

therefore I don't type

fading imp
#

Y’all are typing to code? I’ve been doing it retro style

long dagger
#

what

#

more context please

final cliff
#

anyone got any good inventory / gui libraries? @ me if you know any

inner umbra
#

I think people say "triumph-gui" alot.

agile galleon
#

+1

pastel imp
#

@oblique heath so, metrics wise, the new balanced dataset is extremely good, but in reality... it's like.. "wth", "hope you die" comes out as neutral lmao

inner umbra
#

Does yaml have a length cap on strings in a string list before it occupies the next line in the file?

potent nest
#

that would be weird

inner umbra
#

It is. One sec

terse elbow
#

reading client source code seems much more rewarding than server side

#

forced to pick up opengl lwjgl to learn how to make visuals for my hacked client

#

its really fun experience, minecraft helped me a lot in learning programming

surreal garnet
#

Oh..?

oblique heath
#

i wonder how the length of a message affects model accuracy

terse elbow
# surreal garnet Oh..?

yeah modding client is a fun experience
you get to learn graphics, networking and all that in one

#

reading server source code is a mess tho
too many unnecessary features getting into the way

surreal garnet
#

Always thought about making my on utility client since all this other clients are so bloated these days, but really haven’t had the time to sit down and do it.

terse elbow
#

have to confess im working on a hacked client because of the difficulty to get it done, but currently progress stalled because of me not knowing anything about lwjgl. Wanted to get visuals and custom rendering on entities. Like overhead display on enemies.

yeah nobody develops clients these days im aware. I think most of them haved moved to fabricmc or dll injection with JNI for some reasons or just use mainstream clients

#

Its nice to know you were working on clients back in 2017. Client modifications were real popular back then

#

while me at that time were still making 10 lines bukkit plugins 😅

pastel imp
cobalt marlin
surreal garnet
fading imp
hoary fox
#

@young wasp your dms are closed. Sent a frnd req

placid rose
#

@young wasp same

terse elbow
#

I’m planning on making a blink client that will revolutionise hacks in hypixel housing

Any advice that I can make it even more undetectable? Currently blinks can still be observed from a far distance because it is not fast enough, not really instantaneous (not teleport but like fast moving)

#

How do I make blink close to teleportation?

#

I think I should use linear regression on how much interval is allowed per blink packet by hypixel

#

Like the distance between each blink move packets and also regression on how many packets per interval or sth?

#

I have no idea how spigot built in antiflood and Anticheat works

glad fiber
#

lol

terse elbow
#

im thinking of constructing a model for the allowed packet and allowed distance delta for each blink packet. But it would be the best if i can find the part which stops you from doing too many blinks in the spigot source code, which is yet to be discovered.

terse elbow
# glad fiber lol

let me know if you have any ideas. There are many professional and leading developers in the industry, and im looking for advice to do this.
It is a very fun side project.

crude cloud
#

any half assed anticheat will rubber band you back for that crap

fading imp
terse elbow
terse elbow
pastel imp
pastel imp
#

they have their own custom built jars

terse elbow
#

I know it’s like highly modified spigot fork but I don’t think they have modified any of the throttle mechanism

pastel imp
#

pretty sure they did

terse elbow
#

but maybe the micro instances of servers also affect how they process packets idk

#

Ok cool

terse elbow
pastel imp
#

according to an hypixel dev, they have modified it so much that it can be said its a totally different software

pastel imp
#

be it for fun or not, still cheats

terse elbow
terse elbow
#

but in case anyone is interested in general reverse engineering and stuffs we can discuss it

#

like spigot internals and server implementations, i am highly interested in the topics!

#

and just a final question is there any way i can learn netty properly? There arent many online resources for learning netty. Do i have to resort to learning thru java docs?

crude cloud
#

their starters user guide is pretty neat

terse elbow
#

ok cool thx a lot for the info!

wintry plinth
#

I've got a project which uses a series of different java versions, at the moment I've used toolchain to download the different JDKs needed. Is it possible to just use Java 21 for example, and have the project build for the lower versions needed?

If so, how would I do this? Using Gradle

potent nest
#

javac 21 can compile down to java 8 iirc

wintry plinth
#

The base uses Java 1.8, while Fabric uses Java 16, I use Java 21 on my machine and ideally I'd like it to auto compile down

#

Just wasn't sure if downloading was needed or not

wintry plinth
#

Ah really, could I use 21 as my base and compile down to 1.8 and 16?

potent nest
#

yeah that should work

wintry plinth
#

It's strange because the CLI works fine to compile, but intellij builds bug out

#
An exception occurred applying plugin request [id: 'fabric-loom']
> Failed to apply plugin 'fabric-loom'.
   > You are using an outdated version of Java (8). Java 17 or higher is required.
     You can change the Java version in the Gradle settings dialog.
#

but intellij is set to java 21

cobalt marlin
#

you cant use newer features obviously when compliling down though

#

so no virtual threads on j 16 for example

#

otherwise it works fine

wintry plinth
#

Ah yeah, that makes sense - is it just these I need to set?

java {
    toolchain {
        languageVersion = JavaLanguageVersion.of(16)
    }
}
tasks.compileJava {
    options.release = 16
}
#

Or is it other valuesa

cobalt marlin
#

thats it afaik

#

it depends on your plugins a bit usually

wintry plinth
#

this is the current one

cobalt marlin
#

it should just work then

wintry plinth
#

Quite annoying then, as I get an issue with net.kyori blossom, seemingly due to the java ver

potent nest
wintry plinth
potent nest
#

no, you only set the release option per project

#

the toolchain is what you want to use globally

wintry plinth
#

So in this instance, I want the entire project to use Java 1.8, but Fabric and Velocity use Java 16, how would I do this?

#

Happy to sponsor some $$ for your time if you have a github sponsors or w/e

potent nest
#

well you want to compile to java 8, but you want to use a more modern java version. The release option controls to which java version the compiler will compile, the toolchain controls which jdk (version) is generally used to run tasks

cobalt marlin
#

as in fabric - velocity versions depend on a module that has common stuff in 8 and then are compiled to 16

wind patio
#

anyone here been set-up ELK stack for minecraft servers?

cinder flare
#

ELK stack is so heavy it's imo not really worth

#

been pretty happy with Prometheus + Grafana

terse elbow
#

im not in love with hypixel just like to make custom clients in semi-vanilla servers (hypixel housing has little intervention in how your client implementation is, rules still apply tho), but i guess people wont let me discuss it because its sensitive topic

wind patio
#

I just want a kinda centralized log location for our servers and systems

wind patio
#

does anyone using paperweight patcher know, how can I get a patch from another fork for my own fork?
I have a specific patch from another fork that I want, is there an "easy" of applying it by just copying it or something similar?

magic pond
#

there is a serious issue with this server and its so fricking annoying bru
there is literally no other biome other than one, ive tried changing the seed and world multiple times

#

not sure what else to do

oblique heath
#

cursed server jar, only gives you one biome

#

try using a seed (for your mc version) that someone posted online

pastel imp
#

ngl, FlatLaf Mac Dark theme looks good

terse elbow
#

linear regression or non-linear regression for anticheats?

potent nest
#

yes

fading imp
#

indeed

humble prism
#

i prefer magic

slate elk
#

im very happy today

slate elk
terse elbow
#

Idk the rules are not strictly linear? For these things I have not much experience I’m just trying to make a model that represents the best player cheats

slate elk
#

u made anticheat for a game that doees linea calculations

#

mostly beside entities

#

for movement i suggest not to do those calculations

#

just for combat checks

#

player cheats dont really use those too

#

old ka used to lock on player and do things manually now adays the magic is in packets client sends

remote goblet
#

important article here wicked

#

kinda

terse elbow
hexed island
#

@echo mural Check dm

strong canopy
#

@fresh stag DMs

fresh stag
strong canopy
#

👍

unborn ridge
#

How can I band a 8byo kid?

oblique heath
#

teach him to play the trumpet

orchid wyvern
#

Hello there, so this website said deluxemenus would work on Folia and i wanted to ask if there is really a support for Folia, cause I cant find something else of it on the internet in general or GitHub. https://github.com/BlockhostOfficial/folia-plugins?tab=readme-ov-file Here is said, that it should work but instead of download there is said Discord next to Deluxemenus. Does anyone have a link for me, so I can download the Folia-Supported one? Or does it already have support for both but need to add the folia-support: true line into plugin.yml and thats it? Please let me know and thanks! heart

dawn hinge
# orchid wyvern Hello there, so this website said deluxemenus would work on Folia and i wanted t...

Hey! While I was browsering DeluxeMenus's repository on GitHub, I came cross a pull request from Pedro which aims to implement support for Folia specifically. He linked a downloadable binary too if I'm not mistaken. I don't use Folia personally but it might be worth a try: https://github.com/HelpChat/DeluxeMenus/pull/56

mighty finch
#

Does anyone know a guy named Bugura or something like that in here? He's a German fellow who helped me out a year or so back with some networking stuff

#

I need his help again

#

Unless anyone else wants to help me lol

half harness
orchid wyvern
mighty finch
#

Nope, thanks though

#

and yeah I got my situation resolved

elder pagoda
#

Does deluxemenu have a API ?

sour bone
#

How could I make a rng placeholder return the same number if it's parsed in the same tick?

wind patio
#

well that's not exactly how it works

#

even if it's a same tick, the generation under-the-hood is always, well, a random number

#

but, if you need that, you could make a scheduler that generates a random number every tick, something like this:

    private int randomNumber = 0;
    
    private BukkitTask generatorTask;
    
    private void initRandomGenerator() {
        generatorTask = Bukkit.getScheduler().runTaskTimerAsynchronously(plugin, () -> {
            randomNumber = RandomUtils.nextInt(100);
        }, 1L, 1L);
    }
    
    @Override
    public String onPlaceholderRequest(Player player, @Nonnull String id) {
        if (id.equalsIgnoreCase("random_number_tick")) {
            if (generatorTask == null) {
                initRandomGenerator();
            }

            return String.valueOf(randomNumber);
        }
    }
sour bone
#

hm I think I have a solution, Random has the seed param, so I can just use that

#

How could I check if the placeholder contains something like _seed: and if so, get the text after that?

potent nest
#

That will still be random when doing multiple calls

sour bone
#

Not if I use the system time for the seed

potent nest
#

If you want to create a lot of Random instances, yeah

#

But that’s not necessarily a good idea

sour bone
wind patio
#

providing a seed will not solve your issue and will likely be worse than having a scheduler

potent nest
#

Well that example isn’t thread safe, but the idea is good

wind patio
#

as SirYwell said, you really dont want to be creating a bunch of Random class instances

potent nest
#

(You can also lazily calculate the next value by storing the last tick)

wind patio
sour bone
#

alright thanks I'll take a look into it

sour bone
#

so my placeholder is doing this

#

String arguments = PlaceholderAPI.setBracketPlaceholders(player, parts[1]); I've done this already though

#

am I missing something?

sour bone
#

Fixed

obtuse gale
#

does anybody know a good lightweight command framework that supports spigot, bungee and velocity? (not brigadier since it doesn't work on anything below 1.13.2 iirc)

#

i would make my own but honestly, i have no idea how

dawn hinge
# obtuse gale does anybody know a good lightweight command framework that supports spigot, bun...

Consider using Lamp, they support everything you mentioned and more. I personally use this framework in all of my projects: https://github.com/Revxrsal/Lamp

GitHub

A powerful, extendable, flexible yet simple to use commands annotation framework. - GitHub - Revxrsal/Lamp: A powerful, extendable, flexible yet simple to use commands annotation framework.

obtuse gale
obtuse gale
#

alright i ended up using cloud

cinder flare
#

you guys used NuVotifier before? it seems to me like it could just be a webhook instead of an entirely custom protocol

#

like, it even looks nearly identical to the Stripe or GitHub webhooks, even down to the JSON and the hash, just with a custom protocol instead of HTTP?

cinder flare
#

yikes, kind of annoying

#

somebody should pioneer JSON webhooks lol, could setup a NuVotifier replacement with a Javalin instance like, super easy lol

wintry plinth
#

Ironic because I’ve had my eye on webhook.com domain, but guy is firm on $40k right now

cinder flare
#

$11 apparently!

wintry plinth
#

Hahaha. And lemme see, I wanted to build a platform to kinda “intercept” wengooks

#

Webhooks**

agile galleon
#

Wengooks love it

wintry plinth
#

😭😭😭

#

The perfect typo domain

agile galleon
#

Nice product name tbh

cinder flare
#

Oh like, middleman to queue them? Or like, no-code solution to do stuff based on them

wintry plinth
#

And shit like that

#

With Tebex for example, I’d love to directly get the response without manually fetching it myself etf

#

And if your system goes down, it could save the webhook response for later

cinder flare
#

Oh, that's interesting. Not sure how much of a market there is for that, since most webhook providers I've seen have the full type information available pretty readily and stuff

#

Yeah the middleman to queue them for you is probably the most useful thing

wintry plinth
#

Oh do they, and yeah was a quirky idea, but $40k so I’ve been on the fence 😂

#

And rn I don’t have a lot of time

cinder flare
#

yea yea

#

idk i'm just amazed we've had a shitty custom protocol for literally webhooks for like 12 years and nobody has thought to change it

#

like the people running these website surely want something more standardized eh?

wintry plinth
#

No joke, you could change the game no doubt

#

Plus you are working with the god web stack too

surreal garnet
#

^

#

Shoot for it

cinder flare
#

yeah idk, just got a request from the boss man to look at Votifier

#

which in my mind is already pretty cringe, especially for a more low-key, whitelisted server

#

but like i mean i guess i gotta do it if he wants lol

surreal garnet
#

Fairs

wintry plinth
#

Plus you could use some secure way to sign them

cinder flare
#

i mean they already use either RSA pub/priv keys or known tokens to verify

#

and SHA to hash the body and verify it wasn't changed

#

If that's good enough for Stripe, it's good enough for my Minecraft votifier notifications lol

wintry plinth
brazen ether
#

what's the best way to read incoming packets and cancel them if needed with spigot? (1.20.4). i looked at some methods online, and a couple seem to have issues with thread safety, or using external libraries such as protocol lib. is there an easy way to do this with some sort of listener? if anyone here is familiar with fabric i'm trying to get this typa functionality

@Inject(method = "onCommandExecution", at = @At("HEAD"), cancellable = true)
    private void onChat(CommandExecutionC2SPacket packet, CallbackInfo ci) {
        //code here
    }
half harness
brazen ether
#

ah so probably just look into how craftbukkit listens to packets and implement that?

half harness
inner umbra
#

I'm not on PC so can't give exact code.
It should be Player -> CraftPlayer -> PlayerConnection -> NetworkManager -> Channel -> ChannelPipeline
I might be missing something.

brazen ether
# inner umbra I'm not on PC so can't give exact code. It should be `Player -> CraftPlayer -> P...

i was reading another user's implementation and i realize my mappings seem to be different? i have player -> CraftPlayer -> ServerPlayer, and then serverPlayer.connection get's me a ServerGamePacketListenerImpl, which can be used to send packets and etc but i'm not sure how to get a networkmanager so that i can actually use the @Override 'n channelRead method. im currently using remapped-mojang, since using the default gets me stuff like serverPlayer.getHandle().c instead of readable methods.

inner umbra
#

Yeah sounds right. Like I said I'm not on PC so can't check myself.

brazen ether
#

yea but i cant get the network manager 😭 . if anyone knows this, info would be much appreciated

inner umbra
#

In later versions I think the packet listener implementation extends the network manager

brazen ether
#

tho it looks like i am able to read packets now so... success!

inner umbra
# brazen ether tho it looks like i am able to read packets now so... success!

Good to hear.

If you don't want to use reflection you can loop through the NetworkManager list.

CraftPlayer craft_player = (CraftPlayer) player;
EntityPlayer minecraft_player = craft_player.getHandle();    
PlayerConnection connection = minecraft_player.c;
        
CraftServer craft_server = (CraftServer) Bukkit.getServer();
MinecraftServer minecraft_server = craft_server.getServer();
ServerConnection server_connection = minecraft_server.af();

NetworkManager network_manager = server_connection.e().stream().filter(manager -> manager.m() == connection).findFirst().orElse(null);
if(network_manager == null)
    return;
        
Channel channel = network_manager.n;
ChannelPipeline pipeline = channel.pipeline();
        
pipeline.addBefore("packet_handler", "test-injection", <Handler>);

If you want to simplify your reflection usage you can check out a library I made also. https://github.com/TheCrappiest/ReflectionLibrary

CraftPlayer craft_player = (CraftPlayer) player;
EntityPlayer minecraft_player = craft_player.getHandle();
        
PlayerConnection connection = minecraft_player.c;
NetworkManager network_manager = (NetworkManager) new ReflectField(ServerCommonPacketListenerImpl.class, "c").getValue(connection);
        
Channel channel = network_manager.n;
ChannelPipeline pipeline = channel.pipeline();
        
pipeline.addBefore("packet_handler", "test-injection", <Handler>);
brazen ether
#

i'm just working on a prototype anyway. thank you for the help!

inner umbra
#

👍

cold valley
#

Attention, business owners! If you're aiming to establish a strong online presence, I have great news for you. I'm currently offering an impressive 40% discount on our website development and design services.

P.S. Act fast – we're only accepting 10 case studies for this offer.

wintry plinth
terse elbow
#

its most likely spam bots

#

oh hes typing nvm i think its not

cold valley
cold valley
cold valley
ocean quartz
agile galleon
#

You accept case studies?

cold valley
pastel imp
#

he's just a spammer

cold valley
#

Bruhh cmon

#

Wanna see the portfolio?

pastel imp
#

he's spamming all channels with that message

pastel imp
cold valley
#

Its alr man

ocean quartz
#

And delete it from #showcase if you don't want to get mute there lol

cold valley
#

Oh Mb, Thanks!

agile galleon
cold valley
#

We're accepting 10 case studies to showcase the effectiveness of our work.

pastel imp
#

what even are case studies in this case

cold valley
#

These case studies would highlight the process, challenges, solutions, and outcomes of working with us on creating or improving a website.

pastel imp
#

who even is "us", your message provides 0 information. Not even a portfolio

cold valley
#

Apologies for the lack of clarity. When I say "us," I'm referring to our website development and design team. We specialize in creating and enhancing websites for businesses. While I didn't provide a portfolio in the previous message, we'd be more than happy to share examples of our previous work to showcase our capabilities. If you're interested, please let us know, and we'll gladly provide you with our portfolio.

ocean quartz
#

If you really want people to use your service it might be a good idea to put said portfolio in the message you posted in #1213705083263393843 or else it's just blank words

cold valley
#

Thanks Man! I really appreciate your help.

hoary heron
#

thats the intention B)

#

wait

#

darkest.. thoughts

#

truly dark moment

#

💀

pastel imp
#

@rose dagger is that a mod or plugin?

rose dagger
#

plugin

pastel imp
rose dagger
#

thanks 😃

abstract osprey
#

I'm currently developing a resourcepack that removes the horse / vehicle health bar when you mount them (https://imgur.com/a/6rMMxUk)
I've replaced vehicle_container.png, vehicle_full.png and vehicle_half.png with blank images, however there is a small part remaining that i've never seen before, I've searched everywhere and can't find what it is (https://imgur.com/a/QbEGeox)
Does anyone know of what the asset file is?

native lake
#

Hey all!
Does anyone know of a way to make a "list" gui for all online players that I can integrate to another guimenu (for example I want to have a menu that goes to a menu that lets them choose wether to mute/tp then that takes them to another menu to select which one to target)?? Pings are appreciated

pastel imp
native lake
#

deluxemenus

pastel imp
gray yacht
#

Would it be possible to instead of the menu opening a chest, or whatever deluxemenu currently uses.

It places the items in the player inventory.

By: saving the inventory, clearing it, opening menu, close it, place the players items back.

#

This would make the menus look way more premium.

As if they were actually separate uis.

#

Or make players open ghost players inventory’s that store the menus?

#

The commandpanels plugin does have the ability to extend it into the players inventory.

But since I have a catalog of 50+ menus I would love to reuse their code. In maybe the big deluxemenu update. That willl put them at the top forever. Wink

half harness
gray yacht
#

No I can’t code myself

#

I was wondering if deluxemenus was considering adding it

inner umbra
#

This channel is for development talk hence why dkim said post in the other channel.
But I'm pretty sure someone asked before and was told no. You can probably search for the conversation.

long dagger
abstract osprey
slate elk
#

long time

#

m back

#

not to coding

#

but just to chit chat

long dagger
#

ok

terse elbow
#

ok

static zealot
brazen ether
#

how tf u get media perms here 😭

pallid gale
brazen ether
#

i gotta talk and shit for that

#

ok there we go

broken imp
#

People talk in here?

brazen ether
#

idk

broken imp
#

i just lurk around and answer #1224207849790505030 i dont ever chat in here lol but im always helping

pallid gale
slate elk
#

hey where to download windows IOS

#

isnt it free now adays?

#

(for VM)

broken imp
slate elk
#

i wish tthey had better servers damn

#

i remember my dedi had 10 gbps

#

used to download so fast

#

and me and my 1mb wf

half harness
#

like the thing with the "Activate Windows" box on the bottom right

broken imp
agile galleon
#

Every time I install Windows on a machine I just change the key server and that works like a charm

#

Dunno how long but it's been working for a while

crude cloud
#

i mean, as an individual (not for commercial use), the only thing the license is useful for is for changing the desktop background, getting rid of the watermark, and if you're silly enough, getting one-to-one support from Microsoft

#

Besides that... the rest is basically free for use

#

(not legal advice (despite licenses and terms of use not being legally binding))

inner umbra
#

MSI allows you to (or atleast use to) change the wallpaper. 😉

inner umbra
slate elk
#

And dunno i guess Trail Like winrar

half harness
pastel imp
#

hell why is jda the only "well" maintained java discord library :/

foggy grail
#

there was javacord

#

but not sure how it is now, it was quite behind jda before though

pastel imp
#

and jda has been slow overall, for instance, premium subs from verified bots are still not supported :/

#

and they have been out for like 6 months

#

or more

#

Overall, I feel jda is not that well organized

#

and I might have to migrate to another library... maybe even outside java

#

which is not smt I would like to do but oh welp

cinder flare
#

everyone goes back to the discord.js lifestyle eventually 😔

pastel imp
#

😦

foggy grail
#

and they usually follow discord closely on releases as well, no waiting for implementation for newer features

pastel imp
#

I honestly would love to continue using java but oh welp... thing is, I would have to relearn a bunch of stuff

#

but oh welp

cinder flare
#

i still hate it lol, but i use a weird PHP library so like that's not a super popular choice lol

#

i just love the way it organizes 😌

foggy grail
#

how is py?

pastel imp
#

the php library or discordjs?

#

xd

cinder flare
#

the php lol

#

discordjs doesn't organize shit

#

it's like the least opinionated thing ever i hate it

#

i use this 😌

pastel imp
#

there's a PR that adds support for paid subs in jda

#

but like, unsure if it's maintained, and has 0 documentation

#

so uh 😭

ocean quartz
#

Don't forget Discord4j

#

Kord for Kotlin is very nice too

pastel imp
ocean quartz
#

What's dead about it?

pastel imp
#

while jda is slow, they are the nearest from all java libraries

ocean quartz
#

Do you know of any specific feature missing?
According to their readme it looks up to date

pastel imp
#

but others are for instance, user-installable apps, automod, profile background changes, and a few smaller things

ocean quartz
#

They do have automod, the rest I don't care enough to check, so I'll take your word for it omega_lul

pastel imp
#

but the rest I am pretty sure are not present

#

2-3 of them are open PRs that haven't been merged yet

toxic zinc
#

Can we load command when the payer close menu, even if click in echap ?

brazen ether
#

my code works perfectly 50% of the time, the rest of the time it instantly crashes

#

incredible

#

optimizing map color matching is surprisingly hard

static zealot
#

sounds like a skill issue

brazen ether
#

i don't even know if this is faster because O(logn) vs O(n) at such a low number is not even applicable but hopefully it's faster

static zealot
#

Just making sure it was clear, I was being sarcastic.

brazen ether
#

yes ik 🤣

#

simplified kd (only r&g) tree of all 244 minecraft map colors

brazen ether
#

eyyy it paid off. 10x faster color matching than a simple for loop

frosty junco
#

could not connect to a default or fallback server. incorrectly configured address/port/firewall

#

how to fix

frosty junco
#

but help plz

broken imp
#

also need way more information than that...

pastel imp
frosty junco
#

ok

pastel imp
#

and stop spamming in every channel

broken imp
#

we have no idea about your server setup. what plugins your using, what host your using, what your connecting from, if youve routed through cloudflare, etc etc. you need way more info

frosty junco
#

:/

formal wyvern
#

guys what is the best way to get xp as an player on earthsmp types of servers where there is no end world and building xp farms is hard

brazen ether
#

wrong chat for this

oblique heath
#

touching grass

broken imp
lime fable
brazen ether
#

legacy versions afaik dont support the new json text format

#

if that's what you're referring to

half harness
#

actually idk if that's ironic

#

but still

#

lol

#

just thought it was funny

pastel imp
#

LMAO

agile galleon
#

What's that

lime fable
rotund egret
#

Depending how you're doing it you could just display a different text depending on version (or nothing at all)

brazen ether
#

just get the string from the text component

lime fable
#

hmmmm ok i will try it, tanks man

mighty finch
#

can anyone here help me out with some NGinx reverse proxy stuff

#

when I try and restart the service through MobaXTerm with sudo service restart nginx, it throws this error: "unable to resolve host (host name here): Name or service not known"

#

And I'm really confused as to why it's using the host name that it is

#

because as far as I know, it's not defined anywhere

#

nvm, I think I found the issue

mighty finch
#

Okay I found an issue but now it's not letting me connect at all

brazen ether
#

mfw I need to understand HTML to make a rendering system in Minecraft:

broken imp
rotund egret
#

Html is rather simple fwiw.

brazen ether
broken imp
#

oh yeah that might be past my knowledge lmao

oblique heath
brazen ether
oblique heath
#

wdym exactly by architecture

brazen ether
#

like the way in which to create a GUI API

#

if you seen my #showcase thing, that's what it's for

#

to design a structure which is convenient for developers to use and fits the method of rendering is a little challenging

viral cave
#

@everyone

agile galleon
#

We had this already

surreal garnet
#

It’s easy to just say a number, but how much do you worth your time and development ability?

wind patio
#

well for a simple website they can get oracle free tier vps

#

the fuck lol

#

I mean I earn quite a bit at my actual job, but nowhere near 3.3k for 50 hours

#

my montly wage is 3k before taxes

surreal garnet
#

What’s the worst they can say? No?

crude cloud
#

they will throw a tantrum

#

and publicly shame you on twitter

rotund egret
#

Probably true

surreal garnet
wind patio
#

yes

#

java

brazen ether
#

that's 1/4th of the median wage in my area 😭

wind patio
#

Lithuania

brazen ether
#

ah that makes sense

wind patio
#

as of 2024 average gross is 2100

brazen ether
#

if it was in America I'd be amazed

wind patio
#

i have only worked for two years, not even

#

my first job still lol

brazen ether
#

how is the developer market there?

#

much competition or no?

wind patio
#

uh, not sure, not so much Id imagine

#

I started working halfway through finishing my bachelors degree

brazen ether
#

u studied comp sci?

pastel imp
#

developer market is overall decent in europe

#

it's not oversaturated like america

#

lol

brazen ether
#

yes hopefully the situation improves by the time I become one of the competitors

pastel imp
#

not happening any time soon lmao

#

at all

#

if I were to estimate, 8+ years

rotund egret
#

mistake is having a laugh

brazen ether
#

hopefully having a good resume and portfolio will fix this 🙏

wind patio
timber oak
#

Do you guys prefer composition over inheritance for data objects?

#

I've heard that composition is better, but I like using inheritance to store multiple objects with similarities together, in a map for example

#

Ohhh composition can still be achieved with polymorphism?

cinder flare
#

i mean yeah they're slightly different tools in a language like Java

#

like you want to be using interface-based polymorphism for stuff like map storage

#

but composition for a lot of other things

timber oak
#

But can't you use interface-based polymorphism with composition? Or does that ruin the purpose of composition?

cinder flare
#

I mean yeah that's what I'm saying, they're slightly different tools that can work together and serve different purposes

timber oak
#

Ah okay good, I used inheritance for everything before, and it was causing a bit of a mess lol. Had to make a gson type adapter for everything

ashen fossil
#

this may be a stupid but i'm sitting here thinking right now about nms

#
  • the mc server is obfuscated
  • mojang doesnt want deobfuscated server out there
  • mojang releases mappings for obfuscated server so devs can work with it

what am i missing here bc something about that doesn't make sense to me, what's the point of obfuscating it in the first place

static zealot
#

well the method names are mapped but the code itself is still obfuscated

onyx loom
#

obfuscation in general is just pointless

ashen fossil
#

with method names it seems not that hard to bypass whatever purpose of obfuscation they had in mind

#

seems like just a pain in the ass for no reason

ocean quartz
#

They have to obfuscate for legal reasons

flint crow
#

okay question for the smart people here. I am trying to make a papi placeholder that returns true if the block that the player clicked has any water around it but i cant use the isWaterlogged since not every block includes that data and idk how else i could possibly do it. So if you have any ideas let me know OKK

wintry plinth
#

I like the idea of obfuscation, but equally I also like open sourcing thinge

rotund egret
#

obfuscation serves little actual purpose

wintry plinth
#

I’ve mainly used it for software like Spoof (where at the time, nobody else built anything like it), and I didn’t want people skidding the code

#

But if I’m not building anything like that, I prefer to open source as much as possible

rotund egret
#

So little actual purpose then 😉

potent nest
pastel imp
#

although why isn't there a direct java api made by them?

half harness
#

why is Minecraft still obfuscated though 🤔

pastel imp
lost river
lost river
split parcel
#

should i use nbt or pdc for storing data on items

cerulean ibex
#

if its a bottleneck then nbt because its more performant but otherwise pdc cuz its a more stable api and (probably) easier to use

honest cradle
#

After a while of making my own servers I started with making paper plugins
Does anyone know some free coursers our youtube tutorials that are more recent where i can up my knowledge?

brazen ether
#

ngl might be fun to join a server dev team over the summer

honest cradle
brazen ether
#

lmfao is man's recruiting 😭?

half harness
#

is it just guessing? 🤔

#

no idea how accurate it is

#

ex it marks log4j-core as implementation instead of runtimeOnly

elder berry
#

Is there a way to show custom textures in 1.8.8 on a server side texturepack from items with specific meta data?

potent nest
#

Did you check if it does something similar with the scope for maven?

pallid sonnet
#

Does anyone know if there is a way to allow players to mine custom blocks in Adventure mode?

crude cloud
#

put the blocks you want to be destroyable on the tool you give them

pallid sonnet
#

Awesome thank you

remote goblet
half harness
#

ye that's interesting...

"I discussed these changes with <owner>, and we could not come to an agreement, so-"

"...he's the only one with merge access, and write access, etc..."

cinder flare
#

yeah that's actually pretty sweet

#

i mean i would've rather the main guy just step down and continue under the same name, but it's awesome to see work being done on Ptero or similar

#

I've been wanting to do SSO with Socialite for a while, but figured it's not worth the risk to do it myself just to save a few minutes every like few months when i need to add/remove users

wintry plinth
cinder flare
#

It's written in Laravel, but they haven't supported SSO or anything, just user/pass auth.

wintry plinth
#

Wait really?! That would be good tbh, o didn’t realise it uses Laravel now

#

That’s so cool

cinder flare
#

Yeah it's always used Laravel lol

#

As far as I know anyways

#

It's just been kinda "feature-complete" for the last few years

wintry plinth
#

Ahh shows my lack of knowledge in the hosting space

pastel imp
#

uhm could I get some help with github? I recently transfered a repo from my own acc to an org, how do I update the intellij project so that I can make commits to the right repo?

ocean quartz
#

Git > Manage remotes > Change origin

solemn rock
#

I had a random thought, so if I were to make a skript or plugin that utilized armor stands to add decoration that’s visible to both bedrock and Java what would be the best way to optimize it for performance, it has to be armor stands bc it’s the only way to display models to bedrock- I’m very bad at optimizing things and wanna work on it 😭 sorry if it’s wrong channel-

pastel imp
#

oh ignore, it wasn't showing

ocean quartz
pastel imp
#

had to hover

#

mine has this thingy xd

ocean quartz
pastel imp
#

premature optimizations be like

pastel imp
solemn rock
pastel imp
#

do I have to make the org public or smt?

ocean quartz
ocean quartz
pastel imp
#

uh?

wind patio
#

cant you just re-clone it?

pastel imp
#

tf even if I want to clone it again it doesn't find the repository?

#

lmao

#

it's private in my org but I am logged in...

#

so a bit confused

#

hmm enabled the "Use Credential Helper" and it solved the issue

#

who knows

#

random thing

#

lol

wind patio
#

so, um

#

recently we got kinda "hacked" due to owner making somewhat a bit mistake

#

the "hacker" got an obfuscated plugin into our server

crude cloud
#

xd

wind patio
#

I'm very curious what this thing actually did

#

(mods dont ban me plz)

#

there are a shit load of files that do

  public String toString() {
    char[] arrayOfChar = new char[2];
    arrayOfChar[0] = 0x3C1 ^ (char)(char)Arrays.hashCode(arrayOfChar);
    arrayOfChar = arrayOfChar;
    arrayOfChar[1] = 0x3C1 ^ (char)(char)Arrays.hashCode(arrayOfChar);
    arrayOfChar = arrayOfChar;
    return new String(arrayOfChar);
  }

I assume generating some kind of string

crude cloud
wind patio
#

and I'd like to know what is the actual output

#

couldn't find a way to deobfuscate

crude cloud
#

I mean you can just run that, it's creating a string

wind patio
#

I assume it's a reverse-shell of some sorts

#

very cool

wind patio
#

better safe than sorry

crude cloud
#

sure

#

i mean running the whole thing isn't really gonna show you anything useful I presume

wind patio
#

true, I'll just do some debugging, see what I get

surreal garnet
#

@wind patio check to see if there’s any HTTP(S) connections

pastel imp
#

^^

half harness
#

0oooh
this looks fun

pastel imp
#

might just be a force op too, idk

#

many options

wintry plinth
pastel imp
#

imagine

wind patio
wind patio
pastel imp
wind patio
#

well, he gained access to all our files

#

ran a few commands

#

such as zipping the entire server folder (to later download/upload it somewhere)

#

mysql dumps

#

so that's why I guess it's a reverse-shell

pastel imp
#

that can be done by just zipping the folders and uploading it online

#

plugin also has access to other plugin folders, which their config may contain the creds for mysql

surreal garnet
#

^

wind patio
#

and funnily enough, deleted all the directories containing "logs"

#

and .bash_history

#

etc

pastel imp
#

interesting...

#

that's why I love cloud logs xD

#

yeah unsure if a plugin can delete stuff like .bash_history

wind patio
#

and created a system user account too lol

#

AND in mysql called "mariadb", I know for a fact we never had one

#

and well a giveaway is the password was "changed" (as per column name) at close time we were "hacked"

#

so yeah, fun story for tonight

#

back on password changing duty

rotund egret
#

Mariadb my love

wind patio
#

it was downloaded from here

pastel imp
#

how tf did you let that plugin in without checking xD?

wind patio
#

well, I'm not gonna go into details, but it wasnt manually downloaded from here and put into the plugin folder

remote goblet
#

did the owner just

#

upload that jar on their server...

#

was it a dm from someone that was like "can you try my plugin?" with a super suspicious jar and they thought fuck it and put it on prod

pastel imp
#

lmao

terse elbow
#

like demangler and all that to take care of all these nonsense

#

and make them much more readable

rotund egret
#

Skill issue

terse elbow
#

im talking about from the decompiler technology we have for java

#

we have very limited tools and flexibility for java bytecode

#

even the best in the market recaf is very limited in capabilities too

terse elbow
rotund egret
#

Skill issue

#

Probably

terse elbow
#

nah

#

I have read way more obfuscated code

#

just from experience this will not be productive if the obfuscated code size is huge, and after you work it out if it got a new version update then its all wrong again

#

we need automated tools to analyze them

rotund egret
#

Not me, I read it by hand

#

Print it out even

terse elbow
#

ok

#

actually no, I am blind i cant read

#

I read by printing it out in Braille

humble prism
#

uh, just as a quick check, you didnt have tebex etc connected on that server right?

wind patio
#

yeah, no

humble prism
#

good

#

because tebex api key gives them access to customer emails etc

eager fern
# wind patio yeah, no

Feel free to dm me info and I can share with the team as we would be punish such a user

shrewd walrus
#

any typescript knowers know what the difference between these:

[string] and string[]

wind patio
#

tuple and array of strings

crude cloud
#

typescript-string-vs-string

cinder flare
#

yeah where's my url encoded square brackets

shrewd walrus
#

string vs string

#

ah rip no embed

shrewd walrus
queen saffron
crude cloud
#

you get image perms at tier 2 / level 10

shrewd walrus
#

where do u see your level? i only see a range on my role

crude cloud
#

uh

#

some barry command

#

</mystats:1154314768811823151>

shrewd walrus
#

well i cant use the #bot-commands channel. i can type it in, but i cant view any messages

rotund egret
#

What the fuck

shrewd walrus
#

the gating mechanics are too strong in helpchat

rotund egret
crude cloud
#

sure

shrewd walrus
crude cloud
#

</profile:1154314768979599452> maybe?

shrewd walrus
#

there is a /level command

#

but i cant view the channel