#help-development

1 messages · Page 49 of 1

echo basalt
#

mmmmmmmmmmm gum

compact haven
#

^ statistically speaking

echo basalt
#

there was no gum

tender shard
#

it's even ahead of Parks & Recreation

echo basalt
#

rip there was no gum

#

I mean

#

I find peaky blinders like

#

50% weird silence, 50% cool beans

compact haven
#

what you’re all favorites donut

echo basalt
#

well

compact haven
#

forgive grammar my phone is annoying to type on

echo basalt
#

we don't really have donut shops here

#

like

#

we have plain sugar donuts for 35 cents

#

but they're absolute garbage

#

we also have chocolate donuts here for 45 cents each but they all melt in your fingers and it's absolute garbage

tender shard
#

fun fact: germany tried to copy the office, which already is a copy of the original british series. the german one is called "Stromberg" and the first episode is basically a 1:1 copy of the original thing. but then it went into it's own direction and they even made a 100 minute cinema movie out of it

compact haven
#

you don’t have bakery donuts? Tf

tender shard
#

this is the german office, "Stromberg"

tender shard
echo basalt
#

yeah we don't

compact haven
#

that’s sad :(

tender shard
#

well we only have donuts in normal bakeries

echo basalt
#

dunkin donuts is a weird ass concept to me and I'm willing to check it out next year when I visit the states

tender shard
#

yeah it's indeed weird but their breakfast stuff is awesome

echo basalt
#

I also tried starbucks here

#

closest starbucks is like 2 hours away

#

it's decent

#

pricy as hell but decent

tender shard
#

starbucks can suck my gay dick

echo basalt
#

their chocolate cake is nice

tender shard
#

weirdest concept ever

#

who tf pays 7€ for a coffee

echo basalt
#

I mena

tender shard
#

I could buy a whole crate of beer for 7€

echo basalt
#

it's more of a milkshake thing

#

java iced coffee tho

#

it's nice

#

has like tiny bits you can almost chew on

#

think its chocolate not sure

tender shard
#

hm well

echo basalt
#

it's coffee for the people who don't like coffee type deal

#

also a great place to chill

#

coffee here is just tiny and all

#

what if you want a longer thing

tender shard
echo basalt
#

that doesn't make you more energetic than crazy frog

tender shard
#

haha best movie ever

echo basalt
#

hehehehaw

tender shard
#

this really went down in history as the best worst movie ever

buoyant viper
echo basalt
#

I like my coffee like I like my women

#

without other people's dick in it

tender shard
buoyant viper
#

"i dont like coffee"

tender shard
#

😄

echo basalt
#

idek how I'll find a partner later on in life

tender shard
#

well, being a dev doesn't have to mean you don't get laid. unless you do stuff in kotlin

echo basalt
#

I pull up to the programming course and there's like 28 guys and 1 girl

echo basalt
tender shard
tender shard
buoyant viper
#

my comp sci class had like 4 girls including me and then like 20 guys

echo basalt
tender shard
#

exactly

echo basalt
#

there are 2 girls in the entire course compared to the ~110 guys

#

I have more female teachers than I have females in my class it's painful

tender shard
#

since I told everyone I'm gay, I made so much friends with girls, because they simply think "ok this dude won't try to hit on me, he really just wants to be friends"

severe oak
echo basalt
#

also it seems like the more knowledgeable the teacher is, the more freaky he is into crypto

echo basalt
severe oak
#

Must be nice

echo basalt
#

it kinda is

tender shard
echo basalt
#

and kinda isnt

tender shard
#

but it sucks

echo basalt
#

like the top teacher there once approached me

#

"you work with crypto?"

tender shard
#

sometimes you make 200€ on one day, and nothing on the next. you never know how much money you actually make, it's always different every day

echo basalt
#

and started licking all over himself

echo basalt
tender shard
buoyant viper
#

some days u become an overnight millionaire some days ur wallets as dry as the sahara

echo basalt
#

I made 600$ in 56 minutes from a single commision

compact haven
#

What

tender shard
#

I used to make 100k€/year when I was still a lawyer but that's a loooong time ago lol

severe oak
#

I used to do commissions for bedrock edition but no money there so I’m tryna get started in Java edition. I got a couple of years of experience with spigot

echo basalt
#

I got about 5-6 years experience

compact haven
#

how did an hour commission pay 600 usd

echo basalt
buoyant viper
#

made like $200 off of selling a minecraft cheat lolz

#

thats abt it

echo basalt
#

guy went with the 600$ option

compact haven
#

ah okay

tender shard
#

wdym

compact haven
#

wait

echo basalt
#

he only used it in a single server

severe oak
buoyant viper
# tender shard wdym

i made a client for cheating on NoCheatPlus (lol remember when that was relevant) and sold the jar to ppl

echo basalt
#

it's a plugin

#

200$ for the license to use in a single server

#

single seat type thing

compact haven
#

You made a plug-in in an hour and sold it for 200$

tender shard
#

why btw

compact haven
#

tell me where you find such willing clients what the fuck

severe oak
echo basalt
#

they contact me

tender shard
echo basalt
#

nowadays people just contact me

#

offering contracts

buoyant viper
#

god i wish someone would find me

echo basalt
#

had a guy offer me a contract for 40$/hr

buoyant viper
#

my website is out there 💔

echo basalt
#

to work on my own public plugin

compact haven
#

no joke

echo basalt
#

or well, a fork of it

tender shard
#

this is my main source of income lol

#

at least right now, until I got my flying insctructor license

compact haven
#

does it work well

river oracle
echo basalt
#

this is my main source of income

#

not the group

#

but the text above it

tender shard
river oracle
#

that sucks

compact haven
#

that’s it I’m working on plugins to release

#

and my website

echo basalt
#

I get to pick and choose what commissions I Want

tender shard
#

yes it's annoying. especially people who demand an answer within an hour

echo basalt
tender shard
#

they don't understand that I have to sleep sometimes

river oracle
#

After I'm done working for the server I work for atm I might conisder comissions now that I had my parents set me up paypal and such

#

I can also accept crypto lol

echo basalt
#

if a customer asks a question via DM I reply within 5 minutes

tender shard
severe oak
echo basalt
#

I wake up in the middle of sleep

#

to reply

buoyant viper
#

it wasnt the prettiest but ||https://youtu.be/IgKpRP4w-Js|| (mods pls no ban im just showing old work) @tender shard

Like and Subscribe for more Hacking Content.

Finally the developer added Scaffold!

Leave a like if you liked the video!
Subscribe to support me and my channel!

Client -
Name - Hope 4.7 UPDATE!
Download - Buy Hope for 15$ contact me or alerithe on discord for info | @Alerithe#6319 My discord Smart_ass_LOL#2457
Developer - Alerithe
Developer...

▶ Play video
tender shard
echo basalt
#

I got my phone under my pillow

compact haven
#

probably not worth your time anyways if they’re like that

#

they’ll make more trouble than it’s worth

echo basalt
#

some kids are like

#

"I want this within a day"

#

and ping you every 3 hours for an update

echo basalt
#

on a 5$ commission

compact haven
#

LOL

tender shard
#

and they want it to work in 1.8 - 1.19

echo basalt
#

1.7 - 1.19

#

and support future versions

#

with async blocks

#

lagless

tender shard
#

oh yes, async

#

ofc

severe oak
#

I got paid $60 for a commission and then my client ghosted me. Made 0 sense

#

Free money though

tender shard
#

okay now let me tell you a story

echo basalt
#

take the cash and move on

compact haven
#

wait

#

you take cash before developing? Wut

echo basalt
#

you take upfront for annoying clients

compact haven
#

in full*

echo basalt
#

or for very low budgets

compact haven
#

ah

echo basalt
#

higher budgets you take smaller cuts as you go

#

I have a high budget plugin that has paid me a percentage of the budget every meeting to avoid banks getting too suspicious

tender shard
#

when I was still a lawyer, I once made 1500€ or so within an hour. But I had to be at the court within 10 minutes or so, so I totally speeded. police caught me doing 140kmh where only 70kmh is allowed. I had to pay over 1000€ for the traffic ticket. But, and that's the funny thing - I could deduct that from the tax because obviously I was only going so fast to do my job. Oh, yeah, and when I arrived at the court, it was already too late

river oracle
#

My first plugin sold for 20 dollars lol

echo basalt
#

imagine pulling up a lawyer in a traffic spot

tender shard
#

why not

echo basalt
#

my first commission was for 20$

#

took me a week

#

second was for like 5$

#

took me a week

tender shard
#

whut

echo basalt
#

I did 5$ jobs for way too long

tender shard
#

you should adjust your prices lol

river oracle
compact haven
#

he definitely did already lol

river oracle
#

First java project as well

echo basalt
#

nowadays I charge like 50$ minimum because I won't bother with stupid jobs

#

anything below 50$ will be outsourced to my IRL best friend

#

that has like 4 months of spigot experience

buoyant viper
#

what about $49.99

tender shard
#

I usually simply tell people "it's 25€/hour and no, I have no idea how long it will take" and then they either accept that, or leave my server again

compact haven
#

rofl

echo basalt
#

Yeah I charge similarly for longer projects

ornate patio
#

what are y’all talking about

echo basalt
#

"It's 25-35$/hour, tracked with wakatime"

echo basalt
buoyant viper
#

making shmoney

ornate patio
#

selling plugins?

compact haven
#

Doing MC development as a job

echo basalt
#

that too

#

yaeh

ornate patio
#

that’s me rn on Fiverr lol

echo basalt
#

fuck fiverr

#

not worth it

river oracle
#

fiverr lmfao

buoyant viper
#

im like a jack of no trades master of none 😢

river oracle
#

its better to just build a name for yourrself buy putting out good shit and building a community who just come to you for plugins

ornate patio
#

it’s not worth it in the beginning but when you start getting more customers i think it’s pretty good

echo basalt
#

I wouldn't consider myself as noteable within the community

compact haven
#

illusion, what's your retention rate if you had to guess

echo basalt
#

depends

#

shitty customers have barely any retention

tender shard
#

my normal commissions are roughly 20-100€. if something takes longer than 5 hours to do, I usually don't accept it in the first place anyway

compact haven
#

o wuts that

echo basalt
#

imagine having a tracking system

#

I just have a trello board

tender shard
#

how are you sending invoices then? o0

compact haven
#

I use clockify for my current project, but it'd be impossible to use that for commissions where there's too many new clients and not enough old ones

tender shard
#

don't your clients want invoices, so they can tax deduct it?

echo basalt
#

most people just send the money as G&S

tender shard
#

G&S?

echo basalt
#

Goods & Services

buoyant viper
#

goods and services

compact haven
#

goods & services

#

paypal

echo basalt
#

those who want invoices get a paypal invoice

tender shard
#

how else would they send it

echo basalt
#

as I have a business account

echo basalt
buoyant viper
#

gotta use friends and family so u dont file it for taxes

#

ezpz

echo basalt
#

I just refuse because seller protection

#

but yeah

tender shard
echo basalt
#

I just track my services with a basic trello board

echo basalt
tender shard
#

speaking about trello...

echo basalt
#

as a seller, I can issue a refund and it will even refund the paypal tax

compact haven
#

or is that in like due-payment status

echo basalt
compact haven
#

ah ok

echo basalt
#

Once the customer moves on with the project, I archive it

#

It's basically past any testing phase

tender shard
echo basalt
#

I also make a single card per project instead of doing like alex and putting a card per feature

compact haven
#

sinec you have several projects you're working on, do you like stop after a few hours, take a break & start working on something else?

echo basalt
#

the project can have a feature of checklist

carmine nacelle
#

I come yet again with a stupid question

echo basalt
#

I work on what I feel like working on the moment

river oracle
echo basalt
#

prioritizing tasks with sooner deadlines

carmine nacelle
#

I had this working before but I forgot how.

            Beehive beehive = (Beehive) block.getState();
            PersistentDataContainer container = beehive.getPersistentDataContainer();

            List<UUID> currentStoredUUIDS = pdcManager.getStoredBeeUUIDS(container);

            currentStoredUUIDS.add(beeEnteredHive.getUniqueId());
            pdcManager.storeBeeUUIDs(container, currentStoredUUIDS);

            beehive.update(true);
echo basalt
#

he forgor

carmine nacelle
#

This isnt actually updating the pdc of the block in the physical world

carmine nacelle
#
    public void storeBeeUUIDs(PersistentDataContainer container, List<UUID> beeUUIDs) {
        NamespacedKey beeUUIDKey = new NamespacedKey(cadiaBees, "stored-bee-uuids");
        container.set(beeUUIDKey, PersistentDataType.STRING, Arrays.toString(beeUUIDs.toArray()).replace("[", "").replace("]", ""));
    }
river oracle
#

if you had it working previously check your file history for ap revious version

#

iirc intellij has that

#

even vsc has that so I highly doubt you would be unable to access such info

tender shard
carmine nacelle
#

because i want it to be stored like uuid,uuid instead of [uuid,uuid]

river oracle
#

presumably

compact haven
#

there is no end user

#

this is the PDC

river oracle
#

oh

tender shard
river oracle
#

then why tf bother

compact haven
#

alex being shameless

river oracle
#

shameless plug

carmine nacelle
#

What exactly am I looking for here

tender shard
#

well if I see someone storing UUID arrays and then manually removing the [, ] part, it's safe to assume that I'll send my library instead lol

river oracle
#

it allows you to store more data types

#

e.g. arrays other misk objects etc

#

that way you don't have to do string fuckery

tender shard
carmine nacelle
#

ughhhh...

tender shard
#

true lol

carmine nacelle
#

I dont like using tons of extra libraries.. 😩

tender shard
#

well ofc you don't have to

#

but it's only like 20kb

river oracle
#

I don't care how many libraries I have as long as I actually use most of what it adds lol

compact haven
#

^ that's why i dont like monolithic libraries

#

like set to do 1 thing for me, and do it well

tender shard
#

damn wtf, why is it 223 kb

#

OOOOH

river oracle
#

Funnily enough I actually don't have one put together lib I use in my projects I have 5 smaller ones lol

tender shard
#

THATS THE JAVADOCS

river oracle
#

bakka

tender shard
#

yeah it's 36kb in total

compact haven
#

I stopped hosting nexus

river oracle
compact haven
#

I'm hosting reposilite now

echo basalt
#

man even has his own maven repo

compact haven
tender shard
echo basalt
#

I don't want to pay monthly costs

river oracle
echo basalt
#

so I don't see the need for servers and all that enthusiast stuff

compact haven
#

what the fuck

#

why is my cert not valid

tender shard
carmine nacelle
#

Got an example of how I should do this with the library @tender shard ?

#

I see the ones on github but

buoyant viper
river oracle
#

bruh even my server has certs lol

echo basalt
#

11 months and already messing with nms sheesh

river oracle
#

I've yet to setup most of it tbh lol I've been to busy

echo basalt
#

I feel like I wasted my time now

river oracle
tender shard
river oracle
#

I've just not had time to update

echo basalt
#

😭

buoyant viper
echo basalt
#

I've been making plugins for 5-6 years and messing with code for about 11 years now

#

and I'm still trash

buoyant viper
#

dont ask why it redirects

river oracle
tender shard
#

e.g. like this

carmine nacelle
#

But for setting

river oracle
#

I've yet to touch bytecode as well, but I plan to do that and contribute to optic's libs

tender shard
#

but ofc you'd use asArray for arrays, and DataType.UUID instead of DataType.ITEM_STACK

carmine nacelle
#
container.set(beeUUIDKey, DataType.asArrayList(DataType.UUID, beeUUIDs));
compact haven
#

all right k3s didnt properly unapply something

tender shard
#

so beeUUIDs should be outside of the ) bracket

