#help-development

1 messages Β· Page 1537 of 1

proud basin
#

that's how you do it if its static

fiery inlet
#

i fixed it

#

oh ye i know

proud basin
#

no your sad forever

sage swift
#

you're*

proud basin
#

:n: β­•

sage swift
#

fail at everything, huh?

chrome beacon
#

You can still apply mappings if you follow instructions on the release post

sage swift
#

too much work

chrome beacon
#

True I just used obfuscated names πŸ‘€

hybrid spoke
#

easiest solution: just don't use it

fiery inlet
#

how do you make a for loop, between 2 numbers

sage swift
#

but muh cool features

hybrid spoke
#

?learnjava

undone axleBOT
proud basin
#

are you joking

#

your name can only be maxed at 16

#

in 1.8

sage swift
#

L

hybrid spoke
#

imagine 1.8

chrome beacon
#

That's still true

sage swift
#

that sounds like a you problem

proud basin
#

how am I suppose to fix this

#

ugh

chrome beacon
#

Use Prefix and Suffix to extend to 32

fiery inlet
#

im stupid

hybrid spoke
#

probably

fiery inlet
#

forgot u could even change the start value

proud basin
fiery inlet
#

im so used to 0

chrome beacon
proud basin
#

NO

hybrid spoke
#

but why would u loop just 2 numbers

proud basin
#

Update is a big no no

sage swift
#

no update no support

proud basin
#

Oh

#

i know the issue

fiery inlet
proud basin
#

The Nametag is too long

fiery inlet
#

like setting slots between x and y in a gui

proud basin
sage swift
#

it really isn't

hybrid spoke
#

nah

#

its not

quaint mantle
#

it isnt

proud basin
#

shh

#

1.8 > then other version

quaint mantle
#

cap

sage swift
#

other than 1.9, you're technically correct

#

in terms of decimal numbers, it is

#

kek

quaint mantle
#

:)

proud basin
#

just stop gecko

sage swift
#

gonna cry

quiet ice
#

1.8 hasn't been updated in half a decade, you call that supported?

hybrid spoke
#

1.8 is better then .9 .10 .11

#

but it stops at .12

chrome beacon
#

You might want to rename your project and class @proud basin

sage swift
#

{projectName}-unsupported-1.8

chrome beacon
#

Core - needs to be changed...
onPlayerJoin - why camelcased

proud basin
#

what are you talking about

#

I don't have onPlayerJoin class

quaint mantle
#

Camelcase good

chrome beacon
#

You were editing it a second ago acording to your rich presence

proud basin
#

well I don't even have a class called that

hybrid spoke
#

stalker

sage swift
#

more like poor presence

#

1.8 userloser

proud basin
#

gecko

chrome beacon
fiery inlet
#

any way to set multiple slots in an inventory?

sage swift
#

dont talk to me scum

fiery inlet
#

without doing 50 inventory.setitem lines

proud basin
#

you look like gum

sage swift
#

for loop

fiery inlet
#

well its specific slots

sage swift
proud basin
fiery inlet
#

its not 0 through 9

#

its random slots

hybrid spoke
#

what do you call your classes?

Thisismyfuckingclass?

chrome beacon
#

._.

hybrid spoke
#

thisismyfuckingfuckediclass

#

CLASSWHICHUSEDTOBEACLASS

sage swift
#
for (int i = 0; i < 54; i++) {
  if (random.nextInt(3) != 0) continue;
  inv.setItem(i, something);
}``` pure genius right there! ^
quaint mantle
quaint mantle
granite stirrup
#

camelCase <-- is this i dont think its like this --> CamelCase so is class names even camelCase or are these both camelCase somehow?

sage swift
#

yeah but the second is a special retard camel with an ass so huge it looks like another hump

granite stirrup
#

xd

chrome beacon
hybrid spoke
#

thats CamelCase

chrome beacon
#

No

granite stirrup
#

no camelCase is camelCase

#

not CamelCase

hybrid spoke
#

? xD

granite stirrup
#

idiot

proud basin
#

Should I use teams for name tag?

sage swift
#

you should use 1.16 or 1.17

#

for support πŸ‘

proud basin
#

no gecko

#

I'm not updating

sage swift
#

i thought you were jtx

granite stirrup
#

yes you are

sage swift
#

but i'll call you as you wish to be called, not updating

quaint mantle
proud basin
#

no idkidk

granite stirrup
granite stirrup
hybrid spoke
#

it is

proud basin
#

Yall can't force me

hybrid spoke
#

idiots xD

quaint mantle
#

Camel case (sometimes stylized as camelCase or CamelCase; also known as camel caps or more formally as medial capitals) is the practice of writing phrases without spaces or punctuation, indicating the separation of words with a single capitalized letter, and the first word starting with either case.

hybrid spoke
#

Camel case (sometimes stylized as camelCase or CamelCase; also known as camel caps or more formally as medial capitals) is the practice of writing phrases without spaces or punctuation, indicating the separation of words with a single capitalized letter, and the first word starting with either case. Common examples include "iPhone" and "eBay". ...

chrome beacon
sage swift
#

we can refuse support though jtx

granite stirrup
hybrid spoke
#

there is an uppercase and lowercase camelcase

proud basin
#

I can refuse to update

granite stirrup
#

we can give you no support at all

fiery inlet
sage swift
#

and we will refuse support

#

simple

granite stirrup
#

and then you cant do what you want

#

and then you will have to update

hybrid spoke
proud basin
#

no

granite stirrup
proud basin
#

I can force you to respond

hybrid spoke
quaint mantle
#

do it

granite stirrup
#

cuz camelCase is like this camelCase

hybrid spoke
#

..........

#

go to school

chrome beacon
#

Well either way it's wrong for class names

granite stirrup
#

i never seen people say camelCase is like this CamelCase

#

;-;

granite stirrup
#

the camel doesnt have a huge ass

eternal night
#

🀀

sage swift
#

πŸ˜‹

granite stirrup
proud basin
#

bruh

sage swift
#

shut up jtx

hybrid spoke
granite stirrup
#

@proud basin update or no support for you forever

proud basin
granite stirrup
#

and you wont get help

#

at all

quaint mantle
proud basin
#

I'm not updating. Simple

granite stirrup
sage swift
#

?learnjava

undone axleBOT
quaint mantle
#

1.8? What a loser

granite stirrup
hybrid spoke
#

there is a wiki. javadocs could also help

proud basin
#

ooo eclipse

eternal night
#

first learn java basics, object orientation basics and then get into spigot

proud basin
granite stirrup
quaint mantle
#

\🧒

#

wtf lol

proud basin
#

\🧒

quaint mantle
#

\πŸ™‚

granite stirrup
quaint mantle
#

πŸ™‚

granite stirrup
#

🀣

proud basin
granite stirrup
proud basin
#

From now on 1.8 is only supported

sage swift
#

you wish

granite stirrup
#

it isnt

hybrid spoke
#

probably. if you understand how to deal with public APIs, basically yes

#

but to do spigot you need to do java

granite stirrup
hybrid spoke
#

and to do java you have to learn java

proud basin
hybrid spoke
#

and support it

sage swift
#

hitlerspigot

proud basin
#

too much effort

hybrid spoke
quaint mantle
#

Will having a conversation in Spanish be easier to understand after learning Spanish?

sage swift
#

constant 13 tps, 52 mspt?

proud basin
#

write every word in spanish on paper

sage swift
#

in either case yes

proud basin
#

so uh who wants to help me πŸ™‚

#

gecko πŸ˜‰

sage swift
#

no one.

hybrid spoke
#

with what

sage swift
#

1.8

hybrid spoke
#

ew

late kindle
#

1

proud basin
#

gecko what makes you think im using 1.8

hybrid spoke
#

you are asking everyday for help

sage swift
#

the multiple times you've mentioned both it and not updating?

proud basin
#

so

hybrid spoke
#

whats your issue?

sage swift
#

yeah whats your problem jtx lmao

granite stirrup
#

jtx find out your self

proud basin
#

i don’t have a problem

hybrid spoke
#

???

proud basin
#

so for someones name tag is the max 16 characters?

chrome beacon
#

Yes

hybrid spoke
#

yes

granite stirrup
#

yeah

#

i think you could go higher in newer versions im not sure tho?

proud basin
#

Is there a way to go past it?

chrome beacon
#

I told you how; prefix and suffix

chrome beacon
proud basin
#

so I have to use a scoreboard

chrome beacon
#

Yes

sage swift
wary harness
#

any one know how to load external libraries on runtime

#

any good simple tutorial

dense quail
#

So uh, interesting behavior that I can't seem to fix

eternal oxide
granite stirrup
wary harness
#

I need it for older

#

versions to

#

from 1.8

#

then up

granite stirrup
#

shade it Into your plugin?

dense quail
#
@Nullable
@Override
public List<String> onTabComplete(@NotNull CommandSender commandSender, @NotNull Command command, @NotNull String label, @NotNull String[] args) {
  if (command.getName().equalsIgnoreCase("gamemode")) {
      if (args.length == 1) {
          ArrayList<String> options = new ArrayList<>(3);
          options.add("creative");
          options.add("survival");
          options.add("spectator");
          return options;
      }
  }
  return null;
}```

