#dev-general

1 messages ยท Page 623 of 1

distant sun
#

Thank you

turbid geode
#

Can anyone shred light on this? 2022-05-01 09:12:54,964 TRACE New client connected (127.0.0.1:35300) 2022-05-01 09:12:54,964 TRACE Client (127.0.0.1:35300) succesfully authorized 2022-05-01 09:12:54,965 TRACE Closing client connection (127.0.0.1:35300) 2022-05-01 09:12:55,111 INFO server 1: Loading server properties 2022-05-01 09:12:55,111 INFO server 1: Starting server! 2022-05-01 09:12:55,111 DEBUG server 1: Loading server config from minecraft_server.jar.conf 2022-05-01 09:12:55,115 INFO server 1: Loaded config for "Default Minecraft Server" 2022-05-01 09:12:55,115 DEBUG server 1: Stream encoding for subprocess: UTF-8 in, UTF-8 out, latin-1 file 2022-05-01 09:12:55,128 DEBUG server 1: Server start command: "/usr/bin/java" "-Xmx10144M" "-Xms10144M" "-jar" "/home/minecraft/multicraft/servers/server1/paper-1.17.1-402.jar" "nogui" 2022-05-01 09:12:55,128 INFO server 1: Updating eula.txt file 2022-05-01 09:12:55,133 DEBUG server 1: Server started, PID: 30683 2022-05-01 09:12:55,160 INFO server 1: [Server] INFO Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x0000000586000000, 10636754944, 0) failed; error='Not enough space' (errno=12) 2022-05-01 09:12:55,161 INFO server 1: [Server] INFO # 2022-05-01 09:12:55,161 INFO server 1: [Server] INFO # There is insufficient memory for the Java Runtime Environment to continue. 2022-05-01 09:12:55,161 INFO server 1: [Server] INFO # Native memory allocation (mmap) failed to map 10636754944 bytes for committing reserved memory. 2022-05-01 09:12:55,161 INFO server 1: [Server] INFO # An error report file with more information is saved as: 2022-05-01 09:12:55,161 INFO server 1: [Server] INFO # /home/minecraft/multicraft/servers/server1/hs_err_pid30683.log

#

has 10gb ram but fails to see it

distant sun
#

well, I guess you dont have 10GB free for it to start

sly sonnet
#

multicraft is the problem btw

#

just sayin

chilly zenith
#

multicraft more like multiclown

#

๐Ÿ’€

#

just use Ptero

#

its free and OS

static zealot
#

but it clearly doesn't

#

kek

static zealot
turbid geode
#

thank you but I figured it out I think

#

the people in paper spigot discord helped me

#

it was this systemctl start multicraft along with some other lines

#

right before they mocked, insulted and then banned me for being an "arrogant prick"

#

even though they were mocking, insulting and being ironic at the end there

obtuse gale
severe oak
#

@obtuse gale Do you have your project opensource?

somber pecan
#

can i use it on 1.18.2?

obtuse gale
#

use what?

prisma wave
#

it

obtuse gale
#

right

#

so you're a racist

prisma wave
#

correct

#

i love racing

static zealot
#

horse racing

long dagger
#

The request paid and the request free channels disappeared for me. The category is not collapsed, not sure what is going on.

long dagger
#

no

fervent ibex
#

same

long dagger
#

share my server just appeared,

obtuse gale
#

funnycube decided to delete them

onyx loom
#

channels are being reset for the new month, theyll be back soon!

long dagger
#

ah

#

alright

obtuse gale
#

Kaliber is lying

long dagger
#

oh

#

alright

onyx loom
#

๐Ÿคจ

fervent ibex
#

lol

long dagger
#

lol

prisma wave
#

yes he is

onyx loom
#

sorry.

prisma wave
#

dont say sorry be sorry

somber pecan
#

Deluxe menus can I use 1.18.2 I don't have a download but I bought back in 1.16

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.

static zealot
#

@somber pecan this

somber pecan
#

Cheers boss

prisma wave
#

isnt deluxemenus free

eternal compass
#

yeah

static zealot
#

yes. I just assumed he meant deluxechat

prisma wave
#

lol

static zealot
#

bcz I many times do the same mistake

#

sometimes even with deluxetags as well

mental trench
obtuse gale
#

guys i need help

#

anyone

lavish notch
obtuse gale
oblique heath
#

this is not a discord support server

obtuse gale
#

wtf

#

i saw it online

#

damn

oblique heath
#

sorry, no refunds

obtuse gale
#

wdym refunds

oblique heath
#

your time spent in this server may not be refunded

lavish notch
obtuse gale
compact perchBOT
#
FAQ Answer:

Looking for discord support?
HelpChat is a Minecraft plugin and development support server and is not affiliated with discord in any way.
If you require support from discord, we recommend you to visit their official support website at https://support.discord.com
On this website, you can read their FAQs, or open a support ticket if necessary.

distant sun
somber pecan
#

what is spigot id @quiet depot

#

how do i get 1.18.2 support for deluxe menus

#

or deluxechat i mean

distant sun
#

is IJ supposed to always warn me about windows defender?

obtuse gale
#

until you configure it I guess

dawn island
#

yeah it did that for me, for a long period of time, but then it just stopped randomly.

distant sun
obtuse gale
#

it uh.. configures.. defender automatically?

distant sun
#

Im aware, but it doesnt save

sly sonnet
bronze rune
#

whos a good dev and willing to earn cash to be a full-time dev?

distant sun
#

you spelt hourly wrong @bronze rune

obtuse gale
#

Severely lol

#

jokes aside I don't think you can find anyone 'good' willing to take a position for that low, unless you're expecting them to work like two hours a month

#

up your budget a little bit or take the time to learn the stuff yourself OK

#

Oh yeah, we've all been there xD

#

What really pushed me is when I commissioned this guy to make a pretty simple plugin, dude took $30, delivered a semi-working product, then ghosted me

cinder flare
#

yeah that's me with web design

#

I was like "oh shit, can't be that bad"

#

it's fucking awful

#

thank god for Alpine JS at least minimizing the javascript interaction required

#

i came around to SASS though, when I finally realized IJ can just run a file watcher for me to compile it

#

wanna see a little preview lol

#

i think I got something okay going

#

yeah I wanted a cute dark mode thing

#

that's a screenshot from literally in game on our server lol

#

yup

#

shaders

#

yeah and I'm kinda of getting a hang of the color scheme thing

#

HSL is my hero

#

especially dark mode man

#

I just turn up the lightness and bam, a little lighter

#

perfect for those cards

#

what, you're saying you can't count in hexadecimal triplets?

#

haha

#

I'm using Bulma right now for CSS, but man with the amount of custom stuff I'm doing I should probably just use Tailwind lmao

#

maybe I'll convert it someday

inner umbra
#

Is there an app (android of course) for a linux VM (preferably ubuntu desktop)?

#

I know you can change your phones OS to linux but I don't want that.

cinder flare
#

google "android virtual machines"

#

i'm sure you'll find something

inner umbra
#

Nothing legit

#

And only root kits or os

simple kestrel
#

You can use Termux but that doesn't have the desktop environment if you want that

#

Hm actually it's not a vm so nvm

inner umbra
#

