#help-development

1 messages · Page 1506 of 1

gloomy finch
#

that's why i have to do it with nms

paper viper
#

that's why you use Citizens or NMS to do that. Spigot isnt in charge of making an NPC lib

quaint mantle
#

lol, it is but partially

paper viper
#

but that isnt the point here, you should always use the API when possible

#

why would you stick to NMS if an API option is available?

gloomy finch
#

there are some things that i prefer do with nms

covert bluff
#

how do i make it so that the plugin starts because its not starting it keeps saying it will be disabled upon startup

gloomy finch
#

and some with api like itemstack related

chrome beacon
paper viper
covert bluff
#

theres no error

#

it just says in console that plugin are dsiabling

dusk flicker
#

are you reloading or restarting

covert bluff
#

im restart

paper viper
gloomy finch
#

so if i need to make npc with the API how i do that?

#

i cant.

chrome beacon
gloomy finch
#

then i use nms.

chrome beacon
#

Just because one thing is missing doesn't mean you should use NMS for everything

gloomy finch
#

i use nms when i need them

#

to do what i need

#

with the current API i can't decide a pose for a player. so i use nms

paper viper
#

you know, libraries outside of spigot exist

#

lol

gloomy finch
#

and with entities i prefer use nms cause TextComponent used for their names

covert bluff
chrome beacon
#

Full logs please

gloomy finch
#

where's the problem?

paper viper
#

well thats your loss

#

¯_(ツ)_/¯

covert bluff
#

Ok i will paste

#

?paste

undone axleBOT
gloomy finch
#

no sense

paper viper
#

good luck spending nights of debugging lol

gloomy finch
#

wtf lol

quaint mantle
gloomy finch
#

i like make my own lib

#

why u have to say that lol

paper viper
#

You never said that the first place...

#

making your own lib is an entire different story

#

of course you not gonna steal someone else's...

#

I thought you were referring to normal plugin development

#

well duh, you should use a lib for that

quaint mantle
#

Give to us method to create laying fake player without using NMS

paper viper
quaint mantle
#

if u can't - stop conflict

gloomy finch
#

u can contribute lol.
your commit has been refused.
BUT U DONT NEED NMS

#

i use nms then
¯_(ツ)_/¯

paper viper
#

listen man

#
API

Citizens has an extensive API that can be used for making your plugins work with NPCs or even for adding a brand new character that can be attached to an NPC. Make sure you always are using an up-to-date build of the CitizensAPI to ensure that your plugin works with the latest release of Citizens.

gloomy finch
#

and not reflection, cause i want my server run good lol

gloomy finch
quaint mantle
#

Okay, ehm idk, does somone know, how i can make that

  • the enderchest opens with a command

  • the items in the enderchrdts are saved

paper viper
#

I never said SPIGOT itself has it

chrome beacon
young knoll
#

Check how essentials opens an ender chest

gloomy finch
#

but i use nms to do something like NPC

quaint mantle
gloomy finch
#

without extern lib

chrome beacon
potent pecan
#

Yes

gloomy finch
summer scroll
young knoll
#

Or you can use that method choco sent

worldly ingot
#

That is the method I sent ;p

quaint mantle
paper olive
#

Where is the "ender dragon has been killed in this world" flag actually stored? Is it just part of the dragon itself, stored in the map?

quaint mantle
#

Idk how to rename my gui items :C

COuld somone please tell me how i do that?

paper olive
#

I see DragonBattle but i'm not really sure if that's accessing what I think it is

toxic mesa
#

on item meta

quaint mantle
paper viper
#

getItemMeta

#

to get the item meta

#

then use setDisplayName on that specific ItemMeta

#

and then set it back onto the itemstack

toxic mesa
#

item#getItemMeta#setdisplayname
or
ItemMeta meta = item#getItemMeta
meta#setdisplayname

quaint mantle
#

Mhhh tysm!!

i will try that.

paper viper
#

i think?

#

like doesnt it return a copy

toxic mesa
#

could be idk haven't used spigot in a long time lol

paper viper
#

I think you have to use setItemMeta

#

cause it returns a copy

toxic mesa
#

Hold up ill check

chrome beacon
paper viper
#

Yeah

chrome beacon
#

Yeah you need to set it

toxic mesa
#

ah yeah

#

I used this
ItemStack item = new ItemStack(Material.GLASS, 1);
ItemMeta meta = item.getItemMeta();
but forgot I also did
item.setitemmeta

paper viper
#

mhm

tawdry scroll
#

Will it be possible somehow to get bundle's tooltip item list on another material?

chrome beacon
#

Lore?

tawdry scroll
#

The item list is not a lore

chrome beacon
#

Yeah you need lore

#

to fake it

#

If you don't want that make a client side mod

tardy delta
#

why does this not work

paper viper
#

you have to pass in a HashSet

#

not a normal Set

tardy delta
#

I have this
private static final Set<UUID> frozenPlayers= new HashSet<>();

public static HashSet<UUID> getFrozenPlayers() {
return frozenPlayers;
}

ivory sleet
#

Return a Set<UUID> just

tardy delta
#

ah that does also work

glossy scroll
#

HashSet is not assignable from Set

paper viper
#

Ok

#

is there an issue? if so what is it

#

like the teleporting?

ivory sleet
#

It crashes discord precisely or smtng

proud basin
#

huh?

#

its a gyazo gif

ivory sleet
#

or at least my discord reloaded from that

#

weird enough

paper viper
#

didnt for me

#

¯_(ツ)_/¯

proud basin
#

that shouldn't be a reason to remove it

#

it shouldn't even effect anyone

#

Anyways the players moves when they die

glossy scroll
#

Conclure abuse!!!

proud basin
#

from knockback

paper viper
#

conclure 3head

#

lmao

ivory sleet
#

Yeah you'll have to nullify the velocity

proud basin
#

is that just a minecraft thing?

paper viper
#

yeah kb

ivory sleet
#

Hmm pretty sure it isnt

proud basin
#

I haven't modified the velocity

ivory sleet
#

altho if you use smtng like the DamageEvent to respawn

proud basin
#

hm ok

hybrid spoke
paper viper
#

and thats why people dont really use it that often anymore

#

lmao

tardy delta
#

when i reload my server does that clear static hashsets?

paper viper
#

lmao

ivory sleet
#

it should at least

hybrid spoke
#

it does

proud basin
#

it's kinda annoying that it does

