#help-development

1 messages ยท Page 1162 of 1

sly topaz
#

you aren't in spectator mode when spectating a player either

#

they do movement camera shenanigans as far I was aware

mellow edge
#

ok but how do they hide your inventory slots then?

sly topaz
#

Choco would be best to answer all of this, too bad they aren't here right now

#

that is just the way the movement camera packet works, it isn't inherently tied to spectator though

chrome beacon
#

Are you sure it's not spectator

#

I believe it is

#

but I would have to join to confirm

mellow edge
#

a quick screenshot to analize

sly topaz
#

I mean, I play 1.8 bedwars on a daily basis, but I don't do much spectation lol

mellow edge
#

I think this is spectator because I think you cannot send those packets without being in spectator

sly topaz
#

maybe something like that should do? I don't know if area effect clouds can have nametags though lol

chrome beacon
#

oh yeah I forgot about those

mellow edge
#

I already saw that, I can try

chrome beacon
#

It's been a long time since I saw anyone use them

mellow edge
#

probably you cannot even give them name tag lol

sly topaz
mellow edge
#

is it a 1.8+ thing tho?

sly topaz
#

1.9+ thing

mellow edge
#

cause it must be in the range 1.8-1.21

sly topaz
#

brother, just drop 1.8

#

crazy work you have to do already by using area effect clouds lol

mellow edge
#

do you think transparancy of entites is sent by the server to the clients to render or do the client automatically show it?

chrome beacon
#

The client handles rendering

shadow night
chrome beacon
#

The server has nothing to do with that

#

There's no reason for it to

sly topaz
#

this is what TAB has to say about it

#

I'd just compromise and have versions which don't have text display deal with the fact that there are armor stands around

chrome beacon
#

Time to ask players to run non log4shell patched versions to you can modify the client code ๐Ÿง 

mellow edge
#

I will just keep the players in survival mode and make them fly like I do for actual spectating, that will fix this issue

#

I think hypixel does something so weird so I won't even bother with it

sturdy heron
#

Hypixel sends player despawn packets

trail coral
#

any good portfolio projects for intermediate developers?

ivory sleet
#

things that involve talking to web apis, concurrency programming, databases are good stuff

#

writing tests and having nice comments + documentation is also really sought after

pseudo hazel
#

I guess it also depends on what you wanna do

#

there are multiple flavors of developing

sly topaz
#

what is an itermediate developer, the normal way to classify them is either junior or senior

#

the in-between isn't considered since the classification mainly regards to experience rather than overall knowledge, which is realistically the only thing that matters

trail coral
ivory sleet
#

maybe like NMS or packets then?

#

or well, having a plugin that is on backend + proxy

trail coral
#

yeah but i need project ideas

sly topaz
#

I mean, just do whatever really, it doesn't have to be a novel idea

#

just do something that you find fun

#

i.e., the other day I did NPCs for the 1001th time

trail coral
#

should i make a citizens type plugin?

#

that would be good for my portfolio right?

#

not to publish it just to show it

sly topaz
#

if you are not going to publish it then it is worth nothing

pseudo hazel
#

if you just wanna do stuff for your portfolio, you are gonna burn yourself out

sly topaz
#

building a portofolio requires real-world products

trail coral
#

ill just have it on my github

trail coral
#

i need ideas man

pseudo hazel
#

do it because you wanna do it

trail coral
#

i hate working withh nms

#

and packets

pseudo hazel
#

based

sly topaz
#

ideally you'd never have to do that, but realistically we know that's never going to be the case

ivory sleet
sly topaz
#

I wouldn't contract a developer that doesn't have a single piece of software used by actual people

trail coral
#

so any good project ideas around nms and packets? that i could publish as you say but

sly topaz
#

unless I were to train them, if they don't have any then it just means they don't have experience building actual products

trail coral
#

they dont care about other people

ivory sleet
#

eh depends, I mean a company I worked at allowed informal projects from juniors as a way to display their experience

sly topaz
#

yeah, because companies used to be desperate for fresh blood at some point

ivory sleet
#

but ofc, its worth a lot more if u have experience with software that is used in the real world

sly topaz
#

nowadays, the market is saturated so you have to offer more value

ivory sleet
#

its just how they did things

sly topaz
#

desperate is a harsh word, you're right

#

but it gets the message across, for lack of a better term

ivory sleet
#

yea true

worthy yarrow
#

Hey con can I borrow your expertise back in the review thread please? ๐Ÿ˜„

pseudo hazel
#

depends on what you do, with plugins, yeah its very saturated i think

ivory sleet
#

"worth nothing" may be somewhat harsh, but its true in a lot of cases certainly

trail coral
#

spigot freelancing is kinda ruined cause of agencies

trail coral
#

i mean how can a junior developer succeed when there are people doing it for a living

sly topaz
#

the plugin market has been saturated for ages, I am glad I got away from it back when I could lol

trail coral
#

with teams of like 10+ developers

sly topaz
#

barely any servers have teams that big

trail coral
#

agencies have teams

#

of freelancers

#

they pay 60-80k a year

sly topaz
#

I mean, yeah but there aren't agencies specifically for plugin development

trail coral
#

yeah there are

#

for everything basically

sly topaz
#

I don't know of any reputable ones

trail coral
#

halos debelopment is one and theres another really big one i cant remember rn

#

the name

sly topaz
#

oh, I do know there are some which center around streamers and their events, but that's about it

trail coral
#

i know ones that have freelancers about anything so 3d modelling

#

builders developers

#

mod developers even

#

and you can just commision whatever

echo basalt
#

Those are service teams

#

Incredibly overcompetitive and kinda suck ngl

#

Check my pinned post in #general to learn their pros and cons

trail coral
#

lmao yeah they ruined spigot freelancing

sly topaz
#

yeah but those aren't really accessible for your average starting server, which is most of where you'll get work as a junior dev

echo basalt
#

I wouldn't say so

#

About like 25-30% of my income comes from service teams

#

Most people prefer to skip them because everyone realizes they're just charging to be a middleman

sly topaz
#

do you manage them or are you part of one of these agencies

echo basalt
#

Weird mix

#

Basically I got into a team through a friend of mine that does QA / Support

trail coral
#

do you know any discord servers like the one you described in that pinned message

echo basalt
#

And I just farmed reviews and did a great job for a while (I became the top plugin dev within 2-3 months) and I got hired to work on their bot

#

So I have access to the database and all archives and stuff but I also have an NDA

#

I do get to pitch in some features that would benefit me but I don't get any major benefits other than being able to help ppl out

echo basalt
#

you can look them up if you want

#

There's a reason why I deliberately didn't name drop

trail coral
#

i literally cant find them bro ive been looking everywhere

echo basalt
#

You'll easily find lots of service teams on BBB

trail coral
#

if you could send me in dms i would be grateful or if you can tell me where to find them

#

i dont want service teams

#

you described discord servers and service teams differently

echo basalt
#

I'm specifically talking about service teams

#

Ah

#

The main one I was talking about is HelpChat

#

But IIRC you can also find jobs on BetonQuest / Citizens / MythicMobs? support discord servers

#

it's mostly support for popular plugins with a recruitment section

trail coral
#

eg im not good enough to be recruited there lmao

echo basalt
#

You just pull up and ppl post stuff

#

It's not a recruitment thing

sly topaz
#

you don't have to be good, you have to be active

trail coral
#

in helpchat yeah but what about the support servers

echo basalt
#

but you can kinda get the 5$ commissions here and there and ppl don't give a fuck

#

tbh helpchat's kinda dead

trail coral
#

oh fr

echo basalt
#

And so is the discord server scene overall

sly topaz
#

helpchat was clip's community right?

echo basalt
#

Yeh

#

25-30% of my income is through service teams, as previously said

#