#

container.set(beeUUIDKey, DataType.asList(DataType.UUID), beeUUIDs);

carmine nacelle
#

thats a List<UUID> btw

tender shard
#

like this

compact haven
#

oh

#

@river oracle you're miles

tender shard
#

yes

compact haven
#

I was so confused why you linked some random site

river oracle
#

yes

compact haven
#

I thought it was because of the .sh domain

river oracle
#

thats my site

carmine nacelle
#

@tender shard

#

I am confusion

river oracle
tender shard
carmine nacelle
#

bet

echo basalt
compact haven
#

rofl

river oracle
compact haven
#

I was lucky to know people who were better than be at java as well to start, but past a certain point I just stopped asking them (fell out of touch)

carmine nacelle
#

So, .... this to check if it has it?

if(container.has(beeUUIDKey, DataType.UUID)) {

@tender shard

compact haven
#

now I've got a lovely community @Dyescape that teaches me kubernetes and microservice architecture

#

it's lovely

carmine nacelle
#

even though its an array of it

tender shard
carmine nacelle
#

or this if(container.has(beeUUIDKey, DataType.asList(DataType.UUID))) {

#

bet

tender shard
#

yep.

#

this one

carmine nacelle
#

wow

buoyant viper
carmine nacelle
#

this is almost as easy as my ex

tender shard
#

lol

#

my exes were kinda hard to deal with

#

or maybe it was my fault

#

idk lol

compact haven
#

one gave you 2 STD's

tender shard
#

that wasnt my ex

carmine nacelle
#

👀

compact haven
#

well

#

close enough

tender shard
#

that was just a dude I messed around with

#

we never were together

carmine nacelle
#

😐

echo basalt
#

never had any exes

#

because I've been coding since I was young as shit

carmine nacelle
#

me too, at 12

echo basalt
#

me since I was like 6

tender shard
#

damn I still have his instagram

echo basalt
#

I mean

#

I was the ladiesman in 3rd grade

river oracle
carmine nacelle
#

started coding bukkit stuff at 12

echo basalt
#

I've had 1 girl ask me out

carmine nacelle
#

and I still suck ass at 22 😭

echo basalt
#

she was special needs and I didn't like her

tender shard
#

lol

echo basalt
#

it really felt like she was being pressured

#

but yeah

compact haven
#

I started coding early as well

tender shard
#

so did you go out with her, or not

echo basalt
#

not really no

carmine nacelle
#

im gonna bookmark that repo 👀

#

BROOO

#

THE FIRST PIC

tender shard
#

it doesnt get any better

buoyant viper
#

u let That hit u?

echo basalt
#

he looks sinister

tender shard
tender shard
#

maybe imma delete that link

#

didnt want to publicly shame him lol

compact haven
#

lol

carmine nacelle
#

too late

echo basalt
#

creepy mf

tender shard
#

well well well

#

this dude was a fucking jerk

echo basalt
#

who could've guessed

tender shard
#

he was cute though 😢

echo basalt
#

oh hell naw

river oracle
tender shard
#

well instagram is different from real life

river oracle
#

his instagram makes him look ugly

tender shard
#

also y'all can't participate anyway unless you're into dudes

carmine nacelle
#

bro im straight and that dude is decent looking tf

echo basalt
#

I call myself ugly but I'm happy I look nowhere near as bad as that guy

river oracle
tender shard
#

THATS WHAT I SAID

river oracle
#

he looks like he'd be a dick

tender shard
#

yeah true

#

anyway let's stop stalking him haha

#

it was a mistake to send that link lmao

compact haven
#

rofl

river oracle
#

xD

carmine nacelle
#

Why is it so frickin hard to update a block's pdc

#

like bruh..

compact haven
#

we can talk about your commissions

tender shard
#

print out the value you get in console

compact haven
#

if u deny it and they say "know anyone else" you've got someone in mind 😉

river oracle
carmine nacelle
#
   Beehive beehive = (Beehive) block.getState();
            PersistentDataContainer container = beehive.getPersistentDataContainer();

            List<UUID> currentStoredUUIDS = pdcManager.getStoredBeeUUIDS(container);

            currentStoredUUIDS.add(beeEnteredHive.getUniqueId());
            pdcManager.storeBeeUUIDs(container, currentStoredUUIDS);

            beehive.update(true);
quaint mantle
#

How would I minus 1 from an int?

I have a countdown that is counting down but it's stuck on 15 so it keeps saying "15 seconds left". So I want to minus one from countdownTimer after it says that.

carmine nacelle
#

It just isnt saving anything

#

its null

undone axleBOT
echo basalt
#

--

tender shard
river oracle
#

easiest learn java of my life

echo basalt
#

google shit before asking here

compact haven
#

lmfao

carmine nacelle
#

The key's value or key itself I guess

echo basalt
#

asking here should be last resort

carmine nacelle
#

its just not saving

quaint mantle
compact haven
#

that's something that's kept me afloat, learning to google

echo basalt
#

my bricklayer uncle mf decided to pull up at my house at 7:30am wtf

tender shard
#

block's PDCs are very weird. I'd suggest you to use my CustomBlockData lib to save information in blocks instead

carmine nacelle
#

bro

tender shard
carmine nacelle
#

LMAO

river oracle
tender shard
#

that's why I made those libs lol

carmine nacelle
#

but how the fuck

#

do u make something not possible, possible

river oracle
tender shard
#

as explained on spigot:

#

lol don't call me daddy

#

rather, call me Stepsister

compact haven
#

ah that's interesting

#

oh

carmine nacelle
#

hol up

compact haven
#

I meant the chunk PDC abuse

#

not the name

carmine nacelle
#

uh huh

compact haven
#

I call alex by bae only

tender shard
carmine nacelle
#

but like

compact haven
#

mm it's very neat bae

carmine nacelle
#

how do you set it back to the block tho

tender shard
#

I had this idea in a dream

tender shard
carmine nacelle
#

wtf

tender shard
#

the lib does that automatically

carmine nacelle
#

wizard?

tender shard
compact haven
#

ah bae

tender shard
#

it calls this method everytime the PDC is changed

compact haven
#

why is nexus not in a sub domain

carmine nacelle
#

i think i love you

tender shard
compact haven
#

:(

tender shard
#

idk why

compact haven
#

it's an independent app

carmine nacelle
#

anyone here listen to edm?

tender shard
carmine nacelle
#

u know modestep?

echo basalt
#

sometimes

tender shard
compact haven
#

yes

#

but what if you move nexus to a different machine in the future

#

now you cant

tender shard
#

I can

compact haven
#

no u cant

tender shard
#

everything I run is in its own container or VM anyway

#

the "web" thing is just a proxy to forward to the docker VM

compact haven
#

hub.jeff-media will point to server1 which is directed to the VM in that server

compact haven
#

but what if u have nexus off of the server of your hub

carmine nacelle
#

@tender shard

            PersistentDataContainer container = new CustomBlockData(block, cadiaBees);

            List<UUID> currentStoredUUIDS = pdcManager.getStoredBeeUUIDS(container);

            currentStoredUUIDS.add(beeEnteredHive.getUniqueId());
            pdcManager.storeBeeUUIDs(container, currentStoredUUIDS);

So is this all id need then?

tender shard
compact haven
#

wat

compact haven
#

you only have 1 dedi

#

do you have multiple IPv4 for that dedi

carmine nacelle
#

this is

    public void storeBeeUUIDs(PersistentDataContainer container, List<UUID> beeUUIDs) {
        NamespacedKey beeUUIDKey = new NamespacedKey(cadiaBees, "stored-bee-uuids");
        container.set(beeUUIDKey, DataType.asList(DataType.UUID), beeUUIDs);
    }

my storeBeeUUIDs btw

#

it doesnt return anything idk if that matters.

compact haven
tender shard
compact haven
#

so like if you want to move nexus off of that dedi, u cant without moving the other hub.jeff-media stuff

tender shard
compact haven
#

what

tender shard
#

the nexus thing runs on 10.0.0.104:8002

buoyant viper
#

not even nginx 🙄

compact haven
#

well yes you're capable of proxying it from server1

#

but why

tender shard
#

because I don't wanna handle getting SSL certificates on 10 different servers

compact haven
#

like this is my current setup

tender shard
compact haven
#

well 🤷‍♂️

#

then you cant scale

#

because traffic still going through server1

tender shard
#

it has to, anyway

compact haven
#

heh

tender shard
#

everything runs through the reverse proxy so I can do SSL offloading or however it's called in one place

#

I don't want 10 different servers to need to get new LE certificates every 3 months

buoyant viper
compact haven
#

well that's the benefit of load balancers but, you could also just rsync the cert directory

tender shard
buoyant viper
#

why is smp not just cnamed? i originally had it on a diff server

carmine nacelle
#

What's the latest version of maven shade?

tender shard
#

or 3.3.0?

#

I always use 3.3.0

carmine nacelle
#

ok thx stepsister

compact haven
tender shard
#

np stepbro ❤️

buoyant viper
#

3.3.0

tender shard
#

ah okay then 3.3.1-SNAPSHOT is the "latest"

river oracle
#

I use maven shade 3.2.3 damn I'm old timer

tender shard
#

3.2 doesn't support java 17

river oracle
#

whut

#

how

tender shard
#

it works fine with java 17, buuuuut

#

you cannot shade dependencies that use java 17

compact haven
#

heh

river oracle
#

hm

compact haven
#

ok well ima go back to bed

tender shard
#

so yeah, just use 3.3.0 and everything'll work fine

compact haven
#

gn peoples

river oracle
#

my shade setup has been working really well I really don't wanna change it :P

tender shard
compact haven
#

yeah now im staying

tender shard
#

jk, have a good night ❤️

compact haven
#

nah jk lmao, ty alex, gn

buoyant viper
versed violet
#

what's the difference between EntityPickupItemEvent and PlayerAttemptPickupItemEvent

compact haven
#

dont bring the liqour to bed tonight

carmine nacelle
#

3.3.0 not found

#

sadge

buoyant viper
#

Scala >

tender shard
#

is that new?

#

the Attempt event

carmine nacelle
#
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-shade-plugin</artifactId>
                <version>3.3.0</version>
                <executions>
                    <!-- stuff here -->
                </executions>
            </plugin>
tender shard
#

never seen that

versed violet
#

i think its only on paper

carmine nacelle
#

Is this the wrong plugin lmao

compact haven
#

oh sorry just need to say

buoyant viper
#

its a paper event yeah

compact haven
#

that's something that infuriates me with maven

#

sometimes official apache plugins

#

just like disappear from maven central

#

and I can't import them

#

or use certain versions that should exist

#

it's so weird

carmine nacelle
#

looks like the latest it can find is 3.2.4

#

kinda cringe

compact haven
#

3.3.0 definitely exists

#

but you can't import it

buoyant viper
#

swear to god cloudflares security check page just gets worse and worse

desert frigate
compact haven
#

his name is alex

#

the Jeff Media is erroneous

#

no clue why he chose it

buoyant viper
carmine nacelle
#

@tender shard getting a classnotfound for customblockdata

tender shard
carmine nacelle
#

I even did this

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-shade-plugin</artifactId>
                <version>3.2.4</version>
                <executions>
                    <!-- stuff here -->
                </executions>
                <configuration>
                    <relocations>
                        <relocation>
                            <pattern>com.jeff_media.customblockdata</pattern>
                            <shadedPattern>YOUR.PACKAGE.customblockdata</shadedPattern>
                        </relocation>
                    </relocations>
                </configuration>
            </plugin>
tender shard
winter scarab
#

how much memory do persistent data containers take up? could it be a worry if, say 50 entities are storing 2 pieces of data

carmine nacelle
#

oh...

#

LMAO

winter scarab
#

is there a point i should worry?

compact haven
#

no

carmine nacelle
#

didnt even notice that...

tender shard
#

the PDC takes exactly as much space as storing the information in actual NBT would do

winter scarab
#

so practically nothing

compact haven
#

yes

tender shard
#

yeah well, it takes as much space as the actual data has

winter scarab
#

well a uuid

#

so small

compact haven
#

16 bytes

tender shard
#

a UUID is 2 longs

compact haven
#

plus the name maybe 10 bytes

tender shard
#

so, nothing to worry about, at all

compact haven
#

so 26 whopping bytes

winter scarab
#

got it thanks

tender shard
#

np

#

unless you wanna store megabytes of data, it's not a problem at all

winter scarab
#

yeah not megabytes

tender shard
#

a boolean here and there, maybe a spicy string, and a chicken, np lol

#

sorry I'm drunk

winter scarab
#

🥸

carmine nacelle
#
 <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-shade-plugin</artifactId>
                <version>3.2.4</version>
                <executions>
                    <!-- stuff here -->
                </executions>
                <configuration>
                    <relocations>
                        <relocation>
                            <pattern>com.jeff_media.customblockdata</pattern>
                            <shadedPattern>com.squallz.customblockdata</shadedPattern>
                        </relocation>
                    </relocations>
                </configuration>
            </plugin>
#

so uh..same error lol

river oracle
lost matrix
carmine nacelle
#

I click "install"

#

😂

tender shard
carmine nacelle
#

WHAT

tender shard
compact haven
#

oh

tender shard
undone axleBOT
compact haven
#

how did I fuck that up

river oracle
#

your stupid

carmine nacelle
#

wait, so I can literally be in your walls?

compact haven
#

thank you for correcting me

tender shard
compact haven
#

96 bytes* ahem

carmine nacelle
#

🤓

river oracle
tender shard
carmine nacelle
#

hold on i gotta get it again

river oracle
tender shard
river oracle
#

NO

#

FUCK goodbye

tender shard
#

too laaaate

river oracle
#

I might see leroy jenkins if he shows up and that mfing thing scares me

carmine nacelle
lost matrix
#

Shouldnt burchard be asleep at this time?

tender shard
carmine nacelle
#

oh boy

buoyant viper
tender shard
carmine nacelle
#

enjoy

tender shard
carmine nacelle
#

omg

#

hol up

#

i did it wrong

tender shard
buoyant viper
tender shard
carmine nacelle
#

wait

lost matrix
tender shard
#

or eastern?

carmine nacelle
#

what do I put in there?

buoyant viper
#

eastern

#

west coast itd be like 11pm rn

tender shard
lost matrix
#

XD

compact haven
#

anyways I meant if the uuid was stored as 2 longs or as a byte array, would be 16 bytes of data; then 10 utf8 characters would be 10 (now 80) so 26 bytes (96 bytes*)

tender shard
#

I mean, I woke up at 5 am today

compact haven
#

ok now I’m leaving bye

carmine nacelle
#

what do I need to put in shade executions?

tender shard
tender shard
compact haven
#

which has overhead

carmine nacelle
#

I-

compact haven
#

don’t worry about it

#

negligible bytes

tender shard
#

oh wait

#

it's not explained there

#

my bad

carmine nacelle
#

yeahhh

tender shard
#

Im sorry, I expected people to know this stuff already, which is a stupid assumption

#

because 90% of people don't know how it works, fair enough

#

1 min pls

carmine nacelle
#

nah i dont dive deep into everything unless i have to

tender shard
#

you need this in your <plugin> thing

#
                <executions>
                    <execution>
                        <phase>package</phase>
                        <goals>
                            <goal>shade</goal>
                        </goals>
                    </execution>
                </executions>
#

after you added this, run "clean", then "install" or "package" again

#

then it should hopefully work

carmine nacelle
#

Unsupported class file major version 61

tender shard
#

ah yeah

#

that's because your shade is too old for your current java version

#

1 sec

#

in line 98 of your pom

#

change "3.2.4" to "3.3.0"

carmine nacelle
#

bro wtf it wasnt finding 3.3 earlier but now it is?? 💀

tender shard
#

no, ealier you tried to use 3.3.1

#

just set it to 3.3.0 and it should work :3

carmine nacelle
#

uh oh stinky

#

So uh

tender shard
#

okay what's the problem now? 😄

carmine nacelle
#

waittt

#

wuddafuq

tender shard
#

I see. you shaded stuff you don't wanna shade

#

please send your updated pom again

#

?paste

undone axleBOT
carmine nacelle
#

sounds about right

#

should just have to set the scope of my other plugin to provided

tender shard
#

also, what's CadiaBees line 103 ?

tender shard
#

you should have EVERY dependency as "provided" unless you are sure you wanna shade it

#

e.g. MorePersistantDataTypes and CustomBlockData should be <scope>compile

#

but basically everything else should be <scope>provided

carmine nacelle
#

I didnt have the shade plugin before so that issue didnt come up

tender shard
#

exactly

carmine nacelle
#

whats the diff between shade and compile?

tender shard
#

there is no "shade" scope

#

you mean the difference between "provided" and "compile", right?

carmine nacelle
#

so compile is shade

river oracle
#

Compile just means that's when the dependency is needed essentially

tender shard
#

compile basically means "shade it", yes

carmine nacelle
#

Well I know provided means its like.. already expected to be there in a jar or something right

#

like we provide it alrdy..

tender shard
#

"provided" = We don't need to shade. The jar that runs spigot provides this already (e.g. another plugin)
"compile" = We actually put this into our own .jar when compiling.

carmine nacelle
#

alright cool

tender shard
#

so, if you access any other plugins, in 99% of times you make it "provided". E.g. You wanna ask WorldGuard "Is there any region at location X,Y,Z?" Then we assume that the server runs WorldGuard anyway, so it's "provided"

#

However, my CustomBlockData library, you wanna shade that, because we cannot assume that it's already there anyway - you gotta "compile" it into your own plugin

carmine nacelle
#

gotcha

#

thx for the explanation

tender shard
#

np! It's a bit confusing because gradle uses similar terms that mean a whole different thing

#

in gradle, what maven calls "provided" is called "compileOnly", and what maven calls "compile", is called "implementation"

carmine nacelle
#

why cant they all just use the same terms reee

tender shard
#

yeah agree

#

idk

#

the gradle devs are a bit weird in general lol

buoyant viper
#

graldes a bit groovy if u ask me

severe oak
#

who uses gradle anways

tender shard
#
#

which is kinda bullshit if you ask me, but noone asked, thank god haha

tender shard
#

papermc for example does

severe oak
#

shameful

tender shard
#

gradle is perfectly fine. it's basically just the answer to questions noone has ever asked

carmine nacelle
#

why do bees have to be so damn complex

tender shard
#

e.g. if you think "I need some volatile environment to build my stuff", then maybe you just did something wrong

ornate patio
#

should I make a custom player name library

carmine nacelle
#

like a bee will just RANDOMLY DECIDE TO CHANGE HIVES

ornate patio
#

a simple one to just change the text above players

buoyant viper
#

whats all the buzz about?

tender shard
carmine nacelle
#

fuck em

tender shard
buoyant viper
#

DO NOT FUCK THE BEES

tender shard
#

fuck off

#

haha

chrome beacon
#

You can just write your own bee goals

tender shard
#

I am bee myself

carmine nacelle
#

i still havent figured out how to even see what ones its running

#

goals are complex man.

chrome beacon
#

I've done modding before so I know how to make my own goals for mobs

#

Anyways I'm at my PC now so I can help you

tender shard
#

if you wanna add your own goal, then use a very low priority (e.g. Integer.MIN_VALUE) and decide through canUse() whether it runs or not

carmine nacelle
#

like what triggers them to move hives

chrome beacon
#

Let me check what goals the bee has

carmine nacelle
#

I can set my bee's hive location, right

#

then it goes and dances around the flower

tender shard
#

I think I'm CraftBeeSexual

carmine nacelle
#

and doesnt go back to its hive

#

so I punch it which I have a debug on to broadcast its hive X

#

and it says its hive is null

#

BITCH I SET IT WHEN IT SPAWNED

tender shard
#

hm

#

that is weird

#

are you 100% sure that the location you use for setHive actually has a hive?

chrome beacon
#

remainingCooldownBeforeLocatingNewHive

#

That's a variable

tender shard
#

whut

#

wtf is that for

carmine nacelle
#

💀

chrome beacon
#

ok nvm

#

It will only use that if it doesn't have a hive

#

It will drop the bee hive if it goes further than 32 blocks away

#

So you need to make sure it doesn't do that

carmine nacelle
#

ok so i need to make sure it doesnt go more than 32 blocks away.

#

but how

ornate patio
carmine nacelle
#

other than listening to its move event and checking if its distance is 31, then teleport it back lmao

tender shard
carmine nacelle
#

heh

tender shard
#

another fun fact: this always prints -2

carmine nacelle
#

tf

chrome beacon
# carmine nacelle other than listening to its move event and checking if its distance is 31, then ...
    protected PathNavigation createNavigation(Level world) {
        FlyingPathNavigation navigationflying = new FlyingPathNavigation(this, world) {
            public boolean isStableDestination(BlockPos blockposition) {
                return !this.level.getBlockState(blockposition.below()).isAir();
            }

            public void tick() {
                if (!Bee.this.beePollinateGoal.isPollinating()) {
                    super.tick();
                }

            }
        };
        navigationflying.setCanOpenDoors(false);
        navigationflying.setCanFloat(false);
        navigationflying.setCanPassDoors(true);
        return navigationflying;
    }

Override this method and put a distance check in that isStableDestination

carmine nacelle
#

Is that stock mc code..?

chrome beacon
#

Yes

tender shard
#

yes

#

that's from the NMS bee class

chrome beacon
#

Actually just use isTooFarAway(blockposition)

carmine nacelle
#

ok I added it to my custom class and set it to override

chrome beacon
#

and add that to the if check

carmine nacelle
#
            public void tick() {
                if (!Bee.this.beePollinateGoal.isPollinating()) {
                    super.tick();
                }

            }
#

this if...?

tender shard
#

another fun fact: the @Override annotation is basically totally useless, it's only there are reminder to yourself "okay this method exists in a super class too", but it doesnt actually do anything

carmine nacelle
#

also, 'net.minecraft.world.entity.animal.Bee' is not an enclosing class

ornate patio
chrome beacon
tender shard
carmine nacelle
#

ah..

ornate patio
carmine nacelle
#

bruh

tender shard
carmine nacelle
#

imagine if bees could open doors

#

that would be terrifying

tender shard
#

lol

carmine nacelle
severe oak
tender shard
#

there's a goal for that already

carmine nacelle
#

import org.bukkit.craftbukkit.v1_19_R1.entity.CraftBee;
import net.minecraft.world.entity.animal.Bee;

#

my imports

tender shard
ornate patio
tender shard
#

add this to the bee to make them able to open doors

carmine nacelle
#

LMAO

severe oak
#

For once in my life, my code works on the first try

tender shard
#

I just wanted to say, it doesn't "actually" do anything. but yeah, it throws errors and make your code not compile if you try to "@Override" something that a super class doesn't declare, that's true

carmine nacelle
#

So I wonder why its saying 'net.minecraft.world.entity.animal.Bee' is not an enclosing class

#

its

#

using the wrong import huh

undone axleBOT
ornate patio
carmine nacelle
#

oh god

chrome beacon
#

Are you extending CraftBee instead of NMS bee

carmine nacelle
#

incoming judgement

#

some stuff isnt even used im gonna remove it

tender shard
#

you are not extending the vanilla / NMS Bee class

carmine nacelle
#

fuck me

tender shard
#

how old are you?

carmine nacelle
#

22

tender shard
#

okay then maybe I would

#

anyway

carmine nacelle
#

LMAO

ornate patio
#

👀

tender shard
#

do you got any class called "bee" in the same package

carmine nacelle
#

I do not

tender shard
#

hmmm

#

I wonder, because

carmine nacelle
#

these are my options

tender shard
#

it says "extends Bee", but you don't even import any "Bee" class

chrome beacon
#

They do

tender shard
#

oooh

#

yeah

severe oak
#

👁️👄 👁️

tender shard
#

I am blind

#

sorry

#

then I have no clue what the fucking problem is, lol

carmine nacelle
#

not an enclosing class... 🤔

tender shard
#

send the full stacktrace again pls

carmine nacelle
#

I cant even compile it

tender shard
#

hmmm

#

then send the full compiler error pls

carmine nacelle
#
    protected PathNavigation createNavigation(Level world) {
        FlyingPathNavigation navigationflying = new FlyingPathNavigation(this, world) {
            public boolean isStableDestination(BlockPos blockposition) {
                return !this.level.getBlockState(blockposition.below()).isAir();
            }

            public void tick() {
                if (!Bee.this.beePollinateGoal.isPollinating()) {
                    super.tick();
                }

            }
        };
        navigationflying.setCanOpenDoors(false);
        navigationflying.setCanFloat(false);
        navigationflying.setCanPassDoors(true);
        return navigationflying;
    }

its erroring on the "!Bee.this"

chrome beacon
#

Yeah the problem is the beePollinateGoal

carmine nacelle
#

not an enclosing class: net.minecraft.world.entity.animal.Bee

#

thats it

chrome beacon
#

It has no access modifier so you can't access it

carmine nacelle
#

im suing

#

this is a pain in the beehind

tender shard
chrome beacon
#

No

carmine nacelle
#

if I click on the "isPollinating" it jumps to the bee class

#

so it knows it exists

chrome beacon
#

only if it's a subclass in the same package

carmine nacelle
#

its just trolling me

tender shard
#

oh yeah

#

the fucking package

#

right

#

just for fun, try to change your CustomBee's package name to net.minecraft.world.entity.animal

#

does it compile now?

carmine nacelle
#

Package name 'net.minecraft.world.entity.animal' does not correspond to the file path 'com.squallz.cadiabees.objects'

tender shard
#

yeah you also gotta "move" the file

carmine nacelle
#

nope still the same error

chrome beacon
#

I think you need to use reflection here

tender shard
#

huh that is very weird then

carmine nacelle
#

sigh

tender shard
carmine nacelle
#

its 3:25 am i gotta be up for work at 7

#

reflection sounds like aids

tender shard
#

something like this

Method method = Bee.class.getDeclaredMethod("theMethodYouWannaInvoke");
method.invoke(this, parameters....);
carmine nacelle
#

ive avoided it like the plague for years

tender shard
#

reflection is not AIDS

#

reflection is fine 😄

carmine nacelle
#

ok, herpaghonnasiphiliritus

tender shard
#

unless you abuse it for stuff that doesn't actually require it

severe oak
tender shard
carmine nacelle
#

So like..


            public void tick() {
                Method method = null;
                try {
                    method = Bee.class.getDeclaredMethod("isPollinating");

                    if (!method) {
                        super.tick();
                    }
                } catch (NoSuchMethodException e) {
                    e.printStackTrace();
                }

            }
```?
severe oak
#

All I wanted was for my objects to convert to mongodb documents dynamically 😦

carmine nacelle
#

kekw

#

fuck

chrome beacon
#
    @Override
    protected PathNavigation createNavigation(Level world) {
        final PathNavigation vanillaNav = super.createNavigation(world);
        FlyingPathNavigation navigationflying = new FlyingPathNavigation(this, world) {
            public boolean isStableDestination(BlockPos blockposition) {
                return vanillaNav.isStableDestination(blockposition) && blockposition.closerThan(blockposition, 32);
            }

            public void tick() {
                vanillaNav.tick();
            }
        };
        navigationflying.setCanOpenDoors(false);
        navigationflying.setCanFloat(false);
        navigationflying.setCanPassDoors(true);
        return navigationflying;
    }

Try this @carmine nacelle

tender shard
#

you still gotta invoke the method

severe oak
#

code like this should never exist

 Document document = new Document();

        document.append("uuid", uuid.toString());
        document.append("name", name);
        document.append("category", category);
        document.append("permissions", permissions);

        return document;
tender shard
carmine nacelle
buoyant viper
ivory sleet
#

That looks like your everyday factory method

tender shard
#

yeah, nothing wrong wth that

carmine nacelle
#

So just like that, it should never travel out of range now?

severe oak
ivory sleet
#

So?

severe oak
#

I just don't like it

tender shard
ivory sleet
#

Thats not a good reason for it to not exist

carmine nacelle
#

this feels illegal

chrome beacon
#

Well it can still be pushed too far away

ivory sleet
#

Its called function abstraction in a more enterprisy way, every line in a function should be at the same level of abstraction

carmine nacelle
#

it got pollen and now its stuck here

ivory sleet
#

A factory method encapsulates and abstracts the need to think about instantiation

severe oak
# tender shard and what's your suggestion to fix this?

this is my current fix

static Document toDocument(Object instance) {
        Document doc = new Document();

        try {
            for (Field prop : instance.getClass().getDeclaredFields()) {
                prop.setAccessible(true);

                Object value = prop.get(instance);

                if(value instanceof UUID)value = value.toString();
                if(value instanceof Documentable)value = ((Documentable) value).asDocument();
                if(value instanceof Listable)value = ((Listable) value).asList();

                doc.put(prop.getName(), value);
            }
        }catch (Exception exception) { exception.printStackTrace(); }

        return doc;
    }
carmine nacelle
#

uh oh

#

weve turned my bees into vegetables

ivory sleet
#

That function is impolite to the reader as it both violates the fundamental rule of function abstraction and the fact that its quite huge

#

But well Ig

tender shard
severe oak
#

for some of my classes, yes. It has a lot of flaws

carmine nacelle
#

@chrome beacon It completely breaks once it finishes pollinating

ivory sleet
#

Feels like an unnecessary use of reflection unless you’re trying to do some annotation based pojo or bean populating

carmine nacelle
#

it like doesnt know what to do

buoyant viper
#

yeah let me just use reflection when it is highly unnecessary

carmine nacelle
#

I think because we got rid of the pollinating part?


            public void tick() {
                if (!Bee.this.beePollinateGoal.isPollinating()) {
                    super.tick();
                }

            }
chrome beacon
#

Wrong reply

#

but yeah

carmine nacelle
#

hmm.

#

yeah it pollinates and floats in place forever

#

oh well ill worry about it more tomorrow

#

thanks guys

severe oak
ivory sleet
#

Yeah dw dw, I was just nitpicking

#

Generally speaking that function is fine or well probably more than fine if you ask someone at random

echo basalt
#

then serialize all of that data to any database I want

#

sql, mongo

#

amazon s3

#

flat file

#

it's bascally bootleg json serialization

ivory sleet
#

Sounds like bukkit ConfigurationSerializable PES_Blush

echo basalt
#

and for subclasses I flatten the map type deal

severe oak
#

thats pretty much the point of the function. I have an interface called Documentable and its to convert objects to Documents for mongo and convert Documents to objects

echo basalt
#

so

public class Whatever implements SkyblockSerializable {

  private UUID uuid;
  private Vector position;

}

would turn into

UUID|position@x|position@y|position@z on an sql table

#

the table also dynamically adjusts itself to any changes in the class

#

so it doesn't cause issues with upgrading the structure

#

I was storing stuff as pojo before but any changes would cause issues

lost matrix
#

Sounds like bootleg hibernate to me

echo basalt
#

¯_(ツ)_/¯

#

only like 200 lines

#

maybe 300

#

but it worky with more than just sql

ivory sleet
#

I mean these automatic systems are probably nice in terms of time saving and taking away manual work, tho the issue it that some of the intent gets hidden away which to some extent can imply subsequent unit tests to break unexpectedly if someone change a class that relies on that module in terms of serialization, one reason I tend to avoid hibernate like frameworks, pros and cons just like everything else