Yeah I want a VM with desktop environment. And I don't want a remote connection I want it on my phone.

cinder flare
#

bro good luck

inner umbra
#

Well I know its possible lol If you can run linux as an os on the phone you can deff run it as a VM on the phone. The issue is no app has been made to support it. I found a few apps for windows but they aren't exactly like windows desktop.

inner umbra
eternal compass
#

I mean, taking 3 hours to boot would make development slightly awful

inner umbra
#

My phone has a better cpu and more ram then a chromebook. Performance isn't an issue lol

cinder flare
#

Linux for 30 minutes before your battery dies lmao

cursive jolt
#

Iโ€™ve ran a Minecraft server from iSH

#

Itโ€™s painfully slow and not usable, but itโ€™s Minecraft servers on an iPhone

inner umbra
slow jewel
#

hey guys

#

I want to get started on learning java to make Minecraft plugins

#

How do i get started as i have no knowledge about programming

#

Thanks

onyx loom
#

?learn-java

compact perchBOT
#
FAQ Answer:

Online Courses:
Online courses are also great for learning java. Some websites that offer them are:

  • Coursera - Free unless you want a certificate
  • PluralSight - Great courses from what I've seen. Mostly Paid
  • Udemy - Never used them myself but they seem to all or at least most be paid.
    My first ever course was one from Coursera. - I can say it was pretty good at introducing me to the programming world as a whole not just java.

Oracle Docs:
Oracle docs can help a lot at learning and understanding java:

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

Other services:
Some other cool services that will help you learn java are:

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

half harness
#

huh... apparently with ProtocolSupport (that's what my dev server uses), Paper's Bukkit.broadcast() doesn't work if the client is using a version below latest ๐Ÿฅฒ

#

not sure if its the same with Via*

obtuse gale
#

skill issue

#

which one of the many broadcast methods tho

half harness
obtuse gale
#

guess what Bukkit.broadcast does lol

#

well it also checks for bukkit.broadcast.user perm

half harness
#

wait then why

#

was the perm

#

denied

obtuse gale
#

by default it's true so if you're denying everything that's on you lmao

half harness
#

wdym

#

idk how to deny it

#

i dont think i changed anything

#

i didn't deny in luckperms

obtuse gale
#

what about Server#sendMessage(Component)?

#

it's basically broadcast without permission check

half harness
#

for someone else

obtuse gale
#

.4?

half harness
#

yes

#

๐Ÿ˜–

obtuse gale
#

why lmao

half harness
#

idk apparently they said a plugin didn't work on 1.16.5

#

so

obtuse gale
#

like adventure was introduced in .5 I believe?

half harness
#

yes

#

i was using 1.16.5 api

obtuse gale
#

so it's not going to work at all in .4

half harness
#

on accident

half harness
#

ig my perms are just messed up

#

idk why

#

๐Ÿค”

onyx loom
#

skill issue

half harness
#

speaking of skill

#

idk how long its been now lol

prisma wave
#

lol

obtuse gale
#

but yeah anyway server#broadcast and server#sendmessage are no different other than the permission check so

#

your loss

half harness
#

hey emily

#

ur pro at luckperms right

obtuse gale
#

no

half harness
#

ok

obtuse gale
#

an extraterrestrial being wiped all my memory regarding luckperms

half harness
#

๐Ÿ˜ฎ

#

oh no!

scarlet storm
#

Hello there!

I want to ask you for help, or for advice.

I am trying to solve the problem with xaero's minimap mod.

I am using a bunch of three paper servers - bungeecord (waterfall).
And the mod does not work correctly in any mode (except manual). It just do not detect the correct "world" map.

So I have:
Server Main: overworld, nether, the End,
Server Factory: overworld, nether
Server Creative: overworld

Mod modes:
"World Spawn" is not always correct, idk how it detects the dimensions.
"Single" - obviously not suitable for a bundle of several servers.
"Server" - not suitable because there is no mod on the server.

So... the only solution that seems fine to me so far is to change the dimension ID of the worlds so they would be unique. But how? Is it possible? Is it possible to change the default dimension ID of vanilla worlds?

Dimessions ID like minecraft:overworld, minecraft:nether, minecraft:the_end, and I guess (I only guess, i do not know) it should solve the issue. So if I would have minecraft:main_overworld, it defenitely will be different from minecraft:factory_overworld, and I hope the problem would be solved. But.. not sure.

Or maybe someone also faced such a problem and already found a solution.

Here's my thread with the developer where I suggested a new way to choose a map and we're talking about dimension ID: https://www.curseforge.com/minecraft/mc-mods/xaeros-world-map/issues/408

I'll be glad to hear any tips and words.
Thanks โค๏ธ

umbral kite
#

Does anyone know if theres a way to get channrls back after deleted??

cursive jolt
#

no way to recover deleted channels or messages

#

discord actually deletes messages forever

primal crystal
obtuse gale
#

they definitely do

#

if they don't then they're I'm huge trouble in regards to GDPR

#

s/I'm/in

cinder flare
#

was that an epic sed fail

#

or was that a stylistic choice lol

obtuse gale
#

that's a discord mobile moment

cinder flare
#

ahhh

cursive jolt
#

that command does work

#

Works on iOS

obtuse gale
#

guess what os my phone has

potent nest
#

Windows Mobile

primal crystal
old wyvern
plain dragon
#

looking for a way to generate a family tree, using java (or some web API). ive explored some options but couldn't really find any nice ones

#

anyone have any tips?

inner umbra
eternal compass
#

the DAR experiment in discord (only available to certain certified moderators, so not me ._.) Lets you delete a message, caches it on discord's servers, and reports it.
If a message is not reported before it is deleted it is incredibly hard for discord to get access to it, since even though they have the records, even internally most people can't access them

distant sun
#

Are there any libraries like slimjar that are allowed on spigot?

inner umbra
#

Spigot doesn't allow alot of things. If its useful spigot probably doesn't allow it.

distant sun
#

Ok, thank you for your answer, someone with a proper answer - please help ๐Ÿ˜Š

inner umbra
#

Spigot requires the jar to be able to function without internet connection so given that "slimjar" downloads dependencies I would assume it's not allowed.

inner umbra
obtuse gale
#

where does it say that the plugin must not need an internet connection to work?

static zealot
#

I actually never heard/seen this before

obtuse gale
#

Also @modern coral stop self botting

ocean quartz
inner umbra
distant sun
obtuse gale
#

That's for premium plugins only

ocean quartz
#

Well, that is a very good question

#

Next one?

#

Jokes aside, it should be, the only issue is the repo

static zealot
distant sun
ocean quartz
#

I'll take a look a bit later

distant sun
#

Let me rephrase that: Is there a library like slimjar allowed for premium plugins on spigot?

inner umbra
distant sun
#

kicked them

inner umbra
#

Replied to wrong user, sorry.

static zealot
ocean quartz
#

It is allowed, but you have to provide an alternative manual way to add the libs

distant sun
#

nice, nice

#

I mean, slimjar download the files and place them somewhere, right?

prisma wave
#

PDM

inner umbra
ocean quartz
#

Yeah, all you need is to copy the files it downloads zip them and put on dropbox or something, a place where they can manually download it

static zealot
#

PDM. :kek:

distant sun
#

good

obtuse gale
#

"[without] access to a specific server" doesn't mean "without an internet connection", especially since that's specifically talking about licensing systems

inner umbra
#

Thus has to work with no internet connection.

obtuse gale
#

yes, but downloading a file has nothing to do with licensing

#

that is specifically about licensing

inner umbra
distant sun
#

Ok, thanks for help

obtuse gale
#

but not due to DRM

obtuse gale
#

that point talks about DRM implementation

distant sun
#

You know whats funny, matt? ๐Ÿคฃ

#

They need internet to download the files manually LOL

ocean quartz
#

That guideline is pretty outdated and kind of not exactly "requirements"
I mean by that logic Spigot's own "library loader" which was made specifically for this, wouldn't be allowed

inner umbra
# obtuse gale but not due to DRM

It's in that section of the guidelines but it's meant to be the whole resource. It was already argued about in the spigot discord.

inner umbra
obtuse gale
inner umbra
obtuse gale
#

Play by their own rules

#

it's not DRM

ocean quartz
distant sun
#

On another note, BossShopPro is DISGUSTING

inner umbra
#

Yeah the guidelines are hypocritical and spigot makes some users follow certains ones but not others.

distant sun
inner umbra
obtuse gale
#

have you reported them?

inner umbra
#

It was years ago. But it's still bs they aren't banned.

obtuse gale
#

can you link any?

static zealot
inner umbra
ocean quartz
#

Why change channel? thonk

static zealot
#

bcz we can

inner umbra
distant sun
#

Is 1.8.8 compatible with java 11?

static zealot
#

not spigot

#

spigot limited it to java 8 but paper made it compatible with up to 11 I believe

distant sun
#

ah, the classic

static zealot
#

on paper?

#

ok cool

half harness
#

yes

static zealot
#

nevver tested. was just told

half harness
#

idk if this is related to higher java versions

#

but

#

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

#

either that or windows terminal

#

nope it happens on java 8 too

frail glade
#

I can run 1.8.8 on Java 17, some netty errors but iirc there's a workaround for it.

#

Wouldn't advise doing a workaround on that though.

half harness
#

is it this?

frail glade
#

I'm pretty sure that error you have can be ignored. I've seen that for years.

half harness
#

ah alr

frail glade
#

And yeah I think so.

#

That netty one you can't ignore.

half harness
onyx loom
#

yeah it works fine for the most part

frail glade
#

Easiest solution is to just not run 1.8.8

obtuse gale
#

true

static zealot
#

yes

half harness
#

just ran this for testing ๐Ÿ™‚

inner umbra
half harness
#

btw while we're talking about old versions

frail glade
#

I just dockerize crap when I'm forced to test on older versions.

half harness
#

wait what wdym

frail glade
#

I spin up a docker that uses an older JDK version.

half harness
half harness
#

but intellij

frail glade
#

What about it?

half harness
frail glade
#

Yeah, that works too.

#

I already use Docker for so much other stuff now that I just use that instead.

half harness
#

oh
what do u use docker for? since it seems like its just a container which lets you create reproducible and/or separate environments, but I'm not sure how many uses there are for that

obtuse gale
#

docker is the new cd

frail glade
#

Lots of database stuff, class-related things. Mainly things I won't keep long term and I don't want random crap on my PC. It's already slow enough.

half harness
#

oh

half harness
obtuse gale
#

compact disc

frail glade
#

Planning to wipe my PC sooner or later to try and get it running faster again. I'm too lazy to dissect it manually at this point. Just going to back it all up and wipe all the drives.

tranquil crane
#

gotta just reinstall windows in docker for efficiency

static zealot
#

oh hi nicole

tranquil crane
#

oh hi Blitz

#

[visible confusion]

hot heron
#

Those always end up being bigger than I want them to...

urban sleet
sick belfry
obtuse gale
#

because I am simply not welcome there
luckperms

I can 100% assure you that is not the case

#

there was this one time he just kept joining and leaving over and over for like 2 minutes lmao

cursive jolt
#

discord servers are annoying as a plugin developer

#

paid + source to buyers is the best plugin model IMO, but it will never work because users will immediately leak source

#

Going back to forums for support would be good... discord is an information black hole and the search function sucks, so plugin devs are stuck repeatedly answering the same question over and over.

ocean quartz
#

One thing he's right, the community sucks and is definitely toxic

cursive jolt
#

it's even worse for stuff like PacketEvents, since how do you sell a dependency? (plus no one follows packetevent's license which is theft)