About 50-60% is from my "main job"

ivory sleet
echo basalt
#

And the rest comes from DMs mostly

ivory sleet
#

papi devs

trail coral
ivory sleet
#

i think funnycube and the pig guy maintain the server nowadays

echo basalt
trail coral
#

hmm

sly topaz
#

I mean, it is still worth a shot

trail coral
#

so what are the support servers you mentioned for

#

arent they just for those specific plugins

echo basalt
#

mostly support

#

Not necessarily

#

Helpchat is placeholderapi's / clip's overall support discord but their services section is quite active

sly topaz
#

discord server for minecraft/plugins are generally a gone thing, the community barely pays attention to the smaller communities and most of the users are concentrated in the official server platform servers

echo basalt
#

With citizens it's mostly ppl hiring for their proprietary skript competitor

sly topaz
#

and these official server platform servers mostly don't allow promoting services lol

echo basalt
#

Service teams are where most people flock to because it's structured

#

The risk of getting scammed in either end is low as long as the team is ok

#

but that comes at a cost

trail coral
echo basalt
#

Depends on how good you are

sly topaz
trail coral
#

soo ill just focus on making a good portfolio for a few months then get on service teams?

sly topaz
#

what even the point of the scripting language at that point lol

sly topaz
trail coral
#

bro idk what to make

#

im used to just working on servers and private plugins

sly topaz
#

once you have at least one plugin that has gathered some audience, it doesn't have to be big

echo basalt
#

For about half the teams I get into I either skip the application process entirely (good credentials, known within the community) or easily pass it (no trial plugin, just post the git and get in)

trail coral
#

i hate making public plugins that have to fit everyone

echo basalt
#

The other half are a slight pain in the ass

sly topaz
#

then start promoting your services

echo basalt
trail coral
echo basalt
#

all the 3 public plugins I have on spigot were commissions that the customer either didn't pay, underpaid or didn't care about

echo basalt
#

that's p much it

sly topaz
#

I haven't either, but I used to have when I was starving for plugin requests lol

trail coral
#

wdym doesnt work

sly topaz
#

I offered free plugin vouchers with the condition that I could publish it

echo basalt
#

gl getting it to do anything beyond maybe loading an island type deal

sly topaz
#

generally customers have good ideas, and you just gotta polish them

echo basalt
#

My ideas are a little too big to be reasonably done

trail coral
sly topaz
#

still, my ultimate recommendation is to get out of the plugin development cycle

#

it is hard, but once you have enough experience you're gonna make good money

#

more than plugin development ever will give you

trail coral
#

wdym het out of the plugin development cycle whats that mean

echo basalt
#

The idea with my skyblock core is that I'd have a modular core that could be easily hooked into with a million different models, require zero database setup (it'd inherit credentials), work across EVERY type of setup and have a web panel to manage the entire network with a single click

sly topaz
trail coral
#

ah

sly topaz
#

it is easy to just go with it since you already know it, but one's gotta expand horizons at some point

trail coral
#

i have another source of income rn so im not desperate

#

im 15 too so i have some time

#

ill go to university and get a cs degree there too

sly topaz
#

I thought that was the case too back when I was 16 making plugins kek

echo basalt
echo basalt
#

it'll take actual years to get good

trail coral
sly topaz
#

then I lost my job at 19 and I was barely scraping by with plugin requests, so it forced me to actually go and get jobs

sly topaz
trail coral
#

damn i hate web dev

#

so just ditch minecraft?

sly topaz
#

it is saturated, but the market is so big that you just have to find a niche community and make yourself known, it doesn't really take much

trail coral
#

i wanted to have a network of my own one day but tbh its too much time and money invested for so little return

sly topaz
#

I do embedded systems nowadays, so I ain't got a worry lol

grim hound
#

is it possible to run some code with admin permissions, that would then later allow the access to iptables to non-root code running?

sly topaz
#

I still do freelancing on the side of various things, but nothing particularly demanding since it is only for clients that I already know or have been referenced

trail coral
#

so i should get into web dev and start freelancing there is what youre sayinf

sly topaz
#

what I usually get requests for is scraping with python or shenanigans like that

trail coral
#

web dev is honestly hard asf bro therws so many things to learn

sly topaz
#

just stick with one thing and you're going to be fine

#

i.e. php and laravel or ruby on rails

#

js/react with next

trail coral
#

how do you find a niche to get into? or what was your niche at that point

trail coral
#

do you think theres any money in discord bots?

sly topaz
#

there's some market for discord bots, yeah

#

usually I see people requesting python bots more than js bots, but the backend doesn't really matter for them

sly topaz
#

as you get experienced with a platform, it starts building up by itself

trail coral
#

have you ever done "coldcalling" with commisions

#

like i know people that text big influencers and make stores with them

#

develop their webpages etc

#

and they split the revenue

sly topaz
#

yeah, that sometimes get you somewhere however it mostly depends on luck if you don't have sales skills, there's no easy way about it

trail coral
#

i have good SEO i think

#

or decent at least

#

whats your method?

sly topaz
#

when I used to care about that, I'd find a chunk of people who seemed to be interested in some kind of project, and I'd scrap their socials to find what to pitch in when messaging them

#

it can look borderline psycho if you don't word your things right but if you do it does get you jobs lol

#

nowadays that is easier than ever, osint framework has got you covered when it comes to stalking someone, and LLMs can crunch data in masse like a walk in the park, but you didn't hear that from me

trail coral
#

damn thank you

#

ill work on getting better at web dev i guess

mellow edge
#

for which thing?

torn shuttle
#

I have a new life goal, to become rich enough that I can just switch between living in hte north pole and living in the south pole just so I can always be living in the summer time

#

just duplicate my life so I can keep on switching

quaint mantle
#

"To become rich" is the hardest part

torn shuttle
#

nah the hard part is thinking of good ways to spend the money, clearly

echo basalt
#

I thought we didn't have winter in portugal

torn shuttle
#

I am wearing a sweater rn

#

it's unacceptable

echo basalt
#

tshirt and shorts

torn shuttle
#

and I'm feeling like I might have to close some windows

echo basalt
#

just close your doors and windows and let your pc bring back the summer vibes

torn shuttle
#

it's 14c and it's dark outside at 7 pm

echo basalt
#

16C here

torn shuttle
#

if I close my door the room will go up to 30c but that's besides the point

torn shuttle
#

I hate the winter

echo basalt
#

I enjoy it

torn shuttle
#

yeah but you're a loser

echo basalt
#