Why in the heck does the `spectator` option not appear in the tab complete?
wary harness
#

people judge size of plugin

granite stirrup
eternal oxide
#

or you have to inject it into the class loader

wary harness
#

that is a big problem

granite stirrup
#

its just easier if you shaded it

wary harness
#

they think they will get better optimisation

granite stirrup
#

lol

wary harness
#

with smaller jar

#

I know

granite stirrup
#

LOL

#

who says that

#

dumbasses

wary harness
#

it is already shaded

granite stirrup
#

shading is fine

wary harness
#

it is mentality of minecraft server owners

granite stirrup
#

no one fucking cares about plugin size

#

as long as it works

#

the people who saying they care are fucking dumbasses

wary harness
#

I know

#

they are

granite stirrup
#

also the libs probs isnt gonna be that big

wary harness
#

but it is pointles to argue

#

example hikaricp

granite stirrup
#

what libs are you using?

wary harness
#

got 600kb

#

to my plugin

#

and plugin was like 300kb by it self

#

then I have that xMaterials

#

and NBTAPI

granite stirrup
#

wtf is hikaricp

#

what is xMaterials

wary harness
#

lol

#

where do u live

dense quail
#

HikariCP is a connection pooling thing for SQL

wary harness
#

under stone πŸ™‚

#

get out son

frosty tinsel
dense quail
granite stirrup
#

@wary harness well gl of figuring out how to load a jar externally

granite stirrup
granite stirrup
wary harness
#

I will try

#

never give up

frosty tinsel
granite stirrup
#

and never heard of hikaricp

#

cuz i dont do mysql shit

wary harness
#

better look in to it if u need to handel a lot of mysql data

#

it just runs multiple connections

#

and close them when there is no need for them

#

in simple words

dense quail
#

IDK if the server just has a cached tab complete somewhere or what

frosty tinsel
proud basin
# chrome beacon Prefix and suffix could be longer

I just tried it and I seem to still only get a limit of 16 ```java
public void setPlayerTag(Player player, String name) {
Scoreboard scoreboard = player.getScoreboard();

    if(scoreboard.getTeam(player.getName()) != null){
        scoreboard.getTeam(player.getName()).unregister();
    }

    Team team = scoreboard.registerNewTeam(player.getName());
    team.setPrefix(name);
    team.addEntry(player.getName());

}
dense quail
frosty tinsel
dense quail
#

Yup

frosty tinsel
#

Did u try to restart the server?

dense quail
#

Yup, have restarted a lot since I added it

frosty tinsel
quaint mantle
#

how do i set the level of my potion effect

#

cus potion.setLevel

frosty tinsel
#

Cast ItemMeta to PotionMeta

quaint mantle
#

ok

proud basin
#

Oh wait

#

Im suppose to use both

dense quail
frosty tinsel
#

Very weird

proud basin
#

so nothing is displaying on top of their head```java
public void setPlayerNameTag(Player player, String prefix, String name) {
Scoreboard scoreboard = player.getScoreboard();

    if(scoreboard.getTeam(player.getName()) != null){
        scoreboard.getTeam(player.getName()).unregister();
    }

    Team team = scoreboard.registerNewTeam(player.getName());
    team.setPrefix(prefix);
    team.setSuffix(name);
    team.addEntry(player.getName());
}
sage swift
#

good

proud basin
#

how is that good

harsh gale
#

Um, I'm trying to code with the Vault API (economy) and the hook doesn't work for me. Anyone have an idea how to get it to work?

sage swift
#

do you have it as a (soft)depend?

harsh gale
#

yes

quiet ice
#

define "does not work"

harsh gale
#

