#help-development
1 messages · Page 1298 of 1
and most plugins built earlier will probably just work™*** on newer server versions
the issue is that i cant compile because i need an outdated api
it seems im looking for 1.7.2 since shampaggon states its support starting on that version
Yeah the source for 1.7 and earlier got nuked by the DMCA
i hope it compiles with 1.8.8
you know what's crazy
I've been doing this for years
I still can't remember which one comes first, player join event or the other one
i think im gonna need to rewrite my entire logging system for my bt gui
and by that i mean make a significantly WORSE version of java.util.Logger
also I need a sanity check
I got a negative review on spigot because I am sending resource packages on the player join event
is this not exactly what minecraft does
because the dude is saying players are failing to get the rsp because I am sending it "too early"
am I crazy?
I call it on the PlayerJoinEvent and also have had zero issues
What not use something like logback instead
Ive had 0 issues with it
why not running it later? maybe a tick
Tried making this config file, but it looks like on first run, the config only generates on shutdown and without the comments any help
Then subsequent runs will generate with the comments as expected
fun generateDefaultConfig(config: FileConfiguration) {
config.options().setHeader(
listOf(
"--------------------------------------------------",
"Happy Ghast vanilla friendly plugin by DerexXD",
"Report all ur troubles at the link below!",
"coming soon",
"--------------------------------------------------"
)
)
config.setComments(
"base-speed", listOf(
"By default only riding a happy ghast will boost its speed; dismounting will return it to normal",
"Speed used for the Happy Ghast (attribute:flying_speed base in vanilla mob stats)"
)
)
config.addDefault("base-speed", baseSpeed)
config.setComments(
"default-speed", listOf(
"Speed used for the Happy Ghast when not mounted (attribute:flying_speed base in vanilla mob stats)"
)
)
config.addDefault("default-speed", defaultSpeed)
config.setComments(
"always-affect-tamed-ghasts", listOf(
"If the increased speed should happen always (not only when a player is riding the Happy Ghast)"
)
)
config.addDefault("always-affect-tamed-ghasts", affectHarnessOnly)
config.setComments(
"affect-untamed-happy-ghasts", listOf(
"If the plugin should make untamed Happy Ghasts faster too"
)
)
config.addDefault("affect-untamed-happy-ghasts", affectAll)
config.options().copyDefaults(true)
}
fun load(plugin: JavaPlugin) {
val config = plugin.config
baseSpeed = config.getDouble("base-speed", 0.17)
defaultSpeed = config.getDouble("default-speed", 0.05)
affectAll = config.getBoolean("affect-untamed-happy-ghasts", false)
affectHarnessOnly = config.getBoolean("always-affect-tamed-ghasts", false)
}
Is this for a config.yml?
Just use saveDefaultConfig and have the comments already in the config
I know spigot is iffy about comments
makes me head hurt sometimes
from the README it looks like you just have to clone the repo, run compileSpigotVersions.sh then mvn package
iirc the built .jar should be in the target/ dir
how do i convert from net.md_5.bungee.api.chat.TextComponent to net.minecraft.network.chat.Component?
Better question, why do you need this ?
If you're already working with NMS just use NMS from the start
Adventure >>
i'm not working with nms
my whole code is built on TextComponent
but i need to send an inventory title change
how would i convert using this?
i need to preserve colours, styling, nested components/extras and fonts
Adventure has an nms serializer
just reopen the inventory to change its name
ok this works
if i shade a plugin with @onenable
then onenable from this shaded plugin will be executed?
on shaded plugin?
only the class that is specified in the plugin.yml in the root of YOUR plugin
oh yes then main class from shaded plugin
will be completely ignored
then should i remove the shaded plugin on soft-depend right
you shoudl not shade another plugin at all
packetevents is a plugin
you depend in it but don;t shade it
if it is a plugin it is independant
u dont know packetevents?
im saying packetevents is a plugin bc they have @onenable
but is likely an api
then can i shade?
I already said noi
You can
you should have it ON your server as its own plugin. Do NOT shade it
Or at least you used to be able to
well you could shade but that is the incorrect way to use it
even its own documentation shows you not to
its scope is "provided"
well, later it seems they say you can shade it
as its a plugin I would not
Read its documentation it shows you how to use it. It even shows code examples of how to initialize it
i alr did
and I don't understand your analogy either. everything has its first time
even more gradle/maven
Hello how can j remove my account?
u have to write an apology letter for creating one
i prefer sending it on the authme login event, as players with slow connections/poor hardware can time out from /login if the pack takes too long to download/reload assets
but yes it should work on the playerjoinevent
You can send packs in the config phase too
Which will make them load before the player actually loads into the world
But I don’t really know how to do so
No
if ur using paper yeah it will say that
Oh oky
This "Thread Status: Awaiting moderation before being displayed publicly." How much its take time?
these shitty inlay hints are getting more and more broken in every new IJ version
i like to keep my variable/parameter names consistent since that makes them disappear
there's a setting somewhere to hide the parameter name hints if the variable/expression you're passing has the same name as the parameter
there's a setting for it?
there are a bunch of settings for the hints somewhere
no clue where
i adjusted them once like 5 years ago and then never touched them afterward
you can have like regex patterns for class/method/parameter names you don't want hints for and shit
Disable that shi
Looks like they setup their modules incorrectly? Try changing the version in the parent pom to 2.3.0-FOX instead of 2.3.1-FOX
Does the tablist render colors differently? I have a hexcode and when its in chat its the right color but in tab it gets changed to a different color?
how are you setting the color in tab?
Using the adventure api -
private static final LegacyComponentSerializer SERIALIZER =
LegacyComponentSerializer
.builder()
.hexColors()
.hexCharacter('#')
.character('§')
.useUnusualXRepeatedCharacterHexFormat()
.build();
String header = SERIALIZER.serialize(Component.text("Header", TextColor.fromHexString("#E03C31"), TextDecoration.BOLD)
thank you
its anvil place or fall something liek that
its when an anvil falls onto the ground i think
then u need to adjust the pitch cuz that sounds very low pitch
I need help, i have znpc on my second world (i made spawn on it) and i want to make it rtp on main world when u click it
How long will it take?
about treefiddy
alr alr alr alr alr alr alr alr alr alr alr alr alr alr alr alr
i didn't see that while publishing resources, is it new?
or threads
Item item = overNPC.getWorld().dropItem(iconLocation, itemStack);
item.setPickupDelay(Integer.MAX_VALUE);
item.setVelocity(new Vector(0, 0, 0));
item.setGravity(false);
item.setCustomName("NO_PICKUP");
item.setCustomNameVisible(false);
item.setTicksLived(Integer.MAX_VALUE);
Someone has a idea why my item still disappears after some time?
I think we need more code, but why not just use an item display?
actually .setTicksLived may be the issue, this sets the entities age rather then a period of time it should be around for
Because an item display does not have the “Dropped” animation
Not too sure why that'd exactly cause it to be removed though, perhaps some internal cleaning for entities that have definitely been around for too long... Integer.MAX_VALUE will return you like 200 years or so
I only added #setTicksLived later, before that it didn't work either
Well you could still use an item display and world.DropNaturally() after some time if that's teh goal
I could have a look at how DecentHolograms does it.
They're all packet based with armor stands
But spigot gives us display entities now
It'd be something like this I assume:
Wow
really not gonna embed
mkv never embeds in discord
torture
Well but this is static, but I need this dropped animation
You can just simulate that with transformations of the display entity
Little extra work
it won't look as good as the original one
easily done with displays. I posted code a while back to do this
I wonder if block displays have a way to induce that animation
time to install mcp to get the official calculation from the game lmao
Thanks
Anyone knows how to upload an api to Jitpack that depend on Buildtools generated spigot dependency.
my github action workflows works but cant upload to jitpack
Jitpack build log
[INFO] Reactor Summary:
[INFO]
[INFO] EranoAPI-Parent 1.0 ................................ SUCCESS [ 0.783 s]
[INFO] EranoAPI 1.0 ....................................... SUCCESS [ 12.402 s]
[INFO] NMS 1.0 ............................................ SUCCESS [ 0.003 s]
[INFO] V1_21_R1 1.0 ....................................... FAILURE [ 1.512 s]
[INFO] V1_21_R2 1.0 ....................................... SKIPPED
[INFO] V1_21_R3 1.0 ....................................... SKIPPED
[INFO] V1_21_R4 1.0 ....................................... SKIPPED
[INFO] V1_20_R3 1.0 ....................................... SKIPPED
....
[INFO] V1_16_R1 1.0-SNAPSHOT .............................. SKIPPED
[INFO] V1_15_R1 1.0-SNAPSHOT .............................. SKIPPED
[INFO] V1_14_R1 1.0-SNAPSHOT .............................. SKIPPED
[INFO] V1_13_R2 1.0-SNAPSHOT .............................. SKIPPED
[INFO] V1_13_R1 1.0-SNAPSHOT .............................. SKIPPED
[INFO] V1_12_R1 1.0-SNAPSHOT .............................. SKIPPED
[INFO] V1_11_R1 1.0 ....................................... SKIPPED
[INFO] V1_10_R1 1.0 ....................................... SKIPPED
[INFO] Dist 1.0 ........................................... SKIPPED
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 14.819 s
[INFO] Finished at: 2025-07-24T20:37:26Z
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal on project V1_21_R1: Could not resolve dependencies for project me.erano.com:V1_21_R1:jar:1.0: Could not find artifact org.spigotmc:spigot:jar:remapped-mojang:1.21.1-R0.1-SNAPSHOT in spigot-repo (https://hub.spigotmc.org/nexus/content/repositories/snapshots/) -> [Help 1]
i guess i have to upload it into maven repo
then jitpack can fetch it from there
hello any help i dont know
well, what is it complaining about?
C:\Users\hopko\Downloads\weekly-regional-elections (6)\src\main\java\cz\churaq\ravarynvolby\integrations\LuckPermsIntegration.java:148:53
java: method builder in interface net.luckperms.api.query.QueryOptions cannot be applied to given types;
required: net.luckperms.api.query.QueryMode
found: no arguments
reason: actual and formal argument lists differ in length
i tried this QueryOptions queryOptions = QueryOptions.builder(QueryMode.EXACT).context(contextSet).build();
but still
guys i really need someone that expert on CI/CD processing with spigot.
how do u import spigot NMS
maybe u need to tell dep manager that its provided at runtime and not absolutely necessary for usage or something
using buildtools with github actions
check EranoAPI-Parent/actions
will provide EranoAPI submodule to my clients
where did you get "EXACT" from loll
did you ask AI or something
it's an enum, you should look at the enum values for which one you are interested in
that method takes a "QueryMode"
looking at the javadoc, QueryMode is an enum
you should look at the enum values for which one you are interested in
https://javadoc.io/doc/net.luckperms/api/latest/net/luckperms/api/query/QueryMode.html
why did u have that ready to send 🙏 😭
W help
if you value any of your time or dignity as a programmer, you should take a proper Java course instead of rotting your brain with AI "assistants" that, unlike your abilities to think critically and solve problems, can't get things right
AI assistance isn’t about replacing thinking—it’s about not wasting time reinventing the wheel every five minutes. If using tools to work smarter offends your “dignity,” maybe the real problem isn’t the AI.
i agree this. for example i am using ai assistants atm for CI/CD stuff and its sucks if you dont know the context that you are developing on.
nice em dash, cant fool me, lynxGPT

vibe coding: ❌
vibe engineering: ✅ / meh
its the people who use it
-# I am just shitposting to annoy emily
lynx, both of us know that you do not need to shitpost to annoy me
aww really?
who?
green ipad aussie
i mean theres some truth to what em said
to fully rely on AI (vibecode) is pure idiocy
u must still at least know the language and have a basic understanding of common errors
otherwise ur code is as good as mine (not at all)
if u know how to code
yeah thats like the whole point
it is what she said actually.
it just speeds it up as long as u arent being an idiot
she* (i found out an hour ago)
to vibecode (to me) is to quite literally try to code (make AI write it) without knowing how to
being fully rely on AI means that you are blindly developing something that you dont know.
I ALSO FOUND UR NAME
thank u
regex pronouns 🙏🏻
i fucked up the regex.
there we go
this is true
Hannah Leonardis - A software developer from New Jersey.
i should update this a bit
i actually have a different version of it that doesnt look as dumb lol
youtube is 404 booooo
a bit more in-depth
one day i need to write a proper resume but ive only had one job and i havent done college LOL
so like i have fuckin Nothing to put on it
you can use vercel to upload your resume. its free for frontend deployments.
you can also set it your dns setup on there for your custom domain.
Hi folks. Want to ask abot minor version backwards compatibility. If I compile against 1.21.8-R0.1-SNAPSHOT, will all versions of 1.21 work as long as I don't use new api methods?
u should use the api version that matches the minimum version youd like to support in this case
if u dont intend on using new features, why depend on newer api?
Just out of interest, as the plugin did load on an older minor version
yeah it'll work for all versions that contain the methods you're using
(and fields etc, you get the idea)
i have disabled proplem check by worng how can i back it
no more problems in the code 🙏🏻
very good color scheme
thank u
i took graphic design one year in highschool and vaguely remember how to color something
Also, hum-hum, hello (but it's night for me)
How can I dynamically generate the resource pack for an item with custom model data ?
Idk if packed does it @radste... wtf ?
(@remote swallow where's rad ?)
still that's it
he left
spigot isnt a place he wanted to stay anymore
oh
half the people in here arent worth the effort to still talk to
okay... I mean, if it's better like this
he mainly just didnt like a few people and didnt want to have to see/talk to them
(can you explain in dms please ?)
okay I see
not me though im Banger
hope it's better then
🙏🏻
Maybe if discord had better blocking
it seems really dark
I changed the shape of the problems by mistake, how do I get them back? 🤡
isnt that how they normally look
no this is smaller and this is dosent have number of. proplems
number of proplems ans warrings
and*
it was bormally showning number of proplems and warrings with out click on it
alrrr i fixed it
this is the normally
so many warnings the IDE gotta show it twice
Bangable*
🙏 did us a favor.
is there a way to get the height of a block? like 1 for a full block, 0.something for snow...
i dont tink.
not for generic blocks
Snow specifically has #getLayers()
declaration: package: org.bukkit.block.data.type, interface: Snow
most blocks are 1 block tall
Yeah you could just make a list for those that arent.
the rest are exceptions you unfortunately have to measure out
but some depend on placement or being powered i.e. trapdoors
ohh true
and how tall would you measure glow lichen? i guess either 0.1 or 0.0
long story short,
?xy
Okay thank you, my goal was to precisely align an ItemDisplay that displays a head to the ground. I guess I'll make a list with all the exceptions then
just raycast
declaration: package: org.bukkit.block, interface: Block
Hi, anyone good with Display Transformations here? I can't seem to figure out what is wrong. A item display is summoned with a scale of 0, and after a timer of 10 ticks the transformation should kick in, rotating the display towards the player while growing to the new scale size of 0.9f
@Override
public void ExecuteTick(RewardExecutorContext context, long ticksPassed) {
if (ticksPassed == 10L) {
var display = this.getDisplay(context.location);
entities.add(display);
display.setInterpolationDelay(0);
display.setInterpolationDuration(20);
display.setTransformation(new Transformation(
new Vector3f(),
new AxisAngle4f(0f, 1f, 0f, 0f),
new Vector3f(0.9f, 0.9f, 0.9f),
new AxisAngle4f(0f, 1f, 0f, 0f)
));
}
}```
The thing I don't get, is that it does the transformation, but instantly. it doesn't matter if I change the InterpolationDuration to a higher number, it keeps being instantly
make sure you don't call setTransformation a second time before the interpolation duration ends
sending a new transformation while the previous one is still being interpolated will skip the previous interpolation and start interpolating to the new transformation as if the previous one had been instantly completed
also make sure the entity isn't spawned in the same tick as when you set the interpolation duration/transformation; i think that should work but personally i've had issues with that skipping the interpolation as well
hmm fair enough. I shouldn't have a second transformation active, but let me make sure
i added the 10 tick cooldown on purpose to not fire it too quick
another thing you could try is setting the interpolation duration first, on spawn, possibly even in the spawnEntity consumer that's called before the entity is even added to the world
it could be that the client sees the transformation being set before it sees the duration being set
it shouldn't, since they're supposed to be sent in the same entity data packet, but i've had issues with this shit as well and it clearly doesn't work the way it should
hmm alright I've applied your suggestions, I'll go test it now
This seems to have fixed it! Odd that it works like that, but at least it works now
Thanks a lot for you helpful suggestions
What does the glasses mark mean?
watched thread I'd assume
Does that mean it was published?
Just means you'll get notifications from messages posted there
dude. Not the right channel.
?
it says help development
Yes. Help for people looking to make plugins.
Meaning, if you're trying to code a plugin, this is the place you'd get help.
where shoiuld i look?
I dont think there is a place, other than the Spigot Forums, and posting free things isnt allowed i think.
I just did.
give me money
let me look around
?services
If you wish to request or offer development/art/building/administration services, please do so at https://www.spigotmc.org/forums/services-recruitment-v2.54/
give me ps5
paid* btw
rule of thumb, i dont think many honest people are going to help you for free.
Hi guys how are the doing this ? https://imgur.com/a/pC8eRVj
They put yellow background on item that can be added to backpack. I though they was doing that with custom resource pack but after looking into the texturepack i don't see any item with yellow background.
And when looking the config we can config a RGB color like:
slots:
colors:
not_owned: 195,147,57
owned: 56,67,100
My guess would be font fuckery
Hello Guys,
So i want to make a custom Item System for a plugin that I develop. I want the ItemStack of the Custom Item to have a Translation key from a resource pack as the Display Name, I tried it with Component.translate but that didn't work. Does somebody know if this is possible and if it is, how I can do it?
Thanks
yeah that's font fuckery
you make a font for each slot row and then use negative spacing and whatever
I have it for the first 6 rows somewhere
Component.translatable is the right solution
you might have to specify a namespace
Try sending yourself the component as a message to debug if the problem is in your pack or in your component
damn very smart
I wrote that code years ago I'd do it different nowadays
let's see if I can find the pack for it
because actualy some people tell me that core shader is the way to go
bruh
there
it's just a 1x1 pixel scaled up to the size of a slot
given that slots render BEFORE items in versions <1.21.6 it works
starting on 1.21.6 mojang did a big stinky and broke all custom UIs
you can sorta get around with it using core shaders BUT it breaks item lore
they also broke lots of core shader stuff in 1.21.5
who knows
Yeah i saw that 😦
Looking for someone to help make the rest of my server. NOT PAYED. DM ME. REALLY NEED HELP
PANIC!!!!
?
Wow I'm sorry
...
?services
If you wish to request or offer development/art/building/administration services, please do so at https://www.spigotmc.org/forums/services-recruitment-v2.54/
Ty
We should make fun of people who are looking for developers to make things as a volunteer.
aura
What would make us work for free?
i dont undrstand that
I am completely against the concept of volunteering unless it is open source.
and it must have a certain amount of success or popularity or promise.
this work for 1.21.7

you just wait until they finally drop the whole graphics refactoring
GIANT PINECONE IN STOCK
i got enough pinecones at home i don't need anymore
liar
nuh uh
i wouldve developed for u for free
It was ong there
can you make an entity always update their yaw clientside to whatever the player is facing?
since my plugin use hidePlayer method, i use packet to send fake ServerPlayerInfoUpdate packet to show them on tab. But the tab completion for commands didn't work anymore is there a fix for that ?
Thank u ❤️ My wife did it
aura ask her to make me one pls
I can send u his discord name if u want
ur wife is a guy
no ? 😭
can server owner sue their devloper?
anyone can sue anyone
yes , but can it hold in court as its just a minecraft server?
depends on what you are sueing for? xD
depends, talk to a lawyer
i am the devloper
too expensive
okay? depends on what you are being sued for
for giving backdoor access

but its a minecraft server
how does that matter
makes no difference
and the damage was minimal
makes no difference
and he does not know my real name
¯_(ツ)_/¯
Play stupid games, win stupid prizes
distributing malware is illegal is most places lol
some places its a very serious crime
Ye that's a felony
bruh just ghost him
He can just report you to any law enforcemeny entity
after he started threatning me I deleted all the console logs , my mods and left
how will they find my name
I mean, law enforcement kindly asks discord
he could hire a super spy to find you
discord kindly provides your ip
or whatever
Because your ISP has logs of the IP ranges they rented you
but yea, this isn't legal help 
And every webservice has logs correlating that range to your accounts.
I think once discord refused to give some information in court so they were summoned

Yeah they did. Then they got in shit for that.
nah, I always code backdoors without intention
All backdoors are purposeful
yah he said he will pay may so he never did so I compensated for my work
Discord has entirely different ownership now.
ah yeah
I say justified
🤡
Well, if they haven't paid you for it, chances of them actually suing you sounds rough
Maybe morally, legally, no.
if they don't have the money to pay you, doubtful they have the money to sue you 
Ye you's probaby fine then
nah he is a rich kid , he used his parents credit card to buy hosting
Unless he just charges you
you don't need to be rich for that, y'know
aaahaa. This sounds like troll, gl
Sounds like a 13 year old and/or a third-world bananastan plebeian
Nothing will happen
"bananastan" lmao
if you are starting a minecraft server that is also open you need some money
Yeah at least 2.5 dollars
more like 50
Nuh
Lol
😱 50 dollars?!?!?
most reliable hosting charge that much
(lawyer won't even look your way for 50 dollars)
Use a VPS brother
if that isn't the definition of filthy rich, I don't know what is
It's just a java app...
what if he gets a contingency fee lawyer
do you mean pro bono
Or like a 2 dollar 2gb pebblehost shit tier shared host
how old are you?
bruh it was a 32gb ram server , he rented a vps

17
Then it'll be at least 20 dollars
what country
tl;dr, legally yes, backdoor be illegal. Wait and see if anything actually comes from it
50
Nuh
usa
20
ah, my condolences
i watched better call saul what if he gets lawyer like saul goodman
Then you're fine
Because you don't live in a TV show so he'll be held to actual rules
is it possible to sue your developer for making backdoor access to server?
bye bye
no you can't , I don't think its even possible, you should not consider that as it will waste your time and lawyer fees,
You can. Depends on several factors but its possible of course.
yes you can lol
it's 100% possible
lawyer can charge 1000s per hearing can you afford it , what if you loose after spending so much money, I would suggest to not go for it and forgive whoever that devloper was 🙂
hmm , but he did a lot of damage
That wasnt his question. He asked if its possible. Yes.
but its not practical , so don't suggest that
That wasnt his question. He asked if its possible. So again: Yes.
Not if it practical, easy or cheap
It's possible but useless
yes
Your best thing would be to get him banned in all connections he has
I thought you guys are delvopers so yuo may see it a a lot
What did he cause?
things depend a lot on the case
and although we're developers i doubt at most 1% of the people here have done something like this themselves
I mean it does not matter as he took a lot of stuff from his backdoor access and distributed it for free, he has been doing for weeks so I cant revert it back that much
Well then take it down with a DMCA
that is to say i'm sure there are many malware enthusiasts, crackers, and pirates here, but in doing those things most of them covered their tracks well enough not to have to worry
by any chance is it possble that you may have not paid him well so he got angry?
That dont make any sense
Is that a valid reason to backdoor and break dmca laws?
i mean its morally valid
No
ur a moron
not really
and even then the law doesn't care
bro why you being so rude
some people just should use other peoples opinions instead of having their own
"he didnt pay me well so i will break multiple laws instead of simply reporting him to wherever he hired me from"
bc its morally right ✅
he justfied it with exact same reason , But we never agreed to pay so why should I
eye for an eye makes the whole world blind and me king because i have one eye
aura if u ask me
I mean many time employer could be your old friend who verbally said they will pay you and you end up trusting so you have to get back
it was financial self defence bro
"have to get back"
you are right maybe I should drop it
Can we talk about the logic? "But what if he didnt pay", after Sammu answer, he didnt pay. But the backdoor was already there or not? So that cant be a reason.
u shouldnt drop it
u should report him
and get his online identity exposed
doesnt mean u go attack him back
u just do whats legally right
take action not harm
the only acceptable backdoor is
having a cloud function that simply breaks the plugin if it wasnt paid
I don't want to spend thousands just to have a chance of winning , I don't even know his real name
the one i have access to
not breaking dmca laws
i didnt say sue him
i said report him
its a minecraft server
no lawyer is picking up ur case
if you recruited him in the spigot forums report him, else he does it to others
where will i report him , Mojang plice?
just publicly shame him
if you didn't get him from spigot do nothing
he was my friend who said he will make plugins for me
publicly shame them on twitter
punch him in the face
"He was my friend", i guess i know why not anymore xd
he left the server immediately after i found out
and blocked
I mean if he caused financial damage you could sue him for losses. Of course assuming you can find the guy
ah yes 20$ of minecraft assets
the lawyers will be 🤑 with this case
suppose if i sue him for damages for like 10k , will the lawyer and stuff cost me more than that?
engage in physical violence against him
Don't need a lawyer in small claims court
still isnt valuable enough to be picked up
Challenge him to a cage fight
definetely , + the time will be wasted
neither is it worth wasting ur time
??
the lawyer doesnt cost more than 10k
nikola where is ur law knowledge from
minecraft?
no but really since you know him irl, duke it out irl
lol you are so dumb , any lawyer will charge 500-1000 for first hearing in usa
lets make a poll
people do dumb shit on the internet because they're too used to being protected by a screen in between
how is that more than 10k
do u use ur fingers to count perchance?
Love ya thats so tru
thats first hearing , what kind of case is completed in one hearing
something something.... mike tyson quote
back in the day every time you'd fuck around you'd also find out
ah yes they will go to national court for a minecraft server
LMAOO
it would be sorted and done in one hearing
neither would a lawyer pick it up
bc there isnt 10k in damages
there isnt even 1k in damages
so a claim of 10k wouldnt even be accepted in any case
what about 10 dollars
aura
so we are back to same thing , its not practical
you guys made it so long when i said that sam ething at the start
we arent back to the same thing
u said u cant sue
u can
u said it would cost more than 10k
no it wouldnt
I mean it's technically computer hacking in a way but it's a coinflip on if the judge/jury understands enough tech knowledge to care
then i said its not practical and its true
doesnt matter
i didnt disagree on that
anyways
all of it just sounds like bullshit
it's still possible, and someone with enough time and money will do it
sounds like he just wants attention
Btw in some countries the loser has to pay the laywer so if you 100% sure, you could try and didnt lose money
the case will be more symbolic than practical
no that depends on the case
bro shut up
we all know nothing happend
just load the latest backup and continue
what'd be much more symbolic is a fist in the face
he'll for sure never backdoor again
man whats wrong with you , don't you read previous messages, you are just straight up abusing , leave the conversation if you are not intrested
at least anyone within melee distance
I hate my mind for that
damn
assault and battery
http://goo.gl is gonna stop working soon
ok nvm you doing it on purpose
that implies knowing the person in real life which is cringe
how will i link my favourite google searches
i think he said he does
If his gf ever ask for backdoor he has now PTSD
literally he is the one who is bullshitting from start, not being helpful at all xD
I don't think he will ever read this
i vaguely remember hearing that mojang changed the world generator somehow so that updating the server version mid-generation no longer causes chunk borders
damn thats crazy
anyone know whether this is true and if so, how is this accomplished?
@molten hearth ^^
specifically i'd like to selectively regenerate parts of my world with different heightmap noise/biomes
so if that could be done smoothly without causing chunk borders that'd be neat
Sadge
like i guess i could manually do some smoothing for say ~2 border chunks myself but that seems a bit bothersome to implement reliably and is probably pretty expensive to do at runtime
so if mojang has already invented this particular wheel i'd rather not reinvent it
Yes, chunk blending is a feature
Sadly that's all I know about it
Here's a post about it, idk if it's what you want
https://www.spigotmc.org/threads/chunk-blending-feature.684867/
i'll take a look see
mmm
interesting, though not particularly informative
i'll have to fuck around with it some i guess
if i had to implement this myself i'd probably try interpolating the noise between the old seed/noise and the new one, but i don't think the noise or other generator information is stored in the world, so you'd need all the parameters of the old world generator to do that
yep
you could maybe sorta ish compute the noise values from the biome and terrain heights, but things like cave systems would probably be impossible to patch over smoothly
why would i know about mojang generation 😭
this
oh wait arent u in france
ya
huh i finally did @chrome beacon
im only using github workflows
Monolith API for spigot plugins. Contribute to Erano01/EranoAPI-Parent development by creating an account on GitHub.
@thorn isle ever dealt with nms inventories just refusing to do shit?
for some reason when I open a gui after right clicking, I can't drop items out of it
and it doesn't fire click events when dropping
Does it think the player is invalid or something
you either patch the server to fire a million sysouts in the inventory handling logic, or you attach a debugger to the server and set a million breakpoints in the inventory handling logic
i recommend paper userdev + runserver
it could be that you're omitting something that sets the carried item of the menu
I think what's happening is that dropping the item swings the hand
and that opens the gui again
which passes that check
the more sysouts the better
sloc stands to sysout lines of code and is an objective measure of how good the code is
it explains why opening the menu through the hotkey works but not w the item
stupid ass detection
does the client not fire a left click packet?
do we seriously have to figure out with hang swings
i think it might have a packet for that but the bukkit listener also listens for the animation arm swing packet or whatever because the proper packet doesn't cover every case where an "interaction" happens
this is a longstanding problem and causes interact events to fire when doing completely unrelated things
Correct. That's why you get a left click action you do something like opening a trapdoor, which famously is not a left click action :p
The client does not send an actual interaction packet with the interaction being made
one day we will for sure get left/right click fields in the input packet or something 🤡
but the trapdoor opens
can't we just prioritize every other packet
and then use that to kinda figure it out
I think Mojang is aware that the community wants more streamlined interactions
But they also don't want to write something that then has to be rewritten again over a bandaid
or just disable the hang swing when dropping in a gui
you mean they don't want tech debt
Sure, yeah, whatever term you want to use for it
yay I can drop items
i think including rmb/lmb in the input packet would probably be fairly straight forward, but i guess that does leave a lot of the logic up to the serverside to figure out what the player is actually doing with those inputs
There are some complications with how the client predicts interactions, iirc
eh, for most of my use cases at least i don't really care whether it's an interaction or not, just whether the button was pressed
wouldn't be suitable for the interact event though, sure
Yeah but then you get into the camp of "I should be able to listen for any and all key presses too"
Server-defined keystrokes would be nice but that's a separate issue that ties in very closely to just adding in mouse click listening
Hard to fix slop with new slop 
i would also like to add custom keybinds as a synchronized registry
if we're going to say things we want
press f to pay respects and so on
I want to be able to set non-whole number positions for end crystals from the server
Too bad >:L
no, I will never drop this topic
i want to be able to rotate and move item frames freely
some guy said he managed to do that but i don't believe him
and he can't reproduce it
could probably technically imitate it using item displays lol
you were able to do it pre-1.17
raaaah
in 1.17 they changed item frames to not use their yaw and pitch but rather their block face
choco
took me 4 hours of testing to figure out why downgrading the server broke rotation
I found the meme I made to express my frustration
this makes me incredibly angry
emily
I wonder what funny interactions you cna have if you mount an item frame in a display entity
honestly
probably a fun project to try
if only I have an inclination for interpolation math
sadly i don't think mounting things on displays makes things inherit their transformations
that would be a very neat feature, however
proper bones and shit for animation
I did some simple stuff like an earthquake to make blocks move around and shake, and it was cool- that's the extent of my knowledge
while we're at it let's allow for a custom mount offset
so you can actually port multipart models into the game without having to teleport shit around, and you'd get proper multipart interpolation
Sometimes I think about how it'd look to do trees that wave in wind in minecraft w/ display entities
could be neat, though i think gameplay would kind of suffer what with the hitboxes and all
might be a better project for shaders and maybe a mod to animate the hitboxes/collisions as well
I'm at the point in my hobby life where I'm going into extremely impractical creations because why not
shaders do already make leaves wave around by transforming the geometry
should probably not be impossible to do the same for logs that are part of a tree
yeah but I don't like touching client stuff
I like pushing the limits on the server side of things
waving trees reminds me, the new ambient/environmental particles are super nice
forests feel much more forestlike with falling leaves and shit
now we just need a bunch more per-biome ambient sounds like chirping birds and crashing waves
which is a serverside project which i've always wanted to get around to but never had the time
i even stole the sound assets from some mod already
so i want to make a configurable shop (gui). admin could add or remove items and set the price. and im thinking how to make that configurable. through a command and through config. but if it was configurable through a config, then you couldnt set custom items from other plugins, and if it was configurable through command, then the config would be pretty unreadable. so i dont know if i can do both
you can do both, by accepting both formats in the config
the ones created with a command will be unreadable, but as long as they are named informatively in the config, that is fine
the price and other shop-related settings will still be readable
and for basic vanilla items you can just accept a simple item definition from a material in the config
ideally you'd use some form of centralized item management system but there are many of them out there and maintaining compat with all of them is infeasible
for a similar project i ended up forking pretty much every item-related plugin on the server to unify the custom item representation (e.g. the pdc key used to identify them) and now just refer to them in configs by pluginname:itemname
this was particularly ass for mythicmobs because mythicmobs is particularly ass to begin with
and being closed source made forking it a bit annoying
i wouldn't have had to fork it of course if they had proper external custom item support, but like everything fucking else in their dumpsterfire of a plugin, it is there but barely works
then i think it would be better to not make it throught config
yes well if you don't make it configurable through a file i will find where you live and burn your house down
write an intermediary format / your own item codecs
makes config readable and the command items readable as well
additionally if you make it configurable through a gui exclusively i will also burn your entire city down
how do i know i included everything
you write a million codecs
million codecs?
if you write it yourself you run into essentials town and it becomes a maintenance nightmare
whats 'essentials town' ?
essentials from the dawn of time had its own item syntax
which over time grew larger and more complicated and more unreasonable and most incriminatingly, more different from the way how vanilla item definitions evolved
it was and is a nightmare to both the maintainers and anyone trying to do anything more difficult than add enchants on an item with it
use snbt/json and you can delegate serialization to paper and documentation to mcwiki
sooo what is 'essentials TOWN' ?
did you mean here that ill do the same mistake as essentials did... ?
x town is a turn of phrase meaning a place to be pertaining to or defined by x
in this case a bad place to be since it was ass and shit
not that essentials as a whole is ass or shit but in terms of the item syntax it definitely is ass and shit
so yes implementing your own codec for everything is going to also be ass and shit; you'll be repeating their mistake
mythicmobs for all the shit i give them did it a bit better, in that they at least allow you to specify your own itemstack serializer if you want to use anything other than their item syntax
of course, just like everything in mythicmobs, it works only situationally
but i'd still take it over essentials items any day of the week
okkaay
How can i put Block material to tabcomplete?
Just like anything else
wdym
do yall know what sound this is labeled as in spigot?
https://youtu.be/pCFvEOZUzu8?si=N_CVEnY5Hi454juO
oh sweet, thanks
Like then i use /blocks args[0]
in args[0] will show up list of all blocks in the game
Add a tab completer, get blocks from Material
The proper way to get a Minecart that just got placed would be through the EntitySpawnEvent?
rate the C folx
(takes in a file [presumably .txt], converts newline chars to | for this one wallpaper i got on wallpaper engine)
Sure
Looks good except VLAs are usually discouraged
Variable length arrays
You could just malloc that and then avoid the w_strcpy by adding the offset directly to the pointer and use regular strcpy
For dstName yeah
hm
what would that second part look like?
i could imagine the malloc would be char *dstName = malloc(sizeof(srcName) + (sizeof(char) * 4));, unless that still counts as variable-len?
If the sizeof(char) * 4 is for the extension then yeah that's correct
and then strcpy(dstName, srcName);, then assigning the .nlc with strcat?
But also you're misusing sizeof
sizeof returns you the size of the type of the variable in bytes
in this case srcName is a pointer so if this is a 64-bit program it's going to be 8
ah i need strlen?
Yeah
guess ill include string.h, i was being stubborn trying to get around the import lol
Yep
Eh
It's so lightweight
You could make your own strlen and strcpy and what not but that doesn't really offer any benefit other than freestanding environments where you have no other choice
this feels even more wrong now, mostly bc of me manually putting nullterm(do i need to?)
all strings in c end with \n no?
OH
i get why u say that
i dont need to do it since ".nlc" would (hopefully?) have that in the strcpy
this should be fine, ye? @daring light
+5 is strlen(".nlc") (+4), and +1 for nullterm(necessary, ye?)
it prints out fine in stdout at least
or should i still be malloc'ing here? instead of just a normal array
no yeah it was just pure stubbornness on my part
i was like "i could totally do this without needing it"
i think im still misusing sizeof now in array creation lol
theoretically i just... shouldnt need it
since that should just be "factored in" since its a direct char array
Yes you are still using VLAs instead of malloc
F
You should only use arrays when the size is a constant
Otherwise use dynamic arrays
And also for strcat the destination needs to have enough space allocated for the string you are concatenating
im aware of that ye, i did read some docs on the methods lol
this is now with malloc + free at the end of exec
Also the sizeof(char) here isn't misused. It's a legitimate thing to do if the platform the program runs on has a char size bigger than 1
dstName is too small
D:
Right now this program it's undefined behaviour because you're concatenating outside the malloced area
looks to me that won't support unicode strings
You need it to fit the name AND the extension
We don't need emoji filenames 😄
should i assign the extension its own char * and then include that strlen in the malloc?
and reuse that variable in strcat?
No but seriously theres wchar for that, I've never worked with it but people say it's cursed
No
The malloc you used on dstName just needs to have enough space for both the srcName and the ext
You are copying the extension at the end of srcName
So they're next to memory
Currently you only have allocated enough space to fit srcName, but not enough to fit in ext when you strcat it
It works, but it's undefined behaviour
It may or may not work
May or may not segfault
You understand how pointers work generally?
at a minimum you leave random junk in memory after you free
i have a rough idea, i wouldnt say skilled enough to use them regularly though
Pointers are just pointers to a memory address
When you malloc, you tell the OS that you need a memory address which is GUARANTEED to have the amount of bytes you specified in the function parameter so malloc(size) after it
Let's say your srcName is 5 characters. In your case this is 5 bytes + NUL is 6 bytes. When you call malloc with strlen(srcName) + 1 it'll give you a memory address which you can be sure will have enough space after it to hold srcName plus 1 for the NUL terminator
So when you write the extension, it'll pass the 6 bytes you allocated
So now it's no longer guaranteed the memory is accessible to you and you can segfault because the kernel kills your program for violating the allowed memory it has asked for
And that memory you overflowed wont be freed like Elgar said since it isnt being tracked
maybe i misinterpreted strcats documentation then? its behaviour seems to imply it overwrites the null-term string in the destination, which when im doing +5 (for .ext + nul), is /more than enough/ when the strcpy call only invades 1 byte for srcName's null-char
it does but you didn't request enough memory to go beyond that limit
well, i dont intend to?
you do once you concat
You seem to be confused between memory and a variable
your malloc limits your variables size to what you specified, BUT you are overflowing that size when you concat
Ah I did just notice you malloced +5
That should be enough for that, but you want to avoid magic numbers like that, you should declare the extension as a const char * and then use strlen on it like you did with srcName
i believe i had mentioned that, lol
@ declaring its own var
granted it was for a diff question but the thought did happen xd
i probably should make sure i free even when i error out though
which would include moving file logic outside of main
Depends
If you're returning from the program it's not needed
Since the OS does the cleanup itself
although it is good practice
still have the potential strcat issue? but lowered my chances of early return before free :D
also ignore same err code on read/write fail
does that look /safer/? @eternal oxide @daring light
Yeah looks good
Nitpick but when you're erroring out you usually return from main with a non-zero value
Maybe you just do material.getvalues or something like that and check if material.isblock ... I dont remember
true :P better?
could technically return the format_result i suppose
or actually maybe not since thats not really indicative of the program as whole, technically, just 1 (albeit crucial) part, should still use EXIT_FAILURE (1)
Considering the size of the program returning format_result directly is good
https://imgur.com/a/bQFvPiY
Do you guys know if there is a fix for that client prediction causing visual glitch. Because i use tripwire for my custom resource pack crops but i got that visual bug
Can you use something other than tripwire?
Don't think so. I see popular server having this feature where u can farm custom crops and when we look with F3 we saw that they also use tripwire
What if you use it in the other state? Deactivated rather than activated or vice versa
Actualy we have this
https://imgur.com/a/C9cjLgb
Are you using the same as them?
interestingly enough this error'd out on my phone, because i did char ch instead of int ch for when im calling fgetc
gcc on my desktop didnt say anything and it functioned as normal, but gcc on my phone warned me of an infinite loop (were my chars unsigned?) since it said -1 (EOF) was never achievable, and sure as hell it inf loop'd and filled with garbage data when i ctrl+c and du'd the output file
apparently char signedness is up to the implementation in C, fun
Yeah you should have it as an int
On success, returns the obtained character as an unsigned char converted to an int. On failure, returns EOF.
I'm guessing it converts it to an int so it can represent EOF
Also yeah it is
That's why you have unsigned and signed char types
Hello, how can I set a block mining time ?
You can't do that directly
In newer versions you can use the tool component on an item to change how long a block will be mined
Or the laggier way - use attributes to disable mining completely (there is block mining speed attribute) and only when player starts mining a certain block you change the attribute based on how long you want the block to take to mine
you should be able to just paste it here since you're verified
its tripwire
use nexo
but u dont really need tripwire u can use display entities which makes it more unlimited
ye, i think i had just put char without thinking bc i was like "oh im working with characters, thisll be fine"
bc even in java i think u need to use int type for something like that lol
i just wasnt thinking at all lol
am i wrong in thinking that databases, especially structured ones are overused. I mean applications nowadays prefer reactive changes and they do validations and verifications on application level. Using normalized db for main operations hurts performance and is impractical since you want do validation as soon as you can.
My point is that you should have some kind of local persistence store (Apache Parquet you name it) which is denormalized which sits on top of the same system where app is deployed and it is use only in that application. Application persistence code should write to both normalized db and non normalized one, but read from only denormalized one
If you're doing microservices you can use kafka or other message broker to share denormalized data between nodes for further reuse, if none of the nodes would have the info then it would build the denormalized version by contacting the main normalized db. You can also plop in memory cache like redis for further optimizations of application level data if you to squeeze even more performance.
You can also just bite the bullet and use relational database with materialized views but they do have their own quirks and also you pollute your source of truth with app level data which is unimportant to the external services.
Nothing new pretty much but i seem to tailor towards this approach more and more.
one example is for example with normalized db's you use count() instead of storing column called `count` which is updated in application level during certain actions. You certainly do not need to calculate row count if you know that only certain actions can change the the table contents, but if you do introduce such column you break the denormalization of database, since now count can be set to whatever you want and break the data integrity that count() provides
instead of such stupid queries, store the count in nosql or some kind of file storage format and sync it with normalized one just in case you might need that data in external services instead
count
nooo but my magic mysql optimization bullshit is going to magically optimize it away so we can just handwave away any potential algorithmic inefficiencies like counting all the rows instead of maintaining a count of them
thats what im doing currently
Well for the sake of the count-example you could use triggers if you want to keep the data intact, however that's a lot of hassle. I would assume that tables with indices don't re-count over and over again, unless of course you do a partial selection in which case you would need additional count fields in your application, which would decrease readability.
Generally I agree that databases are not necessary for single-instance applications as long as the amount of data doesn't exceed certain thresholds.
However for (micro)-services with multiple instances you need some sort of shared layer that is able to handle and roll back transactions for operations that might overlap and touch the same data. Sure, you can build that on a file storage as well but then you would have to do the same validation and might as well use a DB which handles it for you - and also ends up putting the data in a file
only got a mongodb for accounts
tbh i do need a redis server from time to time but depends
tbh i didnt read anything after the first line
i agree that custom implementation of persistence store might be an overkill especially in microservices architecture where overlaps can happen, my main point is that you should treat relational databases as a second class citizen and prefer using nosql for application level storage or some kind of other persistence store which stores denormalized views of centralized normalized data
yeah it deff is
if u have it available, use it
if not just use traditional methods
back to the "where do u store the users theme" question
on each app? or on a database
i would store it on app since themes can sometimes suck

it'd be cool to look at