#help-development

1 messages · Page 59 of 1

shadow zinc
#

why not 1.19?

slate mortar
#

why don't you use minecraft 1.18

#

or 1.19 if you dont mind the chat changes

shadow zinc
#

people are having full on fits over that but its not that bad tbh

slate mortar
#

alltho the chat stuff was added in 1.19.1, normal 1.19 is free of it

shadow zinc
#

the moderation update

slate mortar
#

welp

iron glade
#

that new chat stuff is unnecessary af

slate mortar
#

the idea is good

shadow zinc
#

its easy to bypass

slate mortar
#

but how it's done is stupid

#

i mean

shadow zinc
#

on my server I disabled reporting

iron glade
#

Let's say you say "jump off the bridge" and you mean the player ingame

#

easy report

slate mortar
#

nah

rare flicker
#

even easier

shadow zinc
#

easy 30 dollars for mojang

slate mortar
#

that's not the issue

#

they especially said they won't ban you for messages like i will kill you or stuff

rare flicker
#

Yourself : wanna hang out?
./msg yourself are you breaking mojang's tos ?
[me => me ] are you breaking mojang's tos ?
[me => me ] are you breaking mojang's tos ?
Them : sure !

lost matrix
#

Just came here. Is it about this china style data gathering from mojang? Fk that.

upper shadow
#

hi sorry but i am making my first plugin to spigot

is anyone plugin called devtools for developers that generates a plugin?

slate mortar
#

but i don't get why tf they have to moderate a server THAT I PAY 50€ A MONTH

#

i can do that myself ffs

rare flicker
#

it's to protect microsoft investers

slate mortar
#

which you should

sturdy frigate
#

How do i stop natural mob spawns for certain types of mobs? (esp them creepers brah)

iron glade
#

EntitySpawnEvent or smth like that

iron glade
#

and cancel it if your entity is of type x

lost matrix
rare flicker
#

otherwise they could get in trouble for "supporting a game that doesnt do anything against hateful behavior" for eg

slate mortar
#

and mods

upper shadow
#

i am new developing plugins

slate mortar
#

without doing it yourself, which for mods would take few minutes to even set up

upper shadow
#

which generaly making pocketmine plugins

shadow zinc
#

I guess

lost matrix
upper shadow
iron glade
slate mortar
#

what is java

#

never heard

shadow zinc
#

java The isLanD?

rare flicker
#

i think it's a dance

iron glade
#

OOP? you mean OP? NO I don't give you op on my server

rare flicker
#

Brodway's Java?

shadow zinc
#

did you mean oof?

lost matrix
rare flicker
#

Oh javascript, yeah its the same thing

slate mortar
rare flicker
#

just like C++ and C#

slate mortar
#

probably

upper shadow
#

and i know the basics of it

shadow zinc
#

good man

rare flicker
#

for some reasons i hate maven and gradle but that's probably because i'm too lazy to learn

sturdy frigate
shadow zinc
#

don't use gradle, it will make you life so much harder

slate mortar
#

i wonder... does directly modifying the commandmap have any con's, except the fact that it uses reflection?

shadow zinc
#

I used it for a while and I regret the time I lost on it

rare flicker
#

for now i'm sticking to the good old ways of manually adding jars

slate mortar
#

so i'll never manually add commands again. aight

tender shard
#

correct

slate mortar
#

also alex, i now am redstone in the forums again

tender shard
#

I just always use ACF

slate mortar
slate mortar
#

now waiting for the namechange to apply

rare flicker
tender shard
#

I wonder how annoyed md_5 is by my weekly emails lmao

#

I've sent at least 25 emails

lost matrix
#

Does that actually have any benefits? Always seemed like a waste to me.

slate mortar
tender shard
shadow zinc
#

ffs my plugin is 2mb in size now...

iron glade
tender shard
rare flicker
#

i guess, i tend to only implement a single command with subcommands

lost matrix
shadow zinc
rare flicker
#

with a signature system that handles completions, permisisons and aliases for me

tender shard
shadow zinc
#

1.17-1.19, I shade my lib, bstats and commons

iron glade
#

bstats is like 30kb

tender shard
#

why the heck commons

lost matrix
#

commons is quite big

shadow zinc
#

commons-io

iron glade
#

why

rare flicker
#