By not working I mean this hook is not activated. The class is always null

#
[22:42:48] [Server thread/WARN]: [VaultAdapter] Loaded class net.milkbowl.vault.economy.Economy from Vault v1.7.3-b131 which is not a depend, softdepend or loadbefore of this plugin.
[22:42:48] [Server thread/INFO]: :(
onyx shale
#

Thats a warn ur not softdepending

harsh gale
#

look the code and out put please...

sage swift
#

HMMMM

quiet ice
#

I had this before

onyx shale
#

Works for me strange

harsh gale
#

F................

#

Alright...

sage swift
#

oh i think i know

harsh gale
#

How can i fix? O.o

sage swift
#

vault might be active, but your economy plugin is not

#

you can fix it by putting it in a runnable so that it activates after all plugins are loaded

quiet ice
#

Register a dummy economy

harsh gale
#

Ok, I will try it

quiet ice
#

Or just Bukkit.shutdown() since that should not happen

#

not worth to account for this edge case scenario, the user should have an eco plugin installed; Bukkit.shutdown() is the easy way out here

proud basin
#

Why is Team#addPlayer deprecated

quiet ice
#

context?

sage swift
sage swift
sage swift
#

there's a replacement in the jd

#

oh youre right

#

hmm

quiet ice
#

The eco plugin would need to be very, very borked

harsh gale
proud basin
#

So should I use Team#addEntry to add a player to a team?

sage swift
#

no you should use 1.16.5 LMAO

#

but yeah it's the same on both

granite stirrup
#
List<Map<?,?>> test = new ArrayList<>();
if (getConfig().isSet("test")) {
  test = getConfig().getMapList("test");
}
``` would this work?
quiet ice
#

Which is why this is very pointless

sage swift
#

you cant use the economy if there is no economy plugin

harsh gale
#

Ok, thanks

proud basin
#

hm

#

interesting then

#

Im not too sure then why nothing is being added to their name tag

granite stirrup
quiet ice
#

However just note that defaults can be set and #isSet might behave unintended here, but you have to read the javadoc to be sure in that case

quiet ice
granite stirrup
#

it says isset "Checks if this ConfigurationSection has a value set for the given path."

proud basin
#

Am I required to use packets when changing a players name?

granite stirrup
quiet ice
#

okay, then I was right; but chances are that you do not use that feature

granite stirrup
#

oh wait its probs gonna be null first time f so should i catch the IllegalArgumentException?

quaint mantle
quiet ice
granite stirrup
quiet ice
#

path is a literal string

proud basin
#

nvm

quiet ice
#

You would need to mess with the internal string cache to get it to be null, not worth catching the exception

granite stirrup
#

the file is empty lol i just want to check if it exists or not

quiet ice
#

lemme check something

#

`jd

#

?jd

granite stirrup
#

lol

quiet ice
#

You’ve enabled HTTPS-Only Mode for enhanced security, and a HTTPS version of hub.spigotmc.org is not available. ffs

sage swift
#

worked fine for me

#

move to the us

quiet ice
#

If the List does not exist but a default value has been specified, this will return the default value. If the List does not exist and no default value was specified, this will return an empty List.

#

You could just get the map list directly

#

No need to have the isSet shenanigans

#

The https issue is a browser issue and likely has to do something with spigot's DNS entries being messed up

#

I will however complain about it every time I click on that link until it has been solved

sage swift
#

so move to the US where the dns is fine lol

quiet ice
#

I am on linux, I could just switch the dns server

proud basin
#

?paste

undone axleBOT
sage swift
#

paste!

granite stirrup
#

fuck idk how to fix unchecked cast warning

#

;-;

sage swift
#

@IGNORE_ALL

granite stirrup
#

but wouldnt it be unsafe to just ignore it?

sage swift
#

@DELVE_BLINDLY_INTO_THE_WONDERS_OF_PROGRAMMING

ivory sleet
#

idk

sage swift
#

the IDE doesnt know everything you do

ivory sleet
#

what is the cast

#

most likely just add a suppression of unchecked

#

@SuppressWarnings("unchecked")

sage swift
#

like for example casting Entity to Chicken when you only checked Entity.getType == EntityType.CHICKEN would probably give you a warning

granite stirrup
ivory sleet
#

uh

#

probably dont want to do that then

granite stirrup
#

Β―_(ツ)_/Β―

sage swift
#

not that you can store a player in a config anyways

granite stirrup
#

you cant?

sage swift
#

kek

granite stirrup
#

can you store a location ?

ivory sleet
#

well players are different in a sense

granite stirrup
#

welp i guess i store they uuid instead

ivory sleet
#

does it implement configuration serializable? no it doesnt afaik

sage swift
#

store UUID as string

granite stirrup
#

but does Location work in a config?

ivory sleet
#

yes

#

thing is you can easily reconstructor a location as opposed to a player

#

we dont want a fake instance of a player right

granite stirrup
#

do i have to store the x,y,z,world of the location or can i just put it in?

ivory sleet
#

I mean location implements CS

#

so probably just yeet it in

earnest sonnet
#

Isn't there a save location method and get location method for configs?

granite stirrup
#

ye

ivory sleet
#

in newer versions yup

granite stirrup
#

there only for getting one

#

not setting i think

ivory sleet
#

correct

granite stirrup
#

im also casting a Map<?,?> to Map<String, Location> aswell XD

#

and its giving me a warning 😠

sage swift
#

it'll do that

ivory sleet
#

yeah because u cast generic type params

earnest sonnet
#

exactly

sage swift
#

but as long as you know it is what it is, you'll be fine

earnest sonnet
#

just ignore it or suppress if you know what you're doing

granite stirrup
#

it just gives me a unchecked cast warning

#

im probs gonna keep it with the warning

#

hopefully it will actually be the values i want in the config file lol

#

lol when running minecraft and a server maven is slow

#

probs cuz i have barley ram left

#

and its probs making me use 100% ram

#

so its using the page file

#

and my hard drive is slow as shit

brittle badger
#

Does anyone know the best way to get a job for spigot modding?

granite stirrup
ivory sleet
#

yeah look at

#

?services

undone axleBOT
earnest sonnet
#

Yep, the only place

#

reliable *

vital ridge
#

Im trying to connect to my mysql, but this error pops up:

granite stirrup
#

fuck

vital ridge
#

What should I do?

#

I've never worked with MySQL before.

granite stirrup
earnest sonnet
#

Are you using the default passwords and are you sure you the host, address and port are the correct ones ?

vital ridge
#

I have no idea how to configure it

#

I used a random pass

#

i only know the port

earnest sonnet
#

Are you using xampp ?

vital ridge
#

yes

earnest sonnet
#

I'm pretty sure there is a way to reset the MySQL, but your best bet is to reinstall it since you haven't actually done anything.

granite stirrup
#

f i just got this massive error just for nullpointer XD

sage swift
#

?pasta

granite stirrup
#

nah i know why it happend

sage swift
#

?spigoti

#

?ravioli

granite stirrup
#

i was calling size() on null XD

sage swift
#

of course you were

#

i mean what

vital ridge
#

so ill just reinstall the XAMPP?

#

@earnest sonnet

earnest sonnet
#

Yes, if you haven't done anything that needs to be saved

vital ridge
#

Nah i just installed it before and ran it

#

like the tutorial wanted me to

#

i just didnt restart my pc

#

tho it wanted me to

earnest sonnet
#

xampp should be ready to run, not sure why you're getting the error, maybe the port is busy?

vital ridge
#

The xampp wanted

granite stirrup
#

XD this message is funny
[22:44:30 ERROR]: [Essentials] There's a good chance you're reloading your server right now. If that's the case, why do you hate yourself? Expect no support from the EssentialsX team when using /reload. im using /reload cuz to lazy to restart the server

vital ridge
#

Idk lol, I have no idea how ports work

#

At all

earnest sonnet
granite stirrup
#

essentials just throwed a error at me after i used it lol

vital ridge
#

Its weird that im getting it but noone else lmao

granite stirrup
#

but iM using it cuz im to lazy

vital ridge
#

@earnest sonnet now when i try to install it it warns me with some User Account Control bs

#

and that XAMPP is restricted cuz of that

earnest sonnet
vital ridge
#

It wants me to disable it or smthin

#

Im using my phone internet rn

#

cuz my home wifiis shit

#

is this changing anything?

earnest sonnet
#

Nope, I don't think so

vital ridge
#

Idk ill just try to google or smthing

earnest sonnet
vital ridge
#

Somebody in a forum had the same error and somebody just told him to run it as administrator

#

Ill try to use my main wifi

#

after im done with installing

earnest sonnet
#

Just try running it normally without administration perms and if it doesn't work, proceed with administrator perms, though xampp doesn't need it

granite stirrup
#

last time i ran xampp without as admin it throwed errors at me

earnest sonnet
#

Nope, you can use xampp normally without the admin perms, it's just going to run in a non-standard port

granite stirrup
#

no?

#

it errored when i closed xampp

#

without admin

#

on it

earnest sonnet
#

I can run it normally without admin permissions though

granite stirrup
#

it doesnt for me

earnest sonnet
#

No clue 🀣

digital plinth
#

can i change the texture that a projectile uses

like change the texture of a thrown snowball to the texture of a potateo

#

can i detect which inventory slot the player is using

#

getHeldItemSlot?

digital plinth
#

thx

#

btw is the 1.17 spigot like a test build or a full release

earnest sonnet
digital plinth
#

okie

muted idol
#

hey there how would i go about "resetting" a world for a minigame that im making?

earnest sonnet
quaint mantle
#
private Object colorIfString(Object object) {
    if (object instanceof String) {
        return MessageUtil.color((String) object);
    }
    return object;
}

public static String color(String msg) {
    if (msg == null) return null;

    return ChatColor.translateAlternateColorCodes('&', msg);
}
sender.sendMessage(MessageUtil.color(msg));

This: ΒΊaYessir is what comes out

#
prefix: '&aYessir'
ivory sleet
#

why the former function?

muted idol
quaint mantle
ivory sleet
#

😬

earnest sonnet
ivory sleet
#

assuming you wanna reset

quaint mantle
#

sus

wraith rapids
#

ensure the chunks are completely unloaded and then copy/delete/replace the underlying region files

#

the api, of course, does not provide any way to do this

quaint mantle
ivory sleet
#

sounds like an unsafe operation to a certain extent

wraith rapids
#

well i mean

#

if they're not in memory, then they're on disk

#

and if you change what's on the disk, you change the thing

opal juniper
#

That does make sense

#

πŸ™ƒ

wraith rapids
#

it's perfectly safe as long as the chunks are fully unloaded

#

which is the part that the api doesn't have any way to do

#

you need to unload the world, wait for a few seconds to a minute, and then pray it actually got flushed to disk

ivory sleet
#

hmm yeah was more thinking of other stuff depending on that chunk like maybe redstone (tho a trivial fix but just for the sake of an example)

wraith rapids
#

provided that you don't fuck up the files you're writing, it is fine

earnest sonnet
#

Wouldn't replacing the map as a whole be less troublesome?

wraith rapids
#

you can for example copy an existing world's regions

#

that will guarantee that the actual data is good and proper

#

but, you can mix and match regions from different worlds or from different points of time as well

ivory sleet
#

oo fair then

wraith rapids
#

the worst that will happen is ugly chunk borders or stuff like fences on chunk borders not connecting properly

#

which would be fixed with a block update

muted idol
wraith rapids
#

unload the world, replace the files

earnest sonnet
#

Yep

muted idol
#

aight thanks

wraith rapids
#

world/region in particular

earnest sonnet
muted idol
#

yea thinking kinda the same thing. once the game is over delete the folder and then copy and paste the world folder from the backup folder

wraith rapids
#

there is little point in deleting the entire directory if you just want to change the map

#

just copying and replacing the region files is sufficient

earnest sonnet
#

Oh, yea, I forgot, in minecraft they're called regions too, not only in the uuh plugin

wraith rapids
#

a region is a span of 512 by 512 blocks or 32 by 32 chunks

#

each region is its own miniature filesystem and resides in a x.z.mca file

earnest sonnet
#

Oh! Wait, I have a question for something outside of development

#

Forget it, saying it loud just gave the answer by itself 🀣 🀣

granite stirrup
#

lol for some reason im on the server and the tps on the scoreboard keeps going above 20

#

whatever scoreboard plugin there using must be wrong on tps

wraith rapids
#

due to tps catchup the momentary tick rate can exceed 20

#

20 is only the goal average

granite stirrup
#

it just said 20.14 tps

#

XD

wraith rapids
#

yes

#

like i just explained, that is normal

granite stirrup
#

k

grand coral
#

I made a Inventory and Fill it up with items. I want now to cancel the draging and Getting items from there... how I can do that? I Tryied it with InventoryClickEvent and ask If e.getInventory().equals(myInv) and e.setCancel(true) it but I can for some Reason move the items from there... 1.16.5 spigot

wraith rapids
#

the real question is why the fuck you are using .4

grand coral
#

Ehmm sry its 1.16.5

sage swift
#

use that

wraith rapids
#

ensure the equals check works as expected, and listen to inventory drag event in addition to the click event

grand coral
grand coral
sage swift
#

setCancel(true)?

#

and that's not showing red in your IDE?

grand coral
#

I using intelliJ and no

#

e.setCancelled(true);

#

And that I mean

sage swift
#

big difference between setCancel and setCancelled

#

you have to be accurate

grand coral
#

Sure but I wrote it without copy the Code

hybrid spoke
#

you aren't giving multiple elements

#

your list contains just 1 string

#

and that string is "SELLER, FARMER, LUMBERJACK, FISHER, SORTER, BUILDER"

stone sinew
#

Shit xD

#

Yeah lol

#

thx

hybrid spoke
#

you have to seperate it `"Seller", "Farmer",)

#

^^

stone sinew
young knoll
#

If you are just do contains you should use a set

stone sinew
#

Yeah was just testing

wraith rapids
#

i'd like to introduce you to the concept of enums

quaint mantle
#

i got an empty pom atm

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>me.imaginedev</groupId>
    <artifactId>DiscordJava</artifactId>
    <version>1.0.0</version>

    <properties>
        <maven.compiler.source>16</maven.compiler.source>
        <maven.compiler.target>16</maven.compiler.target>
    </properties>

</project>

how do i get that build JAR button

stone sinew
#

Old code but yeah lol

quaint mantle
#

I Created potions and a command to give me the kit right it works but why do the potions look like regular water bottles even thought its a splash and they do splash right its just they look like regular water bottles? is there any way to change this

#

i like dogs

#

so

sage swift
#

did you use PotionMeta#setColor?

proud basin
#

god damn gecko you beat me

hexed hatch
#

Is gson running on a spigot server or am I schizophrenic

ivory sleet
#

It is shaded ye

hexed hatch
#

Thought so epic

#

?buildtools

#

?bt

undone axleBOT
lapis relic
#

motivos

hexed hatch
#

I hate to be that guy but can someone point me towards a Java 16 download? I tried googling my way through it but my efforts have been fruitless, on the Java website it's only throwing 8 at me

sage swift
#

adoptopenjdk is the key word

ivory sleet
#

I think?

hexed hatch
#

thanks

digital plinth
#

can i store UUIDs in a config?

#

or do i have to change them to strings

summer scroll
wet breach
next stratus
#

Am I becoming more and more dumb or is fastasyncworldedit api and worldedit api an absolute pain to work with?

gaunt hatch
#

I don't like that thier events are limited.

#

Very bad business logic to game logic

next stratus
#

Whatcha mean

#

I wish there was some sort of Region region = editSession.pasteSchematic(File file, Location location);
or something, this would be so much easier to work with.

gaunt hatch
#

I am taking about n tier architecture

turbid wind
#

I'm using PrepareAnvilEvent for my custom enchantments, but I can neither get enchanted items to appear in the result slot when the first slot is unenchanted nor can I obtain the item in the result slot by clicking it

weak mauve
#

one question, how can i check if the player move to another world, example /mvtp

wet breach
weak mauve
#

oh

#

im dum

weak mauve
#

i remember

#

tthere is

#

public void onTeleport(PlayerChangedWorldEvent e) {

wet breach
#

that works too

weak mauve
#

bur

#

h

granite stirrup
proud basin
#

86_400_000L is 1 day correct?

wet breach
#

are you measuring in ticks or what?

wet breach
#

in ticks its 1728000 ticks

proud basin
#

in milliseconds

wet breach
#

then you are correct

proud basin
#

that's odd then

candid galleon
#

24*60*60

wet breach
#

1000*60*60*24

proud basin
#

hm

#

that's extremely odd

candid galleon
#

how is that odd

#

1000 milliseconds in a second * 60 seconds in a minute * 60 minutes in an hour * 24 hours in a day

#

it is literally even

wet breach
#

yeah not sure what is odd about it

#

pretty straight forward lol

#

unless they are being confused about the miliseconds they are grabbing using the API which in most cases will grab you the milis from what I think 1980 to now lol

#

which ends up being far larger πŸ˜›

digital plinth
proud basin
#

What I was doing but its fixed

twilit nexus
#

would someone be able to help me with my plugin?

sage swift
#

?ask

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.

twilit nexus
#

alrighty

#

so basically I want to set up my plugin like this

#
ShowCommandSettings:
  Enabled: true
  ShowTabCompleteList:
    - 'ping'
    - 'hours'
    - 'bells'
  ShowArguments:
#these are added in afterwards
    ping:
      Enabled: true
      Input: 'ping'
      Output: '&7[&6Show&7] >> %player_name% has %cmi_user_ping% ping!'
      permission: 'show.command.ping'
    hours:
      Enabled: true
      Input: 'hours'
      Output: '&7[&6Show&7] >> %player_name% has %statistic_hours_played% hours!'
      Permission: 'show.command.hours'
sage swift
#

?learnjava

undone axleBOT
sage swift
twilit nexus
#

so the command is /show and ping and hours are arguments

#

but I don't know how to set it up like that

sage swift
#

you want that to be configgable?

twilit nexus
#

yea

#

so I wanna be able to add on stuff to the config like this

#

one sec

sage swift
#

have you made a non-dynamic command yet?

twilit nexus
#
ShowCommandSettings:
  Enabled: true
  ShowTabCompleteList:
    - 'ping'
    - 'hours'
    - 'bells'
  ShowArguments:
    ping:
      Enabled: true
      Input: 'ping'
      Output: '&7[&6Show&7] >> %player_name% has %cmi_user_ping% ping!'
      permission: 'show.command.ping'
    hours:
      Enabled: true
      Input: 'hours'
      Output: '&7[&6Show&7] >> %player_name% has %statistic_hours_played% hours!'
      Permission: 'show.command.hours'
    deaths:
      Enabled: true
      Input: 'hours'
      Output: '&7[&6Show&7] >> %player_name% has %statistic_hours_played% hours!'
      Permission: 'show.command.deaths'
#

what do you mean?

sage swift
#

like, not something you put in the config

twilit nexus
#

oh yea

#

that was how I had this set up before

#

But I wanted to set it up with the config.yml stuff

#
if (sender instanceof Player) {
            Player p = (Player) sender;
            String nopermmessage = "&7[&6Show&7] >> You don't have permission to execute this command";
            //if player has show.command permission they can execute all show commands
            boolean showenabled = plugin.getConfig().getBoolean("ShowCommandSettings.Enabled");
            if (showenabled) {
                //checks to see if there are any arguments
                if (args.length > 0) {
                    //if there is an argument, it then checks to see what the argument is | Let's use ping as an example
                    //checks to see if argument is ping\
                    String playerinput = args[0];
                    String PingInput = plugin.getConfig().getString("ShowCommandSettings.ShowArguments.ShowPing.Input");
                    String Input = plugin.getConfig().getString("ShowCommandSettings.ShowArguments.inp").replace("inp", args[0]);
                    if (args[0].equalsIgnoreCase(plugin.getConfig().getString("ShowCommandSetting.ShowArguments.inp").replace("inp", args[0]))) {
                        boolean showpingenabled = plugin.getConfig().getBoolean("ShowCommandSettings.ShowArguments.ShowPing.Enabled");
                        if (showpingenabled) {
                            String pingpermission = plugin.getConfig().getString("ShowCommandSettings.ShowArguments.ShowPing.permission");
                            if (p.hasPermission(pingpermission)) {
                                //Then creates a string for an output
                                String TXT = plugin.getConfig().getString("ShowCommandSettings.ShowArguments.ShowPing.Output");
                                //Then, it runs through the placeholder checker to see if there are any placeholders in string.
                                //Then, it converts the placeholders into what they are supposed to be
                                String placeholder = PlaceholderAPI.setPlaceholders(p, TXT);
                                //Then it broadcasts the message after running through a color code checker to see if any color codes are being used
                                Bukkit.broadcastMessage(Utils.chat(placeholder));
                            } else {
                                p.sendMessage(Utils.chat(nopermmessage));
                                String consolemessage = "%player_name% tried to execute /show ping \n Missing permission: " + pingpermission;
                                System.out.println(consolemessage);
                            }

                        }
#

some of this needs to be changed still

#

but what I need to know is how to set up this so that it works

String Input = plugin.getConfig().getString("ShowCommandSettings.ShowArguments.inp").replace("inp", args[0]);
#

I want the "inp" to be replaced with whatever the argument is

#

and then, I think that in theory, that would allow me to be able to actively set up new arguments and all that

wet breach
#

better way to do that is to use enums

#

you can pull information from the config and stick it into the enum

#

makes it easier to do some dynamic stuff too πŸ™‚

twilit nexus
#

would you be cool to show me how?

wet breach
#

I can show you examples

twilit nexus
#

yea, don't show me directly how to

wet breach
twilit nexus
#

sorry lol, I can't learn if others do it for me, right

wet breach
#

basically for your config stuff it would be something similar

#

that plugin is open source, so feel free to borrow code from it

twilit nexus
#

oh sweet

wet breach
#

just make sure to give credit where its due is all πŸ˜‰

twilit nexus
#

oh yea

#

always

wet breach
#

also in that plugin, it utilizes the conversation API

#

probably one of the few plugins where you can look at it for examples on using that API.

#

So for instance, the way I had setup that plugin you could modify the config in game without the clutter of everyone talking πŸ˜›

#

it puts you in a conversation with the server and the server asks questions in relation to the config πŸ™‚

twilit nexus
#

lol

#

that sounds actually pretty cool

wet breach
#

you can do a lot with the conversation API

#

you can put 2 people in a conversation easily

twilit nexus
#

hmm

wet breach
#

or however many people

twilit nexus
#

interesting

wet breach
#

just have to remember to at some point let them escape the conversation and you can set hot text for that. which my plugin there has if you want to leave the conversation in the middle

#

but yeah, feel free to look through it. I am not hawkfalcon, he created the plugin originally but I am the owner of it now since the majority of it is my code anyways. But my name on github is frostalf πŸ˜›

twilit nexus
#

hmm

#

that's pretty cool

#

but yea, if I do end up using this, I'm gonna have to make sure to give credit when needed

wet breach
#

yeah not hard to do

#

XD

#

not like it has to be some elaborate thing to give credit

#

that plugin is under the MIT license, so you only need to give me credit in a place where people can see it, but it can be out of the way

#

IE, you could just make it a command thing

#

./credits

proud basin
#

How can I get a players full argument?

twilit nexus
#

hmm

wet breach
#

and then it lists all the different organizations or people you give credit to πŸ™‚

wet breach
proud basin
#

like if they did /t blal lbalbal balbal ablblb ablbla

#

everything past /t

wet breach
#

in the onCommand() args[] is an array

#

so that array will contain all the arguments the player used

#

or it will be empty if no arguments were specified

#

which you need to remember to handle as well if you are expecting arguments πŸ˜‰

twilit nexus
#

wait

proud basin
#

yes

twilit nexus
#

can I use ${} in java or is that just javascript

wet breach
#

that is just javascript o.O

twilit nexus
#

oh gotcha

proud basin
#

bro I really gotta sleep

twilit nexus
#

sleep

wet breach
#

then go sleep πŸ™‚

twilit nexus
#

now

#

go

proud basin
#

for some reason I thought I had to put in a integer the array

wet breach
#

not like I won't be here tomorrow πŸ˜‚

wet breach
proud basin
#

Yea I know that

wet breach
#

otherwise, you can just loop over the array for all of its elements

#

for(String arguments : args) {
   arguments //do something with this, changes every time it loops to the next element
}
quaint mantle
wet breach
#

it won't

sage swift
#

how can i get the location of the head of the EnderDragon? getParts seems to return a Set<ComplexEntityPart> but i don't see a way to distinguish between the parts.

#

and no, getEyeLocation doesn't work

wet breach
#

so that means the face of the ender dragon is actually the back of its head technically and hence why if you ever put the ender dragon in a mob spawner it faces the wrong way πŸ˜›

quaint mantle
#

I don't see any Set in enderdragon class πŸ€”

sage swift
#

getParts?

quaint mantle
#

and parts is an array
this.subEntities = new EnderDragonPart[]{this.head, this.neck, this.body, this.tail1, this.tail2, this.tail3, this.wing1, this.wing2};
Sounds like version might have to be given?

sage swift
#

1.17

quaint mantle
#

oh we talking bukkit api

wet breach
quaint mantle
#

be pretty meme to convert from an array to set but lemme see

wet breach
#

if that is the code, then you know which part is the head

#

it will always be at 0 in the array

quaint mantle
#

yeah it'll most likely be 0 in the set too

#

issue is.. set doesn't allow index grabbing

compact haven
#

sets dont have indexes

quaint mantle
#

nor is it a linked set

#

definitely does convert from an array to set 😦

compact haven
#

maybe you can iterate over the set, and find one with a certain property

#

or a certain type

#

or something that differentiates the parts

sage swift
#

the part itself is an Entity

#

but theyre all the same EntityType

quaint mantle
#

they have names

#

looks like its not exposed in the API

wet breach
#

doesn't necessarily need to be exposed in the API

quaint mantle
#

dimension is tho and it is available from the API

#

new EnderDragonPart(this, "head", 1.0F, 1.0F);
head is 1, 1, with fixed as false

wet breach
#

just grab the nbt data

#

find the one that says head

#

πŸ™‚

#

once you have your entity, its a matter of doing getLocation() πŸ˜„

quaint mantle
#

what is the best way to add items in gui with config file?

sage swift
#

never working with ender dragons again

#

but it seems like all i personally needed to do was use getLocation instead of getEyeLocation

quaint mantle
#

How can I get Blocks(enum) by String? for example, I want to get Beacon Block by "BEACON"

#

(For your information, Blocks enum doesn't have valueOf() method)

stone sinew
#

Material.BEACON.getBlock() I think

quaint mantle
wet breach
#

where is Blocks(enum) in the API?

quaint mantle
wet breach
#

oh 1.15

stone sinew
#

Block.getByName(t)

quaint mantle
stone sinew
#

version?

#

Didn't see it one sec

#

CraftMagicNumbers.getBlock(Material)

quaint mantle
#

thanks you! it exists πŸ˜„

#

how to set size of an inventory?

sage swift
#

do it when creating

quaint mantle
#

public Inventory mainmenu;

#

this is how I created

stone sinew
#

Its not even initialized

quaint mantle
#

Hello! How do I copy and paste the section? I didn't find the tutorial. (via Google.)I knew I had to use the Schematic file.

quaint mantle
quaint mantle
#

.

sage swift
quaint mantle
#

?

hardy swan
stone sinew
hardy swan
#

Like the above

quaint mantle
#
public class MainMenu implements InventoryHolder{

    public Inventory mainmenu;

    //Inventory Items
    public MainMenu(Object player){
        mainmenu = Bukkit.createInventory((InventoryHolder) player, 54, color("&7gui"));
    }

    @Override
    public Inventory getInventory() {
        return mainmenu;
    }
    private String color(final String message) {
        return ChatColor.translateAlternateColorCodes('&', message);
    }
}
hardy swan
#

Isnt player an inventory holder

sage swift
#

if you have a reasonably-sized screen, it should be visible without even scrolling down on the site i sent you

#

you literally made the class implement InventoryHolder lmao

#

why are you setting the player as the holder

hardy swan
#

Oh object

#

Oops

quaint mantle
sage swift
#

yep

#

that's correct

#

but you're using the player as the holder of the inventory

#

not the object you just made the holder

quaint mantle
#

I made it null

sage swift
#

don't make it null

quaint mantle
#

then?

sage swift
#

you made the object implement InventoryHolder

quaint mantle
#

was that corrent?

sage swift
#

?learnjava

undone axleBOT
quaint mantle
#

._.

hardy swan
#

Who suggested main menu implements inventory holder

quaint mantle
#

someone

sage swift
#

it's a fine suggestion, very useful for a number of things

#

if implemented correctly

quaint mantle
#

I can use SmartInvs library

sage swift
#

you can

#

but then all the Smart that you could have gotten from doing it yourself would be transferred to that library, wouldn't it?

stone sinew
#

mainmenu = Bukkit.createInventory(null, 54, color("&7gui"));

sage swift
#

no

#

use the object as the holder

#

this

hardy swan
#

But then wat does that even mean design wise

sage swift
#

holy fuck

hardy swan
#

For it to implement holder

sage swift
hardy swan
#

Ah ok

quaint mantle
#
mainmenu = Bukkit.createInventory(this, 54, color("&7gui"));
```?
sage swift
#

yep

hardy swan
#

Then why is it taking in player as an argument for constrcutor

sage swift
#

that will set your MainMenu class as the holder

#

well it should be Player player

#

but probably to open that inventory for them after it's been created?

#

at the end of the constructor, player.openInventory(mainmenu)

#

speaking of which, your mainmenu is capitalized incorrectly

quaint mantle
#

but player will be null?

sage swift
#

you pass in the player when you create the gui

#

sure, if you pass in null, the player will be null

quaint mantle
#
        Player player = null;
        mainmenu = Bukkit.createInventory(this, 54, color("&7gui"));
        player.openInventory(mainmenu);
    }