tranquil crane
#

I'd sure love to know what IntelliJ is currently doing

#

I have 24 cpu threads and it's eating over half of them

cinder flare
#

probs indexing

cinder flare
#

The best is pay for support, free and open source plugin

#

That way you can still get some compensation for your work, and the community can contribute and help you to add things and fix things

cinder flare
distant sun
cinder flare
#

people do for Guilds and Citizens and MMOItems and a bunch of other plugins

distant sun
#

Well, yea, but you said "free" and I assumed you meant literally free xd

cinder flare
#

yes, the code is free as in freedom

#

the support you pay for

distant sun
#

Right

#

I was thinking about paying for support with papi for instance

cinder flare
#

ah lol

#

that would be kinda weird, libraries are generally completely free so that they can gain adoption

distant sun
#

Maybe papi wasnt a good example since it is a plugin, but also a library

distant sun
#

But I see what you mean

cinder flare
#

I mean, yeah, pretty sure Citizens and PlotSquared both moved to pay for support models after they were initially completely free

distant sun
#

Ye

cinder flare
#

so yeah, people do pay for support lmao

#

is the moral of the story

#

and it keeps the code free and available for people to contribute to and bugfix and test

#

oh man it's great

distant sun
distant sun
pastel imp
#

The so called Freemium plugins

#

I plan on following that tbh.

#

love the concept

distant sun
#

And that can be worked out

grim path
#

Hi, I was wondering if anyone knew a way to figure out which email is associated with a Discord account? I'm trying to get into my old one but don't remember the email associated.

#

Discord support has been of no help to me.

#

Hello?

#

Anyone?

obtuse gale
#

?not-discord

compact perchBOT
#
FAQ Answer:

Looking for discord support?
HelpChat is a Minecraft plugin and development support server and is not affiliated with discord in any way.
If you require support from discord, we recommend you to visit their official support website at https://support.discord.com
On this website, you can read their FAQs, or open a support ticket if necessary.

hushed pulsar
#

any devs willing to be part of my team for a server

distant sun
hushed pulsar
#

ok

#

ty

#

how does it work tho??

obtuse gale
#

and yeah you just take it from there :P

hushed pulsar
#

dw

pastel imp
#

what stops anyone from asking help for a paid support plugin here?

#

I am sure you won't check every single help requests if the plugin he's asking for help is paid or not

#

idk lol

static zealot
#

its something we do. leaderheads is a good example

#

yes there's other people that might not be aware of this but for the most part when we notice someone asking for help with those plugins we try to send them and explain to the others trying to help why.

pastel imp
#

fair enough.

static zealot
# pastel imp fair enough.

also another thing is, many times people just don't get support with paid plugins because few have them so our experience with them is most of the times 0. so they just end up either going to the developer to ask or figuring it out on their own.