so creating a single command ends up looking like this
||```JAVA
this.COMMANDS.add(new FCommand() {
@Override public String getArchitecture() {return "ofaction%%%ofac%%%of faction%%%fac%%%f set%%%s %P% %F%";}

        @Override
        public boolean execute(CommandSender sender, ArrayList<String> vars) {
            Player target = Bukkit.getPlayer(vars.get(0));
            if(target == null) return DELogger.pError(sender, Lang.ERROR_GENERIC_NOPLAYER.toString().replace("<%PLAYER>", vars.get(0)));

            Faction faction = DragonEarth.i.factionManager.getFaction(vars.get(1));
            if(faction == null) return DELogger.pError(sender, Lang.ERROR_GENERIC_NOFACTION.toString().replace("<%FACTION>", vars.get(1)));

            return DragonEarth.i.factionManager.setFaction(target, faction, sender);
        }
    });
tender shard
#

you can get commons from maven central

#

?liraries

#

?libraries

shadow zinc
#

Because if I don't I get a class not found error

slate mortar
#

here's for example what i use to register a whole new command, with it's own RunAction:

 PluginCommandManager.registerVanilla("helloworld", (sender, command, label, args) -> System.out.println("Hello World"));

if i'd have to manually add it to the plugin.yml everytime, it'd be a pain for me

tender shard
#

hm

shadow zinc
#

And I don't use libraries

tender shard
#

google "spigot library loader"

shadow zinc
#

I'm assuming you are talking about libraries in the plugin.yml?

rare flicker
tender shard
rare flicker
#

i know

tender shard
#

e.g. if you wanna make the command name configurable D:

rare flicker
#

i use subcommands

rare flicker
#

that's

#

a really fricking good idea ngl

tender shard
shadow zinc
#

oh and I shade minimessages

rare flicker
#

i'm still gonna stick with my implementation, it's soooo fricking useful

tender shard
sturdy frigate
#

Guys do i have to keep on restarting my server when i want to reload my plugin? I can't replace it with a new jar because "You need permissions to perform this action" I'm guessing because the server is using the jar somewhere?

slate mortar
#

essentially this is all it does

tender shard
rare flicker
slate mortar
#

idk if there's a better way that doesnt require adding them into the yml

#

but yea

iron glade
# tender shard

why would anyone use one of those longass one's instead of like /ac

shadow zinc
tender shard
rare flicker
#

i handle aliases differently

#

ofaction%%%ofac%%%of faction%%%fac%%%f set%%%s %P% %F%

iron glade
#

looks ugly

rare flicker
#

essentially %%% separates aliases

#

%P% autcompletes polayers players

#

%F% factions

tender shard
#

i hate my polayers

rare flicker
#

so it registers

#

generates the permission

tender shard
#

sounds like a disease

rare flicker
#

and handles it this way

tender shard
#

you go to the doctor, he takes your blood, makes a sad face and says "sorry mfnalex, you have polayers"

rare flicker
#

xD

rare flicker
rare flicker
slate mortar
#

oh

rare flicker
#

but yeah this way i dont bother with anything anymore

#

just give it a signature and get a sender and args passed in in the execute function

#

permissions generate using the first alias of each

#

sometimes makes ugly perms but they're functional

sturdy frigate
#

I give the zombie a shield but it doesn't use it, can i make it use it in some way?

slate mortar
#

afaik you can call something like rightClick() on nms entities

#

which may work

rare flicker
#

using spigotAPI only though you wont get anything since isBlocking is specific to HumanEntity

#

whihc zombies are not iirc

shadow zinc
#

When I shade commons-io do I need to relocate it?

sturdy frigate
#

:o well it's a custom mob that extends Zombie

#

Can i customize that aspect of it?

sturdy frigate
rare flicker
sturdy frigate
rare flicker
#

yup..

#

you could do it artificially though

sturdy frigate
#

Could I?? :O

rare flicker
#

listen to entityDamageByEntityEvent, if its a zombie and the damager is in front of the zombie (vector.angle(vector)), cancel the damage, play the sound and know back the damager

#

you can get the way a zombie is facing thorough its location

#

.getDirection() returns a vector

slate mortar
#

very hacky

rare flicker
#

then make a vector from getEyeLocation() to the damager and chack if the angle is less than idk, 90 degrees

rare flicker
sturdy frigate
#

I don't really care about the animation, as long as the concept is there so this is gud!

rare flicker
#

you'll have to spend a lot of time tweaking stuff as i dont think you can get the exact values directly from the source code

sturdy frigate
#

Mhm Yeah, trial and error I guess

rare flicker
#

(for eg idk how large is the shielding angle normally)

slate mortar
#

afaik it's either 160 or 180 deg

sturdy frigate
#

It would be alr pretty cool if it works practically, being a one to one copy with the mc shield physics would be insanee

slate mortar
#

but not entirely sure

sturdy frigate
#

:o noted

rare flicker
#

you could actually peek into the source code but idk if that'd be very insightful

sturdy frigate
#

Oh O_O, source code of? net.minecraft.client?

rare flicker
#

just a deobfuscated spigot

#

the one you need to dev on

sturdy frigate
#

Yeah? The one with NMS right

rare flicker
#

not that hard to do, just long a tideous to look for somethiung specific

rare flicker
slate mortar
#

lot of a(); etc

marble copper
#

help im using rose stacker and when someone mines a spawner they get the spawner itself and also pig spawner with silk

rare flicker
#

you're looking at the obfuscated one

slate mortar
#

ofc i am

sturdy frigate
#

Will check that out,
Is there any other mob in Minecraft that uses shields BTW? i haven't played the latter versions

rare flicker
#

xD

slate mortar
#

but i'm too lazy to mess with deobfuscating it

rare flicker
#

its not that hard though

slate mortar
#

i'm still too lazy

rare flicker
#

wait lemme check before saying anything

sturdy frigate
#

Okie fair enough

rare flicker
sturdy frigate
#

There's a dude that throws axes though aye?

slate mortar
#

tf

#

no?

sturdy frigate
#

Wait what?

slate mortar
#

no one "throws" axes lol

rare flicker
sturdy frigate
#

Vindicator throws axes right

rare flicker
#

xD

sturdy frigate
#

Oh WHAT

slate mortar
#

he just has one

#

as a weapon

rare flicker
#

he charges at you

sturdy frigate
#

I vividly remember him throwing at me and spikes coming out and whatnot

slate mortar
#

lmfao, imagien they would throw them at you

sturdy frigate
#

LOL

iron glade
#

what is a vindicator

slate mortar
#

new warzone player or what

rare flicker
#

i think you missheard someone say an evoker throws vexes

slate mortar
#

an evoker doesn't "throw" the vexes tho

iron glade
#

Good old MC 1.8.8 didn't have all this unnecessary shit

rare flicker
#

he also summons evoker fangs but thats smth else

sturdy frigate
rare flicker
#

summons mouths from the ground and flying bitches with swords

slate mortar
#

yea

iron glade
#

what do you guys think will be the next major addition to the game?

sturdy frigate
#

Ahhh, phasing through walls and pestlike?

rare flicker
#

and hates blue sheep

rare flicker
sturdy frigate
#

yep anyways, thank you guys so much for the help appreciate it

rare flicker
#

it's what the server is for x)

rare flicker
shadow zinc
#

Does anyone know if I need to relocate my commons-io after shading it?

rare flicker
#

or just optimization update

rare flicker
shadow zinc
iron glade
marble copper
#

help im using rose stacker and when someone mines a spawner they get the spawner itself and also pig spawner with silk

slate mortar
#

i wonder if my name actually auto-updates in here when it does in the forums hmm

#

lets see ig

rare flicker
shadow zinc
#

Cxlina, do I need to relocate my commons?

iron glade
slate mortar
#

i have no idea

#

i never did it

#

i just added it with the compile scope and it worked

rare flicker
#

look at phoenixsc's video, it has a few good ideas

shadow zinc
#

lucky you

slate mortar
#

why lucky lol

#

its supposed to work like that

shadow zinc
#

I didn't work for me lol

#

you saw my pom

#

anyways

#

After 100 downloads or so I should find out if it works or not

iron glade
rare flicker
#

2 secs

#

fuck not phoenixsc

#

xisumavoid

iron glade
#

damn some are really sick

#

what about some extra slot which takes a backpack and is above your armor?

#

so you can craft a backpack and always take it with you

marble copper
#

help im using rose stacker and when someone mines a spawner they get the spawner itself and also pig spawner with silk

marble copper
#

what

#

it doesnt have code

lost matrix
marble copper
#

plz tell me

lost matrix
lost matrix
marble copper
#

when i mine any spawner with silk touch it give me that spawner and extra pig spawner

marble copper
lost matrix
#

Then ask the dev of the plugin

drowsy helm
#

How do i convert bukkit ItemStack to net.minecraft.world.item.ItemStack

lost matrix
#

CraftItemStack.asNMSCopy()

ivory sleet
#

Use CraftItemStack factory methods

lost matrix
#

sniped

ivory sleet
drowsy helm
#

ty ty

lost matrix
#

With your derpy ass bronze retriever

ivory sleet
opal juniper
#

bronze retriever? its called golden retriever in the uk

drowsy helm
obsidian drift
#

What would be the best way to download a private GitHub release through a plugin?

opal juniper
#

funny dialect stuff

obsidian drift
#

I was thinking it was possible using GitHub tokens

lost matrix
#

My dog is just fat and wants snaggos all day

opal juniper
#

hmm, i wonder what their api exposes

ivory sleet
#

I think the github rest api might allow it

#

It does have some release stuff

ivory sleet
eternal oxide
#

My 17 year old, just getting over a dog attack 😦

drowsy helm
#

@Getter
public class ItemDropEntity extends ItemEntity implements CustomEntity {

    private final ItemStack itemStack;

    public ItemDropEntity(Location loc, ItemStack itemStack) {
        super(((CraftWorld) loc.getWorld()).getHandle(), loc.getX(), loc.getY(), loc.getZ(), CraftItemStack.asNMSCopy(itemStack));
        this.itemStack = itemStack;
    }```
