#help-development
1 messages · Page 1030 of 1
Is it designed to protect against downloading maps?
lol what
Fabric doesn't I think
I didn't think it would be so easy
IF you can help me prevent specific blocks from being placed dm me
You can't do it any other way
just check if the material is of a type you want to disallow
if so cancel the evnet
or use worldguard
?learnjava
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! 🎉
and check the spigot resource forums
oh fuck they really expanded that command
fr
he needs a mentor hah
will it teach me
how to do what i need
learn java, bukkit api
how long will it take
I did it in a year and a half, h a
can u pls just help me
we can't help you with everything you'll ever want to do
i cant waste 3 years for a 1 weelk project to fix 1 issue
Perhaps you have already dealt with programming languages. I learned both Java and bukkit api together
its 1 issue i spent 6 months just to learn the basic bro
okay, have you ever used bukkit before, bro?
you have to otherwise it will be difficult for you in the future
listen to BlockPlaceEvent and cancel it if the type of the block is one you want to disallow, preferably use a Set to store the materials
there, should be easy enough
Alr ty
use chat gpt 🙂
chat gpt aint helping no one
fucking hell
W
oh
its stolen information
man is a W
bro got ratio'd in #help-development
and yet its still incorrect
Run BuildTools
Setup workspace
Create a one file plugin with the event and set of materials
Package it into jar
Should not be that hard if you know how to google and use a computer
but no one has done this yet, especially in Brazil
They don't have to there are plenty of mods that can do that
leave
nah
on 1.8?
I doubt
Stop giving bad suggestion lmao
alternatively you could look in the forum services section 😄
all this for an issue ive fixed
googling 1.8 world downloader mod won't take a long time and i bet you can find something in the end
gpt chat is useful as a tool accept it
pokechu's
Nah just a copy and paste
If you're trying to code something with it, it really ain't
You have to know coding for that
It makes so many errors
I've tried it you see
that's why I want to block this. he was talking about something else
Again you cannot block that
ah sorry i didn't read the whole convo
Bukkit.shutdown()
it makes mistakes but the problem is in the pomp
You can only detect it if the client tells you they're using it
which is easily disabled
can't people like use schematica and just create a schematica of the entire world
they don't send many packets when downloading idk? a high number
they do not send any packet
no they just save what the client sees
^^
all programming is copy and paste
no
that is a great running joke
and it's not true
lmao
you've never really coded something have you
but receives
if you are genuinely copying and pasting every second snippet of code into your project, you're doing it wrong
the server sends chunk data to the client so the players can see the world being rendered
You can stop world saving by not showing the player the world
that is, you write everything from 0? without using ready-made API solutions, etc.
That is the only way
using apis/libs is not copying and pasting
you can argue that people who use the language's standard library are copying and pasting
that would just make you look hella stupid
is all
is this happens in large projects
what
Yes, NASA got ppl to the moon with the "Spaceship API"
not every but this exists in programming
i do not understand what you are trying to convey
programming is NOT copying and pasting
that's it
if you think otherwise you're simply incorrect
yes you copy and paste some code
but not most of it
and even then you most often have to tweak it to suit your needs
but exists
Noone here is arguying that copy pasting never happens.
It does.
But it is in the minority.
Mostly you write your own code.
ragebait shit and stupidity shit
i like to argue over internet
for some reason
i'd rather do something productive rn
20,589 results
?
I'm not saying that the entire program consists of copies and pastes, but it exists
😦
Noone here is arguying that copy pasting never happens.
It does.
But it is in the minority.
Mostly you write your own code.
read this
over and over
until you comprehend every word
and sentence
and the meaning in general
zbll reminds me of my discord helper self
read this
TF
staying up all night just to deal with incapables in the morning
yeahhhhhhhhhhhhh that's valid
whos the owner
nvm
his username is spigot mc
why would he be the owner
just saying
are you the owner of unkown_3949 ltd.
theres actually a server named that
why would you @mention random people like this?
lack of common sense
sry mistake
i am russian idk
oh
🙂
oh hell nah
where can i request a developer to make me a plugin, im willing to pay $$$
?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/
just a parametric equation
i can )))
how good are you at coding plugins
^^^ @spice spear
go to private
check dms naughty boy
ty ty
should i read up?
snapchat girls be like
lol
i just have notifs for new publications in the spigot development forum
and i don't often visit spigotmc the forum
so i have them just accumulate
i made a vault economy provider, but, since i want to make logs for the transactions made by the most popular plugins (at least the ones im using), im using the api of those plugins to hook into events that deposit or withdraw to or from a player. so, i added all those plugins to the softdepend section in plugin.yml. the problem is, now, since those plugins load before my economy provider, the ones that get the economy registration on onEnable, get the previous provider (essentials) instead of mine.
what can i do to prevent this? should i, somehow, hook into those plugins later? like, listening to a plugin loaded event or something (if there is one) instead of waiting for them to load before loading my provider. every plugin that uses the economy has Vault as a dependency, but not my provider, meaning, there is no way to make sure my provider gets loaded before every plugin that uses the economy, right? then, is there a way to define some kind of "priority" to load my plugin? is it the plugin developer fault if they only get the provider at onEnable and they should get it at the first tick or something and i shouldnt care about this? idk what to do tbh
As an eco provider you should not be hooking into ANY other plugins
you should not have to hook into other plugins. and yes i do believe its bad to only get such a provider at startup. plugins should take into account that they can change. ServiceRegisterEvent & ServiceUnregisterEvent exist for a reason.
yall which of the two formulas do you think is better for an "adrenaline" effect (the lower your hp the higher your damage) (v_lvl is the lvl of the effect, v_dmg is the initial damage, v_maxhp is the maxhp, v_base is just to play around with bases of log and root, x is the health)
https://www.desmos.com/calculator/4emnsejmsy
by "better" i mean "more fair and fun"
this website gives me ptsd
lol
there is no other way to do the log thing
Read up
y2k your opinion is required
unless i do it on a separated plugin, but then i should fire events from the economy provider and other stuff, bc im deducing a lot of stuff to do the logging
Honestly anything logithmic is solid
Yes that’s what this plugin does
true
Somewhere here pokes me about it before
Roots are good but the issue is they have no asymptope
Where as logs are capped
true
ok but if im only using events from the other plugins, i shouldnt have to wait for them to load, right? unless im directly using their api, which im not
ok yeah it's log then
the only one i have to use its api is plotsquared, bc they dont use the spigot event system, for some reason, they use their own, i have to do PlotAPI().registerListener(PlotSquaredEvents). i guess i can run that when the plotsquared plugins gets loaded? is there a way i can know that?
depend on PS in plugin.yml and it'll always load before your plugin
Can anyone help me with Item Display? Which unit does use right rotation & left rotation?
blocks I believe
oh wait you meant rotation I read that wrong
._.
I recommend using https://misode.github.io/transformation/
why not just use the location to rotate it?
The ? at the end probably tells you what unit it's in
lol
I thought the question was how to rotate it lmao
but i want the oposite, to load as soon as posible, so no plugin gets the old economy provider
but what im really asking is, if i only define event listeners, will it work even if the event emiter is not loaded yet?
if you add PS as loadbefore, then you'll have to listen to the PluginEnableEvent and register your PS events there
(if the plugin being enabled is PS)
ok, cool, then, loadbefore is like the opposite of softdepend
thats what i need
thanks
btw axiom has a really cool visual editor for display entities, you can check out that one
Yeah, but I need to spawn it using plugin
it gives you the transformations and the command so you can just add that to your code :)
I did already link a visual editor
didn't see it, axiom's is ingame and has support for everything else related to displays
yeah axiom is cool
incredibly useful for me
it saves me so much time as i'm addicted to display entities
is it possible to not show the void texture/colors. Its not changeable with Texturepacks but i want it to just display the normal sky color
don't be below certain y value
i know but i want it also not to show below that y value
Setting the world as FLAT moves the y lower iirc
it is changebale in like datapacks?
That I do not know
Oh!
It makes sense
I wouldn't at all be shocked if that were just a shader
probably is
Which shader? No clue. But that looks like a very easy shader thing
Axiom now is like WorldEdit 3.0
god I love axiom
yup!
some post shader prob
it's so good, soooo good
agreed
Worldedit and voxelsniper or steroids
photoshop for mc
you found that very quickly
Looking at the fragment shader, that might be the distance fog, not the void colour
Well it ought to be one of those shaders
it will look a bit scuffed in the end tho
I would direct the person to MC Commands discord server where ppl are more knowledgeable about this topic.
^
mc commands ftw
and font magic
both great shader and pack fuckery servers
i still don't understand how to do fonts
does it require a textureaack
yeah if you just outline some basics or have a guide that'd be cool
i don't have a usecase rn but it'd be cool to know
join the shaderLABS discord :)
gimme a couple days i wanted to make a blog either way
send inv
sure sure
tyty
How to open this menu? I didn't find anything in keybinds
right shift
Oh thanks
Can you change the bindings for it?
idt so
Mhmm aight
@icy beacon been working on a resource pack generator so why not make a lib for font fuckery
been planning it a bit
oo
like custom ui type shit
Yeah please do that i'd love to see that
same
it'll be a pain but it'll sure be worth it
if you dont I probably will xD
(also it'll be paper only :DDD)
ahem
nms
why do you need components
people really be saying chat colours are better than components
I mean the only thing you lack is inventory title
which will be needed
yeah
does spigot support bossbar component names
just a lil bit of nms
fuck no
paxketevents can probably do it too
i use a paper fork so i just cannot be bothered to even support spigot
choco components pr will be merged soon :copium:
and you dont have to use components if you just extend the default font
prayge
💀
and if you want everybody to be able to send those!
and what about shifting text
not possible
wdym
i mean it is but not in a readable/usable way
ascent and ttfs?
well it depends on what you mean by usable
some just needs to write some api for it
if you want to be able to write HELLO WORLD and not =°°πππ¥π¥$^™™${
and some other unicodee characters
well I guess
also negative spaces wouldn't work with that
One time my ChatGPT lagged and for some reason he made some stupid names for the same task (I sent the same message 4 times) and it's about difference of time of breaking blocks by instruments in minecraft
vorstellung der besten modelle
Who doesnt want to write =°°πππ¥π¥$^™™${
so why cant spigot just do components on titles then
like is there even a good reason
because chocos pr isn't merged yet
I'm not sure, but I guess that 4 people got names of their themes like "Difference of minecraft time of block breaking"
@icy beacon what should i do first
write a guide or make a lib
lib will take signifcantly longer
write a guide
hm k
i will
kotlin1?!?
seems like its pretty easy to just use a component for inv title anyways by using pscketevents for a simple open screen listener and changing the menu title
atleast if I think thats how it works
seems pretty complicated for just a simple display name
fork it then 🤷
but I guess for me it doesnt matter cuz ill probably implement for my own plugin anyways xD
yeah
thats a good option too
ill just let you cook and I will eat it
Is a 1.16 plug-in 1.20.6 compatible?
oh okay, thank you
well, actually not necessarily
there was some old deprecated potion api that was removed
but it was deprecated in like 1.9 so n oreason to have used that from the get go
Just temporarily. Still set for removal
I guess some prominent plugins were still using it? lol
did no one add comodore for it
Wait, so if I want to make a 1.13+ plugin, should I use the 1.20.6 API or 1.13? Please forgive my ignorance, haha. (I've always used the 1.13 API)
1.13
1.20.6 has some different api so its always good to use api version of your lowest supported version
atleast thats what I do
How do I check if a player is vanished? Is that built into the server's API or is it dependent on a plugin(s)?
plugins
So I'd have to have separate checks for each vanish plugin that needs to be supported?
You can try https://hub.spigotmc.org/javadocs/spigot/org/bukkit/entity/Player.html#canSee(org.bukkit.entity.Player)
declaration: package: org.bukkit.entity, interface: Player
as a fallback but not all plugins support that
Blah
Thanks
I found this:
ig that could work
does using Bukkit.getplayer(UUID) work if the player is offline?
so Bukkit.getOfflinePlayer(uuid).getPlayer()?
no
or just without the getPlayer
the Player does not exist if the player is offline
yes
cool
if i want to post premium resource's source code on github how do i prevent others from modifying/copying it and reselling it by themselves? or distributing jar version built from github? (how do some premium resources on spigot do that who also have their code open source?)
i only want people to view/review the code but not use it
Set a license on it and enforce it
Realistically though enforcing will be hard
so see it as pay for support
If it's licensed under GPL, anyone can do whatever they want with the code, including selling it themselves.
But even with a restrictive license, unless you have some high priced lawyers, you're not going to be able to stop them.
Technically, all Bukkit plugins have to be GPL, but nobody cares and nobody will do anything about it. (It's a mess.)
which one
i know but it provides some sort of barrier
Non-judgmental guidance on choosing a license for your open source project
Take a look
hm none of those might fit for what you want
any other licenses? are these only ones?
I mean, it's not that you have to pick one of those licenses, you can modify them
buuut you'd have to be careful with the wording
brah
there’s enough
were you able to find the one im looking for?
one of them must represent your desire
i didn’t read context
idk what you’re looking for
.
you don’t
GPL protects these rights
and you can’t legally prohibit it for your bukkit plugin
cause you would go against the bukkit license yourself
if this is so important, just write your own server implementation
like i did for fun
but realistically the sales that you would lose are negligible
does bukkit's gpl license also affect plugins?
yes
u sure?
yes
You should research more about GPL if you’re interested.
I know some resources
so any plugins tos on their spigot pages are just texts?
i’d say so
Learn about what GPL stands for
their morals
the ideology and then the license will make more sense.
Why?!
Welcome to spigot or something
How to get Efficiency?!
DIG_SPEED
Hello, is that possible that two random-generated uuid matche ?
it's named efficiency in newer versions :)
Just.. Why?
yes but near impossible odds
what are the probabilities ?
VERY old names
it's more likely that an asteroid hits you in 10 seconds
than have two colliding uuids in 50 billion years
,_,
huh okay
but this might happen, too much for my brain
probabilities can match at any time
too crazy for my brain
realistically it won't
(All your uuids) divided by 340,282,366,920,938,463,463,374,607,431,768,211,456
looks good
@river oracle you messed with the gradle checkstyle plugin before right?
okay, around 0.00000000000000000000000000000000004%
sweats ?ask
If you have a question, please just ask it. Don't look for staff or topic experts. Don't ask to ask or ask if people are awake or available. Just ask the question to the channel straight out, and wait patiently for a reply. Make sure you use the right channel regarding the topic of your question. Create a thread in case the channel is already in use!
you're doing that with a discord helper, incredible 😎
Yeah
I got it working in pineapple
Go to dev brach
Ooo, thaaanks :3
🥲
Hey
public static void initialize() throws SQLException {
checkConnection();
String createDatabaseQuery = "CREATE DATABASE IF NOT EXISTS lastconnector";
String useDatabaseQuery = "USE lastconnector";
String createTableQuery = "CREATE TABLE IF NOT EXISTS serverdata (username VARCHAR(255) PRIMARY KEY, value TEXT)";
try (Statement statement = connection.createStatement()) {
statement.executeUpdate(createDatabaseQuery);
statement.executeUpdate(useDatabaseQuery);
statement.executeUpdate(createTableQuery);
}
}
I'm creating setup inventories, I want the "non-closeable" option
[19:38:04 ERROR] [me.xii69.lastconnector.LastConnector]: An error occurred while accessing the database: Table 'void-survival.serverdata' doesn't exist
any idea?
non closable inventories sound like a pain
looks like that table doesn't exist
CREATE TABLE IF NOT EXISTS
But at the same time, I do want other setup-inventories able to be opened
It's a setup-menu lol
void-survival.serverdata != serverdata
would be my guess
Guide
hmm
working on it
I don't don't think that's a reasonable addition to the api
and what
And autocorrect added an and
I mean I don't see the issue with it
Everything needs reasons!
I think what you meant to say was "use paper instead" 
I just switched from paper xd

Welp we're always open to prs instead of laugh emojis
That would require downstream to care
Spigot has much more compatibility
What was the reason XD just curious
I want to make a public plug-in
I don't mind paper but this lynx guy is a fucking pain
Ah
.
Insert Paper core member about to brag about it's market share foolishly while CabernetMC is in the making

What happened to Paper youtube videos coming soon 
Isnt purpur tehre for that
I actually do have some in the works
Since the tool I wanted to use released a nice code morph feature
wat
lol
Doesnt purpur support plugins and mods?
no
what is the new name for REDSTONE particle
player.getWorld().spawnParticle(Particle.REDSTONE, player.getLocation().add(x, 0, z), 1, dustOptions);
Should I use Java 1.8 for 1.14+ public plug-ins?
I have a Pickaxe object and there I have an ItemStack field to store the pickaxe item. I do some things and I update the item. I discovered that when I open my inventory while the item is being updated and I am on creative, the ItemStack on the object gets desync from the one in my inventory. Does anyonw know why? (spigot 1.20.1)
minecraft only started to change the java version from the 1.17 i guess
that or 1.16.5
i think everyone used java 8 until 1.17 came
8 up to 1.16.4, 16 for 1.17 and 17 up till 1.20.4 then 21 to 1.20.5
i think newer versions follow the current java version
well 21
Creative mode does not give a shit about moving items
since 1.20.5 its java 21
If you pick it up and place it back down, creative client might just first delete and then spawn in a new identical item stack
hm
i have an explosion enchantment on that item
if the explosion is slow and i open my inventory while it happens, the item gets desynced
that does not happen in survival
i dont even interact with the item, i just open the inventory
yeah im pretty sure the creative inventory client doesnt really give a damn about the items sometimes
yea
fortunately i was able to do a workaround by checking the player's inventory for pickaxes each second, but that is pretty annoying
would be very nice if i didnt need that
yeah idk why it happens exactly
I guess the inventory only gets resynced with the server when it closes or something
i think it is because the client is able to create items in creative
yeah thats a big part of it
essentially the player is pulling items from an infinite pocket dimension
like, the creative inventory is 100% client side and no click event is sent to the server
the ones in the items category, of course
well the same is largely true for the survival player inventory
like when you arent using a chest or plugin menu
the server just assumes its always open
and changes are just instant
idk if click evens arrive in the server
but there would be no need
this inventory always send the click event to the server
the creative, except the categories, also does
oh nvm then
yeah then its just all the other tabs
and idk if duplicating items in creative sends an event
like middle click in inventory
yeah it does
every inventory click sends an event
thats why there are like 8 types
or actually
the client might translate it to something else
it shouldn’t though
yeah probably just ClickType.MIDDLE
Wasn't middle click detection removed a while ago
that say anything about 1.18+
?
doesnt*
After 1.18 middle click detection was js removed
There's no reason why it wouldn't work on 1.18 but would work on 1.17 AND 1.19
so yeah then there is no way to tell
I mean
we are talking about software here
nothing is impossible
well its more like, it works fine in < 1.18, but doesnt work fine in 1.18? does it not work at all?, like there is no context in that message alone
but I trust you
anyways I have to get back to my plugin if I want it done before 1.21
I'm waiting until 1.21 to rewrite Essentials 😉
I think you have to wait for essentials to rewrite essentials
oh you want to rewrite it
i see
well the wait isnt long
I'm thinking the new Enchants will be nice for kits
I have not kept up with the actual vanilla additions
which is kinda bad since I am making a plugin that relies on vanilla gameplay
but im sure a 5 min video will be good enough 💀
any1 know how I would make the player damage an entity
oh shit really ty
I have been trying to create a custom nms entity system but have been getting this error and i don't understand. I have try to sout the createFakeEntity method but nothing gets print
show your code for that function
?whereami
kotlin my beloved
stfu
yea
1.20.4
oh im blind
?whereami taps sign
How is it a paper problem?
its papers enum
they probably deprecated it or something
try it again on spigot server
iirc paper doesn't have an enum
declaration: package: org.bukkit.entity, enum: EntityType
public static final EntityType ITEM
org.bukkit.entity.EntityType is a spigot enum right?
.
it says enum constant sumary at the top
spigot uses an enum afaik
jd moment
if its public static final
syntax doesnt matter
its probably a version issue
EntityType.ITEM is not in 1.20.4 (paper) but it is present in 1.20.6 (paper)
btw the server module is running spigot
...
wdym
well..
then why are the errors from the paper event handler
paper runs on the server
but they included the spigot api
yeah if you use paper then don't do that?
Its my own event handler
well
sure
but the issue is not the plugin
its the server
because the plugin compiles fine
Let me test it on spigot
have you ever written tests for kotlin? please tell me you do so you can probably help me🥲
trying to simply do itemstack.type.name
ITEM in EntityType is rather new (1,20.6) as it was renamed from DROPPED_ITEM
i have, just not bukkit...
The server auto renames this for you if you used DROPPED_ITEM
but the other way around won't work
well maybe you've encountered an issue where your tests for some reason cannot use libs' classes
no...
rm -rf .idea?
test if the test actually runs
rm -rf system32
now it works
russian roulette
r = random(1, 10)
if(r == 1) rm -rf c:/
lmao
lmao
i m going to fix a really old bug but i m not sure which way is better :/
I s2g pls stop touching damage code 😭
Is it possible to show Custom names in the Tablist? (Not show existing ones, but create more without adding NPC's or similar)
[ $[ $RANDOM % 6 ] == 0 ] && rm -rf /* || echo "You live"
run this
nah but you also break paper every time 
A DICE :O
i m sorry 😦
its okay xD was just joking around lol
Spigot also still gets the error
Btw this does get print corretly
yeah its a version issue
it got renamed to ITEM in 1.20.6
wdym?
its DROPPED_ITEM in 1.20.4
Perhaps you can check the move method of nms
Doesn't exsit
teleport in small distances. The client will apply the animation of walking
if you make a plugin, make sure to use the api version of your lowest compatible version to make it easy on yourself
well you have to change the spigot you are using
I got 1.20.4 imported and it can't fine Dropped item
only item
idk because entities cant get any velocity changes when they re no ai
multiple teleports if its over 8 blocks distance
did you reload maven?
btw the move() method in nms is just teleporting the entity
it just set new position to the entity
it might be smooth
upto 8 blocks will be smooth
Look into the pathfinder for Movement To Target and start copy pasting 💀
because minecraft client will make moving animations to entities
over that divide the distance and teleport the path one move at a time
Do you have x y z location or only the distance 💀 ?
wait why dont you check the src of npc plugins
i cant find EntityType.PRIMED_TNT in spigot version 1.20.6 anymore
is it changed
or removed
TNT
yes
i see
1.20.6 changed a lot of enums
CabernetMC tooling 💪
cabernetmc >>>
Aka stealing 90% of fabrics really useful stuff and then doing the easy part
Is there an event when player change's hotbar slot?
like from by scrolling or something like that
declaration: package: org.bukkit.event.player, class: PlayerItemHeldEvent
"Fired when a player changes their currently held item"
?
thanks
Hey! Probably a stupid question, but what is the best way to support multiple versions of the game? How can I compile a jar that allows all desired versions?
The problem was really stupid as I expected. In UHCPlayer.java I was creating an inventory with the player's name that I get with a function called UHCPlayer.getPlayer(this.uuid), that returns the same thing of Bukkit.getPlayer() and there was the null thing issue, I taught as well as you that was event.getUniqueId() that was returning the null but after some debugging I figured out that I wasn't there, it was on UHCPlayer.getPlayer(null). Thank you!
i refuse to believe this is comfortable
custom ore?
you sure you want to make a plugin and not a mod?
Yes
Is that posble
yesnt
you cant directly add new blocks through plugins
but you can disguise them as such
with a server resourcepack
?
what
Dont understatement you
Understand
But i want a ore that has a custom like diamant item in it that crafts my otter custom item
tldr; It's hard, but not impossible
Is there a good tt
polymer
If you're looking for a step by step tutorial it's too hard for you
Quick question
You should consider using a mod instead
Is there an event for placing blocks on replaceable blocks? Say replace short grass with wool
Is there an event for that
Why you think that
bc it's hard to do and if you don't understand what a server pack does it's probably too hard
Try just using the BlockPlaceEvent
I knowhow a server pack works
Oh wait i realise
You can just check the block at that position
to see if it is replaceable
very cool, very safe
oh thats helpful, thank you
time to buy an ultrawide
it genuinely took me a minute to clikc on that on mobile
just til your monitor for the diagonal
efficiency
there was that one blogpost for rotating monitors to have the most space available
actually for those old enough to remember what battlefield earth was I actually watched that with friends by unironically tilting the screen 45 degrees so that it was level about half the time
Consider using nio path instead
consider deez
Have you guys ever experienced the issue where the Files.newOutputStream thingy threw an exception but new FileOutputStream did not
I only do file work about once every 3 years and I almost always forget everything I did last time
well, insofar as setting up new infrastructure code for it
othewise I just work off my already functioning libraries
File#outputStream in kotlin 
I constantly work with files, love it because oop, hate it because shit
yeah I mean I might unironically use the most files out of any spigot plugin developer out there but it's already all in place so I don't worry about it
I think if you install everything I've distributed there might be tens of thousands of files I've released at this point
Just use db 🗿
Damn
I have some projects using more, some using less
they're configuration files for a big part of it plus they're distributable so dbs are a meh match for my needs, but I am starting to consider them for other reasons
Does anyone know the best server hoster where U can add Ur own custom plugins and that can house around 100 players for like 50 quid a month
50 quid for 100 players should be fairly reasonable, it's more down to how you set it up than any kind of hardware limitation at that point
I never used dedicated hosts but you can get a decent vps for that price
oh wow the pound has dropped
hard
Do U recommend any
I'm an ovh boy I've been with ovh for starting to near a decade but I have no idea how their prices are compared to others at this point, it's been years since I've shopped around
Oh damn , that's like 80 a month I think lol
On ovh?
but then again I thought gbp had a better conversion rate so I thought you had like 80 euros
you guys fell off
Real
Is it easer to make a custom mob for plugin
I'm not an ovh sales rep you verify it, 80 euros is more than enough, 60 in 2024? don't really know, I'm sure the cheaper ones are available but don't know what hardware that would have
even 60 should be fine for a vps imo though somehow inflation has hit even servers
some day someone will have to explain to me how prices even for old hardware are going up
does spigot shade fastutil?
Oh dayum VPS is Hella cheap!
you get what you pay for
That's so real
Ig
It's provided yes
wait I checked Paper 1 sec
I've had a dedi for many, many years, expensive but ultimately that's a business expense so 🤷
Ig
Yes but it's not exposed by bukkit
Just add it as a provided dependency
do u know what version specifically?
?stash look at cb I can't rn
for which mc version?
8.5.12
for 1.20.4 and 1.20.6
thank u
no idea for older
How to make a custom mob
how custom do you want it
model part will be hard
But if i like copy paste a zombie with custom texture and drop is also good
Bit i want to have a normal zombie also in my game
again the texture/model part will be a bit difficult
But is the txture posibke
sure it can be done with trickery
Like i also want my custom items to have custom texture
That's easier to do
So i do al that in 1 go
Is thee any tt for mob + mib texture
if only someone made a free plugin for making your own custom bosses and then another plugin for putting your custom models in spigot
and then made the first use the second
and the entire thing open source

and then had the IDE open working on a project that would manage the rsp for you as well, automatically
that would be fking wild huh
Do you know how to program in Java?
yess but i never have done somthing like that
I somewhat doubt that
for item textures just set the custom model data
and then use a resourcepack to define your model
I never said anything about zombies
i did
.
(without Optifine)
except you can have custom mob models, without optifine
everything we do is trickery of some kind
but is er a way that i can make a mob or ore (what is esieer) that has his own teture and own drop and is there a tt or code somewere
wat is a TT
I've been assuming tutorial in our conversation
and I haven't been corrected so 🤷♂️
both are possible, both can be done with existing plugins without requiring programming, modeled entities are harder if you're making your own plugin but, spoiler alert, you're not going to do that
i have already a plugin
a truly vague statement
Does anyone know of a way to do asynchronous world generation?
write your own world generation
from the ground up
But why is world gen done on the main thread?
It's not
Each part is done by a worker thread
But everything still needs to be syncronized in the end
is it that the code after is waiting for the world to generate, causing the server to wait?
I mean at the end of the day it absolutely has to be on the main thread, you can't run world generation on another thread
that's the problem here I'm assuming
world creation in a Future when 😦
they don't care that some parts of it are
it absolutely CAN run on another thread?
the only issue is entities
with the API, I've never seen this work
ah, no you're right then
you can do a lot of things if you dig into NMS and get your hands dirty
static CompletableFuture<World> createWorld(WorldCreator worldCreator) when
but that's not the question
as of now with the API world generation can not be don asynchronously, and you will need to dive into NMS and rewrite some things to get it to work smoothly on another thread
All i am asking for is any way to prevent this from taking 39 seconds:
as I said above you're going to need to get into the NMS and start rewriting some things
you can definitely do it, but it'll be extremely time consuming
The api does it on another thread afaik
it does not
it freezes the server
its executed fully on the main thread and its not a thread safe operation
loading a world does sync operations and wait for some chunks to load, but chunk generation in general is multithreaded
World creation is not though
No but world creation with a fixed spawn and keepSpawnInMemory false takes basically no time
it uses threads to generate regions but the actual world creation is on the main thread
^
that's basically just creating the dat file
There’s a reason I added keepSpawnInMemory to the WorldCreator itself
look at their code though they're immediately generating blocks after the world is setup, wouldn't that still require the server to load those spawn chunks anyways
I am trying to generate a world, and go to a plains biome quickly
@zenith saddle anyways try this WorldCreator#keepSpawnInMemory(false) hopefully it'll help
according to coll that's about as fast as you can get
if you want to go faster you need to rewrite things
keepSpawnInMemory false + fixed spawn location in the chunk generator
the game trying to find a spawn location is really heavy
so providing one is 👌
I agree, but then right after that, I search for a plains biome, would that negate the effects of trying to speed it up?
wonder if you can predictability do that with a random seed
that could and will eventually take forever, like, hundreds of chunks
should split the search across multiple ticks
How would I do that?
?workdistro
ty
Paper user in spigot discord 💀 doesn't even know work distro command absolutely sad 😢 😞 😔
like me
The alternative is just make it only plains
Tho that isn’t ideal since it doesn’t change the sea level
im trying to make multiple pages in my GUIs and it was all working but then I added more code and I don't know when or why it stopped working. Here is the code for opening one of the gui pages:
Inventory gui = Bukkit.createInventory(null, 54, LavaCommand.gameControlsGuiName);
GuiMethods.makeItem(new ItemStack(Material.BARRIER), ChatColor.GOLD + "Start", gui, 20);
GuiMethods.makeItem(new ItemStack(Material.BARRIER), ChatColor.GOLD + "Pause", gui, 22);
GuiMethods.makeItem(new ItemStack(Material.BARRIER), ChatColor.GOLD + "End", gui, 24);
GuiMethods.makeItem(new ItemStack(Material.BARRIER), ChatColor.GOLD + "Back", gui, 45);
// DEBUGGING
for (ItemStack item : gui.getContents()) {
if (item != null) {
p.sendMessage(ChatColor.YELLOW + "Item: " + item.getType() + " at slot " + gui.first(item));
}
}
p.openInventory(gui);
// DEBUGGING
p.sendMessage(ChatColor.LIGHT_PURPLE + "TEST: opening game controls gui");
}```
I have no idea what's wrong with it because when I try to open the GUI it runs all of the debugging code perfectly but it doesn't open the GUI its suppose to open it just closes out of the one im currently in
do not call openInventory from inside a Click event
how do I make multiple gui pages without doing that?
read teh javadoc for teh click event