hybrid spoke
#

its like rebooting the program

#

so clearing the stack and heap

paper viper
#

but you shouldnt do /reload the first place anyways

#

lol

ivory sleet
#

I mean if you do some class loader hackery it might be possible to bypass that but it's irrelevant anyways

proud basin
#

/reload is my favorite command

ivory sleet
#

plugman reload tho

tardy delta
#

i was just asking ._.

hybrid spoke
#

yeah don't do /reload at all. use /rl instead

next zinc
#

Anyone know why the scoreboard isn't showing up?

//Scoreboard
        ScoreboardManager manager = Bukkit.getScoreboardManager();
        Scoreboard board = manager.getNewScoreboard();
        Team testTeam = board.registerNewTeam("testTeam");
        @SuppressWarnings("deprecation")
        Objective objective = board.registerNewObjective("test", "dummy");
        testTeam.setCanSeeFriendlyInvisibles(false);
        testTeam.setColor(ChatColor.GRAY);
        testTeam.setAllowFriendlyFire(true);
        objective.setDisplaySlot(DisplaySlot.SIDEBAR);
        objective.setDisplayName(ChatColor.GOLD + "OPProject");
        for(Player player : Bukkit.getOnlinePlayers()) {
            @SuppressWarnings("deprecation")
            Score score = objective.getScore(player);
            score.setScore(15);
        }
paper viper
#

/whooooosh

next zinc
#

WAIT

#

Im dumb

#

nvm

#

figured ito ut

hybrid spoke
glossy scroll
#

Probably should find oht why jts deprecated

next zinc
#

I legit just rembered I had to do that lmao

#

ty though

glossy scroll
#

Scoreboard api is usable without the deprecated methods

quiet ice
#

Not much to worry about

paper viper
#

^

glossy scroll
#

yea ik

maiden briar
#

java.lang.reflect.InaccessibleObjectException: Unable to make field final java.util.List java.util.Collections$SynchronizedList.list accessible: module java.base does not "opens java.util" to unnamed module @50b2e960

private static void setAccessible(AccessibleObject accessibleObject)
    {
        try
        {
            accessibleObject.setAccessible(true);
        }
        catch(InaccessibleObjectException ignored)
        {
            AccessController.doPrivileged(new PrivilegedAction()
            {
                public Object run()
                {
                    accessibleObject.setAccessible(true); //Here
                    return null;
                }
            });
        }
    }
quiet ice
#

You can't do it anymore

paper viper
#

is this modifying a final object?

#

or smthing

maiden briar
#

It is a private final List

paper viper
#

Oh yeah you cant modify it

glossy scroll
#

Reflection is dumb in java 16

paper viper
#

anymore

quiet ice
#

Java 16 does not allow it, nothing you can do

glossy scroll
#

So you cant modify

maiden briar
#

I just want to get it

#

But that does not work

#

Or just remove the check?

quiet ice
#

Where is that list located even?

maiden briar
#

In NMS

next zinc
#

Where exactly is a good place to put the scoreboard btw?

paper viper
#

manager class

next stratus
#

on the right hand side

glossy scroll
#

In your code

next zinc
#

yeah in my code

next stratus
#

in the jar

paper viper
#

in a manager class

#

of some sort

next zinc
#

mk

paper viper
#

dedicated to scoreboard

glossy scroll
#

in a scoreboard manager

paper viper
#

💩

glossy scroll
#

LOL

hardy swan
#

ok guys, I have a problem in need of solving:
I need a Block instance, but I want to dictate the Block's type without changing the type at the actual location. Is there a way to do that

glossy scroll
#

what?

paper viper
#

wdym by dictate

glossy scroll
#

?xy

undone axleBOT
next zinc
hardy swan
#

means block.getType() == sth I want

glossy scroll
#

?xy

undone axleBOT
hybrid spoke
#

what would the scoreboard manager look like?

glossy scroll
#

@hardy swan what is your problem

next zinc
#

wym

glossy scroll
#

Darkened im not here to teach java sorry

hardy swan
#

ok the actual problem is this, GriefPrevention API

next zinc
#

mk then

hardy swan
#

under allowBreak() method

hybrid spoke
hardy swan
#

no wait

#

the method needs a Block instance

quaint mantle
#

Wait, could somone show me how to set there the name?

I am trying this since an half hour :C

``package sircapalonge.cbsystem.commands;

import org.bukkit.Bukkit;
import org.bukkit.Material;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.CompassMeta;

public class Guicommand implements CommandExecutor {

@Override
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
    if (sender instanceof Player){
        Player player = (Player) sender;
        Inventory inv = Bukkit.createInventory(player,9,"§e§lTeleporter");
        player.openInventory(inv);
        inv.setItem(0,new ItemStack(Material.COMPASS));
        inv.setItem(1,new ItemStack(Material.WRITABLE_BOOK));
        inv.setItem(2,new ItemStack(Material.ENDER_CHEST));

    }
    return false;

}

}``

hybrid spoke
#

?paste

undone axleBOT
hardy swan
#

but in reality, it only uses the block's type for verification

glossy scroll
#

Ok but why do you want to fake-change the blocks type

hardy swan
#

So I want to know if the player can break stone

#

at that location

heady barn
#
e.getRecipients().removeIf(nearPlayer -> !nearPlayer.getWorld().equals(p.getWorld()) && nearPlayer.getLocation().distanceSquared(p.getLocation()) > chatRange * chatRange);```
it back IliegalArgumentException(Can't measure distance between world and world).
But I wrote nearPlayer -> !nearPlayer.getWorld().equals(p.getWorld()). How can I solve this?
glossy scroll
#

Show me the griefprevention method

hardy swan
#

but, how would I even know if there are stone around that location

maiden briar
#

Hm if I do it without check and just get it it works so

hardy swan
#

search allowBreak(Player player, Block block, Location location, BlockBreakEvent breakEvent)

glossy scroll
#

Im on mobile

#

What line

hardy swan
#

3438

#

scary

quaint mantle
hardy swan
hybrid spoke
glossy scroll
#

Cant you just do claim.allowbreak? @hardy swan

hardy swan
#

but the rest of the method takes care of wilderness, doesn't it

#

maybe imma tell the dev to change it to material type lmao

glossy scroll
#

Idk im still confused what you want

hardy swan
#

so I want to know if a player can break a stone at a given location

#

without having a physical stone there

#

that simple

quaint mantle
hardy swan
#

before adding to inventory

hybrid spoke
quaint mantle
hardy swan
#

item.getItemMeta()

glossy scroll
#

Yea solar that is pretty dumb

#

Should be material

hybrid spoke
hardy swan
#

yea...

glossy scroll
#

Best way to do it is to just copy and paste

#

And make your own method really

quaint mantle
#

But my item is red now xd

hasty otter
#

@hybrid spoke ?

hasty otter
#

Lookup the chat

hardy swan
#

cool kids do Optional.filter().filter().filter().

quaint mantle
#

Nom i don`t undertand it :C

