#help-development

1 messages · Page 1030 of 1

river oracle
#

Forge gives a list of mods ti the server

#

It's literally just string comparison

upper hazel
#

Is it designed to protect against downloading maps?

upper hazel
shadow night
upper hazel
warped rain
#

IF you can help me prevent specific blocks from being placed dm me

river oracle
#

You can't do it any other way

rough drift
#

if so cancel the evnet

#

or use worldguard

warped rain
#

can u teach me in dms

#

im a new in coding

rough drift
#

?learnjava

undone axleBOT
#

For Beginners:

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

For Intermediate to Advanced Learners:

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

Practice and Hands-on Learning:

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

Free Resources and Documentation:

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

Community and Support:

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

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

rough drift
#

and check the spigot resource forums

smoky anchor
#

oh fuck they really expanded that command

rough drift
#

fr

upper hazel
#

he needs a mentor hah

warped rain
#

how to do what i need

upper hazel
#

learn java, bukkit api

rough drift
#

^

#

then you will be able to

warped rain
#

how long will it take

upper hazel
#

for real minimum

warped rain
#

how much

#

is it

rough drift
warped rain
#

can u pls just help me

rough drift
#

we can't help you with everything you'll ever want to do

warped rain
#

i cant waste 3 years for a 1 weelk project to fix 1 issue

upper hazel
#

Perhaps you have already dealt with programming languages. I learned both Java and bukkit api together

warped rain
rough drift
warped rain
#

no after they took down the spigot api website

#

i havent used it

rough drift
#

what?

#

it was never down

warped rain
#

the one i used was

#

can u just pls help me with this one issue

upper hazel
rough drift
#

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

warped rain
#

Alr ty

upper hazel
warped rain
#

chat gpt aint helping no one

icy beacon
rough drift
upper hazel
#

oh

warped rain
#

its stolen information

rough drift
#

man is a W

icy beacon
warped rain
#

and yet its still incorrect

smoky anchor
#

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

sleek estuary
#

but no one has done this yet, especially in Brazil

chrome beacon
#

They don't have to there are plenty of mods that can do that

upper hazel
#

ahaha

icy beacon
upper hazel
#

nah

sleek estuary
#

I doubt

warped rain
#

sry but its true

upper hazel
#

he wants to spend weeks of his time on the problem and not 3 years so....

#

use gpt

smoky anchor
slender elbow
#

alternatively you could look in the forum services section 😄

warped rain
#

all this for an issue ive fixed

icy beacon
# sleek estuary on 1.8?

googling 1.8 world downloader mod won't take a long time and i bet you can find something in the end

upper hazel
warped rain
smoky anchor
sleek estuary
chrome beacon
#

Again you cannot block that

icy beacon
slender elbow
#

Bukkit.shutdown()

upper hazel
#

it makes mistakes but the problem is in the pomp

chrome beacon
#

You can only detect it if the client tells you they're using it

#

which is easily disabled

icy beacon
#

can't people like use schematica and just create a schematica of the entire world

sleek estuary
slender elbow
#

they do not send any packet

chrome beacon
#

no they just save what the client sees

chrome beacon
upper hazel
icy beacon
#

that is a great running joke

#

and it's not true

smoky anchor
icy beacon
#

programming is some copy and paste

#

but it's mostly not

sleek estuary
icy beacon
#

if you are genuinely copying and pasting every second snippet of code into your project, you're doing it wrong

slender elbow
#

the server sends chunk data to the client so the players can see the world being rendered

chrome beacon
upper hazel
#

that is, you write everything from 0? without using ready-made API solutions, etc.

chrome beacon
#

That is the only way

icy beacon
#

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

upper hazel
icy beacon
#

what

smoky anchor
#

Yes, NASA got ppl to the moon with the "Spaceship API"

icy beacon
#

🔥

#

imajin lurking

upper hazel
icy beacon
#

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

upper hazel
icy beacon
#

dude

#

people like you are the sole reason i have 20k messages now

#

gg btw

smoky anchor
#

Noone here is arguying that copy pasting never happens.
It does.
But it is in the minority.
Mostly you write your own code.