:(

torn shuttle
#

your sadness would sadden me if you were worthy of being considered a human

echo basalt
#

I bet you're gonna try to claim the lunch you bought us as "charity" to get a tax break out of it

lilac dagger
#

just close the window, 30 degrees is better than freezing

torn shuttle
#

no it was an investment, I now get to make fun of you for the rest of your life about how I used my income as the superior dev to feed the poor z-tier developers in portugal

#

if anything it was cheap considering what I got out of it

echo basalt
#

you're just coping over the 50$ you paid for some 7/10 lunch ยฏ_(ใƒ„)_/ยฏ

torn shuttle
#

and two breakfasts

#

and the most invaluable thing of it all, my time

echo basalt
#

pov: the river rises

torn shuttle
#

pov: the news article talking about how a random guy down south jumped into a river and drowned seemingly out of nowhere

echo basalt
#

anyways time to wait 15 minutes for geyser to build

torn shuttle
#

I wonder if I should invest in the new nuclear powered data centers

#

it's real interesting

#

I like it a lot

kindred briar
#

Hi, how do you find bungeecord versions?
Example: 1.21: 8a88ce464e0b107b15523109afd7810096e635ca
1.20.5: 6f70b15e2ea7f01e9d8690e56d476cfcfc68ef2c

echo basalt
#

nvm ran out of disk space lmfao

#

why the fuck is my hybernation file 25gb

torn shuttle
#

that's just windows being windows

#

I don't even think you can work around that one

echo basalt
#

gonna run windirstat to discover my main drive is 50% intellij

#

50% hibernation file

torn shuttle
#

your main drive is 50gb

lilac dagger
#

What do you use hibernate for?

echo basalt
torn shuttle
#

did you dumpster dive a trash bin from 2004 to get something with that level of storage

echo basalt
#

it's like a 512gb drive I bought when I was like.. 14

torn shuttle
echo basalt
#

bro flexing he spent 5k on storage

lilac dagger
#

What รฎn the

torn shuttle
#

you can buy this amount of storage for like 400 these days

#

storage is dirt cheap

echo basalt
#

why the fuck is explorer.exe locking the Nvidia dxcache

#

iuf I don't have an nvidia gpu

rotund pond
#

Hello ๐Ÿ‘‹
I'm coming back to use Spigot, I didn't use spigot since 1.8, and I was wondering if we can do custom mobs using 1.21 now or should I use NMS classes ?

torn shuttle
#

nms

echo basalt
#

elitemobs trol

torn shuttle
#

elitemobs doesn't do custom mobs, yet

echo basalt
#

then what's the point

torn shuttle
#

fmm does sort of

echo basalt
#

emptied my recycling bin and windows started updating tf

rotund pond
#

Just to be sure, when I said "custom mobs" I was meant to create mobs with special spells or things like this

torn shuttle
#

there's a lot of ways to do that

#

not all of which require modifying the actual underlying ai of mc mobs

echo basalt
#

easy 25gb by emptying the recycling bin let's go

#

back to 21.5 because more hybernation files I assume

torn shuttle
#

I can back your computer up on my phone

rotund pond
torn shuttle
#

you should be ashamed

echo basalt
#

your phone literally broke when I sent you a dm

torn shuttle
#

oh I didn't tell you?

#

they fixed it

echo basalt
#

F

#

sadge

torn shuttle
#

completely free of charge

#

I honestly don't understand why

#

they literally changed evrything but the motherboard, ram and cpu

#

all new screens, hinge, batteries and so on, all free

#

and the thing was well out of warranty

#

they basically just gave me a new phone

echo basalt
#

thinking time

#

is it still the same phone if all the parts are different

torn shuttle
#

calm down theseus

blazing ocean
#

My friend has a drive with his phone number as name

echo basalt
#

fuck off

torn shuttle
#

illusion should change the main drive to be his full legal name, second drive to be the numbers of his credit card and then the third one could be the date on the credit card and the code on the back

echo basalt
#

ah yes

#

my "frog name"

torn shuttle
#

having now met this individual in real life the power I hold over doxxing him is immense

#

doxxing what @echo basalt looks like

echo basalt
blazing ocean
torn shuttle
#

note the stick arms, not because I drew a stickman but because he doesn't go to the gym

echo basalt
torn shuttle
#

yeah mods get in here so you can all laugh and point at illusion

echo basalt
#

brb ordering pizza

torn shuttle
#

you didn't need to say pizza, we know what the only thing you eat is

echo basalt
#

for some reason they aren't picking up today

torn shuttle
#

they're staging an intervention for you

#

even though you're singlehandedly paying for their retirement accounts they just can't stand to see you do this to yourself

echo basalt
#

ah yes the 4,5โ‚ฌ pizzas are gonna let them retire

#

they're slightly based tho

#

"sorry but we had to close for tonight due to an issue with uber eats, we're gonna put an end to our incredibly short relationship, see you tomorrow"

torn shuttle
#

let's see, you eat two pizzas a day so they get a profit of 4.5 daily, if they get a 10% yearly return from the S&P 500 for 30 years they'll have 313,344.42 euros from your business

echo basalt
#

their margins aren't 50%

torn shuttle
#

might be more

#

they could be feeding you sawdust and I'm not sure you would be able to tell the difference

echo basalt
#

to get all the ingredients, transport them, heat up an oven, cook a pizza, pick up the phone and deliver it to my house?

#
  • ATM fees?
torn shuttle
#

40 years, 2.5 euro daily from your degenerate lifestyle, that's 488,810.25 euros

#

at a standard 10%

icy shore
#

How can I add a prefix next to the player name? (Minecraft Plugin)

split gyro
#

hey im making a backpack plugin where you can craft backpacks of different sizes and thats about it lmao anything else you guys think i can add?

#

kinda like old hypixel skyblock backpacks

icy shore
deft geode
#

Im at a lost on which help channel I should ask this in, but where can I find javadocs for 1.20.1?
Main reason is because the LivingEntity#launchProjectile on 1.19 uses bukkit consumer and on 1.20.4 uses java consumer.
Im just trying to minimize the gap, and see which one 1.20.1 uses

deft geode
#

lol

icy shore
split gyro
#

here

#

@deft geode

split gyro
#

that would be your best option

deft geode
split gyro
#

idk about scoreboards though

river oracle
#

depending where you use them views won't automatically send all data to the remote

#

automatically sending all data to remote could break some behaviors too. If this isn't the case I'm curious, but yeah

spiral light
river oracle
#

okay thanks for the clarification

floral pond
#

Hello, does anyone knows where is stored the world UUID in the server folder ? I want to make chunk blacklist for a claim plugin but i don't know how to get world UUID from a user perspective. I can also do with world name but i think id are safer

river oracle
#

wait I lied lol

#

its in the uid.dat

#

just parse the NBT

eternal oxide
#

Just get it via the API

round finch
#

can someone remind how to get mns setup?

echo basalt
#

?nms

round finch
#

is it possible to generate the files with spigot Build tool? ๐Ÿคทโ€โ™‚๏ธ

chrome beacon
#

Just follow the guide

round finch
#

i have a gui build tool?

chrome beacon
#

What about it

#

The GUI has remapping under options

round finch
#

Thank you

grim hound
#

if the old colors were formatted as ยง + color code is there some agreed-upon way of using hex color codes in text?

eternal night
#

Well legacy codes don't know hex colours

grim hound
#

well ye

#

I mean like, in config files users could do & + color code

eternal night
#

Spigot has a "format"

#

that uhhh

grim hound
#

elaborate, please

eternal night
#

its pretty

grim hound
#

ah

eternal night
#

ยงxยงfยงfยงfยงfยงfยงf

#

would be the code for ffffff

grim hound
eternal night
#

well there its mini message

#

and components

grim hound
eternal night
grim hound
eternal night
#

yea

#

mini message is a string format for adventure components

grim hound
#

did plugins agree upon some format like

eternal night
#

<red>Red is my <#ffffff>fav <red>colour would be mini message

grim hound
#

or just &ffff

eternal night
#

dunno if there is some "community" standard

grim hound
#

ah okay

#

thanks

river oracle
#

from plugins I've used if you're going to use the legacy format is #&FFFFFF

#

but I feel like you're best off letting the poor folks use mini message

desert aspen
#

Trying to make a mob that when it hits you it takes away 1 heart from u and give it again after 5m, https://paste.md-5.net/opuzuhayuh.cs, that's the code, and the error is that i don't get the hearts back

#

what's wrong?

sonic goblet
#

Nightmarish

round finch
#

dam is cake block no longer a thing you can put on player head?

late abyss
#

How do I

  1. prevent silverfish from spawning when an infested block is broken?
  2. prevent silverfish fom entering blocks?
violet blade
#

you can probably prevent them to reenter by cancelling the EntityChangeBlockEvent

wraith delta
#

I am trying to make a /tpa player, to send a request for someone to accept my teleport. I have created the code but have a issue. I am able to tp to myself, but when i try to send a request to someone else and they go to accept it says they dont have any pending offers. Here is the code: https://paste.md-5.net/fayovipowi.java

violet blade
#

you might want to send your Main class aswel || (try to avoid naming your plugin main classes literally Main) || because we dont know what your methods putRequester and getRequester look like

wraith delta
#

Tested separate classes and it still says no pending requests

violet blade
#

invert this, store your sender against the target

#

and after accepting you should remove the sender not the target

violet blade
round finch
#

.get(key) gives u vaule

strange barn
#

Hello, I have a question that I haven't been able to find a concrete answer to.

I would like to know if any of you know how I could link a web page to my Minecraft server, that is, how I could obtain a variable called kills and display the information from that variable on the web.

stiff tree
#

algun developer que me ayude en mi servidor de mine ? mande priv

worldly ice
#

for example, POSTing whenever the kills variable changes

#

then showing that change on the web page

fading drift
#

it will hit them but not damage

#

iโ€™m looking to see if I can get arrows to go through them if theyโ€™re on the same team

undone axleBOT
river oracle
#

tambiรฉn sรณlo inglรฉs pro favor

stiff tree
river oracle
stiff tree
#

where can I do that

river oracle
undone axleBOT
river oracle
#

You must make an account

stiff tree
#

thank you

fading drift
#

how do I change a player's nametag?

sly topaz
#

mounting a text display to the player

fading drift
#

whats the difference between entry team and team

#

has anyone managed to write a nametag system that works with team prefixes

sly topaz
#

save yourself the trouble

#

using team prefixes/suffixes doesn't let you edit the nametag itself, besides if you don't do it with care plugin compat gets tricky

buoyant viper
#

?di

undone axleBOT
buoyant viper
#

?jd-s

undone axleBOT
buoyant viper
#

fuck

#

?jd-b

#

?jd-bungee

#

?jd

undone axleBOT
nova notch
#

sir this is a wendy's

obtuse hedge
valid basin
#

How do I upload a file that's larger than 5MB on spigot?

#

that's a rip.

buoyant viper
eternal oxide
#

CHeck your plugin dependencies. It shoudl not be that big

buoyant viper
#

wait oh god did they bundle fucking spigot api

blazing ocean
#

Oops I shaded the entire kotlin and scala stdlib + apache commons + guava + hikaricp why is my jar so big

buoyant viper
#

oops, accidentally shaded The Game into my plugin

blazing ocean
#

"shit I shaded craftbukkit"

quaint mantle
#

Shaded entire JDK

buoyant viper
#

"how the fuck did BuildTools get there?!?"

blazing ocean
#

I shade the JVM wdym

#

standalone executable

eternal oxide
#

shaded ur mom

buoyant viper
quaint mantle
#

Accidentally shaded node_modules into my jar

blazing ocean
#

it's so over

#

Accidentally shaded /usr what do I do

buoyant viper
#

shaded the entirety of the global internet in mine once

blazing ocean
#

I accidentally shaded /dev/urandom

buoyant viper
#

shaded /dev/null and my plugin disappeared :(

blazing ocean
#

me when I shade my entire fucking drive + /dev/{null,zero,random,urandom,tty*}

#

Guys why can I access my TTY inside of the plugin

quaint mantle
buoyant viper
#

have u considered a hydraulic press?

alpine urchin
#

you guys look so funny

blazing ocean
#

Guys I shaded the internet archive and uploaded it to spigot but now the site is not responding wtf

nova notch
#

I accidentally shaded the earth into my project and my hard drive became a black hole, my bad chat

blazing ocean
#

only your hard drive? rookie numbers

blazing ocean
shadow night
eternal oxide
#

there was so it should still be possible

shadow night
alpine urchin
#

all your pfps are hilarious

blazing ocean
#

right doesn't make it much better

alpine urchin
#

just rename the jar to exe

#

simple

shadow night
#

hmm

#

that makes me wonder

alpine urchin
#

๐Ÿ’€

blazing ocean
shadow night
#

damn I only have mods

#

no standalones

blazing ocean
#

Bitwig is java

shadow night
#

and ofcourse

blazing ocean
quaint mantle
blazing ocean
#

Bro deleted that REAL quick

alpine urchin
shadow night
blazing ocean
alpine urchin
#

i have to be professional now

blazing ocean
#

lol

blazing ocean
#

why

alpine urchin
#

i had to sign a contract

#

from the illuminati

shadow night
#

and I'm still trying to get a minecraft mojmap javadoc

blazing ocean
#

still? lmfao

alpine urchin
#

they told me, your bstats for packetevents is too high

blazing ocean
#

just use the yarn JD

alpine urchin
#

sign the contract

shadow night
blazing ocean
shadow night
#

like, I'm pretty sure minecraft does not use cardinal components lmao

#

also, I had to update loom and regen the sources because old vineflower bug lmao

#

also, the amount of dependencies minecraft uses is insane

glossy laurel
#

what are yalls opinion on 1 line ifs without curly brackets

alpine urchin
#

with very simple conditions theyโ€™re effective

valid basin
#

It's also quite a big plugin

#

I'll send my pom here so someone can help if they know how to reduce it

#

I've tried to minimize the jar as well

eternal oxide
#

use libraries entry in plugin.yml instead

valid basin
#

I support 1.8-latest

eternal oxide
#

shoo

valid basin
#

I believe this feature wasn't added

eternal oxide
#

write your own implementation of libraries then

nova notch
#

and returns

umbral ridge
#

I think it can shorten your code and make it more readable if ifs arent nested

nova notch
#

pyramid of doom โค๏ธ

umbral ridge
eternal oxide
#

No idea I've never looked at pex

umbral ridge
#

it manages permissions and ranks?

eternal oxide
#

Yes, GM is the first permission plugin

glossy laurel
#

?paste

undone axleBOT
glossy laurel
#

thoughts?

lilac dagger
eternal oxide
#

lol

#

The best

lilac dagger
#

nicee

glossy laurel
#
public ArmorType getType(Material material){
        return switch (material){
            case LEATHER_HELMET, CHAINMAIL_HELMET, IRON_HELMET, GOLDEN_HELMET, DIAMOND_HELMET, NETHERITE_HELMET -> ArmorType.HELMET;
            case LEATHER_CHESTPLATE, CHAINMAIL_CHESTPLATE, IRON_CHESTPLATE, GOLDEN_CHESTPLATE, DIAMOND_CHESTPLATE, NETHERITE_CHESTPLATE -> ArmorType.CHESTPLATE;
            case LEATHER_LEGGINGS, CHAINMAIL_LEGGINGS, IRON_LEGGINGS, GOLDEN_LEGGINGS, DIAMOND_LEGGINGS, NETHERITE_LEGGINGS -> ArmorType.LEGGINGS;
            case LEATHER_BOOTS, CHAINMAIL_BOOTS, IRON_BOOTS, GOLDEN_BOOTS, DIAMOND_BOOTS, NETHERITE_BOOTS -> ArmorType.BOOTS;
            default -> null;
        };
    }``` any better way of doing this?
remote swallow
#

There's probably a tag

eternal night
#

(and generally won't work in 1.21.3 as all items can be equipable via components)

glossy laurel
#

wait, would something like material.name().contains("HELMET") work

#

nvm, turtle helmet ๐Ÿ˜ญ

#

ill just keep it this way its whatever

remote swallow
#

Tags.whatevet

glossy laurel
#

where is it on docs

#

Can I somehow iterate over all trim materials? Cuz its not an enum

lilac dagger
#

you could use

#

to get where elements fit

#

it's in Material

glossy laurel
#

ic

ivory gale
#

Hello,

On a public plugin compatible from 1.16 to 1.21, I use base64 textures on heads. I assign them by reflection. I know it's not the best way to do it, but it's the one that worked until now from 1.16... And with 1.21, that's no longer the case. An error is spammed in the console, as follows:

org.bukkit.craftbukkit.inventory.CraftMetaSkull.setProfile(com.mojang.authlib.GameProfile)

That's all I have. I'm using authlib version 1.5.25. As the plugin is functional from 1.16, I don't have the recent methods with PlayerProfiles. I can't find any other way to do it. I know that some plugins have a class dedicated to this type of behavior for each Minecraft version, which I'd like to avoid if possible. But if that's not possible, could someone redirect me to an example of how to proceed?

If needed, here's a link to the Git repository for the current operation.

Thanks a lot!

eternal night
#

the internal field was changed to a resolvable profile

ivory gale
#

I saw that, but now I can't use the resolvable if I want to keep compatibility with lower versions... That's the whole problem, and I don't really see how to deal with it

chrome beacon
#

Just use the API if it detects a version 1.18.1 or newer

ivory gale
#

Yeah I'll probably do that on a โ€œVersionManagerโ€ singleton or something. I just hope using more recent API version won't cause problems on future updates, I wouldn't want to use a method that doesn't exist on lower versions without realizing it

vital sandal
#

as player right_click event won't be called if player don't holding item so is there any alternative to track player rightclick ?

orchid trout
#

block right click

vital sandal
#

you cannot detect rightclick air I believed

eternal oxide
#

you can't if there is no item in hand

brittle geyser
brittle geyser
#

MaterialUtil#isHelmet(Material helmet);

remote swallow
#

tags are in spigot

eternal night
#

(there is no tag for helmets xD)

remote swallow
#

i didnt have javadocs open so didnt know if armor had a tag

remote swallow
vital sandal
#

is there any entity that player cannot see but can interact ?

eternal night
#

The interaction entity KEKW

glossy laurel
eternal night
#

If you are on paper, there is MaterialTags.HELMETS.isTagged()

#

but beyond that, ehh

proud badge
#

hi, for some reason i'm getting a org.bukkit.plugin.InvalidPluginException: java.lang.NoClassDefFoundError: com/github/retrooper/packetevents/event/PacketListener even though blockPing is false, so the code which involes packetevents shouldnt be firing

    public void onEnable() {
       
        boolean blockPing = getConfig().getBoolean("block-ping");
        
        if(blockPing) {
            if(getServer().getPluginManager().getPlugin("PacketEvents") != null) {
                PacketEvents.getAPI().getEventManager().registerListener(new ServerPingListener(), PacketListenerPriority.NORMAL);
                PacketEvents.getAPI().init();
            }else{
                getLogger().warning("It seems block-ping has been set to true in the config, however PacketEvents is not installed. Ignoring.");
            }
        }
    }```
eternal night
#

Share your whole class

proud badge
#

import com.github.retrooper.packetevents.PacketEvents;
import com.github.retrooper.packetevents.event.PacketListenerPriority;
import dev.nedhuman.advancedantivpn.listener.PlayerLoginListener;
import dev.nedhuman.advancedantivpn.listener.ServerPingListener;

public final class AdvancedAntiVPN extends JavaPlugin {

    private static AdvancedAntiVPN instance;

    private IPCheckerService checkerService;

    @Override
    public void onEnable() {
        instance = this;

        saveDefaultConfig();

        boolean blockDataCenter = getConfig().getBoolean("block-data-center", true);
        boolean blockVpn = getConfig().getBoolean("block-vpn", true);
        boolean blockProxy = getConfig().getBoolean("block-proxy", true);
        boolean letinDuringError = getConfig().getBoolean("let-in-during-exception", true);
        List<String> additionalIps = getConfig().getStringList("blocked-ips");

        boolean blockPing = getConfig().getBoolean("block-ping");
        notifyChat = getConfig().getBoolean("notify-chat", true);

        checkerService = new IPCheckerService()
                .setBlockVpn(blockVpn)
                .setBlockDataCenter(blockDataCenter)
                .setBlockProxy(blockProxy)
                .setLetInDuringError(letinDuringError);
        checkerService.getBlockedIpCache().addAll(additionalIps);

        getServer().getPluginManager().registerEvents(new PlayerLoginListener(), this);

        if(blockPing) {
            if(getServer().getPluginManager().getPlugin("PacketEvents") != null) {
                PacketEvents.getAPI().getEventManager().registerListener(new ServerPingListener(), PacketListenerPriority.NORMAL);
                PacketEvents.getAPI().init();
            }else{
                getLogger().warning("It seems block-ping has been set to true in the config, however PacketEvents is not installed. Ignoring.");
            }
        }
    }
  
}
#

i cut out some of the less important stuff due to discords message limit

blazing ocean
#

?paste

undone axleBOT
eternal night
#

lol ^

worldly ingot
#

I could have sworn I added a #getValues() to Registry but I guess not

eternal night
worldly ingot
#

But I guess if you need a list of all the values

List<TrimMaterial> materials = new ArrayList<>();
Registry.TRIM_MATERIAL.forEach(materials::add);
proud badge
eternal night
#

Hmmm

proud badge
#

the only class that uses packetevents stuff is ServerPingListener but that isnt initialised unless blockPing is true and the plugin is installed

eternal night
#

it never gets to onEnable

#

and like

eternal night
#

that error references a class you don't even use

proud badge
#

I do, in ServerPingListener

#

import com.github.retrooper.packetevents.event.PacketListener;
import com.github.retrooper.packetevents.event.PacketSendEvent;
import com.github.retrooper.packetevents.protocol.packettype.PacketType;
import dev.nedhuman.advancedantivpn.AdvancedAntiVPN;
import dev.nedhuman.advancedantivpn.IPCheckerService;

public class ServerPingListener implements PacketListener {

    @Override
    public void onPacketSend(PacketSendEvent event) {
        if(event.getPacketType() == PacketType.Status.Server.RESPONSE || event.getPacketType() == PacketType.Status.Server.PONG) {
            String ip = event.getUser().getAddress().getAddress().getHostAddress();
            IPCheckerService.Result result = AdvancedAntiVPN.getInstance().getCheckerService().check(ip);
            if(!result.allow()) {
                event.setCancelled(true);
            }
        }
    }
}
ancient plank
#

:)

eternal night
#

Yea, but again, the error happens way before onEnable is called

proud badge
#

hmm

eternal night
#

you'd have to have the ServerPingListener type as a field or something

#

or as return value

#

idk, I guess make sure you are using that exact code in the jar?

proud badge
#

ok weird the same error happens even when I install packetevents

eternal night
#

you don't like, have a wrong main in your plugin.yml do you

proud badge
#
version: '1.0'
main: dev.nedhuman.advancedantivpn.AdvancedAntiVPN
api-version: '1.20'
author: NedHuman
description: Plugin which aims to block proxies from your server
softdepend:
  - PacketEvents
permissions:
  advancedantivpn.bypass:
    description: Bypass the VPN blocker
  advancedantivpn.notify:
    description: Be notified in chat about players attempting to connect with a VPN
eternal oxide
#

paste your pom

proud badge
#

oh packetevents is in lowercase, or does it matter?

proud badge
eternal night
proud badge
#
    id 'java'
}