pastel imp
#

ye makes sense

ocean quartz
static zealot
#

but they used to only give support to people that paid right? bcz I remember something about this

#

I Mean sure but the thing people keep forgetting, is that most people don't know how to even compile a jar.

#

and you'd answer that saying something like "but the os people will do it for them", but I can find many requests of people asking to get someone to compile a jar and not getting an answer

#

impossible*

#

you literally can't compile. not even the free resources.

#

because they have some libraries that are private

#

but you need to compile

#

I had to fix epic heads support for deluxemenus, just ended up removing it completely

#

we never got anyone asking for it back. we knew it was most likely not used.

#

and we just support base64 heads and texture links.

#

had to remove it, bcz the api was only in the jar itself, and had to compile the jar to get the latest changes

#

I personally say just pay me for all the support I gave

#

was*

#

only started helping last week again bcz free week

#

but you can probably count on a hand all the times i gave support in the past 4-5 months before that

#

kek

jade raven
#

yes

#

Yup

royal tendon
#

i need someone to add me to the friends in steam so ill do that Activity Feed achievement.. so.. can somebody help me?..

simple bolt
#

Seeking a dev to help setup, create, and configure a server setup for my serverโ€ฆ. Paid

distant sun
simple bolt
#

K

simple bolt
#

A grand!

lavish notch
#

Slide into my dms. ๐Ÿ˜„

latent dirge
#

Touch grass

pastel imp
#

very sus

#

I would do very weird things for a grand

#

xd

latent dirge
#

I wouldnt

heady sorrel
#

how do i make an item have certain uses, so like after i right clicked it 3 times it disappears

pastel imp
#

uh so... this plugin has this in their spigot page:

#

Any ideas how th he achieved this?

#

Like, limiting the ticks the plugin will use to perform actions, etc...

#

it's seems quite good for performance, etc.

cursive jolt
#

just put the plugin into luyten or recaf

#

look at the code

ocean quartz
#

if (tickingTooMuch()) dont()

pastel imp
pastel imp
#

maybe I am just blind, no idea

static zealot
#

or maybe he does not

#

lol

pastel imp
#

lol

ocean quartz
heady sorrel
#
                    if (plugin.getServer().getLogger().warning(im.getPersistentDataContainer().get("uses", PersistentDataType.INTEGER).toString()).equals("1")){
                        
                    }``` why is this wrong
#

can someone help

static zealot
#

ugh. Logger#warning() returns void?

heady sorrel
static zealot
#

well of course? because you're trying to do void#toString()? and then comparing that to "1"

heady sorrel
#

one sec

#
                    if (plugin.getServer().getLogger().warning(im.getPersistentDataContainer().get(new NamespacedKey(plugin, "uses", 1), PersistentDataType.INTEGER)).equals(1)){
                        data.set(new NamespacedKey(getPlugin(), "uses"), PersistentDataType.INTEGER, 2);
                        itemInMainHand.setItemMeta(im);
                    }```
#

here i rewrote it

#

and still doesnt work

obtuse gale
#

why are you using the logger there?

static zealot
#

can't tell if I'm being trolled or not rn.

#

you realise you're comparing the output from the warning method, right? you're trying to log in the if check.

heady sorrel
#

oh

#

sec

static zealot
#
                    if (im.getPersistentDataContainer().get(new NamespacedKey(plugin, "uses", 1), PersistentDataType.INTEGER).equals(1)){
                        data.set(new NamespacedKey(getPlugin(), "uses"), PersistentDataType.INTEGER, 2);
                        itemInMainHand.setItemMeta(im);
                    }``` idk if I removed the correct () there but
heady sorrel
#

ye ive tried that before

#

and it still doesnt work

static zealot
#

you're missing a ) I believe

#

where you create the namespaced key

#

yeah idk what you've done there. its all a mess lol

heady sorrel
#

nop the brackets are there

static zealot
#

where exactly?

heady sorrel
#

if (im.getPersistentDataContainer().get(new NamespacedKey(plugin, "uses", 1**)**, PersistentDataType.INTEGER).equals(1))

#

oh

#

bruh

static zealot
#

there's 2 constructors for NamespacedKey

heady sorrel
#

im dumb

static zealot
#

they both take in 2 parameters

#

not 3

heady sorrel
#

ye i just realised

#

ty man

pastel imp
queen saffron
#

I dont get how people can request a free service and the say-** at least 2-3 years of java**

heady sorrel
#

ikr

peak junco
#

Hey, how can i check, if a directory is a world?

So: In the server folder is a empty folder and a folder with world data.

How can i check if the empty folder is not a world, and the other with the world data is a world?

sick belfry
#

well

#

I can think of 2 ways

#

1.- You can check if the folder you looking at is at the correct directory

#

take in mind too that in bukkit.yml you can change the directory where the default worlds can be

#

and 2 is that you may check if the folder has certain files that are how a world is supposed to be

sick belfry
#

EXCEPTION_ACCESS_VIOLATION nooooo

inner umbra
peak junco
sick belfry
#

np

#

now if yall let me

#

I'm having pain with LWJGL

obtuse gale
#

uh

obtuse gale
winter iron
#

Minecraft color codes > adventure

inner umbra
#

???

cinder flare
#

bro what

#

they're just arbitrary and limiting assignments

#

you only want 14 colors forever?

winter iron
#

hex converter

#

๐Ÿ™‚

static zealot
#

senseiju is a big troll

cinder flare
#

the only reason hex works is because of adventure

static zealot
#

he got you guys

winter iron
#

nah i just hate doing lore and stuff with it

inner umbra
cinder flare
#

minimessage?

winter iron
#

its lines man

#

how do u approach doing like 9+ lines

cinder flare
#

minimessage

winter iron
#

whats that

#

teach me papi

cinder flare
#

oh boy

static zealot
#

kek

cinder flare
static zealot
winter iron
#

ayo i just started making my plugin about 3 days ago

#

i had l9ong break

cinder flare
#

it's a way to write components without wanting to die

winter iron
#

๐Ÿ˜ฎ

#

thats 2 thinks i wanna do

#

write components and not die

cinder flare
#

lmao

static zealot
#

fun fact. they do recommend using components for hardcoded stuff.

cinder flare
#

well yeah cause parsing minimessage every time kinda sucks

static zealot
#

by they I mean kyori

winter iron
#

fun fact, its aids

#

๐Ÿ˜ฆ

inner umbra
#

It's just json right?

cinder flare
#

uh, as a storage medium yeah, but the way we interact with it as developers, definitely not lmao

cinder flare
winter iron
#

whats i18n

static zealot
#

no idea wha i18n is

winter iron
#

ye ur reference got lost in translation brother

static zealot
distant sun
#

Internationalization

winter iron
#

oh

#

ye

#

ez

cinder flare
#

there's 18 letters between the i and n

#

kinda like k8s for kubernetes

winter iron
#

so can my name be S6u

cinder flare
#

sure?

winter iron
#

its s6u from now on

half harness
#

d75

#

hmm

peak junco
#

Oh thx

prisma wave
#

LMAO

sly sonnet
#

Literally this (https://mf.mattstudios.me/) and this:

public static String color(String message) {
    Pattern pattern = Pattern.compile("#[a-fA-F0-9]{6}");
    Matcher matcher = pattern.matcher(message);
    while (matcher.find()) {
        String color = message.substring(matcher.start(), matcher.end());
        message = message.replace(color, ChatColor.of(color) + "");
        matcher = pattern.matcher(message);
    }
    return ChatColor.translateAlternateColorCodes('&', message);
}

is all you need

Welcome to the guide for Matt's Framework.

potent nest
#

rip performance

ocean quartz
#

Ah yes the lovely ยงxยงfยงfยงfยงfยงfยงf

obtuse gale
#

Matcher#replaceAll(Function<MatchResult, String>)๐Ÿ˜Œ

inner umbra
eternal compass
#

or maybe even something that happens during compile time

#

to convert it in code

primal crystal
#

Try invalidating IntelliJ cache and try again...

sly sonnet
#

you need to use gradle

tranquil crane
#

ah yes not using gradle is why maven isn't working

peak junco
#

thanks, i will look how gradle works

sly sonnet
#

shorter, easier and faster

#

there is no reason to not use it

peak junco
#

what do i need to do now? I had a normal java project and added maven to it. (intellij)
Whats the next step?

#

*solved, thanks for gradle

sly sonnet
#

:)

#

np

peak junco
#

I have an issue, and i think it was expectable. When i export (build artifacts) the plugin, the plugin.yml ist not contained in the JAR (since using Gradle)
Nowhere. I put it in src, no. I put it in src/main/java, no. I put it in src/resources, still no. Can anyone help?

half harness
#

and make sure ur running gradle build

peak junco
#

Yes it was there too, but didn't work. I came to an alternate solution. I manually selected the plugin.yml at the artifacts

half harness
#

artifacts?

#

how are you building your plugin

peak junco
#

IntelliJ IDEA

#

Project Structure>Artifacts

half harness
#

thats separate from gradle

#

gradle is one tool, that's a different tool

peak junco
#

i can build with gradle, WHAT?

half harness
#

yep

#

double click ctrl and type gradle build

#

then the jar will be in build/libs

peak junco
#

thanks

latent dirge
#

touch grass

uneven vapor
#

I know is long error https://pastebin.com/pacgtanK (is not my plugin some do like this). But want to here what other devs thing of this behaviour of a plugin?

He self say this is normal, he say this to me "That is due to Eventiful's way of extracting all event handler methods into its own optimized version of them.".

#

I personally wonยดt use it on a real server.

glacial junco
#

hi

gilded granite
#

heya people

#

I made a server host and I was wondering what you guys think of it

#

heres the link

glacial junco
#

how i can display this as a list?

gilded granite
glacial junco
#
reports:
  ce639da8-f8e0-3290-960b-1dd30b3e3dea:
    2022/04/21 14;07;38:
      reason: Flamming
      reported-by: Xodesito
  1952eb20-5d31-347a-8712-c3bf50b51ffa:
    2022/05/01 13;26;06:
      reason: Hacking
      reported-by: Xodetest
    2022/05/01 13;33;54:
      reason: Hacking
      reported-by: Xodetest
    2022/05/01 13;39;10:
      reason: Hacking
      reported-by: Xodetest
    2022/05/01 13;39;44:
      reason: Hacking
      reported-by: Xodetest
    2022/05/01 13;40;32:
      reason: Hacking
      reported-by: Xodetest
    2022/05/01 13;40;42:
      reason: Hacking
      reported-by: Xodetest
    2022/05/01 13;51;07:
      reason: Hacking
      reported-by: Xodetest
#

I mean, what I want to do is that when you put the command /check <player> you get a list with the yml reports

static zealot
#

you could make a custom object that stores date, reason, and who reproted and make it serializable with the annotation (forgot the name) bukkit offers. then you can just use:

ruby craterBOT
#
@Nullable @Contract
List<?> getList(@NotNull String path, @Nullable List def)```
Description:

Gets the requested List by path, returning a default value if not found.

If the List does not exist then the specified default value will returned regardless of if a default has been identified in the root Configuration.

Parameters:

path - Path of the List to get.
def - The default value to return if the path is not found or is not a List.

Returns:

Requested List.

remote goblet
#

new tag plugin i guess

#

yeah

dense dew
onyx loom
#

where is deluxetags

static zealot
static zealot
ocean quartz
onyx loom
#

oof

static zealot
rancid gazelle
#

I have a .py file, how do I edit the code?

static zealot
#

right click, open with ... and chose a text editor

#

like sublime text, notepad++ or whatever you use

oblique heath
#

right click and choose print, then take to your nearest office supply store and ask them to scan a pdf of your paper

#

then find an online website that does pdf to docx conversions and convert to a docx file

#

after that just hop into your favorite version of word and type away :)

#

||please do not do this||

past sleet
#

how to create a purchase permit For example if there is not permission to buy.grades. you can't buy something on deluxemenu

peak junco
#

Can someone say what i'm doing wrong?:

    public void check() throws SQLException {
        PreparedStatement statement = instance.getMySQLModule().getConnection().prepareStatement("CREATE TABLE IF NOT EXISTS settings (uuid varchar(200))");
        statement.execute();

    }

    public boolean getUserRegistered(UUID uuid) throws SQLException {
        check();
        PreparedStatement st = instance.getMySQLModule().getConnection().prepareStatement("SELECT `uuid` FROM `settings` WHERE `uuid` = ?");
        st.setString(1, uuid.toString());
        ResultSet rs = st.executeQuery();
        while (rs.next()) {
            return true;
        }
        setUserDefaults(uuid);
        return false;
    }

    public void setUserDefaults(UUID uuid) throws SQLException {
        PreparedStatement st1 = instance.getMySQLModule().getConnection().prepareStatement("INSERT INTO `settings` (`uuid`, `hidemode`) VALUES(?, false)");
        st1.setString(1, uuid.toString());

        PreparedStatement st2 = instance.getMySQLModule().getConnection().prepareStatement("INSERT INTO `settings` (`uuid`, `fly`) VALUES(?, false)");
        st2.setString(1, uuid.toString());

        PreparedStatement st3 = instance.getMySQLModule().getConnection().prepareStatement("INSERT INTO `settings` (`uuid`, `silentlobby`) VALUES(?, false)");
        st3.setString(1, uuid.toString());

        PreparedStatement st4 = instance.getMySQLModule().getConnection().prepareStatement("INSERT INTO `settings` (`uuid`, `vanish`) VALUES(?, false)");
        st4.setString(1, uuid.toString());


    }
#

In mysql there is only one column, called uuid

distant sun
#

well, you have to call Statement#executeUpdate for setUserDefaults

peak junco
#

yes, i did it now and i removed check

#

now i dont know how i should create a table

#

or is check not wrong?

distant sun
#

(uuid, hidemode) in this statement, you are targeting two columns

#

and as you said, your database has only one column, uuid

peak junco
#

i want to insert information in the column 'uuid'

#

what method do i need?

#

i need it like this:

UUID: hideMode (true or false)

Do i need to create another table in table called uuid?

distant sun
#

you want multiple columns

#

uuid varchar(36) | hidemode boolean | fly boolean | silentlobby boolean | vanish booolean

peak junco
#

yes

#

like this

#

but the values should be in uuid