icy beacon
#

i like to argue over internet

#

for some reason

#

i'd rather do something productive rn

warped rain
#

20,589 results

icy beacon
#

?

warped rain
#

LOL

#

19,884 results from pluggg

upper hazel
chrome beacon
icy beacon
#

read this

#

over and over

#

until you comprehend every word

#

and sentence

#

and the meaning in general

warped rain
#

52k

#

dam'

celest wadi
#

zbll reminds me of my discord helper self

icy beacon
icy beacon
#

in what way

warped rain
celest wadi
#

staying up all night just to deal with incapables in the morning

icy beacon
#

yeahhhhhhhhhhhhh that's valid

warped rain
#

whos the owner

icy beacon
#

md_5

#

has like 30k or 40k i think

warped rain
#

@atomic sand

#

is he the owner

icy beacon
warped rain
#

his username is spigot mc

icy beacon
icy beacon
#

your username is unkown_3949

warped rain
icy beacon
#

are you the owner of unkown_3949 ltd.

warped rain
silver robin
icy beacon
warped rain
icy beacon
#

imma go do some maths

#

bye

upper hazel
#

column?

icy beacon
upper hazel
#

oh

celest wadi
#

oh hell nah

spice spear
#

where can i request a developer to make me a plugin, im willing to pay $$$

icy beacon
#

?services

undone axleBOT
icy beacon
spice spear
upper hazel
#

go to private

celest wadi
#

check dms naughty boy

spice spear
icy beacon
#

should i read up?

celest wadi
#

snapchat girls be like

icy beacon
#

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

fluid cypress
#

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

eternal oxide
#

As an eco provider you should not be hooking into ANY other plugins

sullen canyon
#

^

#

dw you're free to use it

tall dragon
icy beacon
#

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"

celest wadi
#

this website gives me ptsd

icy beacon
#

lol

fluid cypress
river oracle
fluid cypress
river oracle
restive mango
#

Yes that’s what this plugin does

icy beacon
restive mango
#

Somewhere here pokes me about it before

icy beacon
#

but roots also look good

#

idk

river oracle
#

Where as logs are capped

icy beacon
#

true

fluid cypress
icy beacon
#

ok yeah it's log then

fluid cypress
tender shard
#

depend on PS in plugin.yml and it'll always load before your plugin

kindred sentinel
#

Can anyone help me with Item Display? Which unit does use right rotation & left rotation?

chrome beacon
#

blocks I believe

kindred sentinel
#

blocks of rotation?

#

okay, it's float

chrome beacon
#

oh wait you meant rotation I read that wrong

#

._.

tender shard
worldly ingot
#

The ? at the end probably tells you what unit it's in

tender shard
#

oh I read it wrong too

worldly ingot
#

lol

tender shard
#

I thought the question was how to rotate it lmao

kindred sentinel
#

But I just found that you can use something like that

fluid cypress
#

but what im really asking is, if i only define event listeners, will it work even if the event emiter is not loaded yet?

slender elbow
#

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)

fluid cypress
#

ok, cool, then, loadbefore is like the opposite of softdepend

#

thats what i need

#

thanks

blazing ocean
kindred sentinel
blazing ocean
chrome beacon
#

I did already link a visual editor

blazing ocean
chrome beacon
#

yeah axiom is cool

blazing ocean
#

incredibly useful for me

#

it saves me so much time as i'm addicted to display entities

quasi gulch
#

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

smoky anchor
#

don't be below certain y value

quasi gulch
#

i know but i want it also not to show below that y value

smoky anchor
#

Setting the world as FLAT moves the y lower iirc

quasi gulch
#

it is changebale in like datapacks?

smoky anchor
#

That I do not know

worldly ingot
#

I wouldn't at all be shocked if that were just a shader

chrome beacon
#

probably is

worldly ingot
#

Which shader? No clue. But that looks like a very easy shader thing

kindred sentinel
#

Axiom now is like WorldEdit 3.0

ancient plank
#

god I love axiom

blazing ocean
blazing ocean
ancient plank
#