hybrid spoke
#

Caused by: java.lang.IndexOutOfBoundsException: Index 0 out of bounds for length 0
what does your openMainShop and openShopSection do?

quaint mantle
#

@hybrid spoke When i try this with iteem, item is red xd

hasty otter
hybrid spoke
hasty otter
#

Yea, possibly 🤣 But like, the stacktrace doesn't show me anything thats wrong in my code, isn't it a IndexOutOfBouds Exeption by the server code?

#

Bcs it leads to jdk and playerconnection classes

hybrid spoke
#

seems so. but it is in contact with your intention

hasty otter
#

Mhh ok, will look at my code when Im home, thanks though

dusty herald
#

when a server crashes, the crash log shows all

gaunt hatch
#

and 50% it tells you nothing lol

hybrid spoke
quaint mantle
#

?paste

undone axleBOT
quaint mantle
#

@hybrid spoke It dosen`t work :C

dusty herald
#

yes which is everything

#

plugins, OS version, online players

#

u name it

vale cradle
#

You set the items in the inventory after show it to the player

#

First populate the inventory then open it to the player

quaint mantle
#

How do i do that?

hybrid spoke
#

follow a tutorial, learn some java. it will explain everything to you

#

if its not a bad tutorial

vale cradle
#

You first open, then set the contents

#

You need to first set the contents before opening

quaint mantle
#

Or is that false?

vale cradle
#

What do you get?

quaint mantle
#

The same like before :C

the compass isn`t renamed

vale cradle
#

You didn't set the meta to the item

hybrid spoke
#

you are now creating 2 itemstacks for each item. you are creating 1, modifying his meta but doesn't update it and let it fly in space and creating the other to set it NEWLY into the inventory

quaint mantle
vale cradle
#

ItemStack#setItemMeta

#

Then sets the meta

quaint mantle
vale cradle
#
ItemMeta meta = item.getItemMeta(); // Gets the item meta
// Do stuff with the meta
item.setItemMeta(meta); // Sets the modified meta to the item
quaint mantle
#

nol i don?T understand it, it gets red when i put that in my code :C

vale cradle
#

Dude, don't copypaste, just understand what I'm trying to say

#

That's why I leaved comments

quaint mantle
#

yaaaa but idk, it dosen`t work :C

past maple
#

show your code

hardy swan
#

should I copy and paste the default method too 🤔

#

nvm submitted PR

hardy swan
#

nothing happens after you set display name ? XD

vale cradle
#

Yes

#

You didn't even set the meta to the item

hardy swan
#

yea why

past maple
#

and in your code, you never add item2 in your custom inventory

vale cradle
#
  1. Name your variables properly so you (and the people reviewing your code) will have a better understanding of what's happening.
  2. Check you're following the steps properly.
hardy swan
#

I think it is wiser to go through his tutorial than using the library

#

but yea

vale cradle
#

I just see a mix of things doing stuff in your code expecting to work

dusty herald
#

why my code no work!

#

fix now 😠

hardy swan
#

SQLite queries are easier in nature to grasp

vale cradle
#

Why not a general purpose library instead of a plugin?

dusty herald
gaunt hatch
#

sql is sql man, its just what the db can do is what you want to go for.

hardy swan
#

somewat the same

dusty herald
#

like updating a input if it exists already queries different on sqllite than on plain sql

gaunt hatch
#

it is though, from SQL Server to SQLite to MySQL to Oracle I have not noticed anything really different in the sql then what the dB function have to others.

dusty herald
#

lol

vale cradle
#

It's still sql, ofc is not the same as MySQL, but it's sql, basic stuff is meant to be the same

gaunt hatch
#

Yea sql is sql its the syntax you are talking about

hardy swan
#

there is, I would say, quite a bit of difference

quaint mantle
#

MrTommy could you please help me with this and do an example? xd

I don`t really understand how i can do that :C

hardy swan
#

even syntax

hardy swan
#

cue the command

dusty herald
#

what're you trying to do star man

#

or woman

#

or other

vale cradle
hardy swan
#

he is trying to set item meta

hybrid spoke
#

you've already got enough examples - even solutions, patrick (here his name)

dusty herald
#

oh

vale cradle
#

However you're not going to make a GUI command that way, just fyi

vale cradle
#

Is not too complex what he's trying to do

#

But there are concepts he's not having clear

#

So it's better for him to know what he's doing wrong by himself

dusty herald
#

I want pizza

hardy swan
#

talking about getting itemmeta....

plucky comet
#

How would i get what the command returns ```java

            Bukkit.dispatchCommand(Bukkit.getConsoleSender(), consolemessage[1]);```
hardy swan
#

you know there are times where the doc says return a copy of item... where it only returns a shallow copy

vale cradle
dusty herald
#

that returns a boolean if it failed

plucky comet
#

Commands usally respons with something is it possible to get the response

gloomy edge
#

Would anyone know where PlayerInteractEvent for block placement is called in CraftBukkit?

#

I need it to better understand how Minecraft works

dusty herald
#

which iirc only returns if the code returns false which most devs just ignore

vale cradle
dusty herald
#

something I do 😅

vale cradle
#

I directly return false I don't give a fk

dusty herald
#

I always return true for my own syntax warnings

hardy swan
#

actually should just return true tbh

quaint mantle
#

But idk i have to fix that xd

dusty herald
#

plugin.yml usage is shit 😦

vale cradle
#

If I had to make an error message I do it by myself, But iirc, returning false automatically returns the command usage defined in the plugin.yml

vale cradle
hybrid spoke
dusty herald
#

no? Return true does the opposite

#

return true means successful, false means failure

paper viper
vale cradle
#

Oof

#

Mb

hardy swan
#

that's why always return true

dusty herald
#

it's ok

plucky comet
#

How do i get all messages console gets

hardy swan
#

someone not writing usages hhaa