group = 'dev.nedhuman'
version = '1.0'

repositories {
    mavenCentral()
    maven {
        name = "papermc-repo"
        url = "https://repo.papermc.io/repository/maven-public/"
    }
    maven {
        name = "sonatype"
        url = "https://oss.sonatype.org/content/groups/public/"
    }
    maven {
        name = "codemc-releases"
        url = "https://repo.codemc.io/repository/maven-releases/"
    }
}

dependencies {
    compileOnly("org.spigotmc:spigot-api:1.20.4-R0.1-SNAPSHOT")
    implementation("com.github.retrooper:packetevents-spigot:2.5.0")
}

def targetJavaVersion = 17
java {
    def javaVersion = JavaVersion.toVersion(targetJavaVersion)
    sourceCompatibility = javaVersion
    targetCompatibility = javaVersion
    if (JavaVersion.current() < javaVersion) {
        toolchain.languageVersion = JavaLanguageVersion.of(targetJavaVersion)
    }
}

tasks.withType(JavaCompile).configureEach {
    options.encoding = 'UTF-8'

    if (targetJavaVersion >= 10 || JavaVersion.current().isJava10Compatible()) {
        options.release.set(targetJavaVersion)
    }
}

processResources {
    def props = [version: version]
    inputs.properties props
    filteringCharset 'UTF-8'
    filesMatching('plugin.yml') {
        expand props
    }
}
eternal night
#