it's so good, soooo good

blazing ocean
#

agreed

native nexus
#

Worldedit and voxelsniper or steroids

blazing ocean
icy beacon
#

you found that very quickly

worldly ingot
#

Looking at the fragment shader, that might be the distance fog, not the void colour

smoky anchor
#

Well it ought to be one of those shaders

blazing ocean
#

it will look a bit scuffed in the end tho

worldly ingot
#

Oh I guess fog start is 0, fog end is 1, and fog colour is 0

#

It might be :p

smoky anchor
#

I would direct the person to MC Commands discord server where ppl are more knowledgeable about this topic.

blazing ocean
#

mc commands ftw

#

and font magic

#

both great shader and pack fuckery servers

icy beacon
#

does it require a textureaack

blazing ocean
#

i can teach you

#

yes

icy beacon
#

i don't have a usecase rn but it'd be cool to know

chrome beacon
#

join the shaderLABS discord :)

blazing ocean
blazing ocean
blazing ocean
#

might make it rn lol

#

astro moment

chrome beacon
blazing ocean
kindred sentinel
kindred sentinel
#

Oh thanks

native nexus
#

Can you change the bindings for it?

blazing ocean
#

idt so

native nexus
#

Mhmm aight

blazing ocean
#

@icy beacon been working on a resource pack generator so why not make a lib for font fuckery

#

been planning it a bit

blazing ocean
#

like custom ui type shit

icy beacon
pseudo hazel
#

same

blazing ocean
#

it'll be a pain but it'll sure be worth it

pseudo hazel
#

if you dont I probably will xD

blazing ocean
#

(also it'll be paper only :DDD)

pseudo hazel
#

okay

#

well then I definitely will

remote swallow
blazing ocean
#

spigot is not advanced enough to support components everywhere

#

so gl

#

using nms

remote swallow
#

nms

pseudo hazel
#

why do you need components

blazing ocean
#

lol

pseudo hazel
#

oh I see

#

yeah

blazing ocean
#

people really be saying chat colours are better than components

pseudo hazel
#

I mean the only thing you lack is inventory title

blazing ocean
pseudo hazel
#

yeah

blazing ocean
#

does spigot support bossbar component names

pseudo hazel
#

just a lil bit of nms

blazing ocean
pseudo hazel
#

paxketevents can probably do it too

blazing ocean
#

i use a paper fork so i just cannot be bothered to even support spigot

slender elbow
#

choco components pr will be merged soon :copium:

pseudo hazel
#

and you dont have to use components if you just extend the default font

blazing ocean
blazing ocean
#

and what about shifting text

#

not possible

pseudo hazel
#

wdym

blazing ocean
#

i mean it is but not in a readable/usable way

blazing ocean
pseudo hazel
#

well it depends on what you mean by usable

#

some just needs to write some api for it

blazing ocean
#

and some other unicodee characters

pseudo hazel
#

well I guess

blazing ocean
kindred sentinel
#

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

vast ledge
#

Who doesnt want to write =°°πππ¥π¥$^™™${

pseudo hazel
#

so why cant spigot just do components on titles then

#

like is there even a good reason

blazing ocean
blazing ocean
#

bad reason

kindred sentinel
blazing ocean
#

@icy beacon what should i do first

#

write a guide or make a lib

#

lib will take signifcantly longer

pseudo hazel
#

write a guide

blazing ocean
#

hm k

pseudo hazel
#

but idk

#

seems like you want to build a lib

blazing ocean
remote swallow
#

kotlin1?!?

blazing ocean
#

the dx will be so good in kotlin

pseudo hazel
#

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

blazing ocean
#

seems pretty complicated for just a simple display name

pseudo hazel
#

yeah

#

but no need to use paper only

blazing ocean
#

fork it then 🤷

pseudo hazel
#

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

green prism
#

Is a 1.16 plug-in 1.20.6 compatible?

slender elbow
#

if you only stick to the API, yes

#

if you use NMS, lol no

green prism
#

oh okay, thank you

slender elbow
#

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

worldly ingot
#

It was restored

#

But you really shouldn't be using it anyways, yes lol

slender elbow
#

lol

worldly ingot
#

Just temporarily. Still set for removal

#

I guess some prominent plugins were still using it? lol

remote swallow
#

did no one add comodore for it

green prism
#

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)

chrome beacon
#

1.13

pseudo hazel
#

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

next plume
#

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)?