vale cradle
paper viper
#

Lmao

#

i use brigadier with commodore

dusty herald
#

I just slap my commands through one big ass switch statement /s

vale cradle
#

I haven't even seen how brigadier works

hardy swan
plucky comet
#

to send it to discord

hardy swan
#

err, ask DiscordSRV

vale cradle
dusty herald
#

DiscordSRV has a feature where you can output console data to a channel

vale cradle
#

Create your own implementation of the CommandSender interface, and override the sendMessage method to send the method to discord

paper viper
sage swift
#

i mean, it's already been done EzBedWars don't know why you wanna remake it

sage swift
#

ah yes learning by asking to be walked through something perfect

dusty herald
#

I used to, but now I usually make separate classes for each subcommand and command

hybrid spoke
sage swift
#

it really doesnt seem like he's doin it to learn, probably needs it for his server

marble granite
#

does sending an actionbar reset the title?

dusty herald
#

n9

#

no

marble granite
#

hm

marble granite
dusty herald
#

no idea

hybrid spoke
#

what tf is acrack.store

marble granite
dusty herald
#

it redirects to pays.host

marble granite
#

^

hardy swan
dusty herald
#

probably stole my ip about 10 times

hybrid spoke
dusty herald
#

ty solar

#

I must now return to sleep

tardy delta
#

what do you mean deprecated

#

ow i see i have to use the one with 3 strings as argument

marble granite
#

does the server shutting down properly xall playerleaveevent ?

maiden briar
#

If I try to add my packet handler before the server's I get this error: java.util.NoSuchElementException: packet_handler

protected static final String KEY_HANDLER = "packet_handler";
protected static final String KEY_PLAYER = "packet_listener_player";
protected static final String KEY_SERVER = "packet_listener_server";

//Method which uses fields above

System.out.println("injecting " + object);

io.netty.channel.Channel channel = new Reflection(object).getField("channel").getObject();

if(channel == null)
    channel = new Reflection(object).getField(Channel.class).getObject();

System.out.println("channel " + channel);

if(remove)
{
    channel.pipeline().remove(KEY_SERVER);
}
else
{
    if(channel.pipeline().get(KEY_SERVER) == null)
        channel.pipeline().addBefore(KEY_HANDLER, KEY_SERVER, new ChannelHandler(new INCChannelWrapper(channel))); //Here

    System.out.println("KEY_SERVER " + channel.pipeline().get(KEY_SERVER));
    System.out.println("KEY_HANDLER " + channel.pipeline().get(KEY_HANDLER));
    System.out.println("Channels");
    channel.pipeline().forEach(System.out::println);
}

THE CHANNEL IS NOT NULL AND PRINTS IN CONSOLE

slim kernel
#

How can I get an output when the player is pressing W / is moving forward? I know it is in the move Listener and I know how I would get in which Direction the player is moving but not if he is walking forwards backwards or left or right.... ping me pls

unreal sandal
#

Hello, how can I access of a file YML of another plugin ?

eternal oxide
#

yes but don't

unreal sandal
#

why ?

eternal oxide
#

access the plugins api if it has one

unreal sandal
#

Okay thank you

maiden briar
#

Bukkit has a method getPlugin(String) and then get the data folder? Or new File(JavaPlugin.getDataFolder().getParent(), "FOLDER")

quaint mantle
#

has somone the link to the websiet with all spigot events?

past maple
#

?jd

unreal sandal
#

@maiden briar thank you, I do that. Sorry I didn't see your message

maiden briar
#

Ok

unreal sandal
#

@eternal oxide okay thank you 🙂

gaunt hatch
#

There is nothing that shows the difference between version are there?

quaint mantle
#

or how to make, that you open a shulkerbox, with a command?

gaunt hatch
#

On right click you can hook into the inventory of the item and display it in a custom bukkit inventory. Then on close get the inventory and save it back to the items inventory.

#

You have to be carful thought to make sure you put logic that will not allow you to move the shulker box item into the inventory cause then you will nest it and be lost forever lol

quaint mantle
gaunt hatch
#

you have to save but grabbing the item in the inventory in inventorycloseevent

#

and know what it is and then save it back to the items inventory

lean gull
#

i tried searching online but i only found grappling hooks that push you towards the hook

#

this one howerver lets you fly around

daring maple
#

this is a channel to get help with the Spigot and BungeeCord API, you're showing footage of something that is not even Minecraft...

lean gull
#

well yeah but i want to make it in minecraft

#

i just don't know how to do it in java

chrome beacon
#

Yeah so what part do you need help with

#

Don't expect us to write the code for you

timber crescent
#

How do I know if someone is in a sign gui?

lean gull
#

there's probably get inventory type syntax

timber crescent
#

what is it?

lean gull
#

have you tried searching your browser?

#

found it in less than a minute of searching on google

timber crescent
#

i didnt

#

idk if its my search term or smth

lean gull
#

try harder, i'm not gonna do this easy for you because you're too lazy to search

timber crescent
#

theyre all using protocollib

quaint mantle
#

any way of checking if a bossbar exsists?

#

do custom datapack recipes show in the book when you have all items in your inventory?

quaint mantle
#

where should I ask this?

lean gull
#

idk

quaint mantle
#

well

worldly burrow
#

how can I get and set nbt tags of an item?

eternal oxide
#

which tags?

novel lodge
#

Does anybody know what this error message means? I'm trying to make a crafting recipe (Which has been successfully been done earlier in the plugin) but this error always shows https://hastebin.com/ahewevagix.apache

#