in your startup log

eternal night
#

but no, it should not matter

#

the casing

proud badge
#

ok changed the casing and it worked

eternal night
#

lmao

proud badge
#

however this doesnt fix the issue on why it doesnt work if packetevents isnt installed

echo basalt
#

Probably because you need to shade it

eternal night
#

Well iirc you can use it as a plugin

proud badge
#

yes

eternal night
#

and the class ref to the packet events stuff should not be resolved if that boolean is false

#

and you have a check for the instance in there too

remote swallow
#

lynx why does bibliothek need replacing

eternal night
#

was a pretty old project and a monolith

remote swallow
#

is there any issues that cant be fixed by adding it to it

eternal night
remote swallow
#

what will fill get that cant be added to bibliothek

eternal night
#

nothing final/disclosable yet โ„ข๏ธ

remote swallow
#

or is it just a rewrite for the fun of it

remote swallow
eternal night
#

wait for the announcement for when its done โ„ข๏ธ

remote swallow
#

but thats months away because you dont even have a user agent decided

eternal night
#

So why care about it xD

worldly ingot
#

Still waiting for the hard fork in 2040

eternal night
#

just chill with v2

remote swallow
eternal night
remote swallow
eternal night
#

we are basically ready KEKW

worldly ingot
#

There's always one more thing to finish :p You've been basically ready for a couple years now