chrome beacon
#

plugins

next plume
#

So I'd have to have separate checks for each vanish plugin that needs to be supported?

chrome beacon
#

as a fallback but not all plugins support that

next plume
#

Blah
Thanks

slender elbow
#

scoreboard scores are sorted by their score value in descending order

chrome beacon
tough parcel
#

does using Bukkit.getplayer(UUID) work if the player is offline?

young knoll
#

No

#

getOfflinePlayer

tough parcel
#

so Bukkit.getOfflinePlayer(uuid).getPlayer()?

chrome beacon
#

no

tough parcel
#

or just without the getPlayer

slender elbow
#

the Player does not exist if the player is offline

chrome beacon
#

^^

#

Only OfflinePlayer

tough parcel
#

alright ty

#

and it will still work if the player is online, correct?

chrome beacon
#

yes

tough parcel
#

cool

charred blaze
#

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

chrome beacon
#

Set a license on it and enforce it

#

Realistically though enforcing will be hard

#

so see it as pay for support

next plume
# charred blaze i only want people to view/review the code but not use it

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.)

charred blaze
charred blaze
chrome beacon
#

Take a look

charred blaze
#

already been there

#

oh not on that section actually

chrome beacon
#

hm none of those might fit for what you want

charred blaze
#

every one has distribution green

#

yea

chrome beacon
#

oh well 🤷‍♂️

#

I'm no expert on licenses

charred blaze
#

any other licenses? are these only ones?

chrome beacon
#

There are many

#

you can even write your own (not recommended)

slender elbow
#

I mean, it's not that you have to pick one of those licenses, you can modify them

charred blaze
#

english is not my native language

#

so thats a nono

slender elbow
#

buuut you'd have to be careful with the wording

chrome beacon
#

yeah get a lawyer if you want to write a good license 💀

#

I think :/

charred blaze
#

brah

alpine urchin
#

there’s enough

charred blaze
alpine urchin
#

one of them must represent your desire

#

i didn’t read context

#

idk what you’re looking for

alpine urchin
#

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

charred blaze
alpine urchin
#

yes

charred blaze
#

u sure?

alpine urchin
#

yes

#

You should research more about GPL if you’re interested.

#

I know some resources

charred blaze
#

so any plugins tos on their spigot pages are just texts?

alpine urchin
#

i’d say so

#

Learn about what GPL stands for

#

their morals

#

the ideology and then the license will make more sense.

kindred sentinel
shadow night
#

Welcome to spigot or something

kindred sentinel
#

How to get Efficiency?!

chrome beacon
#

DIG_SPEED

cinder abyss
#

Hello, is that possible that two random-generated uuid matche ?

slender elbow
#

it's named efficiency in newer versions :)

kindred sentinel
chrome beacon
cinder abyss
chrome beacon
slender elbow
#

than have two colliding uuids in 50 billion years

kindred sentinel
cinder abyss
#

but this might happen, too much for my brain

#

probabilities can match at any time

#

too crazy for my brain

slender elbow
#

realistically it won't

quaint mantle
ivory sleet
#

@river oracle you messed with the gradle checkstyle plugin before right?

cinder abyss
undone axleBOT
#

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!

cinder abyss
river oracle
#

I got it working in pineapple

#

Go to dev brach

ivory sleet
#

Ooo, thaaanks :3

ivory sleet
umbral ridge
#

Hi Conclube

#

XD

river oracle
green prism
#

Srsly? Spigot doesn't have inventory close reasons!?

#

🤣

pseudo hazel
#

why would you want a reason

#

what does have inv close reasons then?

sage patio
#

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);
        }
    }
green prism
sage patio
#

any idea?

pseudo hazel
#

non closable inventories sound like a pain

chrome beacon
sage patio
#