Line 116 ```java
ShapedRecipe recipeCom = new ShapedRecipe(new NamespacedKey(this, "COMPACTED_DIAMOND"), compactedDiamond);

eternal night
#

the result stack is null or air

eternal oxide
#

then compactedDiamond is null

worldly burrow
lean gull
#

you need to set the namespacedkey first and then use it as a variable in the shaped recipe thing

#

or atleast that's what i did when it didn't work for me

eternal night
#

either you wanna access minecraft tags -> use the API or you wanna use custom tags -> use PDC

novel lodge
eternal oxide
worldly burrow
#

Ah, well would there be any way to add metadata to a block? From what I can tell metadata does not persist across reboots?

eternal night
#

😭

eternal oxide
eternal night
#

oh

#

weren't we talking about items

eternal oxide
#

we were, then he asked about a block

eternal night
#

wild.

eternal oxide
#

All ItemStacks have a PDC but blocks in the world, only those which have a TileEntity have a PDC

worldly burrow
#

well im wondering if metadata that gets added to items persists when you place said item

eternal oxide
#

no

worldly burrow
#

hm

eternal oxide
#

metadata is transient

lean gull
#

i still need help btw

cold pawn
#

Those anyone know why im having this issue when trying to load my plugin? I know its a NPE but I wen't to where it said the issue was and it was were I was just registering my commands?
link: https://pastebin.com/xHPPiLMt

daring maple
#

could you also share the code?

#

and your plugin.yml

past maple
#

I think that you don't register the command in plugin.yml

cold pawn
#

I register ed everything

dusty herald
#

try lowercase

compact cape
#

How can I change the Explosion of Fireball?

past maple
#

What is the line 72 of DivineCoreMain class

dusty herald
#

also it might need a description though

compact cape
#

Fireball class has no power

cold pawn
daring maple
#

try giving it a description and put the command in lower case

lean gull
#

it's been an hour and a half someone please help

chrome beacon
crude axle
#

Also, is anyone familiar with what is causing this to suddenly happen?:```

gaunt hatch
#

you using maven or gradle?

crude axle
#

Maven

gaunt hatch
#

nvm i dont know much about Maven as i use gradle

rugged river
#

where i find my ApiVersion for the plugin.yml?

crude axle
#

But does anyone else why this is now happening? Same module build successfully just a day ago

#

Now, however, it is failing to build for some reason

reef wind
#

ProudMix.java(Main)
https://pastebin.com/DUwVVKpF

Balance.java
https://pastebin.com/fzr2FAVy

plugin.yml
https://pastebin.com/N0cGhynM

This works perfectly when i don't register the "walletadd" command, but when i do i it dosen't get registered because it dosen't exist when i try to run it, and if i try to run any other command that uses my Config i get this error: Caused by: java.lang.NullPointerException: Cannot invoke "me.prouddesk.proudmix.ProudMix.getConfig()" because "me.prouddesk.proudmix.ProudMix.plugin" is null. (even if i remove everything inside "walletadd" it still happens)

opal juniper
mystic terrace
#