I rule the world now >:)
eternal oxide
#

Nope you're a slave to @getter

drowsy helm
opal juniper
#

delombok that shit

drowsy helm
opal juniper
#

god interpolation kinda tricky

drowsy helm
#

so hopefully, if im correct I can hide the dropped item entity to any player

#

using my already existing entity hider system

opal juniper
#

Like if i use every block as a control point, it just looks like the existing path

echo basalt
#

what about every other block

opal juniper
#

im now trying that

#

it looks ok, much better on diagonals but going upwards is a bit wonkey

echo basalt
#

uhh

rare flicker
#

now wtf is that and why does it look like its for a very cool plugin

opal juniper
#

one problem is i am doing it on a block basis, and it is just using the block coord so i should probably put them all in the middle

vital sandal
#

Any know how to create a custom entity with custom models ?

opal juniper
rare flicker
drowsy helm
#

I tried making my own model system, its a massive pain in the ass

#

100% worth the $20

vital sandal
drowsy helm
#

dont

rare flicker
#

o h

#

dear god

#

as a starter you should go for simpler

vital sandal
rare flicker
#

try to launch a sword with armorstands first

drowsy helm
#

even 7smile7 tried and i dont think he could finish it

vital sandal
drowsy helm
#

and hes legendary

vital sandal
rare flicker
#

oh

vital sandal
#

With item there is its own tribute customdata

rare flicker
#

is it aligned with your player head and stuff?

vital sandal
#

Wdym ?

rare flicker
#

usually the problem comes with the fact that an armorstand's arp is offset to its actual location

drowsy helm
#

importing models, animations and all the rest from blockbench is much harder than it seems

rare flicker
#

making lining it up a hassle

drowsy helm
#

a lot of quaternion maths aswell

drowsy helm
#

trust me man

#

it's extremely hard

vital sandal
#

I got a few national awarded in competitive programming so nothing to be hard with me

drowsy helm
#

even Origin Realms uses Model Engine

#

go for it if you want ig

#

im just saying not to waste ur time

vital sandal
#

But i still have no clue how it work ..

rare flicker
#

oh

#

its really just a bunch of armorstands

vital sandal
#

Armor stand cant be that detail

rare flicker
#

yes they can

drowsy helm
#

multiple armorstands

#

with custom models on them,

#

but its not that simple, theres alot of maths

#

cant just rotate it and it works

rare flicker
vital sandal
#

I upgrade my api to 1.16.5 just for the custom model things 😦

rare flicker
#

the custom model thing?..

#

that's a resosurcepack thing

vital sandal
#

I mean entity*

#

So how about its hitbox ?

brave goblet
#

how do I get entity type name from an entity? it says entity.getName() is depreciated

drowsy helm
vital sandal
#

It have a unique hitbox

drowsy helm
#

works dynamically with any entity

opal juniper
#

whats the opposite of a consumer

drowsy helm
#

and transfers any damage etc

drowsy helm
ivory sleet
rare flicker
#

provider?

opal juniper
#

thats the one

rare flicker
#

smth like that

cosmic fjord
#

Im getting this error when loading my plugin: org.bukkit.plugin.UnknownDependencyException: Core
this is my dependency

<dependency>
            <groupId>net.grandtheftmc</groupId>
            <artifactId>core</artifactId>
            <version>X</version>
            <scope>system</scope>
              <systemPath>${project.basedir}/lib/Core.jar</systemPath>
</dependency>
#

what can I do?=

rare flicker
brave goblet
#

get type isn't a method for me?

cosmic fjord
opal juniper
#

is there such thing as a supplier with a parameter

brave goblet
#

EntityType entity = cs.getSpawnedType();

brave goblet
#

entity.getName()

#

and it says getName is deprecated

#

it works tho

opal juniper
rare flicker
#

if it's deprecated it means dont use it though

brave goblet
rare flicker
#

a sec

brave goblet
#

spigot is not helpful

#

it just says deprecated not what it's been replaced with

rare flicker
vital sandal
#

So here is what i got:
Custom entities with models is constructed from a bunch of armorstands which have its head is
custom item with custom texture ?

brave goblet
#

and get name returns org.bukkit.etc

opal juniper
# rare flicker wdym?
@FunctionalInterface
public interface ParameterizedSupplier<T> {
    T accept(T value);
}

just whipped this up - should work i guess

rare flicker
#

same thing

rare flicker
brave goblet
rare flicker
#

dont use deprecated things if the replacement is there

brave goblet
#

well spigot doesn't specify a replacement sooo

rare flicker
#

you can make pr's to update the wiki iirc

opal juniper
# rare flicker what would you use it for though?
    @NonNull
    @Override
    public Path mutateLocations(ParameterizedSupplier<PathLocation> mutator) {
        List<PathLocation> locationList = new LinkedList<>();
        for (PathLocation location : this.locations)
            locationList.add(mutator.accept(location));
        return new PathImpl(locationList.get(0), locationList.get(locationList.size() - 1), locationList);
    }
#

its so that the user could mutate all the locations in a list

brave goblet
rare flicker
opal juniper
#

like change, x mutates to y

rare flicker
#

update / edit?

opal juniper
#