sage swift
#

why did you take out the argument

#

you were closer before

#

the constructor public MainMenu should take a Player object in so that it can be the target of the inventory

#
public MainMenu(Player player) {
  //create inventory and stuff
  player.openInventory(mainMenu);
}```
quaint mantle
#

some bad coupling going on here :3

noble spire
#

?paste

undone axleBOT
noble spire
#

bit over engineered but works

opal juniper
#

Very much over engineered πŸ˜„

lime hollow
#

Why is it that when I try to parse placeholders for an offline player, I get an empty string? πŸ€”

chrome beacon
#

Because the player is offline 🧠

lime hollow
#

Ok.

chrome beacon
#

Some plugins won't load data of players that are not online

#

Which is smart...

lime hollow
#

Is there any way to solve the problem?

summer scroll
#

I don't think so.

#

Player is a required parameter when parsing placeholders.

sage swift
#

it depends on the placeholder

lime hollow
sage swift
#

it depends on the placeholder

#

some accept OfflinePlayer, the majority accept only Player

summer scroll
#

Well yeah, it depends on the placeholder, just what gecko says.

iron condor
#
java.lang.NullPointerException: Cannot invoke "net.milkbowl.vault.economy.Economy.depositPlayer(String, double)" because "com.elunar.bitsforbump.DiscordSRVListener.eco" is null
``` getting this
#