CREATE TABLE IF NOT EXISTS

green prism
sage patio
green prism
chrome beacon
#

would be my guess

sage patio
#

hmm

blazing ocean
#

working on it

river oracle
young knoll
#

and what

river oracle
young knoll
#

I mean I don't see the issue with it

ivory sleet
#

Everything needs reasons!

eternal night
#

I think what you meant to say was "use paper instead" run

green prism
eternal night
river oracle
#

Welp we're always open to prs instead of laugh emojis

young knoll
#

That would require downstream to care

green prism
eternal night
green prism
river oracle
eternal night
green prism
eternal night
#

Yea internet died

#

Mbmb

river oracle
# eternal night Ah

Insert Paper core member about to brag about it's market share foolishly while CabernetMC is in the making

eternal night
river oracle
#

What happened to Paper youtube videos coming soon uwu

young knoll
#

Clearly we need a new api

#

That can work with forge and fabric

#

kek

vast ledge
#

Isnt purpur tehre for that

eternal night
#

Since the tool I wanted to use released a nice code morph feature

young knoll
tardy delta
vast ledge
chrome beacon
#

no

vast ledge
#

what server software was taht

#

Magma

#

ye that was it

pseudo hazel
#

sounds buggy just by hearing about it

#

i cant even get to their website

vast ledge
#

i just heard of it once

#

and thought purpur was smth like that

buoyant jasper
#

what is the new name for REDSTONE particle

player.getWorld().spawnParticle(Particle.REDSTONE, player.getLocation().add(x, 0, z), 1, dustOptions);

green prism
#

Should I use Java 1.8 for 1.14+ public plug-ins?

vast ledge
#

check the java version required

#

some plugin versions, require other jave versions

golden turret
#

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)

golden turret
#

that or 1.16.5

#

i think everyone used java 8 until 1.17 came

remote swallow
#

8 up to 1.16.4, 16 for 1.17 and 17 up till 1.20.4 then 21 to 1.20.5

golden turret
#

i think newer versions follow the current java version

pseudo hazel
#

well 21

eternal night
pseudo hazel
#

since 1.20.5 its java 21

eternal night
#

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

golden turret
#

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

golden turret
pseudo hazel
#

yeah im pretty sure the creative inventory client doesnt really give a damn about the items sometimes

golden turret
#

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

pseudo hazel
#

yeah idk why it happens exactly

#

I guess the inventory only gets resynced with the server when it closes or something

golden turret
#

i think it is because the client is able to create items in creative

pseudo hazel
#

yeah thats a big part of it

#

essentially the player is pulling items from an infinite pocket dimension

golden turret
#

like, the creative inventory is 100% client side and no click event is sent to the server

golden turret
pseudo hazel
#

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

golden turret
#

this inventory always send the click event to the server

#

the creative, except the categories, also does

pseudo hazel
#

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

valid burrow
#

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

pseudo hazel
#

yeah probably just ClickType.MIDDLE

icy beacon
pseudo hazel
#

idfk

#

just going off the api

icy beacon
pseudo hazel
#

that say anything about 1.18+

icy beacon
pseudo hazel
#

doesnt*

icy beacon
#

After 1.18 middle click detection was js removed

pseudo hazel
#

right

#

okay sure

icy beacon
#

There's no reason why it wouldn't work on 1.18 but would work on 1.17 AND 1.19

pseudo hazel
#

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

eternal oxide
#

I'm waiting until 1.21 to rewrite Essentials 😉

pseudo hazel
#

I think you have to wait for essentials to rewrite essentials

#

oh you want to rewrite it

#

i see

#

well the wait isnt long

eternal oxide
#

I'm thinking the new Enchants will be nice for kits

pseudo hazel
#

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 💀

plucky rock
#

any1 know how I would make the player damage an entity

icy beacon
#

entity.damage(amount, player)

#

iirc

plucky rock
#

oh shit really ty

hearty sparrow
#

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

blazing ocean
#

show your code for that function

hearty sparrow
#

sorry for kotlin

blazing ocean
#

?whereami