I'm making an instant respawn plugin but it doesn't works, can someone tell me what is the issue?

    public void onDie(EntityDamageEvent e) {

        if(e.getEntity() instanceof Player) {
            Player p = (Player)e.getEntity();
            if(p.getHealth() - e.getFinalDamage() <= 0.0D) {
                e.setCancelled(true);
                for(ItemStack contents : p.getInventory().getContents()) {
                    if(contents != null && contents.getType() != Material.AIR) {
                        p.getWorld().dropItemNaturally(p.getLocation(), contents);
                    }
                }

            for (ItemStack armor : p.getInventory().getArmorContents()) {
                if(armor != null && armor.getType() != Material.AIR) {
                    p.getWorld().dropItemNaturally(p.getLocation(), armor);
                }
            }
            }

            p.setGameMode(GameMode.SPECTATOR);

        }
    }
}```
opal juniper
#

you need to pass the instance of the class when you instanciate it

#

with a constructor and then a private field that contains the plugin

ebon siren
#

https://pastebin.com/RKUnZQAe full code for Main.java and the class with the listener inside of it

onPlayerDeathEvent is not being called even though i've followed the wiki on listeners and the event api completely, intellij even says that Method 'onPlayerDeathEvent(org.bukkit.event.entity.PlayerDeathEvent)' is never used , is there a fix to this?

quaint mantle
#

Does somone know for scoreboard how i can put in the xp which you have?

opal juniper
#

It will always say that

ebon siren
#

the event is still not registering and nothing is being printed out in the chat or console

mystic terrace
reef wind
lunar schooner
#

Hey there, curious, is there a reason one can't access the server's properties through the Bukkit API? (Or have I just completely missed it?)

ebon siren
vital ridge
#

Does someone know whats the best way to recreate custom spawn eggs? Im trying to spawn my custom chickens with chicken spawn eggs, i have a lil system and it works fine, the thing is im spawning my custom chicken under playerinteractevent and in e.getclickedblock. Now my problem is I need to modify the location because currently im adding y + 1 to the location so when i click a block with the spawn egg it will spawn it right on the block. Now if i click under the block, it spawns in on top of the block, which should not happen. The same goes for clicking the side of the block, then it still spawns on top of the block. Anybody has any idea whats the best way to modify the cords so it acts like normal spawn eggs? Sorry for a bit messy explanation, tried to explain it as good as possible, heres my current code:
https://paste.md-5.net/ayoravofey.cs

lunar schooner
opal juniper
#

e.g. Does: System.out.println("e&lHeadDrop&r enabled!"); this run

ebon siren
#

no

opal juniper
ebon siren
#

yes

lunar schooner
#

Currently I've been using reflection to call getProperties on CraftServer, and then get the properties like that but not optimal

opal juniper
ebon siren
#
main: com.arkfish.spigot.headdrop

if this is what you mean then yes

opal juniper
#

thats not ur main class

quiet ice
#

does bukkit complain about anything on startup?

opal juniper
#

It must

#

cause that headdrop class is in package
com.arkfish.headdrop

#

as much as anything

quiet ice
#

And what is the output of /pl (in terms of colours)

opal juniper
#

let alone the fact it doesn't extend JavaPlugin

quiet ice
#

Looks like a spree of many issues

ebon siren
#

alright, got it

#

thanks

opal juniper
#

Yep - looks like someone who learnt java thru a bukkit tutorial Pepe

hardy rover
#

Hey, can anyone tell my why BukkitRunnable doesn't work?

#
    
    @Override
    public void onEnable(){

    }
    @Override
    public void onDisable(){
        
    }
    
    public void runnable() {
        new BukkitRunnable() {

            @Override
            public void run() {
                Bukkit.broadcastMessage("lol");
            }
        }.runTaskTimerAsynchronously(this, 0, 20);
    }
ebon siren
#

i learned java before learning bukkit or spigot but i guess it wasn't enough

quiet ice
#

Use lambdas instead of anonymous classes ffs

opal juniper
#

and yes

hardy rover
#

where and how

opal juniper
#

use lamda expressions

hardy rover
#

should i run it

opal juniper
#

ill write an example for ya

quiet ice
#
        Bukkit.getScheduler().runTaskTimer(this, () -> {
            Bukkit.broadcastMessage("lol");
        }, 0, 20);
#

Much nicer

hardy rover
#

🙂

#

Will it work if I just paste it there?

shadow gazelle
#

How do I detect what item is dropped with PlayerDropItemEvent? I can't find anything that I can use to find the ItemStack type.

quiet ice
#

Depends on where exactly given that this is used

opal juniper
vital ridge
#

Does someone know whats the best way to recreate custom spawn eggs? Im trying to spawn my custom chickens with chicken spawn eggs, i have a lil system and it works fine, the thing is im spawning my custom chicken under playerinteractevent and in e.getclickedblock. Now my problem is I need to modify the location because currently im adding y + 1 to the location so when i click a block with the spawn egg it will spawn it right on the block. Now if i click under the block, it spawns in on top of the block, which should not happen. The same goes for clicking the side of the block, then it still spawns on top of the block. Anybody has any idea whats the best way to modify the cords so it acts like normal spawn eggs? Sorry for a bit messy explanation, tried to explain it as good as possible, heres my current code:
https://paste.md-5.net/ayoravofey.cs

opal juniper
quiet ice
#

So event.getItemDrop().getItemStack()

opal juniper
hardy rover
#

THANK YOU!

opal juniper
#

No problem!

quiet ice
#

You can also do it pretty much everywhere else, btw

opal juniper
#

Yeh - but i assumed that was where he wanted it

#

seen as it was just there as an empty method

opal juniper
vital ridge
#

including playerinteractevent

shadow gazelle
opal juniper
chrome beacon
shadow gazelle
#

Is the item dropped a diamond chestplate

opal juniper
#

So you have the itemstack, then you can compare the type

quiet ice
#

.getType == Material.DIAMOND_CHESTPLATE does not work?

opal juniper
#

e.g: if (event.getItemDrop().getItemStack.getType == Material.DIAMOND_CHESTPLATE) {}

#

yep

mystic terrace
#

Someone can help me?

opal juniper
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.

shadow gazelle
#

It was complaining that I was using an ! :/

quiet ice
#

don't forget the ()

slim kernel
opal juniper
shadow gazelle
#

Did that

quiet ice
#

Send code then

opal juniper
#

if (!()) {}

#

what is ur ide telling you is wrong

quiet ice
mystic terrace
#

I'm actually making an instant respwan plugin, but when I die in game it actually shows the "YOU DIE!" screen, it's there something wrong in it?

opal juniper
shadow gazelle
vital ridge
#

I cant rly understand the javadocs

#

the java docs for blockstate

#

Actually let me test it a bit

opal juniper
#

For being More specific ....

slim kernel
#

pls help thank you

quiet ice
#

Blockfaces aren't always just the cardinal positions

#

You can do if (rayTraceResult != null) { btw

slim kernel
quiet ice
#

You are not at fault if the stacktrace were to be believed

frosty tinsel
#

Hello guys, could please someone explain to me, how to use the new 1.17 nms with the mappings?

proud basin
#

how can I change a players velocity?

quiet ice
#

unless of course the stacktrace is cropped (which it honestly is)

chrome beacon
slim kernel
digital rain
#

ok hello, so im using this script to not generate enchanted items, but when the chest gets broken it will still generate enchanted items, any quick fixes?

chrome beacon
#

Use an else statement

digital rain
#

i mean the script to generate unenchanted items upon break is obviously unrelated to what i sent

gaunt hatch
#

I would also use some lambda there to clean it up

frosty tinsel
chrome beacon
quiet ice
#

What's up with people using !(boolean) instead of !boolean

proud basin
slim kernel
quiet ice
#

set velocity to 0 after tp-ing?

frosty tinsel
proud basin
quiet ice
#

If it isn't then I am a bit confused

#

because you just killed the main thread

slim kernel
#

So if I get an different error we know whats going on maybe?

frosty tinsel
quiet ice
frosty tinsel
#

It seems that pathfinders have changed alot..

slim kernel
proud basin
#

Does PlayerDeathEvent not have setVolocity

slim kernel
quiet ice
#

the player has the method though

proud basin
#

oh right

#

forgot about that

quiet ice
#

Strange, but if it works it works ¯_(ツ)_/¯

proud basin
#

hm I guess you can't do e.getPlayer

slim kernel
#

yeah but it should be a battle at the end without having to reconnect everytime an ability was used haha

quiet ice
#

Can't you do it on the next tick?

#

?jd

proud basin
#

You could

#

Didn't think a player was a entity

quiet ice
#

Well, the javadocs does make it clear

mystic terrace
#

I'm actually trying to make a place event but I don't know how to put the owner head of the dead player, someone can help me?

mystic terrace
#

Ye, but it doesn't works

#

It only puts the Steve head

slim kernel
quiet ice
#

Well, the place event will not change anything

mystic terrace
#

How I can do it so?

granite stirrup
#

lool

quiet ice
chrome beacon
quiet ice
#

If only I knew what the ThreadedMailbox is

slim kernel
mystic terrace
quiet ice
#

Or perhaps your code and something else, idk

mystic terrace
#

And I have this error

quiet ice
#

Nor do I know why your code caused this

quaint mantle
#

Is there an event fired if a player jumps on a big dripleaf?

quiet ice
#

Are come on, you can read the error for yourself

chrome beacon
#

He probably just copy pasted that code tbh

quiet ice
#

Compiler errors are the easiest things to solve

mystic terrace
chrome beacon
granite stirrup
#

you dont have a field named block

quiet ice
#

?spoon

undone axleBOT
#

Spoonfeed a newbie for a day and they'll come back with more questions. Teach them to find their own answers and you'll both be better off: you won't get stuck answering the easy questions and they'll be much more productive than before.

chrome beacon
#

?learnjava ;/

undone axleBOT
quiet ice
#

This is def. spoonfeeding right there

slim kernel
# quiet ice Nor do I know why your code caused this

Do you know an other option of giving the other player the movement you are doing like pushing him to the right when you are waking right and leftclicking and pushing him to the left when you are walking left,... and so on?

mystic terrace
#

But, what is the solution so?

chrome beacon
#

lmao

proud basin
#

I set the players velocity to 0 on death but it the player still moves when they respawn

quiet ice
chrome beacon
quiet ice
#

Oh no, that won't work

mystic terrace
chrome beacon
#

Good then you will know what the error is 🙂

mystic terrace
#

But I want to finish this for a friends server, thats all

#

And I'll start reading that

#

Can you give me the solution please?

chrome beacon
#

We're not spoon feeding you

stark whale
#

Hey! so trying to set up Bungee cord with 4 servers

3 of the servers says the Port is used and then when i connect to the Hub ,says i need to enable IP Portforwarding , im confused as ive already done that

mystic terrace
mystic terrace
#

oke, thanks for the help I guess

proud basin
#

Actually I should use PlayerRespawnEvent

#

agh didn't make a difference

slim kernel
# quiet ice Nor do I know why your code caused this

Do you know an other option of giving the other player the movement you are doing like pushing him to the right when you are waking right and leftclicking and pushing him to the left when you are walking left,... and so on? sry If I am anoying you

digital rain
#

any ideas how to set dropped items by item break, since many are struggling with this

#

since blockbreakevent doesnt have a method that could set the drops

quiet ice
#

But it would not be too smoth

#

And leftclicking/rightclicking will be even more complicated no idea where to even get started here

slim kernel
#

but I just want it once not all the time if you now what I mean

#

thats why I did it with left clicking

#

its kind of an ability

gaunt hatch
#

oof the npc player changes are kind of big lol

proud basin
#

If I set a players velocity to 0 then they shouldn't move correct?

quiet ice
#

under normal circumstances, yes

gaunt hatch
#

If set in the right place

#

If you set it somewhere and something can override it based event order

#

Unless you use the right event to set it

slim kernel
proud basin
#

I'm just annoyed on what happens when a player gets killed

quiet ice
#

Not recommended imo

shadow gazelle
#

?paste

undone axleBOT
shadow gazelle
#

Okay, so, I'm making a crafting thing where you drop a custom book and chestplate on the ground and get the enchantment on the chestplate that was dropped. I have the code for removing the custom book if it was dropped with a chestplate, but I now need to edit the dropped chestplate. I don't know how to access the chestplate from what I have here.
https://paste.md-5.net/ojasapetad.cs

mystic terrace
#

please I need the solution :( @chrome beacon

#

Just only that and I'll start the ?learnjava

proud basin
mystic terrace
#

I'm making like a tombstone plugin, so basically I'm making the head place part and I need the variable of block and I don't know what it's the correct one

#

I'm a noobie coding

granite stirrup
#

bro

#

legit

#

read

#

the

#

error

proud basin
#

^

gaunt hatch
#

Skull is not a block state its a item meta type

granite stirrup
#

block is not a valid field

#

create it

#

🙏 to god that this man will understand wtf his code is erroring

lean gull
quiet ice
granite stirrup
mystic terrace
#

That's what it shows

granite stirrup
#

OMG

#

I TOLD U WHAT TO DO

#

ARE U A IDIOT

proud basin
#

idkidk relax lmao

quiet ice
#

You still need to assign it to the correct value

granite stirrup
#

im done with him

mystic terrace
quiet ice
#

So creating a variable is not the only needed step

granite stirrup
#

press create a local variable 'block'

#

and set the variable to what u want

quiet ice
#

the thing is, he probably does not know what he wants to

#

Of course, I know what he wants, but I won't spoonfeed further there

mystic terrace
#

:(

#

Block block =

#

I need the rest

#

xd

quiet ice
#

In all seriousness, you already obtains your block a few lines above

#

Recycling code is the most useful tool you will have, ever

granite stirrup
#

are u in a event

mystic terrace
#

Yes

quiet ice
lean gull
#

can someone please help

quiet ice
#

well, nvm

mystic terrace
#

I just need that for getting the owner head

quiet ice
granite stirrup
lean gull
#

did you read what i said after it?

quiet ice
#

Or p.getLocation().getBlock

mystic terrace
quiet ice
#

You decide what makes sense

mystic terrace
#

Imma try both

quiet ice
#

Both will compile

#

But only one makes sense

carmine ivy
lean gull
#

yee

carmine ivy
#

yeah in minecraft, pretty much near impossible

lean gull
#

if you actually read what i said afterwards you'd see that i sent a link to a mod that did it

carmine ivy
#

oh

#

Sick

#

You sound a bit passive aggressive

mystic terrace
carmine ivy
#

just lettin you know.

lean gull
#

yeah my bad

#

i can be very stubborn sometimes :/

#

soz

carmine ivy
#

Is it a mod like forge or fabric

#

or a plugin for spigot / bukkit

granite stirrup
lean gull
#

a mod

carmine ivy
carmine ivy
quiet ice
lean gull
#

a plugin

carmine ivy
#

yea

#

well

#

this is for plugins

lean gull
carmine ivy
#

I think anyway

gaunt hatch
#

dont you have update the block state. like state.update

quiet ice
#

I think he did

#

If not then I am mistaken

carmine ivy
gaunt hatch
#

he did skull.update not on the block state.

lean gull
#

well that's a problem

mystic terrace
carmine ivy
#

Have you coded before?

gaunt hatch
#

add location of the object

lean gull
#

i started java a few days ago and i do know skript

carmine ivy
#

skript won't help you make the grapple hook for sure

mystic terrace
#

THANKS @quiet ice @granite stirrup for helping me, istg I'll not disturb anymore

#

Thanks

carmine ivy
#

but if you keep learning you'll maybe one day be able to make one

quiet ice
#

Grappling hooks require vector maths

lean gull
#

that's another problem

#

idk mafs

quiet ice
#

Which is pretty much gg get reckt

carmine ivy
#

There is a reason I'm in bottom set mafs

#

did a test today and wanted to kms

quiet ice
#

heya, this is no option

lean gull
#

did you know that dying is in-fact not healthy

lean gull
quiet ice
#

vector maths are very complicated, you cannot really break it down into understandable portions

lean gull
#

o o f

carmine ivy
#

How do I teleport players to different worlds using mulitverse core. I want to do it directly from inside one of my plugins. Haven't written the code yet just want to know if its possible

quiet ice
#

Why not do it in a traditional bukkit way?

eternal oxide
#

teleporting has nothing to do with MV Core

quiet ice
#

You just need to obtain the target world, but you have multiple options for that

carmine ivy
#

How would I do it?

eternal oxide
#

All MV worlds are registered with Bukkit

quiet ice
#

Bukkit#getWorld(String) or Bukkit#getWorld(UUID) I think

gaunt hatch
#

you dont need MVC to do that

granite stirrup
#

do people even ddos anymore?

carmine ivy
#

ok ok ok ok

eternal night
#

finnbon has some good tutorials on the basics of vector math in spigot

quiet ice
carmine ivy
#

How would I do it the traditional bukkit way

eternal night
#
gaunt hatch
#

Just set the world in the teleport method

eternal oxide
granite stirrup
#

i just opened mc and i accidently clicked exit

carmine ivy
granite stirrup
#

🥲

gaunt hatch
#

ex:

player.teleport(new Location(Bukkit.getWorld("world"), 2899.5, 24.5, 3983.5, 0, 0));

player.teleport(new Location(Bukkit.getWorld("newWorld"), 2899.5, 24.5, 3983.5, 0, 0));

proud basin
#

Shouldn't this delay their respawn? ```java
public void onDeath(PlayerDeathEvent e) {
Player player = e.getEntity().getPlayer();
player.setVelocity(new Vector(0, 0, 0));
World world = e.getEntity().getWorld();

    Bukkit.getServer().getScheduler().scheduleSyncDelayedTask(plugin, new Runnable() {
        @Override
        public void run() {
            player.teleport(world.getSpawnLocation());
        }
    }, 200L);
}
granite stirrup
#