while in other plugin I still able to use Economy Eco when it's null

eternal oxide
#

you can never use something thats null, other than make it not null.

iron condor
#
public class DeathGhost extends JavaPlugin {

    public Economy eco;
    public EventListener eventListener;


    @Override
    public void onEnable() {

        eventListener = new EventListener(this);


        if (!setupEconomy() ) {
            System.out.println("Disabled due to no Vault dependency found!");
            getServer().getPluginManager().disablePlugin(this);
            return;
        }




    }

    private boolean setupEconomy() {
        return getServer().getPluginManager().getPlugin( "Vault") != null;

    }



    @Override
    public void onDisable() {
        // Plugin shutdown logic
    }
}
#

the other plugin that works

#

I don't remember why I didn't set eco to something

eternal oxide
#

You never set eco

earnest sonnet
#

Yep, you haven't set anything from the vault API here xD

#

you're just checking if the plugin Vault is null or not and disable this one if it is

iron condor
#

But this one works

#

for some reason

eternal oxide
#

no it doesn;t. You will not be able to do anything with eco in that

iron condor
#
public class EventListener implements Listener {

    public DeathGhost deathGhost;

    public EventListener(DeathGhost deathGhostClass) {
        this.deathGhost = deathGhostClass;
    }

deathGhost.eco.withdrawPlayer(player, 1.0);
granite stirrup
#

I like making getters than putting something public I think it looks ugly

iron condor
#

used this method

earnest sonnet
#

Shouldn't work.

eternal oxide
#

One last time. You never set eco. Its impossible to use eco when its null.

iron condor
#

I can give the source for you to check and the plugin

earnest sonnet
iron condor
#

maybe Im missing something

earnest sonnet
#

?paste

undone axleBOT
earnest sonnet
#

if you don't initialize the eco, you will be unable to use it.

iron condor
#

maybe I pushed an old version or something

earnest sonnet
iron condor
#

Yes I think I pushed on accident, I found a commit where I removed the rsp for some reason

earnest sonnet
#

The isBlock() checks if it's place able, if you mean it that way and not texture wise, yes

worn tundra
#

?tryit

eternal oxide
#

No that will remove it if it IS a Block

#

k

earnest sonnet
#

It's better to cache all the items you want, also you have named your variable incorrectly xD

#

Nope, only PersistentDataContainer is kept after restarts, but when you place a block it gets removed

eternal oxide
#

Blocks with TileEntities have a PDC

earnest sonnet
ivory sleet
quaint mantle
#

Spigot 1.17 Can used on Kotlin?

earnest sonnet
#

No clue

ivory sleet
#

You can use kotlin fine

quaint mantle
#

Can you give me kotlin gradle script code?

ivory sleet
#

No

quaint mantle
#

no

ivory sleet
#

Just google it

quaint mantle
#

ok

#

I googled it But all of codes are not working with "Could not find org.bukkit:bukkit:1.17-R0.1-SNAPSHOT."

quiet ice
#

you did not declare the repository

#

What it means for you is up to you, it you are already using kotlin gradle you should know what that means

eternal oxide
#

you should be depending on spigot-api not bukkit

quiet ice
#

ah right

#

Yeah, bukkit is gone since 1.16

rocky glacier
#

I if the error is: org.bukkit.plugin.RegisteredServiceProvider<?> required java.lang.Object

Does that mean there is an library error or what?

eternal oxide
#

no

#

you need to read the FULL error

toxic mesa
#

What should I use instead of Material.GLISTERING_MELON_SLICE in 1.12.2?

unique mantle
#

How would i make a server read and write for players inventory? with a sql database!

boreal sluice
#

hi i have a littel question
how can i make the snow ball throw auto
i mean i make an event if this event works
the plugin throw snowball

maiden briar
#

Can you load a plugin from a File in Bungee?

earnest sonnet
#

uuuh spawn the snowball and give it some velocity ? not sure never tried it

unique mantle
#

Im in bungee and there is 2 servers i want to work with - The main server and the secondary server! i want to bring the loot from secondary to main but not from main to second - if i needed to share loot between servers easy i know how to do that but i want them separate instead!

quiet ice
#

just invoke Inventory#clear whenever a player join the secondary world

unique mantle
#

no because they earning the loot from secondary

quiet ice
#

You see, there are issues with your idea

#

What if the inventory is full? Merging two inventories will often not go as planned

unique mantle
#

true

vital ridge
#

Im using maven but I cant import javaplugin or anything related to spigot

#

I followed a tutorial

quiet ice
#

IDE?

vital ridge
#

Intellij

quiet ice
#

Did you refresh the maven project or no?

earnest sonnet
#

ctrl + shift + O to refresh the pom.xml

vital ridge
#

did crtl shift o

#

still does not import

earnest sonnet
#

?paste

undone axleBOT
earnest sonnet
#

your pom.xml here

vital ridge
#

nvm

#

it did

#

lol

#

Thanks

earnest sonnet
#

🀣

crisp citrus
#

when a player is banned, does it trigger a PlayerQuitEvent or a PlayerKickEvent?

vital ridge
#

Its my first time using spigot in intellij, i just changed to intellij cuz there were 0 tutorials for eclipse

quiet ice
#

interesting

smoky oak
#

quit should be manual and kick by operator

quiet ice
#

People always complain how there are no tutorials for intelliJ

eternal oxide
#

The best plugin tutorial in existence is for Eclipse

wraith rapids
#

there are more tutorials for intellij than for eclipse

earnest sonnet
wraith rapids
#

but the quality of the eclipse ones is better

boreal sluice
#

How do I make a snowball throw when I click the left mouse button?
i wanna just the function name or something like that

smoky oak
#

only once you figure out how to enable dark mode

#

also i would guess it's playerInteractEvent

quiet ice
#

just beware that it often is cancelled by default

toxic mesa
#

What should I use instead of Material.GLISTERING_MELON_SLICE in 1.12.2?
Tried using Material.LEGACY_SPECKLED_MELON but both trigger a java.lang.NoSuchFieldError

quiet ice
#

so ignoreCancelled = true

wraith rapids
#

no

#

ignorecancelled true makes it not handle the event if it is cancelled

smoky oak
#

anyone knows why /help <plugin here> cuts off the description of commands when they reach a certain length?

quiet ice
wraith rapids
#

it is false by default, that is, the handler fires even if the event is cancelled

quiet ice
quiet ice
#

ough, I always get it wrong

wraith rapids
#

no the name is dumb, it's backwards

smoky oak
#

well /help <command here> does not cut it off hence why im asking

wraith rapids
#

event handlers process cancelled events by default