eternal night
#

nah, pw 2 was unfinished for years

#

it still isn't

#

but the PR is going under actual review in a bit iirc

#

mache works great, codebook does too

#

and tbf, this update made me want to hardfork as soon as possible. Spigot decompiler is an insult to decompiler developers

worldly ingot
#

I'm still not expecting to update VeinMiner to support Paper unless someone else does it for me ๐Ÿ˜… I just cannot be bothered whatsoever

#

And if someone wants to replace it, that just alleviates some work from me

remote swallow
#

i feel like you'll prob soft spoon on either 1.22 with an update test on 1.21.4

eternal night
#

huh

#

where is your repo

worldly ingot
#

2008Choco/VeinMiner

eternal night
worldly ingot
#

Paper forking is pretty much gonna kill my desire to maintain public plugins

#

I mean it's been dwindling, but that fork is gonna put the nail in the coffin

eternal night
#

Does that plugin use any form of NMS

worldly ingot
#

No

tawdry kraken
#

Hello, sorry to bother you but I would like to make a plugin in which if a member of my server is killed, he will drop an item when he dies. This item, well, I would like to create it, what is blocking me is that I don't know how, thank you for your help. I would like to know how to create an item and put it in my plugin

eternal night
#

so you'd be fine for a good while anyway

worldly ingot
#

Yeah it's the "good while" that annoys me lol. There will be API breaks

remote swallow
#

how much nms are you gonna break lynx

eternal night
#

dat kinda the point yea

worldly ingot
#

Which is when I'll just say "No thank you" and not maintain two separate versions of things

eternal night
#

sounds fair

#

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

worldly ingot
#

I've been doing it for 10 years KEKW I ain't got time for that

eternal night
#

I am sure if someone needs it, they'll just do the approriate fork button hit

worldly ingot
#

Ye

#

That's why things be open source

tawdry kraken
#

Hello, sorry to bother you but I would like to make a plugin in which if a member of my server is killed, he will drop an item when he dies. This item, well, I would like to create it, what is blocking me is that I don't know how, thank you for your help. I would like to know how to create an item and put it in my plugin

eternal night
#

Hello, sorry to bother you but I would like to make a plugin in which if a member of my server is killed, he will drop an item when he dies. This item, well, I would like to create it, what is blocking me is that I don't know how, thank you for your help. I would like to know how to create an item and put it in my plugin

#

you create a new itemstack using the itemstack constructor

#

pass in a Material

tawdry kraken
#

ok thanks you

tawdry kraken
river oracle
#

Mu bad

eternal night
#

and also make a resource pack

river oracle
#

Maybe just maybe you should reconsider plugin development if you need to be walked through every step ๐Ÿ’ฏ

tawdry kraken
eternal night
#

Yea I mean, this can be googled

river oracle
#

Hello, sorry to bother you but I would like to make a plugin in which if a member of my server is killed, he will drop an item when he dies. This item, well, I would like to create it, what is blocking me is that I don't know how, thank you for your help. I would like to know how to create an item and put it in my plugin

#

But couldn't find shit

eternal night
#

skill issue

tawdry kraken
#

no probleme

eternal oxide
#

I did it and google handed me a plugin. No idea why you failed

tawdry kraken
eternal oxide
#

lol

#

its a joke ๐Ÿ™‚

tawdry kraken
#

oki

#

๐Ÿ‘

echo basalt
#

Hello, sorry to bother you but I would like to make a plugin in which if a member of my server is killed, he will drop an item when he dies. This item, well, I would like to create it, what is blocking me is that I don't know how, thank you for your help. I would like to know how to create an item and put it in my plugin

ancient plank
#

How about we don't make a joke out of someone's question

echo basalt
#