yeah sure

rare flicker
#

oh alr

#

i suppose its the term to mean update a list of things

#

OH

#

random question, what's the closest thing to List<T> since you can't instantiate it i always use ArrayList<T>

opal juniper
#

ArrayList is what i use

rare flicker
#

i noticed you're using linkedList for eg

opal juniper
#

yeah, linkedlist is appropriate here i would argue as its like:

pos1 -> pos2 -> pos3 -> pos4

ivory sleet
#

LinkedList is rarely ever better, tho for add and remove it may be more scalable in terms of time complexity

(Well it can be used as a queue/deque also)

echo basalt
#

Linkedlist is a chain of nodes, where each node holds a value and a reference to the next node

#

arraylist uses an array that resizes itself whenever you do operations

rare flicker
#

ok so

#

if i got that right

#

arraylist is for list that requires frequent access and linkedlist for things that uses lots of adding/removing in a queue like fashion

ivory sleet
#

arraylist is good because it has less memory footprint iirc, and is faster for iteration and index based operations

#

But else linked list might be a good alternative

#

Then you have the CopyOnWriteArrayList for concurrency

rare flicker
#

so.. TL;DR linked list for queues, ArrayList for rest

ivory sleet
#

Mye

rare flicker
#

alrighty

ivory sleet
#

And usually its smart to pass an initial capacity (the default size of the backing array)

rare flicker
#

you can do that

#

learn things everyday i guess

ivory sleet
#

Yeah, non the less, ArrayList::ensureCapacity and ArrayList::trimToSize messes with the backing array <:

#

Altho those methods are ArrayList specific, not List ones

rare flicker
#

hmmmmmmm

#

idk what i will do with this information but i like it

echo basalt
brave goblet
#

Can someone provide a link to explain how i can work with percentages in java? eg if i click a block it has a 60% chance to do something

tardy delta
rare flicker
tardy delta
#

Looks like a function

opal juniper
tardy delta
#

Kek

opal juniper
#

i had no clue what it was called so i just made something up real quick :))

ivory sleet
#

<:

tardy delta
#

Cute doggo

ivory sleet
ivory sleet
#

Theres also the classic weighted random you can implement for stuff like rarity based drops or whatever you might have

sturdy frigate
#

Is there a way to profile the memory/CPU usage of your specific plugin?

ivory sleet
#

I think spark can do that

#

Else you have jfr which might help to find issue sources, then any profiler will probably do

brave goblet
sturdy frigate
ivory sleet
#

Yep

sturdy frigate
#

this one yep

#

okay thank you very much

ivory sleet
#

Best of luck

brave goblet
#

ok cool thanks :D

drowsy helm
#

is there a quick way to transfer entity data? for example: my entity has gravity set to false and other attribs, i want to transfer those to another entity of the same type

chrome beacon
#

With NMS or without NMS?

drowsy helm
#

either or idm

#

i got pdc transfering over but the rest doesnt

chrome beacon
#

You can save and load the nbt compound of your entity

drowsy helm
#

ah so entire nbt

opal juniper
brave goblet
drowsy helm
#

wait is there no mappings for NBTCompound

ivory sleet
#

Theres

#

Quite certain

drowsy helm
#

whats the name?

ivory sleet
#

Idr

#

Check the sandals site maybe

drowsy helm
#

oh CompoundTag

brave goblet
#

👀

opal juniper
brave goblet
#

that is way simpler than weighted randoms lol

ivory sleet
#

Myeah, tho weighted has its benefits

brave goblet
#

yup i am sure, but i don't need it to be complex

ivory sleet
#

Fair Ig

slate delta
#

How can open Sign and player tip a playername and Enter for search (and my action launch) ?

#

like /nick in hypixel

ivory sleet
#

With those books?

brave goblet
#

but i appreciate the tips and could be useful in the future

zealous osprey
supple elk
#

any ideas on how to find out if the boat will collide with a block in the next tick, given we know the boat's velocity? Currently I'm shooting a ray out from the centre of the boat, in the direction of the velocity, with a max distance of the velocity + 0.8. However, this is not fully reliable as the bounding box is wide.

drowsy helm
#

hmm i cant find a way to get a CompoundTag from a remapped nms Entity. NMSUtils and NmsIo doesnt have a method for it either. I can do Entity#getTags but that returns a list of strings

chrome beacon
#

Use one of the save methods

drowsy helm
#

in Entity?

supple elk
drowsy helm
#

oh didnt see that thanks

shadow zinc
#

how can I get all folders in the plugin.getDataFolder()

glossy venture
#

list the files and filter by directory

#

pretty sure theres a method

File#listFiles(FileFilter)
#

^

shadow zinc
glossy venture
#

yeah

shadow zinc
#

wacked

glossy venture
#

you need to remove the fileName argument

#

that makes it a FilenameFilter

#

you need a FileFilter

shadow zinc
glossy venture
#

yeah

shadow zinc
#

Wouldn't both methods yield the same result?

glossy venture
#

nah

#

FilenameFilter provides the parent directory of the file as the first directory argument

#

so when calling myFile.listFiles(FilenameFilter), the directory parameter would always be myFile

#

i think

#

and the fileName parameter is the name of the actual file

shadow zinc
#

I mean if it works

glossy venture
#

the first method doesnt

#

you cant check if a file is a directory using only the name

shadow zinc
#

Yeah I know

tawdry python
#

Hello, I made a code to set block, but when set, the block is invisible and I can only see it if I leave the server and enter again
MyCode

   Block blocknext = p.getWorld().getBlockAt(x, y, z);
                if(blocknext.getType().equals(Material.AIR)) {
                    blocknext.setType(Material.BEDROCK);
                 }
thorn wren
#

hello, not sure if I should ask here but, I'm looking to start learning about how to make plugins for spigot, any recommendations on where to start? my current goal is to make a villager trading plugin (with money) but, have no current knowledge of where to start.

tardy delta
#

getType().isAir() 😏

gray merlin
#

I have followed this guide, since I need remote debugging (not jar hotswap) for my server, but the build part doesn't work, and to change the plugin I have to run the package task, close the server and put the plugin in manually.

#

Is this intended, or have I done something wrong? I followed this guide religiously, method 1.

shadow zinc
#

With this code, how can I check if its a directory inside a directory without creating another for loop?