help me guys

gaunt hatch
#

i would also check to validate that works is real

granite stirrup
#

i exited mc

#

how do i open it again

#

without waiting 50 years

ivory sleet
#

Wait 50 years inevitably

granite stirrup
#

BRUH IT FUCKING CORRUPTED THE LAUNCHER

quiet ice
ivory sleet
#

Lol

gaunt hatch
#

yes please lambdas lol

granite stirrup
#

but still long time

gaunt hatch
lean gull
#

does anyone know how to make a player stop falling? perhaps a level of levitation or slow falling?

granite stirrup
#

why do u want to delay respawn

gaunt hatch
#

^

proud basin
gaunt hatch
#

you mean respawn

#

That looks normal

quiet ice
#

Why not cancel the event and tp them manually :thinksmart:

proud basin
#

cancel the respawn?

gaunt hatch
#

I don't see a issue with that gif, and I blind?

proud basin
#

When the player gets killed he gets pushed on respawn

obtuse basin
#

Is there a event to check if a player is in the same world?

granite stirrup
#

turn off auto respawn

#

?

proud basin
gaunt hatch
#

That looks like to me you have code somewhere pushing him on respawn

cinder timber
#

the same world as what!

gaunt hatch
#

respawn does not do that

#

go to vanilla and see what happens