#

so for every uuid i got a value

distant sun
#

no, each row will contain an uuid and 4 booleans

#

1-2-3-4 | true | true | false | true
2-3-4-5 | false | false | true | false

peak junco
#

yeah like this

distant sun
#

then create a table with all the columns you need

peak junco
#

did it like that now, and now and in mysql it looks like this:

uuid | hidemode | fly | silentlobby | vanish

public void check() throws SQLException {
        PreparedStatement statement = instance.getMySQLModule().getConnection().prepareStatement("CREATE TABLE IF NOT EXISTS settings (uuid varchar(200), hidemode int, fly boolean, silentlobby boolean, vanish boolean)");
        statement.execute();

    }

    public boolean getUserRegistered(UUID uuid) throws SQLException {
        check();
        PreparedStatement st = instance.getMySQLModule().getConnection().prepareStatement("SELECT `uuid` FROM `settings` WHERE `uuid` = ?");
        st.setString(1, uuid.toString());
        ResultSet rs = st.executeQuery();
        while (rs.next()) {
            return true;
        }
        setUserDefaults(uuid);
        return false;
    }

    public void setUserDefaults(UUID uuid) throws SQLException {
        PreparedStatement st1 = instance.getMySQLModule().getConnection().prepareStatement("INSERT INTO `settings` (`uuid`,`hidemode`) VALUES (?,false)");
        st1.setString(1, uuid.toString());

        PreparedStatement st2 = instance.getMySQLModule().getConnection().prepareStatement("INSERT INTO `settings` (`uuid`,`fly`) VALUES (?,false)");
        st2.setString(1, uuid.toString());

        PreparedStatement st3 = instance.getMySQLModule().getConnection().prepareStatement("INSERT INTO `settings` (`uuid`,`silentlobby`) VALUES (?,false)");
        st3.setString(1, uuid.toString());

        PreparedStatement st4 = instance.getMySQLModule().getConnection().prepareStatement("INSERT INTO `settings` (`uuid`,`vanish`) VALUES (?,false)");
        st4.setString(1, uuid.toString());


    }
#

But, they dont have any value

distant sun
#

yeah, obvious

#

with 4 statements you will have 4 rows

#

do it in only one insert

peak junco
#

Like this?
PreparedStatement st = instance.getMySQLModule().getConnection().prepareStatement("INSERT INTO settings (uuid,hidemode, 'etc.. etc..) VALUES (?,false, etc. etc.)");

#
 PreparedStatement st1 = instance.getMySQLModule().getConnection().prepareStatement("INSERT INTO `settings` (`uuid`,`hidemode`,`fly`,`silentlobby`,`vanish`) VALUES (?, 0, false, false, false)");
        st1.setString(1, uuid.toString());
#

This is the code now

#

ill try it

#

oh im dumb

#

the statement is not executed

#

Its working, but its inserting uuid 2 times.

humble silo
#

Im trying to get my artifacts published to a local reposilite repo i setup, but when using the publish task in gradle nothing is happening... This is how i setup the my publishing repo in gradle:

publishing {
    repositories {
        maven {
            name = ""
            url = uri("http://local-repo:8080/releases")
            credentials {
                username = project.properties["user"]!! as String
                password = project.properties["pass"]!! as String
            }
            authentication {
                create<BasicAuthentication>("basic")
            }
        }
    }
}

When i run ./gradlew publish nothing happens, no errors, nothing, it just completes immediately, any help?

primal crystal
distant sun
#

@humble silo afaik you need to specify what artifacts you want to upload

humble silo
#

I just didnt want to paste that whole thing in, but i can promise ive done that

#

I had it working pushing to maven central just fine

#

But then not using sonatype and using gradlew publish instead doesnt work

distant sun
#

Ah

humble silo
#

Is there a different task than publish i can use??

#

I can literally pass in the wrong uri for the repo and it still completes, i think its litearlly just not doing anything when i run the task...

#

God i hate gradle sometimes, it gave me no errors but then when i set allow insecure protocols to true it works just fine.... fun

sly sonnet
#

user problem

distant sun
humble silo
#

lol, ya ty for the help

distant sun
#

Next time try to use gradle task --stacktrance, maybe that will help

humble silo
distant sun
#

Uh uh

plain dragon
lavish notch
static zealot
#

interesting

chilly zenith
pastel imp
#

I have an oracle cloud VM and it also has that issue, it also takez like 3-4 seconds to connect

queen saffron
#

oh wait no its not-

#

otherwise the other servers wouldnt work either.

lavish notch
#

*If so, I'm using the direct ip. (not domain)

chilly zenith
#

yea

chilly zenith
#

that's why

lavish notch
#

O.o

#

How am I suppose to connect then?

chilly zenith
#

minecraft is funky, point a domian towards them and join via domain

lavish notch
chilly zenith
#

yea

#

boy what

#

how u using localhost

lavish notch
#

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

#

It was an example.

chilly zenith
#

or whatever the domain is

lavish notch
#

Yes.

chilly zenith
#

ok

#

so point an a record

#

to the server ip

lavish notch
#

I am so confused- since when was a domain faster?

chilly zenith
#

its always been

queen saffron
#

Emmm.

chilly zenith
#

there isnt checks on domains versus ips

queen saffron
#

IP address loads faster than domain name

#

At least the first time

lavish notch
#

Imma spin-up a bungee on another machine, and check.

lavish notch
chilly zenith
#

same machine

#

one has ip one has domain

lavish notch
chilly zenith
lavish notch
#

O.o

chilly zenith
#

set a domain name and it'll load faster

#

the way minecraft works is weird with dns resolving

lavish notch
chilly zenith
#

theres no definite answer, thats the solution to fix it though.

lavish notch
#

Hm.

queen saffron
static zealot
#

what

#

ohh

humble silo
#

In the publishing section of my gradle build file i require a username and password, however the publish task will only get called through github actions where the username and password are stored as secrets and then passed in through args. Since i dont provide these on my local system, anytime i try to run another task it throws an error because the publishing thing is re-evaluated and it cant find a username/password. What is the best way to deal with this? Heres my build file: https://paste.helpch.at/epidizizih.js (ignore the nexus publish plugin, i forgot to take that out)

obtuse gale
#

ah yes

#

uh what I do when the properties are missing is just return

#

throwing an exception seems a bit eh, unnecessarily tough, you're breaking the entire build process

humble silo
obtuse gale
#

as? String ?: return@credentials or smth like that

#

lemme check how I got it exactly

#

yeah just that @humble silo

humble silo
#

oh lol, ok ty

#

WIsh gradle had something more built in for this or smth

half harness
#

Does GSON "instantiate" classes in a way that make lazy properties no longer work? (ex someLazyProperty$delegate is null)
even when marked as transient... ๐Ÿค”

The fix was to just do copy(), but I'm curious why gson broke lazy

obtuse gale
#

it all depends on what lazy properties are compiled to I guess

#

you probably already know this but the reflective adapter basically scrapes the entire class in search for all and every field in a way to be invisible to you, it tries to work like magic, which could be a problem

#