blazing ocean
pseudo hazel
#

yeah you better be sorry

#

xD

blazing ocean
#

stfu

hearty sparrow
#

anyway go ideas?

pseudo hazel
#

its a paper issue I think

#

oh nvm

blazing ocean
#

yea

pseudo hazel
#

hmm

#

what version

blazing ocean
#

1.20.4

pseudo hazel
#

oh im blind

blazing ocean
#

?whereami taps sign

pseudo hazel
#

yeah

#

there aint noitem in entitytype

hearty sparrow
#

How is it a paper problem?

pseudo hazel
#

its papers enum

#

they probably deprecated it or something

#

try it again on spigot server

blazing ocean
#

iirc paper doesn't have an enum

#

public static final EntityType ITEM

hearty sparrow
pseudo hazel
#

it says enum constant sumary at the top

blazing ocean
#

spigot uses an enum afaik

pseudo hazel
#

so its an enum

#

but still

blazing ocean
#

jd moment

pseudo hazel
#

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)

hearty sparrow
#

btw the server module is running spigot

blazing ocean
#

...

pseudo hazel
#

wdym

hearty sparrow
blazing ocean
#

well..

pseudo hazel
#

then why are the errors from the paper event handler

blazing ocean
#

paper runs on the server

#

but they included the spigot api

#

yeah if you use paper then don't do that?

hearty sparrow
pseudo hazel
#

well

#

sure

#

but the issue is not the plugin

#

its the server

#

because the plugin compiles fine

hearty sparrow
#

Let me test it on spigot

icy beacon
# blazing ocean well..

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

eternal night
#

ITEM in EntityType is rather new (1,20.6) as it was renamed from DROPPED_ITEM

eternal night
#

The server auto renames this for you if you used DROPPED_ITEM

#

but the other way around won't work

icy beacon
blazing ocean
#

rm -rf .idea?

#

test if the test actually runs

icy beacon
#

i did something smarter

#

turned compileOnly into api

pseudo hazel
#

rm -rf system32

icy beacon
#

now it works

gilded forge
#

any1 can help me answer this?

fair rock
pseudo hazel
#

lmao

gilded forge
#

i m going to fix a really old bug but i m not sure which way is better :/

eternal night
#

I s2g pls stop touching damage code 😭

sharp cosmos
#