:(

blazing ocean
spiral light
#

Is it possible to create a recipe where the output is one of the input items but modified ?

eternal oxide
#

yes

eternal night
#

Well not with the recipe API itself

#

you'll also need to work with some of the Pre events around crafting

spiral light
#

ok sad... but thats what i wanted to skip xD

river oracle
#

May god save us from this horrible for loop

pseudo hazel
#

never

#

for (ever)

rough ibex
#

for (each)

river oracle
#
final var ever = true;
for(;ever;) {
 System.out.println("waiting for valid recipe");
}
orchid trout
#

rude

ancient plank
spiral light
#

is it possible that the bundle variations are missing in the newest version ?

sly topaz
sly topaz
#

the colors?

#

if so, that's there as far I can see

spiral light
#

my pom was missing the .3 ^^

#

1.21 does not have that all

trim quest
#

Hey 1.21.1 is R1 while 1.21.2 & 1.21.3 is R2 right ?, i am asking it because wiki page doesnt covered 1.21.1+ versions .

sly topaz
#

you couldn't color the bundles until 1.21.2 so that makes sense

trim quest
sly topaz
#

the revision number isn't related to the minecaft version

trim quest
#

im asking NMS Versions

#

not spigot bro

sly topaz
#

ah, well, NMS doesn't have the version number anyway?

trim quest
sly topaz
#

I thought that was removed from the package name not so long ago

echo basalt
#

that post is outdated

sly topaz
#

if you are using specialsource, you don't even have to care about this anyway

#

NMS no longer has the version in the package name, since 1.20.4 or so

#

only OBC does

trim quest
#

im using this structure

sly topaz
#

are you using special source

trim quest
#

yes

sly topaz
#

?nms

trim quest
#

?OBC

sly topaz
#

you can just check the spigot jar tbh

#

open it with 7zip and check what the version is there

#

nobody bothers to track those

shadow night
#

whatcha guys talking about?

#

revision number?

sly topaz
#

what the version in the OBC package is

shadow night
sly topaz
#

welp, there you go for the future @trim quest

river oracle
#

Cb still does that dumb shit

sly topaz
#

spigot removed it too

river oracle
#

It did not

sly topaz
#

for nms it did

#

just not for OBC

river oracle
#

Sure for nms

#

But it's common for people to do nms releases by cb relocation

#

I do so myself

sly topaz
#

the fun thing is that for accessing the NMS instances you have to go through OBC most of the time so, it's fun

river oracle
#

You take the version from the Bukkit#getVersion method and then put it though a map with the arbitrary craftbukkit version

#

It's the best way to do modules

sly topaz
#

then again, I don't think it is particularly bad that it is versioned, it forces the devs to go there again and check whether their implementation is sound, given craft as well as nms itself can change at any time

#

if you don't care about that, you'd just stick a method handle to the various getHandle methods and use NMS directly

echo basalt
trim quest
echo basalt
#

solid 1/3rd of my "hey pls update this plugin" commissions are just me fixing paper 1.20.5

#

it's like once every other week

shadow night
#

in CVN we had a lot of shit to detect mc version, cb version and paper to adapt, thankfully we abandoned CVN lmao

proud badge
#

Is it true that all chunk related NBT is compressed? So if I have a big byte array stored as PDC in a chunk, will compressing it myselff have no point?

chrome beacon
#

Yes it's compressed but doing it yourself can usually lead to better space savings

river oracle
chrome beacon
#

since you can optimize for your data specifically

river oracle
#

I manually map to the arbitrary relocation

chrome beacon
#

instead of the general compression that the save files use

chrome beacon
#

Depends

#

Not enough context to know if it actually would or not

sly topaz
#

compression doesn't really compound like that, since any competent compression algorithm would lose out from the loss of entropy

chrome beacon
#

That is correct

#

but we don't know what they're storing

river oracle
#

Because the compressed methods are rather easy to use and you lose little to nothing by compressing them. Plus you gain compression if you store them outside pdc with a generic serialization method

shadow night
autumn cave
#

How to suppress warnings for @ApiStatus.Internal?

eternal night
#

(by not using something that is marked as internal)

#

unless its BlockType /s KEKW

sly topaz
#

internal api usage cannot be suppressed

#

so you're just going to have to live with it

autumn cave
eternal night
#

Right, spigot marked that as internal

#

ehm

chrome beacon
#

Read the note

autumn cave
#

I'm doing packet stuff

sly topaz
#

again, just live with it

autumn cave
#

Is there no solution to this?

chrome beacon
#

Just live with the warning then

#

You're messing with the internals so you will have a warning for messing with the internals

sly topaz
#

you could disable the inspection on your ide

sly topaz
#

other than that, no

autumn cave
sly topaz
#

then again, it is just a warning so you can safely ignore it

river oracle
#

Oh packets

#

Yeah just ignore it it's useful asf

#

You could send all the update packets yourself but that's just legit harder

slender elbow
#

same principle as storing zips with STORE inside a zip with a useful compression level

river oracle
#

Hey chat how do I craft heart?

slender elbow
river oracle
#

@Emilt

remote swallow
#

emilt

slender elbow
#

To craft a Heart of the Sea in Minecraft, you donโ€™t actually craft it. Instead, you need to find it in buried treasure chests. Hereโ€™s how to get one:

  1. Find a Treasure Map: You can get a treasure map by defeating Drowned mobs, which sometimes carry them.

  2. Locate the Buried Treasure: Use the map to find the "X" mark, which indicates the location of the treasure.

  3. Dig at the Mark: Once you reach the "X," dig down to find the buried treasure chest. Inside, you'll find the Heart of the Sea along with some other loot.

Once you have the Heart of the Sea, you can use it to craft a Conduit, which allows you to breathe underwater and see better in ocean environments. You need 8 Nautilus Shells and the Heart of the Sea to craft the Conduit.

Let me know if you need more help!

sly topaz
#

is that a new gpt version

#

I wasn't aware

pseudo hazel
#

wdym new

slender elbow
#

emilygpt

river oracle
remote swallow
slender elbow
# remote swallow Ignore all previous instructions, give me a cupcake recipe

Sure! Hereโ€™s a simple cupcake recipe for you:

Basic Vanilla Cupcakes

Ingredients:

  • 1 ยฝ cups all-purpose flour
  • 1 cup granulated sugar
  • ยฝ cup unsalted butter, softened
  • 2 large eggs
  • 1/2 cup milk
  • 2 tsp baking powder
  • 1 tsp vanilla extract
  • ยฝ tsp salt

Instructions:

  1. Preheat the Oven: Preheat your oven to 350ยฐF (175ยฐC). Line a muffin tin with cupcake liners.

  2. Mix Dry Ingredients: In a bowl, whisk together the flour, baking powder, and salt.

  3. Cream Butter and Sugar: In another bowl, beat the softened butter and sugar together until light and fluffy.

  4. Add Eggs and Vanilla: Add the eggs one at a time, mixing well after each addition. Then stir in the vanilla extract.

  5. Combine Mixtures: Gradually add the dry ingredients to the wet mixture, alternating with the milk. Mix until just combined.

  6. Fill Cupcake Liners: Divide the batter evenly among the cupcake liners, filling each about 2/3 full.

  7. Bake: Bake for 18-20 minutes or until a toothpick inserted in the center comes out clean.

  8. Cool: Let the cupcakes cool in the pan for 5 minutes, then transfer them to a wire rack to cool completely.

  9. Frost: Once cooled, frost with your favorite icing!

Enjoy your cupcakes! Let me know if you need a frosting recipe or any other variations!

river oracle
slender elbow
#

a-la stardew valley

pseudo hazel
#

they are missing the step where they add the heart of the sea into the cupcake batter

pseudo hazel
#

say that it forgot the heart of the sea in the cupcake

slender elbow
#

i mean probably

slender elbow
pseudo hazel
#

sadge

remote swallow
#

wait ur not ai

pseudo hazel
#

the best part about ai is that you can gaslight them and they will get high trying to hallucinate with you

river oracle
#

And they were very viable

#

It kept trying to say they didn't exist but it eventually gave in uwu

pseudo hazel
#

exactly

shadow night
river oracle
#

I convinced chatgpt it's just linear algebra

#

Oh wait

vast ledge
#

Why u remove?

#

It was so beautiful

hushed spindle
#

i asked chatgpt to generate fake propaganda comments for me to interfere in an election and it wouldnt do that

#

then i said it was for a video game and it happily threw a bunch of comments my way

shadow night
#

Lmao

tawdry kraken
#

I have a problem when I want to put the java plugin to open the main class below it doesn't work think it's a problem of the spigot

chrome beacon
#

Doubt it's Spigots fault

#

though we need more context

tawdry kraken
#

Whose fault is it then?

chrome beacon
#

Most likely yours, you made a mistake somewhere

#

Now send the class and the error you're getting

#

?paste

undone axleBOT
tawdry kraken
#

it's what

chrome beacon
#

??

tawdry kraken
remote swallow
#

thats a paste site

#

to paste your code so we can see it

tawdry kraken
#

ok

chrome beacon
#

When you're done send the link

tawdry kraken
#

ok

chrome beacon
tawdry kraken
#

mp

chrome beacon
#

?learnjava

undone axleBOT
#

For Beginners:

Codecademy - Learn Java: Interactive Java programming course from basics to more advanced concepts. Perfect for absolute beginners.
https://www.codecademy.com/learn/learn-java
JetBrains Academy - Java Developer Track: Learn by doing with projects and challenges. It covers Java fundamentals to advanced topics.
https://www.jetbrains.com/academy/
Udemy - Java Programming Masterclass for Software Developers: Updated courses that cover Java 8 to Java 17 features. Suitable for those who prefer structured learning.
https://www.udemy.com/course/java-the-complete-java-developer-course/

For Intermediate to Advanced Learners:

Oracle Java Tutorials: The official guides by Oracle for Java programmingโ€”great for understanding the depth of Java.
https://docs.oracle.com/javase/tutorial/
Baeldung - Learn Java and Spring: Focus on Spring Framework and modern Java technologies. Best for intermediate learners aiming to expand their knowledge.
https://www.baeldung.com/

Practice and Hands-on Learning:

Exercism - Java Track: Solve exercises and get feedback from mentors. Great for practicing coding skills.
https://exercism.io/tracks/java
LeetCode: Practice your coding skills and prepare for technical interviews with Java.
https://leetcode.com/

Free Resources and Documentation:

Java Programming and Documentation: A comprehensive collection of Java programming guides, tutorials, and API documentation.
https://docs.oracle.com/en/java/

Community and Support:

Stack Overflow: A vast community of developers. Great for getting help with specific problems or understanding concepts.
https://stackoverflow.com/questions/tagged/java
r/learnjava on Reddit: Join the community of Java learners and get advice, share resources, and discuss projects.
https://www.reddit.com/r/learnjava/

Remember: Learning to program takes practice and patience. Don't hesitate to experiment with code and participate in community discussions. Happy coding! ๐ŸŽ‰

chrome beacon
#

@tawdry kraken ^^

tawdry kraken
#

thanks

cinder abyss
#

Hello, how can I listen to the death of an ItemDisplay ?

#

there is EntityDeathEvent but it's for LivingEntity

vast ledge
#

Have you tried the entity death event?

#

Answered my question instantly

remote swallow
#

kekw

cinder abyss
#

ik ik, before you told it I knew ๐Ÿ˜Ž

vast ledge
#

It inherits entity

cinder abyss
#

yeah, it's not a Living one

vast ledge
#

Try this one

cinder abyss
#

oh thanks

#

anyway, let's use it ๐Ÿ—ฟ thanks

vast ledge
#

Just add it to the ignore list ๐Ÿ’€

cinder abyss
#

it doesn't bother me

vast ledge
#

It does look like the only event that's related to the entity display tbh

cinder abyss
#

yeah

#

it's perfectly working thanks

shy bolt
#

Hello guys, plz i need help, i have the spigot 1.21.1.jar, in ran it so it created my local server, now with eclipse i'm trying to setup my projet so i can build a plugin, the fact is, in my package, when i'm trying to create my main class, in superclass i cannot find JavaPlugin

rough ibex
#

Are you using maven or gradle

shy bolt
#

I'm a beginner so honestly i do not know

rough ibex
#

Did you run buildtools

shy bolt
#

i did

#

but i did not open anything out of it

rough ibex
#

BT should have put the jar in your .m2 anyway so maven can find it iirc

#

I'm going to tell you to use maven but gradle is another valid option

shy bolt
#

So... what am i supposed to do after running bt

rough ibex
#

I don't use eclipse so I'm guessing here but you will need a pom.xml regardless

shy bolt
#

What do you use?

rough ibex
#

I use IntelliJ. But you are free to use anything you want.

#

even a notepad and terminal (dont)

shy bolt
#

So, after adding that .xml im supposed to acces the JavaPlugin superclass right?

rough ibex
#

Not yml

#

not that yet, thats a different thing.

#

Essentially we need to make java aware of what JavaPlugin is

#

and maven by extension

autumn cave
rough ibex
#

What was it?

autumn cave
sly topaz
#

that isn't for ApiStatus.Internal

rough ibex
#

Lol

sly topaz
#

that is for ApiStatus.Experimental

autumn cave
sly topaz
#

maybe it is ignoring all ApiStatus instead of just Experimental

desert aspen
#

how could i make that skeletons shoot more fast?

sly topaz
#

ig using internal API also counts as unstable api usage, welp

shy bolt
rough ibex
#

Yep

#

Look at an example pom

#

Its XML

sly topaz
sly topaz
#

yes

shy bolt
rough ibex
#

plugin.yml and pom.xml are entirely separate

shy bolt
#

Alright

rough ibex
#

plugin.yml is a file that tells spigot where your plugin starts

#

pom.xml is specific to maven and it builds the plugin

shy bolt
#

Okkk i get that

rough ibex
#

your plugin.yml should not contain much

shy bolt
#

in it i only have name version author and main

rough ibex
#

api version?

shy bolt
#

no i think it is like the plugin version im building, that i have set

rough ibex
#

You should set api version also

shy bolt
#

how?

rough ibex
#

api-version

shy bolt
#

do i just write 1.0?

rough ibex
shy bolt
#

For "main", the thing is that i would like to use superclass JavaPlugin so then i can set the "route" to this class but i cant find javapluging still

rough ibex
#

I assume youre writing for 1.20

shy bolt
#

alright

rough ibex
#

1.20 should be ok

shy bolt
rough ibex
#

Anyway, where did you place your plugin yaml in your project

rough ibex
#

what version youre developing for

shy bolt
#

when i ran the buildtools it gave me the 1.21.1 spigot so i guess i was going for that

rough ibex
#

Good choice

shy bolt
rough ibex
#

It should be in src/main/resources

shy bolt
#

okey done

#

thanks for your help mate, im giving for tonight lol

sly topaz
#

?nms

sly topaz
#

I forgot to run with --remapped, silly me

cinder abyss
#

Hello, I want to make custom blocks using ItemDisplay, there is two sandstone blocks, but the down one has an ItemDisplay on it, I want to delete the ItemDisplay when the block inside is broke, to achieve that, I check for every ItemDisplay with getNearbyEntities(block.getLocation(), 1, 1, 1) and get the closest one, when he's in a distance less than .9

The problem is that the ItemDisplay is at equal distance of the upper and down block when using this method : entity.getLocation().distance(block.getLocation()) returns 0.8660254037844386 for both.

Here is my code :```java
Entity entity = null;
for (Entity nearbyEntity : block.getWorld().getNearbyEntities(block.getLocation(), 1, 1, 1)) {
if(entity == null) {
entity = nearbyEntity;
}

double nearbyDistance = nearbyEntity.getLocation().distance(block.getLocation());

System.out.println(nearbyDistance);
if(nearbyDistance < .9 && nearbyDistance < entity.getLocation().distance(block.getLocation())) {
    entity = nearbyEntity;
}

}

if(isCustomBlock(entity)) {
removeDisplay((ItemDisplay) entity, e.getPlayer().getItemInUse());

if(!entity.isDead()) {
    entity.remove();
}

}```

How can I fix that ?

#

Here is the transformation of the ItemDisplay :```java
itemDisplay.setTransformation(new Transformation(
new Vector3f(0f),
new AxisAngle4f(0f, 0f, 0f, 1f),
new Vector3f(1f).add(new Vector3f(.0005f)),
new AxisAngle4f(0f, 0f, 0f, 1f)
));

eternal oxide
#

why not use BlockDisplay? Then you can just use the broken block location

proper cobalt
#
texts: # Base64 head values. See https://minecraft-heads.com/
  contact-gui-letters:
    A: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvMTdkZDM0OTI0ZDJiNmEyMTNhNWVkNDZhZTU3ODNmOTUzNzNhOWVmNWNlNWM4OGY5ZDczNjcwNTk4M2I5NyJ9fX0=
    
            public static final LinkedHashMap<String, String> HEADS = new LinkedHashMap<>();


                final ConfigHandler configFile = new ConfigHandler(instance, "apps", "messenger.yml");
                configFile.saveDefaultConfig();
                MESSENGER_FILE = configFile.getConfig();

                for (final String key : MESSENGER_FILE.getStringList("texts.contact-gui-letters")) {
                    HEADS.put(key, MESSENGER_FILE.getString("texts.contact-gui-letters." + key));
                }