the same applies when it reconstructs them back, it creates an instance (through Unsafe, without calling any constructor, so basically every reference type is null, every numeric type is 0 etc (you can disable Unsafe usage but, I don't know what it does then lol)) and then writes to every field based on their name

half harness
# obtuse gale the same applies when it reconstructs them back, it creates an instance (through...

without calling any constructor, so basically every reference type is null
but if I have ```kt
class Testing {
@Transient
var test: String? = null
fun test() {
println(test)
}

init {
    test = "Abc"
}

}
```and even if I replace test with a class that implements Runnable (to sorta represent a lazy), gson still deserializes the class successfully

(btw here's the decompiled version of SpigetFileJson: https://pastes.dev/5h46StR4M6 - removed some stuff)
here's Testing: https://pastes.dev/9hhyORXcWR with the runnable
and the java decompiled version of it: https://pastes.dev/wbKsgSZ3cK

and both of them initialize the realSize$delegate/test variable in the constructor, so why would only one of them have the variable initialized? ๐Ÿค”

obtuse gale
#

hm

#

I mean when marked as transient it makes sense for it to not be reconstructed, since there is no data to create the field from

#

I'm trying to think why it is being written, lol

inner umbra
#

Emily you see my code from earlier?

obtuse gale
#

I saw something but wasn't able to read it

pastel imp
#

Uh if I am already using an SQL database for example, is worth caching it and updating the database every x minutes or should I just send direct requests to it when needed?

oblique heath
#

how often are you sending those requests

#

and how accurate/reliable do you need the data to be

pastel imp
#

Like, up to date?

static zealot
#

yeah. since if you only update every few minutes, if the server crashes or something there might be some data loss.

pastel imp
#

Cant I just sync data on disable?

#

Also, would like to mention this would be for a public plugin xd

#

If that changes anything

oblique heath
#

even if it syncs on disable your machine can still crash hard enough to ignore it

pastel imp
#

Eh I am just scared its too many requests, since its a public plugin, I have no idea of the usage to expect

oblique heath
#

wait are all the plugins across all the servers making requests to a single database

pastel imp
#

Wdym, I assume thats up to the user to decide?

oblique heath
#

no im asking if you were going to have one database that all of your public plugins talk to

pastel imp
#

Oh no.

oblique heath
#

as opposed to each client having their own

#

okay good lol

pastel imp
#

Lol

oblique heath
#

imo dont overcomplicate for now

#

just make requests as needed

#

use a thread pool manager like hikaricp and you should be fine

#

you dont know what the performance impacts will be like (if any) so there's no reason to spend effort fixing a potentially nonexistent problem

pastel imp
#

Fair enough, just want to make sure so that I dont need to change the whole system afterwards

oblique heath
#

hopefully you design it in a way where you've abstracted this (database interactions) away enough to not have to redesign everything even if you do end up needing caching

obtuse gale
# half harness > without calling any constructor, so basically every reference type is `null` b...

Right so I did a bit of research, by default gson will use the no-args constructor if it's present, if not then it will use Unsafe
In your examples above, your Testing class doesn't have an explicit constructor, so the compiler generates a public no-args one, and that's what gson is using, your Spigetwhatever does have a constructor that takes parameters, means gson can't call it (it doesn't know what to pass) and uses Unsafe to create an instance without calling any constructor, so anything that isn't (de)serialized by gson will stay null/0/false

You can register your own InstanceCreator in the gsonbuilder though to tell it how to.. well guess what it does

pastel imp
#

Idk

old wyvern
pastel imp
#

Just guessing rn

pastel imp
old wyvern
#

Which?

#

You update everytime

#

Not with a delay

#

I said cache whatever you query

pastel imp
#

Confused rn

oblique heath
#

cache after a read but dont wait to update the db on write

pastel imp
#

Ok

obtuse gale
old wyvern
#

When you update, either invalidate related cached values or update the values in the cache directly

pastel imp
#

Okay thx

limber osprey
half harness
#

yep tested with a constructor with a parameter and it is null!

compact perchBOT
#
FAQ Answer:

Looking for discord support?
HelpChat is a Minecraft plugin and development support server and is not affiliated with discord in any way.
If you require support from discord, we recommend you to visit their official support website at https://support.discord.com
On this website, you can read their FAQs, or open a support ticket if necessary.

static zealot
#

smh cole

#

yeah tho

long dagger
#

the image I am using is png, and has a completely transparent background

queen saffron
#

U might wanna recheck it- make sure it works normally aswell, (without the plugin)

candid grotto
#

public void rClickEvent(PlayerInteractEvent e){
if (e.getAction() == Action.RIGHT_CLICK_AIR || e.getAction() == Action.RIGHT_CLICK_BLOCK){
if (e.getPlayer().getInventory().getItemInMainHand().equals(new ItemStack(Material.GOLD_INGOT))){
e.getPlayer().openInventory(Gui);
}
}
}

Does anybody know why it doesn't work? When I click gold ingot, nothing happens

sly sonnet
#

you need to compare item types

pastel imp
candid grotto
#

public void rClickEvent(PlayerInteractEvent e){
if (e.getAction() == Action.RIGHT_CLICK_AIR || e.getAction() == Action.RIGHT_CLICK_BLOCK){
if (e.getPlayer().getInventory().getItemInMainHand().getType().equals(Material.GOLD_INGOT)){
e.getPlayer().openInventory(Gui);
}
}
}

#

still doesn't work

#

and with == as I remember, I tried it yesterday

brittle leaf
#

also please do something like e.getPlayer.sendMessage("test") at the start of the onClick method

#

cus then we can tell if your listening to the event properly

candid grotto
#

and "test" also didn't appear

obtuse gale
#

go ham

#

It just makes it easier for us to see how your code is formatted, and it also doesn't flood this channel

candid grotto
#

Jesus, I thought one time @EventHandler is enough for two methods

#

I fixed it

brittle leaf
#

yeah every method thats supposed to listen to the event requires the @EventHandler annotation.

#

a method doesnt need it if your passing the event result through.

candid grotto
#

I can't put more than one event in only one method under @eventhandler?

rotund egret
#

Due to the way it works no

#

The class can have multiple methods with multiple annotations, but one annotation won't gather all methods in the class

brittle leaf
#

you cannot, but what you want to do may be possible using just one event

#

and other stuff stored elsewhere, just depends what you would want to do

sly sonnet
#

What could be the best way to read/save discord embeds (JDA), so users could easily customize them embeds as they want from some file?

plain dragon
#

I'd say json using something like a custom serializer with SpongePowered/Configurate

potent vine
#

I need deluxemenus for 1.8.8 does someone know best version?

tame bane
#

Anyone know the waving flag unicode?

quiet depot
#

@tame bane \๐Ÿณ๏ธ?

obtuse gale
#

French flag joke

compact perchBOT
#
Deluxemenus - Version List
Spigot:

1.8.8
1.12.2
1.16.5
1.17.1
1.18.1

Version:

v1.10.5
v1.13.4 - Latest
v1.13.4 - Latest
v1.13.4 - Latest
1.13.4 - Latest

rotund egret
half harness
ocean quartz
#

I fucking love all the warning comments, classic groovy lmao

half harness
#

this was before i switched to kts ยฏ_(ใƒ„)_/ยฏ

ocean quartz
#

As for your issue, could it be java version? Idk if that version requires java 17 or not

obtuse gale
#

WG 7.0.7 uses Java 16/17 (can't remember exactly), as the Minecraft versions it works on run on those too

tame bane
#

I'm looking for this flag emoji its a unicode character I know for a fact its just trouble me finding it

#

Found it!

#

โš‘

white bear
#

could anybody who's familiar with sql help me? ๐Ÿ’€

lavish notch
white bear
#

I got it sorted out, thanks!

sly sonnet
#

Found a nice site to share your code with a beautiful design

static zealot
#

haha. cool

wintry plinth
sly sonnet
#

nope, but this has more customizability...

static zealot
#

noyesno

sly sonnet
#

smh

wintry plinth
#

Ohh this is clean

static zealot
#

hmm

#

clean af

#

xD

wintry plinth
#

๐Ÿ˜‚

#

Nord theme is my go-to for everything

ocean quartz
#

Because everyone loves when people send code in image

humble silo
#

GuYssS cAn SomMeonE rEviEW mY CODE??ยฟยฟ

#

Very pretty tho, admittedly

static zealot
#

yeah lol

#

I was thinking, maybe for previews on website

#

but even then the use case would be so small

#

like you don't actually want to put images in documentation

#

so its like just for landing pages or whatever

humble silo
#

I dont know about as image-form tho, idk it seems like you would want people to always be able to copy

static zealot
#

when I talk about landing pages I Just mean those cheesy things to show they know how to code and all they do is like make a variable and set it to company name

#

or like spigot signatures

brittle leaf
#

i love how Float.parseFloat(String) doesnt accept "4" but Double.parseDouble(String) does.

static zealot
#

I feel like that's what this is useful for. lol. make it look nicer

sly sonnet
wintry plinth
#

I like code screenshots, I think sometimes itโ€™s easier to demonstrate an example

#

and hey, if you need the code, Safari on Mac letโ€™s you copy text from an image

static zealot
#

haha

#

funny

potent nest
sly sonnet
potent nest
#

nope

obtuse gale
#

changing color theme doesn't make your code less shit

static zealot
#

L'edOL?

humble silo
#

Yes, that

sick belfry
#

beautiful

wheat adder
#

Donโ€™t mind if I just copy that code real quick

sick belfry
#

I do

wheat adder
#

I wonder if GitHub copilot could right that for me hmm

obtuse gale
#

that makes me want to vomit

sick belfry
wheat adder
obtuse gale
#

too many things

cinder flare
#

emily is actually just allergic to the color purple

obtuse gale
#

bro no

cinder flare
#

and macos window decorations lmao

obtuse gale
#

I love purples!

cinder flare
#

yeah me too

obtuse gale
#

like they're legit my favorite colors, all kinds of shades of purples

cinder flare
#

pink, purple, and blue are so great

#

though blue is undoubtedly my favorite color

sick belfry
#

is my code making you want to vomit

obtuse gale
#

yes

sick belfry
#

:(

cinder flare
#

the C-style variable declaration certainly doesn't help

sick belfry
#

the what

#

I dont know a single fuck about C

#

the syntax ofc

#

ik about its existance

cinder flare
#

declaring all your variables at the top of a function

#

instead of when you use them

sick belfry
#

ohh

#

I like it that way

cinder flare
#

it makes it a lot harder to read your function, since you have to keep referencing the top of it to know what things are

#

as opposed to the normal way, which you see a variable get created, then used

#

it's very easy to logically follow what things are happening

sick belfry
#

here have more

obtuse gale
#

makeDirIfNotExists

#

if ONLY there was a function that did that already

cinder flare
#

so what if you made makeDirIfNotExists a vararg function

sick belfry
#

it is literally a 3 line function

cinder flare
#

make it varargs

wheat adder
#

ducktear took me 20 seconds to understand that function name

cinder flare
#

call it once

obtuse gale
#

guess what mkdirs does

cinder flare
#

at the end

#

lmao

#

i bet mkdirs does the !folder.exists() check

wheat adder
#

Pretty great way imo

#

Just

#

Itโ€™s just there

sick belfry
#

I'm kind of stupid still

#

I dont get the need of varargs

cinder flare
#

so instead of calling it like 10 times

#

you call it once at the end with all the variables you created

sick belfry
#

ahh makes sense now

obtuse gale
#

why the stream stuff uh

cinder flare
#

functional moment

#

but yeah, this could just be a for loop

sick belfry
#

fair too

#

it goes to the other side of the world

cinder flare
#

the enter key does exist

sick belfry
#

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

obtuse gale
#

why are you checking if it exists or not ๐Ÿฅฒ

potent nest
#

old file api

obtuse gale
#

nio pleading_face_with_3_hearts

prisma wave
#

Files relieved

#

File notrelieved

obtuse gale
#

confounded

sick belfry
#

aaaaaaaaaaaaaaaa

static zealot
#

btw. if a parent directory of the folder you're creating doesn't exist it will error out if you use mkdir

sick belfry
#

now what

static zealot
#

so might want to use mkdirs

#

instead

#

deluxemenus moment :kek:

sick belfry
static zealot
# sick belfry I dont get the need of varargs

you should just do this instead:

private void makeDirsIfNotExist(File file1) {
    file1.mkdirs();
}

private void makeDirsIfNotExist(File file1, File file2) {
    file1.mkdirs();
    file2.mkdirs();
}

private void makeDirsIfNotExist(File file1, File file2, File file3) {
    file1.mkdirs();
    file2.mkdirs();
    file3.mkdirs();
}

private void makeDirsIfNotExist(File file1, File file2, File file3, File file4) {
    file1.mkdirs();
    file2.mkdirs();
    file3.mkdirs();
    file4.mkdirs();
}

// ETC...```
#

LMAO

#

and before you ask, yes I've seen code like this

#

lmao

#

I don't unfortunately (I should probably say fortunately) remember where

obtuse gale
ocean quartz
#

Create a compiler plugin to auto generate that at compile time kek

sick belfry
static zealot
#

its in Map.of as well

static zealot
#

why?

ocean quartz
#

Why not?

static zealot
#

true

sick belfry
#

aye tab has support for bombardy's krypton

obtuse gale
#

you can't break blocks but yeah

static zealot
sick belfry
rotund egret
#

You don't actually need to break blocks in minecraft

half harness
#

try if (this.source == null || this.source.isClosed())

#

instead of only checking if it's closed

brittle leaf
#

you cannot pull a method from a null object.

distant sun
violet creek
#

thanks college

candid grotto
#

How to compare getEntity with an arrow properly?

#

"2" doesn't show up when I shoot with a bow

violet creek
#

You are now comparing the entity and the entity type which doesn't make much sense. You should compare the entity type and the type of the entity (e.getEntity).

#

So using java if(e.getEntity().getType() == EntityType.ARROW){ should work

candid grotto
#

yes, thank you!

candid grotto
#

How can I remove the arrow entity as soon as it hits a block?

static zealot
#

ProjectileHitEvent#getEntity#remove

remote goblet
#

funny ai does a funny

wintry plinth
#

Obfuscation

#

:thinksmart:

half harness
obtuse gale
#

-DPaper.IgnoreJavaVersion=true

rotund egret
#

๐Ÿ’€

half harness
tame bane
#

Help please?