#

that sure in the heck does not happen

obtuse basin
# ivory sleet Elaborate

e.g. If I would want to make that when a players write smth that only players see the messages that are actually in the world

lunar schooner
#

So just curious, how expensive is World#getHighestBlockAt()? It's specifically this call that is giving some very heavy performance issues.

granite stirrup
gaunt hatch
#

uhhh no lol

#

i have never seen that with auto respawn before

granite stirrup
#

it could be cuz of lag on server

#

idk

gaunt hatch
#

Then make your own auto respawn

#

Yea lag would do that

#

the packets don't catch up fast enough

#

#GETABETTERSERVER ?

proud basin
#

oh

#

I think I know why

gaunt hatch
#

y?

proud basin
#

It may be taco spigot doing that

gaunt hatch
#

taco spigot?

#

wtf is that

proud basin
#

taco spigot

opal juniper
#

its a fork

gaunt hatch
#

well maybe don't use that lol

#

Almost like we dont help with forks cause its not normal spigot

#

Like do i get a taco when i start spigot? Cause i am down for that.

proud basin
#

yes

granite stirrup
#

wait did paper made paperclip?

#

or no

proud basin
#

Yeah it was taco spigot doing that

#

Their auto respawn

gaunt hatch
#

hahahaha omg that moment when you are trying to find out what is going with your NPC and you create a infitite spawn loop hahaha

#

oops

quaint mantle
#

how i can set custom durability for item? item.setDurability doesn't work

sage swift
#

Damageable#setDamage

#

from meta

quaint mantle
#

that's damage

#

i want to change max durability

ivory sleet
#

You can’t change max durability iirc although an alternative would be to scale it

quaint mantle
#

how i can do this?

onyx shale
#

copy the logic of durability

lean gull
quiet ice
#

please do not do this to me🥺

onyx shale
#

?basics

steep nova
onyx shale
#

meh no cc

#

@ivory sleet add ?basics command

iron condor
#

how do I prevent the player from putting items into custom inventory?

quaint mantle
onyx shale
lean gull
#
    public String ifConfigValueIsSet(String ConfigValue) {
        return ConfigValue;
    }```
#

just testing

quiet ice
#

method != field

chrome beacon
#

?learnjava

undone axleBOT
onyx shale
#

we need a basics alias

#

for that

quiet ice
#

You are using it like a field, though you are declaring it like a method

lean gull
#

i'm already learnin in codeacadamy

steep nova
quiet ice
#

even then, since it just returns that string, you could just use the original string

steep nova
#

ye

ivory sleet
#

We have learnjava

#

?learnjava

undone axleBOT
onyx shale
quaint mantle
#

Lol floofsy strikes again

ivory sleet
#

Stellrow what alias should I add

quiet ice
#

Why not use tags?

onyx shale
quaint mantle
#

How often is this called?

stone sinew
onyx shale
#

what is getMat?

#

hope ur not looping

ivory sleet
undone axleBOT
#

Custom command successfully added.

onyx shale
#

through material enum

quiet ice
#

It could use regex, which is pretty resource intensive

quiet ice
#

But idk how #contains works

lean gull
#

plugin doesn't work

onyx shale
lean gull
#
// Reading from the config
String name = plugin.getConfig().getString("player-name");

// Writing to the config
plugin.getConfig().set("player-name", name);```
onyx shale
#

looks good

quiet ice
#

so? That should work

chrome beacon
#

?learnjava

onyx shale
#

however ur not saving

undone axleBOT
lean gull
#

it does not

chrome beacon
#

Please

onyx shale
#

are you saving after setting?

daring maple
# lean gull `plugin` doesn't work

'To read and write to the config using the above method, we call the getConfig() method. However, if you will be calling getConfig() outside of your main class, you should use the main class's instance' first sentence.

onyx shale
#

yeah thats a rip

quiet ice
#

"It does not work"
WHY DOES IT NOT WORK

chrome beacon
#

He doesn't have a plugin variable

lean gull
#

1 sec lemme re-write my code

steep nova