Is it possible to show Custom names in the Tablist? (Not show existing ones, but create more without adding NPC's or similar)

blazing ocean
#

run this

gilded forge
#

I promise that I will submit it after testing 100 times without any problems

#

xDD

eternal night
#

nah but you also break paper every time Sadge

eternal night
#

its okay xD was just joking around lol

gilded forge
#

but those issues are really trouble some

#

thanks for understanding XD

hearty sparrow
#

Btw this does get print corretly

pseudo hazel
#

it got renamed to ITEM in 1.20.6

hearty sparrow
pseudo hazel
#

its DROPPED_ITEM in 1.20.4

gilded forge
#

Perhaps you can check the move method of nms

hearty sparrow
eternal oxide
#

teleport in small distances. The client will apply the animation of walking

pseudo hazel
#

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

hearty sparrow
#

only item

gilded forge
#

idk because entities cant get any velocity changes when they re no ai

eternal oxide
#

multiple teleports if its over 8 blocks distance

pseudo hazel
#

did you reload maven?

gilded forge
#

btw the move() method in nms is just teleporting the entity

#

it just set new position to the entity

#

it might be smooth

eternal oxide
#

upto 8 blocks will be smooth

fair rock
#

Look into the pathfinder for Movement To Target and start copy pasting 💀

gilded forge
#

because minecraft client will make moving animations to entities

eternal oxide
#

over that divide the distance and teleport the path one move at a time

fair rock
#

Do you have x y z location or only the distance 💀 ?

gilded forge
#

wait why dont you check the src of npc plugins

dreamy arrow
#

i cant find EntityType.PRIMED_TNT in spigot version 1.20.6 anymore

#

is it changed

#

or removed

blazing ocean
#

TNT

dreamy arrow
#

there used to be TNT and PRIMED_TNT

#

did they rename it to TNT?

gilded forge
#

yes

dreamy arrow
#

ah

#

ok

blazing ocean
dreamy arrow
#

i see

gilded forge
#

1.20.6 changed a lot of enums

dreamy arrow
#

they renamed

#

xd

#

thanks 👍

river oracle
blazing ocean
#

cabernetmc >>>

river oracle
#

Aka stealing 90% of fabrics really useful stuff and then doing the easy part

kindred sentinel
#

Is there an event when player change's hotbar slot?

#

like from by scrolling or something like that

fair rock
#

"Fired when a player changes their currently held item"

#

?

kindred sentinel
#

thanks

wind sorrel
#

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?

grand raven
#

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!

icy beacon
#

i refuse to believe this is comfortable

buoyant sonnet
#

can i9 get help

#

want to make custom ore but cant finbd anything

valid burrow
#

you sure you want to make a plugin and not a mod?

buoyant sonnet
#

Is that posble

valid burrow
#

yesnt

#

you cant directly add new blocks through plugins

#

but you can disguise them as such

#

with a server resourcepack

buoyant sonnet
valid burrow
#

what

buoyant sonnet
#

Dont understatement you

#

Understand

#

But i want a ore that has a custom like diamant item in it that crafts my otter custom item

chrome beacon
#

tldr; It's hard, but not impossible

buoyant sonnet
#

Is there a good tt

blazing ocean
chrome beacon
hot walrus
#

Quick question

chrome beacon
#

You should consider using a mod instead

hot walrus
#

Is there an event for placing blocks on replaceable blocks? Say replace short grass with wool
Is there an event for that

buoyant sonnet
blazing ocean
chrome beacon
buoyant sonnet
hot walrus
#

You can just check the block at that position

#

to see if it is replaceable

chrome beacon
#

I mean getBlockReplacedState

#

exists

torn shuttle
#

very cool, very safe

hot walrus
#

oh thats helpful, thank you

torn shuttle
#

time to buy an ultrawide

blazing ocean
hot walrus
#

efficiency

torn shuttle
#

dutch angle programming

#

the next evolution

blazing ocean
torn shuttle
#

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

chrome beacon
torn shuttle
#

consider deez

chrome beacon
shadow night
#

Have you guys ever experienced the issue where the Files.newOutputStream thingy threw an exception but new FileOutputStream did not

torn shuttle
#

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

shadow night
#

I constantly work with files, love it because oop, hate it because shit

torn shuttle
#

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

quaint mantle
#

Just use db 🗿

shadow night
#

I have some projects using more, some using less

torn shuttle
# quaint mantle Just use db 🗿

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

signal hearth
#

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

torn shuttle
#

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

torn shuttle
#

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

signal hearth
torn shuttle
#

not for a vps

#

I think

signal hearth
#

On ovh?

torn shuttle
#

but then again I thought gbp had a better conversion rate so I thought you had like 80 euros

#

you guys fell off

signal hearth
#

Real

buoyant sonnet
#

Is it easer to make a custom mob for plugin

torn shuttle
# signal hearth On ovh?

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

onyx fjord
#

does spigot shade fastutil?

signal hearth
#

Oh dayum VPS is Hella cheap!

torn shuttle
#

you get what you pay for

signal hearth
chrome beacon
#

wait I checked Paper 1 sec

torn shuttle
#

I've had a dedi for many, many years, expensive but ultimately that's a business expense so 🤷

signal hearth
#

Ig

river oracle
#

Just add it as a provided dependency

onyx fjord
#

do u know what version specifically?

river oracle
#

?stash look at cb I can't rn

undone axleBOT
chrome beacon
#

8.5.12

#

for 1.20.4 and 1.20.6

onyx fjord
#

thank u

chrome beacon
#

no idea for older

buoyant sonnet
#

How to make a custom mob

chrome beacon
#

how custom do you want it

buoyant sonnet
#

In a plugin

#

Own twxture model and drop

chrome beacon
#

model part will be hard

buoyant sonnet
#

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

chrome beacon
#

again the texture/model part will be a bit difficult

buoyant sonnet
#

But is the txture posibke

chrome beacon
#

sure it can be done with trickery

buoyant sonnet
#

Like i also want my custom items to have custom texture

chrome beacon
#

That's easier to do

buoyant sonnet
#

So i do al that in 1 go

torn shuttle
#

bet

buoyant sonnet
#

Is thee any tt for mob + mib texture

torn shuttle
#

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

chrome beacon
torn shuttle
#

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

chrome beacon
buoyant sonnet
#

yess but i never have done somthing like that

chrome beacon
#

I somewhat doubt that

buoyant sonnet
#

you now a tt

#

but only did like 1 thing add items

chrome beacon
#

for item textures just set the custom model data

#

and then use a resourcepack to define your model

buoyant sonnet
#

but i want 2 zombies

#

but 1 is my own

chrome beacon
#

I never said anything about zombies

buoyant sonnet
#

i did

young knoll
#

You can't have custom mob models

#

Well, you can but not easily like custom items

chrome beacon
torn shuttle
#

except you can have custom mob models, without optifine

chrome beacon
#

well with some trickery yes

#

you're not modifying the actual entity model

torn shuttle
#

everything we do is trickery of some kind

young knoll
#

Not really

#

Custom model data is just a feature

buoyant sonnet
#

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

young knoll
#

wat is a TT

chrome beacon
#

I've been assuming tutorial in our conversation

#

and I haven't been corrected so 🤷‍♂️

torn shuttle
#

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

buoyant sonnet
#

i have already a plugin

torn shuttle
#

a truly vague statement

zenith saddle
#

Does anyone know of a way to do asynchronous world generation?

young knoll
#

It's already async

#

technically

river oracle
#

from the ground up

zenith saddle
#

But why is world gen done on the main thread?

river oracle
#

to guarentee its fully synchronized I suppose

#

that's kinda a mojank question

young knoll
#

It's not

#

Each part is done by a worker thread

#

But everything still needs to be syncronized in the end

zenith saddle
#

is it that the code after is waiting for the world to generate, causing the server to wait?

river oracle
# young knoll It's not

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

eternal oxide
#

world creation in a Future when 😦

river oracle
#

they don't care that some parts of it are

rough drift
#

the only issue is entities

river oracle
rough drift
river oracle
#

you can do a lot of things if you dig into NMS and get your hands dirty

blazing ocean
river oracle
#

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

zenith saddle
#

All i am asking for is any way to prevent this from taking 39 seconds:

river oracle
#

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

young knoll
#

The api does it on another thread afaik

river oracle
#

it freezes the server

#

its executed fully on the main thread and its not a thread safe operation

slender elbow
#

loading a world does sync operations and wait for some chunks to load, but chunk generation in general is multithreaded

young knoll
#

I knew it

#

Smh

eternal oxide
#

World creation is not though

young knoll
#

No but world creation with a fixed spawn and keepSpawnInMemory false takes basically no time

eternal oxide
#

it uses threads to generate regions but the actual world creation is on the main thread

slender elbow
#

that's basically just creating the dat file

young knoll
#

There’s a reason I added keepSpawnInMemory to the WorldCreator itself

river oracle
#

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

zenith saddle
#

I am trying to generate a world, and go to a plains biome quickly

river oracle
#

@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

slender elbow
#

keepSpawnInMemory false + fixed spawn location in the chunk generator

#

the game trying to find a spawn location is really heavy

#

so providing one is 👌

zenith saddle
river oracle
slender elbow
#

should split the search across multiple ticks

zenith saddle
#

How would I do that?

river oracle
#

?workdistro

slender elbow
#

what's the uh workload command thing

#

yeah

zenith saddle
#

ty

river oracle
slender elbow
#

like me

young knoll
#

The alternative is just make it only plains

#

Tho that isn’t ideal since it doesn’t change the sea level

sour mountain
#

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
eternal oxide
#

do not call openInventory from inside a Click event

sour mountain
eternal oxide
#

read teh javadoc for teh click event

sour mountain
#

oh I see

#

thank you