#
        for (File file : dataFolder) {
            // Add all yml files in the data folder that are directories
            if (file.isDirectory()) {
                InventoryGUI directory = InventoryUtil.createInventoryGUI(null, 54, file.getName());
                addFile(file, directory);
                pluginMenu.addItem(new InventoryItem(ItemUtil.createItem(Material.CHEST, ChatColor.RESET + file.getName()),
                        new OpenInventory(directory), null));
                continue;
            }```
shadow zinc
#

who?

gray merlin
tardy delta
#

will look ugly lol

shadow zinc
#

idk seems sussy

#

could just separate it into two methods and call on each other

#

might be easier

#

Out of ten

#
    private boolean addFiles(Plugin plugin, InventoryGUI pluginMenu, File[] dataFolder) {
        if (dataFolder == null) {
            return false;
        }
        for (File file : dataFolder) {
            // Add all yml files in the data folder that are directories
            if (file.isDirectory()) {
                InventoryGUI directory = InventoryUtil.createInventoryGUI(null, 54, file.getName());
                addFiles(plugin, directory, file.listFiles());
                pluginMenu.addItem(new InventoryItem(ItemUtil.createItem(Material.CHEST, ChatColor.RESET + file.getName()),
                        new OpenInventory(directory), null));
            }
            // Add all yml files inside the plugin data folder (excluding directories)
            addFile(file, pluginMenu);
        }
        return true;
    }```
tardy delta
#

do a continue

#

if not directory continue

ivory sleet
rare flicker
#

i'm trying to make a custom potion to regenerate mana, should i try and create a custom potion effect or just listen to the potion consume event and do it manually?

shadow zinc
wise mesa
#

weird my recipe doesn't show up even when the user has enough items

shadow zinc
#

How do I get the ConfigurationSection for the root part of a config?

rare flicker
#

the config itself extends configurationSection

shadow zinc
#
deez-nuts: true
commandGeneric:
  errorPlayerNotFound: '<red><bold>Player not found'
wise mesa
#

ohhhhj

shadow zinc
#

So how do I get the section where deez nuts are?

wise mesa
#

it shows up in the book once i craft it one time

rare flicker
#
        File file = new File(plugin.getDataFolder(), "foo.yml");
        YamlConfiguration config = YamlConfiguration.loadConfiguration(file);
#

deez-nuts isnt a section but a field

#

part of the root section (here config)

shadow zinc
#

So how do I get deez-nuts

#

as a config section

rare flicker
#

you can't since it's not one

#

you can retrieve the value though

#

config.getBoolean("deez-nuts")

shadow zinc
#

No that won't work for me

#

I got this code I need to integrate with

#
    private boolean addSubKeys(FileConfiguration config, File file, ConfigurationSection key, InventoryGUI keyMenu, Plugin pluginEditing) {
        if (key.getKeys(false).isEmpty()) {
            return false;
        }
        for (String subKey : key.getKeys(false)) {
            if (subKey == null) {
                continue;
            }
            ItemStack item = ItemUtil.createItem(Material.TRIPWIRE_HOOK, ChatColor.RESET + subKey);
            String perm2 = Objects.requireNonNullElseGet(perm, () -> "neoconfig.edit." + pluginEditing.getName());
            InventoryItem inventoryItem = new InventoryItem(item, new ChangeKey(subKey, config, file, key, keyMenu,
                    completeFunction, perm2, permMessage, plugin), null);
            keyMenu.addItem(inventoryItem);
        }
        //Set not to unregister the keyMenu as it opens an anvil that tricks functionality to unregister all
        keyMenu.setUnregisterOnClose(false);
        return true;
    }```
rare flicker
#

well

#

if you give it the config it'll create an item named deez-nuts and another named commandGeneric

#

if you want it to be a configurationSection it needs to look like something like this

deez-nuts:
  errorPlayerNotFound: '<red><bold>Player not found'
commandGeneric:
  errorPlayerNotFound: '<red><bold>Player not found'
#

then config.getCOnfigurationSection("deez-nuts")

#

although it cycle through it's keys and generate an item named errorPlayerNotFound

shadow zinc
#

Nope

#

I don't control the config files

#

That was an exmaple

rare flicker
#

i've essentially explained how it works

#

in the example you sent, deez-nuts is a YAML field

#

you will never be able to cast it to a configurationSection

shadow zinc
#

I'm not wanting to cast deez-nuts to configurationsection

rare flicker
#

???

shadow zinc
#

I want to get the root of the config where deez nuts are

#

or any other field

rare flicker
tardy delta
#

🤔

shadow zinc
#

in*

#

my bad

rare flicker
#

ok reformulate

#

what do you want and what do you have access to

shadow zinc
#

I want action and we got the power

rare flicker
#

gdhfgh

shadow zinc
#

sorry I though we were being silly

rare flicker
#

i'm serious tho

#

like

shadow zinc
#

I want the root config section

rare flicker
#

you can't edit the file for eg

shadow zinc
#

I got the config

#

obviously

rare flicker
#

by "config" wdym

#

the file?

shadow zinc
#

YAML

#

.yml

rare flicker
#

well then you already have what you want

shadow zinc
#

but I don't

tardy delta
#

i'm wondering wth the question is

shadow zinc
rare flicker
#
File file = new File(plugin.getDataFolder(), "whataver the file name is.yml");
YamlConfiguration config = YamlConfiguration.loadConfiguration(file);
DeezNuts = config.getBoolean("deez-nuts");
tardy delta
#

ig

tardy delta
#

uh my brain is hurting from that code

rare flicker
#

#YamlConfiguration extends #ConfigurationSection

shadow zinc
#

Yes and I passed it and it didn't work

#

passing any other configuration section does work

rare flicker
tardy delta
#

hmm

rare flicker
#

by that you mean it throws an error?

#

does nothing?

shadow zinc
#

it does as much as joe biden

tardy delta
#

dont getKeys(false) twice

rare flicker
#

whaa

#

that's a performance fix not an actual issue though

tardy delta
#

myes

#

makes that code atleast a bit cleaner

shadow zinc
#

this building is collapsing, oh but it needs a fresh coat of paint!

rare flicker
#
File file = new File(plugin.getDataFolder(), "whataver the file name is.yml");
YamlConfiguration config = YamlConfiguration.loadConfiguration(file);
addSubKeys(otherMenuConfig, someFile, config, keyMenu, this);
#

given this is in the main class otherwise replace this by the instance,

#

we dont have enough context to help much more than this

shadow zinc
#

oh thats fucked

rare flicker
#

??

shadow zinc
#

I had it right but pterodactyl didn't upload my file....

#

I hate pterodactyl

#

but love it

rare flicker
shadow zinc
#

I was right as well

shadow zinc
#

It was a simple question that was over complicated by the errors of a stupid panel.

rare flicker
#

you were starting to make me doubt that i actually understood how it works and made like, 15 plugins work by chance

shadow zinc
#

pardon?

rare flicker
#

i was starting to doubt myself essentially

#

despite having done this for a lot of plugins that worked perfectly

shadow zinc
#

Never doubt yourself. If someone questions you, use the power of your tongue or your fist

rare flicker
#

Noted : next time, punch KyTDK

shadow zinc
#

lol

shy rock
#

Do you need NMS to make custom mobs, npcs ?

drowsy helm
#

yes

tardy delta
#

paper moment when doing /locate lmao

dusk flicker
#

lmao

hushed pawn
#

Hello, i tried to sent velocity by setVelocity or with packets, but it not acts exactly same as usual velosity (when playet hit by player), what may be reason?

dusk flicker
#

tbh that paper ver youre running is old lol

tardy delta
#

test server so i dont give a shit

gray merlin
#

I am not online on my server anymore, but Bukkit.getServer().getOnlinePlayers() contains me in it. Why's that?

tardy delta
#

dont even have a real server

#

well none with players on lmao

dusk flicker
#

lol fair

shadow zinc
tardy delta
#

so im just working on my plugin for my server which i dont have :(

eternal oxide
#

you sure you are not calling getOfflinePlayers() ?

shy rock
eternal oxide
#

BT will download everything it needs

gray merlin
#

I'm calling player.getWorld().getPlayers(), since its the same and doesn't get anything static

#

and it still returns me

#

even though im offline

tardy delta
#

is this supposed to be as low as possible?

eternal oxide
#

All I can guess is you are doing it too close to you disconnecting

eternal oxide
#

its not removed you yet

agile aspen
#

Anyone know why when I create a hologram with an armor stand, I see the hologram normally on one account and I see an armor stand on the other account?

agile aspen
#

no

#

should I use them?

echo basalt
#

you need to calculate the vector yourself

opal juniper
#

does special source remap reflection fields?

echo basalt
#

no

opal juniper
#

awww shit

echo basalt
#

How can I compare a ProtocolLib WrappedBlockData to a bukkit BlockData

#

There's the material comparation but I'd like to actually compare the internal data (powered levers, for example, fail the check)

round finch
#

what can cause: java.io.IOException: The system cannot find the path specified?

#

just thinking of scrapping the whole code

#

and start fresh

#

😅

round finch
#

past me deleted one line

#

folder facepalm

tardy delta
#

does anyone if its possible to get the cpu name of the running machine with java code?

#

hopefully not an external lib

#

found this but idk if thats a linux thing or not

hushed pawn
spare sky
#

Hello, how to send command to console? ( BungeeCord )

echo basalt
hushed pawn
#

something wen wrong..

#

dont remember what

hushed pawn
opal sluice
#

Hi, I have a SQL connection set like in the code below, but sometimes, I don't know why, it says that the connection is closed even though I get it everytime before starting the prepared statements :/ Does someone has a clue on how to fix that?

Btw, I'm using HikariCP
https://paste.md-5.net/evopukasih.coffeescript

tardy delta
#

?paste pls

undone axleBOT
tardy delta
#

anyways would anyone know a way to get the entity amount on the server? rather than Bukkit.selectEntities(sender, "@e").size() or smth

hushed pawn
opal sluice
#

isn't it an entity counter?

tardy delta
#

hmm that should be implemented per world im stupid ig

#

hmm yep

#

this is horrible

#

lets use a text block ig

hushed pawn
delicate lynx
tardy delta
#

aight

#

so not in windows without any external lib

delicate lynx
#

yeah that wouldn't work in windows

#

OSHI is a good library if you can't find a non library way

#

that is what minecraft uses

tardy delta
#

ye saw that online

#

thanks

wet breach
tardy delta
#

:o

torn shuttle
#

what's a quick way of checking if a player is within a cylinder? fastest hack I can think of is checking x and z distance and simple y boundaries

gaunt pendant
#

Hi, I need to send a gradient colored chat message to a player, using a generator that creates a colored message using the CONSOLE format. If I use player.sendMessage() it works very well. But I need to use the bungee Text Component function, in which case the message will be colored in completely different colors than I would like.

tardy delta
#

Player.Spigot#sendMessage aceepts textcomponents

wet breach
#

or near it?

torn shuttle
#

like I have a cylinder-shaped arena and I need to check if people are in it

wet breach
#

use a bounding box

#

then its just simple math to convert a square to a circle

torn shuttle
#

does that really have any advantage over the alternative I mentioned?

torn shuttle
#

huh it doesn't sound like less code

wet breach
gaunt pendant
torn shuttle
#

so in the bounding box which method actually allows me to modify its squareness?

wet breach
#

it doesn't, you would need to keep a list of locations for the edges that are not full squares instead. Depending how large your arena is, you won't have that many, everywhere else can be checked using the normal methods.

torn shuttle
#

that... doesn't sound very fast

wet breach
#

also, note that only the curve edges will go beyond the bounding box

wet breach
torn shuttle
#

in terms of optimization this doesn't sound like it would scale all that well

wet breach
#

you want fast to code it? Or fast in doing a check? Because checking a collection of certain types does not take very long

#

and the scaling would be fine unless you are trying to use some million block boundaries

lost matrix
torn shuttle
#

that makes a square

lost matrix
#

Was that pointed towards me?

torn shuttle
#

misread that I think

#

I am not defining a cylinder in the first place, I was sort of trying to avoid that

lost matrix
#

You simply check if the distance squared to the center of the cylinder is smaller than its radius squared.
With this you can literally check thousands of cylinders in under 0.1ms

tardy delta
#

and suddenly my listener stopped working

#

love it when stuff breaks

wet breach
#
side length = √2 × radius   this formula tells you the largest square that fits in a given circle
radius=side length​/2  this will tell you the largest circle that fits in a square
waxen plinth
#

Someone help me pick better default colors, I'm bad at this

lost matrix
#
public boolean isInCylinder(double x, double z, double cylX, double cylZ, double radius) {
  double dx = x - cylX;
  double dz = z - cylZ;
  return dx * dx + dy * dy < radius * radius;
}
gaunt pendant
#

How to use color gradient in TextComponent?

waxen plinth
#

MiniMessage

wet breach
torn shuttle
lost matrix
torn shuttle
#

which was fine until I realized the corner of the arena clips into the staircase leading to it....

waxen plinth
#

What do those look like

torn shuttle
#

that does seem like a good one

waxen plinth
#

Oh

lost matrix
waxen plinth
#

I don't wanna use hex colors by default

gaunt pendant
waxen plinth
#

Since some people might use it on older versions

torn shuttle
waxen plinth
gaunt pendant
#

:(

lost matrix
waxen plinth
#

Give it a few weeks trying to learn just pure java

#

Then try plugin development

torn shuttle
#

yep I gotcha thanks

#

that's what I was basically looking for

lost matrix
wet breach
#

for arena's Y isn't super important to be part of the calculation as it is generally assumed that y extends to both limits

torn shuttle
#

yeah it does matter in this instance, but I can see why this is usually the case

lost matrix
#

At this point you should wrap the arguments into objects

  public boolean isInCylinder(double x, double y, double z, double cylX, double cylY, double cylZ, double cylHeight, double radius) {
    double dx = x - cylX;
    double dz = z - cylZ;
    return dx * dx + dz * dz < radius * radius && y < cylY + cylHeight;
  }
torn shuttle
#

man I also have to take the offset of the cyl locations

#

hm

lost matrix
#

What offset?

torn shuttle
#

oh never mind actually I guess cyl coords are for the center

lost matrix
#

Yes the bottom center

lost matrix
# torn shuttle oh never mind actually I guess cyl coords are for the center
@RequiredArgsConstructor
public class Cylinder {
  
  private final Vector center;
  private final double radius;
  private final double height;
  
  public boolean contains(Vector position) {
    double dX = position.getX() - center.getX();
    double dZ = position.getZ() - center.getZ();
    return dX * dX + dZ * dZ < radius * radius && position.getY() < center.getY() + height;
  }

  public boolean contains(Location position) {
    return contains(position.toVector());
  }
  
}
#

This should be a very efficient check

torn shuttle
#

I am totally not writing a very dumb even faster version of this right now

#

oh boy is it ever dumb

waxen plinth
#

How's this look

#

I kinda like it

tall dragon
#

yea that looks good

waxen plinth
#

👍

lost matrix
tall dragon
#

that will look good probs

lost matrix
waxen plinth
#

Eh

#

I think that would be too many colors

tall dragon
#

this is how mine ussually look

round finch
bitter bone
#

Oh no gen stuff

tall dragon
#

yeaa pain

waxen plinth
#

It's set up to be extremely configurable so that anyone who wants to change the help format can customize it

#

I'm just trying to make a solid default

tall dragon
#

i even use your stuff in here redempt 😄

waxen plinth
#

A simple one

waxen plinth
tall dragon
#

yep

waxen plinth
#

Nice

round finch
lost matrix
#

I use crunch in all my projects when it comes to calculating level and experience curves

waxen plinth
tall dragon
#

yea crunch is nice asf

waxen plinth
#

😎

ancient plank
#

Crunchy chimken

round finch
waxen plinth
#

It's nearly ready for use on spigot

lost matrix
#

If only the operators would be evaluated in an order that made sense kappa

waxen plinth
#

Just got put on the finishing touches and write all the documentation

ancient plank
#

crunchy pasta

glossy scroll
#

whats crunch

lost matrix
lost matrix
lost matrix
waxen plinth
#

Not gonna happen

lost matrix
#

XD

waxen plinth
#

Part of what makes it fast is that it only supports one data type

glossy scroll
#

just add linear algebra while youre at it

#

just an entire MATLAB library but for jjava

lost matrix
#

Ah yeah. Forgot that everything is a double in there.

waxen plinth
#

Even booleans lol

lost matrix
#

iirc

torn shuttle
#

oh damn it

#

I accidentally made a square check again

glossy scroll
#

idk what that means

#

but i use Jung for my linear algebra stuff

lost matrix
#

How about you use the Cylinder class ive sent? I promise that there is no faster implementation.

glossy scroll
#

at least it has a Dijkstra algorithm

#

so i use it lol

lost matrix
#

A* always beats Dijkstra in a discrete space with path costs

glossy scroll
#

what's that

torn shuttle
hushed pawn
#

how to chek if somoone touching ground?

tall dragon
#

thats rather tricky

#

depends on how accurate you need it to be

lost matrix
cosmic fjord
#

hello. I want to add a jar file thats in my project folder as a dependency to my plugin. how can I do that?

tall dragon
#

are you using maven?

cosmic fjord
#

yes

lost matrix
glossy scroll
#

researching the difference between A* and Dijkstra makes my head hurt cuz i dont know what any of this nonsense means

torn shuttle
#

center.distanceSquared(location.toVector().setY(center.getY())) <= Math.pow(radius,2); ah yeah I forgot

cosmic fjord
#
<dependency>
            <groupId>net.grandtheftmc</groupId>
            <artifactId>core</artifactId>
            <version>X</version>
            <scope>system</scope>
            <systemPath>${project.basedir}/lib/Core.jar</systemPath>
        </dependency>

this is my dependency and this is the error wenn loading my plugin: UnknownDependencyException: Core

torn shuttle
#

it goes fast like sanic

torn shuttle
glossy scroll
#

ya

hushed pawn
lost matrix
tall dragon
lost matrix
cosmic fjord
#

oh wait I thought it would be enough when I have it in my project when building mb

torn shuttle
#

thanks for the class btw

glossy scroll
#

oh yea definitely looks like i should use Dijkstra anyways

#

i have a start point an unkown endpoint

#

and im trying to find the furthest endpoint

ancient plank
#

I just google until the math works

boreal sparrow
#

Where do I put default values, the onEnable? And then maybe extend to another class?

slate delta
#

How can add custom nbt tag to a item ?
i want set "HatId" and a UUID (toString)

waxen plinth
#

?pdc

boreal sparrow
#

Does

PlayerChangedWorldEvent event
event.getWorld();

return the world the player went to, or the world the player left

ancient plank
#

?jd-s

undone axleBOT
ancient plank
boreal sparrow
#

Yea

#

I'll use getFrom();

bronze bison
#

what’s the best way to get access to the main Plugin object from a different file? kinda new sry

glossy scroll
#

?di

undone axleBOT
bronze bison
#

that’s so smart thx sm 🙂

#

?help

undone axleBOT
#
CafeBabe Help Menu
*Red V3*
**__Admin:__**

selfrole Add or remove a selfrole from yourself.

**__Cleanup:__**

cleanup Base command for deleting messages.

**__Core:__**

embedset Commands for toggling embeds on or off.
info Shows info about CafeBabe.
licenseinfo Get info about Red's licenses.
mydata Commands which interact with the data CafeBabe has about...
set Commands for changing CafeBabe's settings.
uptime Shows CafeBabe's uptime.

**__Downloader:__**

findcog Find which cog a command comes from.

**__Mod:__**

names Show previous names and nicknames of a member.
userinfo Show information about a member.

**__ModLog:__**

listcases List cases for the specified member.
reason Specify a reason for a modlog case.

**__Permissions:__**

permissions Command permission management tools.

bronze bison
#

?help self role

#

?help self role

#

?help selfrole

undone axleBOT
#
CafeBabe Help Menu
Syntax: ?selfrole <selfrole>
Add or remove a selfrole from yourself.

Server admins must have configured the role as user settable.
NOTE: The role is case sensitive!

**__Subcommands:__**

list Lists all available selfroles.

bronze bison
#

?selfrole list

undone axleBOT
#

There are currently no selfroles.

bronze bison
#

?help commands

#

?findcog

undone axleBOT
#
CafeBabe Help Menu
Syntax: ?findcog <command_name>
Find which cog a command comes from.

This will only work with loaded cogs.

Example:
- ?findcog ping

Arguments

  • <command_name> The command to search for.
bronze bison
#

?cleanup 5

undone axleBOT
#
CafeBabe Help Menu
Syntax: ?cleanup 
Base command for deleting messages.

bronze bison
#

?cleanup

undone axleBOT
#
CafeBabe Help Menu
Syntax: ?cleanup 
Base command for deleting messages.

bronze bison
#

?help cleanup

undone axleBOT
#
CafeBabe Help Menu
Syntax: ?cleanup 
Base command for deleting messages.

bronze bison
#

???

glossy scroll
#

what are u tryna do here

bronze bison
#

find all commands like ? di

glossy scroll
#

oh

#

idk theres lots

bronze bison
#

ye I was just trying to find a list or something lol

carmine nacelle
#

@chrome beacon any examples on changing the goals…?

slate delta
#

How can check if player quit event is due of kicked or just player disconnect ?

slate delta
#

I know, but I would like to know if the PlayerQuitEvent is caused by a Kick or not because I have an action that I would like to cancel if kick or not

boreal sparrow
#

How do I cancel damage that comes from direct player pvp (like fists), but allow damage from arrows (also from players)

tall dragon
#

EntityDamageByEntityEvent

#

check the damage reason

boreal sparrow
#

thanks

lost matrix
#

I would rather check if the attacker is instanceof Player

slate delta
boreal sparrow
#

But doesnt the arrow kinda count

tall dragon
lost matrix
wet breach
#

kick event only gets fired if well they are kicked, really the only thing you should need to listen for

#

and as 7smile said, it happens before the quit event

slate delta
#

wut

lost matrix
#

Its basically just this

boreal sparrow
#

thanks

lost matrix
#

And the DamageCause wouldnt really help here

shy rock
#

you guys know how to add a custom mob drop with a custom item?

#

custom item mob drop

wet breach
lost matrix
shy rock
# lost matrix EntityDeathEvent or loot tables
    public void onMobDeath(EntityDeathEvent event){

        if(event.getEntity().getType() == EntityType.COW) {


            int a = new Random().nextInt(2);

            if (event.getEntity().isDead()) {
                event.getDrops().add(new ItemStack(Cleather1, a + 1);
            }  }                                 //Mob drops//
        else return;

    }

}``` something like wouldnt work?
#

custom item is Cleather

tall dragon
#

why ru checking if the entity is dead

#

on a DeathEvent

wet breach
#

lol

shy rock
#

lol

#

thats not the point

tall dragon
#

i need answers tho!

wet breach
#

loot table might be better if you are looking for randomness

#

as the server would do that for you

lost matrix
lost matrix
#

I can see that...

wet breach
#

loot table doesn't require nms

#

there is api's for it 🙂

lost matrix
#

or just use the loot tables

carmine nacelle
#

not a single reply to my spigot thread overnight

shy rock
#

thanks

wet breach
#

there is more, just use the search bar on the upper right

minor garnet
#

i want display like that

lost matrix
#

Then you need 12 lines and not 3

minor garnet
lost matrix
#

Because you are displaying 3 lines and not 12

minor garnet
carmine nacelle
#

if (components >= 2) {

#

make that 11...?

#

idk

lost matrix
hushed basin
#

Hello
I have imported a maven project from github into eclipse but for some reason the syntax check is not working

lost matrix
minor garnet
#

wtf

boreal sparrow
#

is there a way to disable players pushing eachother without making a team

carmine nacelle
#

kek

wet breach
lost matrix
minor garnet
#

hm

#

a cube with 16 faces

lost matrix
#

Ever rolled a dice before?

boreal sparrow
minor garnet
carmine nacelle
#

6 + 6 = 12

minor garnet
tall dragon
boreal sparrow
#

This doesn't stop damage from a player... any idea why?

public static void onAttack(EntityDamageByEntityEvent event){
        Methods obj = new Methods();

        if(obj.isWorldType(event.getEntity().getWorld().getName())) {
            if (event.getDamager() instanceof Player) {
                event.setCancelled(true);
            }
        }
    }
minor garnet
carmine nacelle
#
   Methods obj = new Methods();

        if(obj.isWorldType(event.getEntity().getWorld().getName())) {

tf is this

boreal sparrow
#

(nvmind that)

lost matrix
boreal sparrow
#

...

#

damn

#

thanks

round finch
#

How do i loop though my inventory content in a config?

chrome beacon
#

Depends on how it's stored in the config

wraith apex
#

You stored inventory contents in a yml config file?

#

^

#

is it YML, CSV, JSON, something else?

round finch
#

yml

wraith apex
#

show us the config

rare flicker
round finch
#

using just spigot

#

exemple

``
EnderChest:

  • ==: org.bukkit.inventory.ItemStack
    v: 2975
    type: STONE
    amount: 64
  • ==: org.bukkit.inventory.ItemStack
    v: 2975
    type: STONE
    amount: 8
  • null
  • null
  • null
  • null
  • null
  • null
  • null
  • null
  • ==: org.bukkit.inventory.ItemStack
    v: 2975
    type: STONE
    amount: 8
  • ==: org.bukkit.inventory.ItemStack
    v: 2975
    type: STONE
    amount: 8
  • null
  • null
  • null
  • null
  • null
  • null
  • null
  • null
    ``
rare flicker
#

getStringList()

#

pretty sure would return you an array of 27 strings here

wraith apex
#
FileConfiguration config;
config.getStringList("EnderChest");