#help-archived

1 messages · Page 209 of 1

formal nimbus
#

even though I could just pass an already existing inventory to the player

pastel condor
#

you might be able to create an inventory, then set all the item stacks in the other inventory to the new one

formal nimbus
#

you can do that?

pastel condor
#

yup

formal nimbus
#

is there an easy way to copy it?

pastel condor
#

inventory.getContents() returns an item stack array

quick arch
#

A unique inventory for every player?

formal nimbus
#

well.... yes and no

#

I'm making a crate opening system

quick arch
#

oh

formal nimbus
#

so I want a basic layout for the scroller

#

but I want the name of the inventory to be the name of the crate the player is opening

quick arch
#

mhm...

formal nimbus
#

you might be able to create an inventory, then set all the item stacks in the other inventory to the new one
@pastel condor honestly it's easier just to make a new inventory

#

and obviously, if everyone was looking into the same inventory it wouldn't work

#

so my plan was to initialise a prefab

#

then make a clone of the inventory and pass it to a player when they open it

#

unfortunately you can't change the name of an inventory after creation

#

so the plan falls apart

open ibex
#

You can't directly change the title (unless nms maybe?) but you can open up an inventory with the exact same contents, just different title

formal nimbus
#

wdym @open ibex

open ibex
#

Just make a new Inventory with Bukkit.createInventory with the correct title, put the correct items in, and open it to the correct player while the other inventory is open so it transitions seamlessly

formal nimbus
#

that's not the issue

#

I don't need the title to change whilst they're in the inventory

#

I was just trying to make things more efficient by only creating one template inventory , which could then be clones to everyone who opens it

#

the issue is that the name changes depending on how they opened it

#

so I can't do that unfortunately

open ibex
#

Oh ok

#

Probably nms then

formal nimbus
#

right

#

honestly it probably won't make much of a difference regardless

#

it will probably end up being the same after it's compiled anyway xD

open ibex
#

Wait nope the field is final

#

Welp

formal nimbus
#

;-;

#

hello darkness my old friend

open ibex
#

Unless reflection can change final fields

formal nimbus
#

I dunno tbh, I haven't really learnt reflection

#

Well, i think I did at one point...

#

but then I didn't need to use it and then forgot about it

open ibex
#

It's not that difficult

#

Oh yeah you can change final fields with reflection

#

The field name is title

formal nimbus
#

huh

#

will it update it thou?

#

It might be final for a reason

#

It's probably fine since I'd be cloning it anyway

#

but honestly I cba now

open ibex
#

Inventory inv = Bukkit.createInventory();
Method getInventoryMethod = Inventory.class.getMethod("getInventory");
Object inv1 = getInventoryMethod.invoke(inv);
titleField = inv1.getClass().getDeclaredField("title");
titleField.setAccessible(true);
titleField.set(inv1, "new title");

#

Probably a few errors in there but that's the basic idea

formal nimbus
#

o nice

#

well I'll write it down in case I do decide to change it

#

it would be interesting to test it out

open ibex
#

Alright

#

You'll have to surround that in a try catch as well

bronze acorn
#

how do plugins add license keys or add a limit of ips that can use it

#

or like add a list of ips

#

etc

open ibex
#

Metrics?

#

I don't know if you can limit the amount of plugin users, but it doesn't seem fair

bronze acorn
#

i mean uh

#

for example

scenic carbon
#

Most anticheats do this

bronze acorn
#

do plugins use post / get im guessing

scenic carbon
#

to prevent leaking

open ibex
#

Oh

bronze acorn
#

ye

#

it's something i want to learn idk how it's possible

#

possibly just get / post apis

open ibex
#

Each plugin could report to a website which could keep track of the total amount and let new plugins request data from it

bronze acorn
#

ye but lik

#

but then people can still just decompile plugins and remove it

#

that part

#

and then leak it

#

so how do plugin developers get around that

subtle blade
#

Don't invest your time in something that will be circumvented easily

bronze acorn
#

oh so licensing is pointless?

subtle blade
#

Work on improving your software instead

#

Yes

#

Absolutely it is

bronze acorn
#

ah

#

aight 🙂

open ibex
#

oh

formal nimbus
#

sad noises

subtle blade
#

I released a premium plugin recently, not obfuscated and open source

#

I encourage the same practice

bronze acorn
#

o

#

i'm not sad about it, it's just i'm bored bc of summer and dont know what to create or do, i've been asking people for like

#

ideas

#

of original minigames, gamemodes, twists of existing ones

subtle blade
#

Definitely wouldn't advise investing that time into DRM ;P

bronze acorn
#

xD

subtle blade
#

It's not at all worth your time, I can assure you of that

open ibex
#

Can't people just compile the source then

bronze acorn
#

that's why it's open source

#

xd

open ibex
#

But it's premium

bronze acorn
#

choco is nice

subtle blade
#

Yes, they can. and I'm still going to offer support to those that do

bronze acorn
#

i forgot there's one other plugin that's-

#

OH YEAH

#

redisbungee

#

old and abandoned

#

$20 on spigot

#

but free to compile on github

open ibex
#

lol

subtle blade
#

Yep, though someone forked and updated it to recent versions

#

Which was nice 🙂

bronze acorn
#

ah

#

do any of u got ideas for some original minigame / gamemodes or something based off an existing video game or even a "twist" / different style of an existing one

subtle blade
#

The way I like to think of my premium resource is that it would have otherwise been free and open source anyways. I don't really care. The premium status is more as a way to reward me if someone chooses to purchase it

open ibex
#

That's pretty awesome

#

I made one public plugin but it's not that useful

bronze acorn
#

ooh

#

i got an idea

#

i should make a plugin that adds realistic mechanics into mc but im 100% sure that already exists

#

but it sounds fun xd

open ibex
#

Sounds like a lot of work and something that will be difficult to make in just a plugin

bronze acorn
#

a lot of it sounds complicated but yeah it sounds like it'd be fun

#

just wiling to do something fun in my free time, dont care if its difficult as long as its fun

open ibex
#

That makes sense

bronze acorn
#

DANGIT

#

😦

quick arch
#

There can always be addons for it 👀

bronze acorn
#

😦

#

ill make something based off of it just more hopefully xd

sturdy oar
#

@hoary topaz

#

I know you suggested the reload command, but that's not the place to do it

hoary topaz
#

what

#

sorry

bronze acorn
#

viper

#

wtf

#

this sounds epic

sturdy oar
#

Yeah

#

it's the best hardware plugin on SpigotMC

bronze acorn
#

damn

#

looks lke it

#

spigot rlly lets u do that?

sturdy oar
#

let me do what

bronze acorn
#

or i mean

#

nevermind

#

that's java

#

xd

sturdy oar
#

I use OSHI to get the info

bronze acorn
#

damn thats a sick plugin

#

ohh

hoary topaz
#

@sturdy oar

#

I got ur reload ide

#

idea

#

and I advertise wherever I want

sturdy oar
#

what

#

why would you advertise under my resource section

bronze acorn
#

moldy not cool

hoary topaz
#

is that ur code

sturdy oar
#

no

hoary topaz
#

r u sure

sturdy oar
#

i mean yes that's my code

hoary topaz
#

🙂

bronze acorn
#

LOL

quick arch
#

decompiling open source is no good

hoary topaz
#

you know why I am asking

sturdy oar
#

so you don't need to decompile

bronze acorn
#

o u use

#

kotlin?

sturdy oar
#

in that project yes

bronze acorn
#

i think thats what it is

#

ah

#

nice

#

kotlin is very similar im assuming

sturdy oar
#

i don't like it

#

it was just for testing

bronze acorn
#

o

#

xD

quick arch
#

Should've used Java and ACF

sturdy oar
#

no

#

ACF for a 2 class project?

#

no ty

bronze acorn
#

xd

sturdy oar
#

i use ACF on other plugins

#

but i find it stupid to import acf for a /plugin reload

quick arch
#

my plugin has only 1 command for now and I'm using it 😏

bronze acorn
#

😏

sturdy oar
#

I also use IDB if you're insterested

#

IDB is cool when you have database implementations

tough kraken
#

how would i search for a biome? i want to set a plains biome as spawn location when creating a new world

sinful spire
#

/locatebiome?

tough kraken
#

i mean in code lol

sinful spire
#

oh

tough kraken
#

creating a new arena world, with a border, and want to prevent players to spawn at a dark forest or in a sea

sinful spire
#

you could just set the biome

#

or is it just a arena

#

like uhc

tough kraken
#

its a normal world

sinful spire
#

ohh

tough kraken
#

you could just set the biome
@sinful spire i think it would just change the name

sinful spire
#

and the grass color

#

yea

stoic shell
#

How can I send an action bar with ProtocolLib with a message, fade in time, stay time, and fade out time?

tough kraken
#

with protocolLib idk

#

i know with spigot

#

but actionbars dont have fade-in/out times

#

they just get updated every second

sinful spire
#

they do i think

stoic shell
#

yes they do

tough kraken
#

wtf

sinful spire
#

they're in /title and you can set that in title

tough kraken
#

/title has a way for actionbars?

sinful spire
#

yeah

tough kraken
#

lol nvm

stoic shell
#

I have some nms code, but I'm not sure how to do it with protocollib

tough kraken
#

i am using

player.spigot.sendMessage(ChatMessageType.Actionbar, new TextComponent("message"));

stoic shell
#

yep

#

I researched

#

and with that, there is no way to specify stay and fade times.

tough kraken
#

i have no clue about ProtocolLib lol

stoic shell
#
   public void sendActionBar(Player player, String message, int fadeIn, int stay, int fadeOut) {
      PacketPlayOutTitle titlePacket = new PacketPlayOutTitle(EnumTitleAction.ACTIONBAR, ChatSerializer.a("{\"text\":\"" + message + "\"}"), fadeIn, stay, fadeOut);
      ((CraftPlayer)player).getHandle().playerConnection.sendPacket(titlePacket);
   }```
#

That's what I currently have, but I'm trying to not use NMS for it and instead use ProtocolLib

tough kraken
#

well whats the chance, that there is no plains biome between x/z 1 - 10k

#

i think there will be one always?

#

oh wow, intellij crashed wtf

sinful spire
#

thats why u use eclipse

tough kraken
#

eclipse laggs like shit for me

#

and intellij is way better if you are not a beginner

in my opinion

sinful spire
#

i am a beginner so i guess thats fine

tidal mica
#

Does the PlayerMoveEvent edit position values?

sinful spire
#

wanted to switch to intellij but its laggy af somehow

tough kraken
#

eclipse is best for beginners, because intellij is a bit complicated

#

i think this should work?

private void searchBiome() {
        Random random = new Random();
        int x = random.nextInt(10000 - 1);
        int z = random.nextInt(10000 - 1);
        int y = Bukkit.getWorld("world").getHighestBlockYAt(x, z);
        Location loc = new Location(Bukkit.getWorld("world"), x, y, z);
        if (loc.getBlock().getBiome() != Biome.PLAINS) {
            searchBiome();
        } else {
            Bukkit.getWorld("world").setSpawnLocation(loc);
        }
    }
nova badge
#

how to check if the plugin message that BungeeCord receives is from a particular plugin?

#

I am using PluginMessageEvent

tough kraken
#

maybe with a config file idk

#

with the sending-plugin set a boolean or string in a yml-file, and with the bungee-plugin read it

#

if bungeecord supports that

nova badge
#
    @EventHandler
    public void onMessage(PluginMessageEvent e) {
        DataInputStream in = new DataInputStream(new ByteArrayInputStream(e.getData()));
        try {
            String subChannel = in.readUTF();
            System.out.println(subChannel);

            if (subChannel.equalsIgnoreCase("command")) {
                String serverName = in.readUTF();
                String command = in.readUTF();

                if (serverName.equalsIgnoreCase("all")) {
                    for (Map.Entry<String, ServerInfo> entry : BungeeCord.getInstance().getServers().entrySet()) {
                        ServerInfo server = entry.getValue();
                        sendToBukkit(command, server);
                    }
                } else {
                    ServerInfo server = BungeeCord.getInstance().getServerInfo(serverName);
                    if (server != null) {
                        sendToBukkit(command, server);
                    }
                }
            }

        } catch (IOException ex) {
            ex.printStackTrace();
        }```
#

I have this rn

tough kraken
#

with the sending-plugin set a boolean or string in a yml-file, and with the bungee-plugin read it
@tough kraken

#

if bungeecord supports that
@tough kraken

#

idk if bungee supports custom configs

#

but i think so

nova badge
#

well the issue here is, this event is called for every plugin message bungee receives

#

and in case there is no sub channel provided, it will throw exception as you can expect

#

although this works when my plugin sends message

#

but I have seen my bungee console getting spammed when I join the server

tough kraken
#

on sending of the PluginMessage, use the config and set like

SendingServer: "servername"

in bungee in the event get this string, and check if its the server-name, you are expecting

nova badge
#

you didn't get it.

#

All I am saying the error is here: String subChannel = in.readUTF();

#

there are messages that do not require another data

#

so when I do read the data, it will throw exception

tough kraken
#

then idk

#

the only subchannel i was ever using is "Connect"

stoic shell
#

.-. do I really need to keep using NMS just for an action bar...

nova badge
#

.-. do I really need to keep using NMS just for an action bar...
@stoic shell there are API's

tough kraken
#

whats so bad on that?

.-. do I really need to keep using NMS just for an action bar...
@stoic shell

stoic shell
#

nothing, just I would probably have to update it each Minecraft release

tough kraken
#

well i am using pvp bots

#

with nms

#

believe, i know what you mean xd

#

but maybe protocolLib has a discord?

#

i dont know about pl, like i said

tidal mica
#

Sorry guys, do you know in what Class Spigot Updates the values for the PlayerMoveEvent?

stoic shell
#

alright

nova badge
#

I found the way

#

there is a getTag() method

#

which basically returns the channel name

half badge
#

The values of a player move event are not changed (unless a plugin were to)

#

New player move event is dispatcher by the event dispatcher each time

subtle blade
#

He wants to know where it’s called

#

I think it’s in the PlayerInteractManager, but really... just do a search for PlayerMoveEvent in BuildTools

bold anchor
#

Just dump a stacktrace when the playermoveevent is called if you don’t have the source code from builtools or whatever around

formal nimbus
#

can anyone help me here?

#

I have no idea why it's not working ;-;

#

this is my main

quick arch
#

Line 42 is null

sturdy oar
#

its null

formal nimbus
#

I can see that

#

but that makes no sense?

#

how can a function call be null?

#

the function exists

sturdy oar
#

saver is null

#

hence the function can't be called

formal nimbus
#

but I make a saver in like 16?

#

to I have to instantiate it in onEnable()?

sturdy oar
#

why is saver static

#

like i see no reason for it to be static tbh

formal nimbus
#

it told me to make it static ;-;

quick arch
#

Cause static abuse, why not

formal nimbus
#

....

#

how is it static abuse?

#

the class isn't static

#

this is me trying to avoid static abuse by actually creating the object D:

#

o

quick arch
#

It doesn't have to be static

formal nimbus
#

apparently I can make it not static

sturdy oar
#

there are some cases where class fields should be static, but that? no

tribal field
#

Does anyone know how I'd change the color of a glowing entity (Not a player, but another living entity such as a mob)? I know the glow color for players is associated with the team, but is it even possible to add mobs to teams?

formal nimbus
#

...

quick arch
#

Uuids?

formal nimbus
#

how is this a static referance?

#

CratePlugin.tracker isn't static

sturdy oar
#

@tribal field Usually packets are used for glowing colors

quick arch
#

CratePlugin isn't an instance

formal nimbus
#

oohhhhhh

#

so how do I get an instance of it?

#

it's my main

tribal field
#

Ah I see, any Packet in particular? @sturdy oar

formal nimbus
#

lmao nvm

tribal field
#

Still fairly new to spigot, but I do have experience with them from Forge :P

formal nimbus
#

I already have a function for getting the instance xD

#

ok that actually makes a lot of sense and helps, thx

lofty otter
#

soo is there no EntityMoveEvent?

quick arch
#

There's none, yes

subtle blade
#

Just dump a stacktrace when the playermoveevent is called if you don’t have the source code from builtools or whatever around
@bold anchor you have to. You can’t get the server jar to run your plugins any other way anyways

lofty otter
#

so how do i listen to entities moving

#

not just players

subtle blade
#

If you don’t have BuildTools, I’ll be impressed if you’re running a test server

quick arch
#

Runnable/Schedulers

lofty otter
#

is that an answer to my question?

#

oh

#

well i still dont get what you mean exactly

#

am I supposed to poll all entities to check if they're moving?

quick arch
#

You have to use a runnable or scheduler and check if they moved individually

lofty otter
#

lmfao

quick arch
#

Performance intensive but that's the only way afaik

lofty otter
#

is there a reason that event doesnt exist?

#

there seems to be every other thing that could possibly be thought of

quick arch
#

It'll get very laggy

#

Will be ticked all the time

lofty otter
#

well thats up to plugin devs to optimize

#

theres a bunch of code happening with every entity move anyways

#

adding something small wont impact performance

#

also, forcing people to poll entities is much much much worse than any possible entity move event

quick arch
#

The entity move event will be big though

#

😬

formal nimbus
#

ok party time

#

no more static abuse

lofty otter
#

not any bigger than the PlayerMoveEvent

formal nimbus
#

🥳

quick arch
#

It'll definitely be bigger

#

There are tens of hundreds of entities for each player online cause of chunks

#

It'll be ticked almost all the time

lofty otter
#

yeah, theres code running for each entity anyways

#

for mobs, all the AI calculations

#

and adding an event doesnt do anything compared to that

#

all of that data is there anyways

quick arch
#

Will still be worse than the player move event

subtle blade
#

Those public, non final fields are arguably worse, Cobble 😛

#

private, final, make some getters

#

Also, Bukkit > this.getServer()

formal nimbus
#

looks like the config file can't be found?

subtle blade
#

Instance hasn't yet been initialized at the time of field construction

formal nimbus
#

what is the file named after?

subtle blade
#

Fields initialized first, onEnable() is called later

bold anchor
#

Don’t make that static

#

Or well you can, but set it after onEnable then

formal nimbus
#

heh

#

the file config is in a seperate class

#

why wouldn't I make it static?

#

I only want 1 file configuration right?

#

if I made multiple savers that would mean multiple config files

bold anchor
#

It’s meh doesn’t really fit with my principles, just set the field in onEnable instead of on class init

quick arch
#

The class can be linked to 1 file

formal nimbus
#

Those public, non final fields are arguably worse, Cobble 😛
@subtle blade so... make them private and final, then make some getters for my other classes to use?

#

Fields initialized first, onEnable() is called later
@subtle blade so I should initialise them in onEnable?

bold anchor
#

Yes

subtle blade
#

Yes, in which case they can't be final

#

Though they should still be private and have getters

formal nimbus
#

why should I make them private and use getters

subtle blade
#

Encapsulation. One of the core principles of OOP

formal nimbus
#

Encapsulation?

subtle blade
#

If I wanted to, right now, I could have my plugin set your saver to my own Saver instance

formal nimbus
#

ah

#

so it makes it vulnerable

subtle blade
#

In a way, yes

formal nimbus
#

why not just make them protected then?

#

...

subtle blade
#

protected means children and classes in the same package may access it

formal nimbus
#

does that mean I need to go and change every public variable I have

subtle blade
#

Not quite the same as package-private or private

#

Well, not necessarily. There isn't anything inherently wrong with public. It's just not as common

formal nimbus
#

right...

#

well, I will change them to private later

bold anchor
#

It’s bascially just a principle we follow cause we do 🤷🏼‍♂️

#

I’m sure there is some actual correct theory but whatever

sage summit
#

How would I make it so when a message (it gets the message text from the config) is said in chat how do I put a value into it, example, total animals killed?

unkempt ridge
quick arch
#

Don't think I have much Encapsulation on my plugin 🤔

formal nimbus
#

uhhh, this is weird

bold anchor
#

I use kotlin, it handles encapsulation for me

formal nimbus
#

nvm

#

it's gone now

#

weird

green cedar
#

plugin.yml should go outside the me folder

formal nimbus
#

o, well it's working now

#

but I'll move it anyway

quick arch
#

src/resource or something

green cedar
#

It should be in the src folder

formal nimbus
#

kk

#

I can't move it

#

I think they are in the src

green cedar
#

Well i dont know if it "should" but that is where mine has always been without issue.

bold anchor
#

Doesn’t look like maven or gradle

formal nimbus
#

I think it's just eclipse being weird

bold anchor
#

Don’t listen to him it’s in the correct places

#

You should learn how to use gradle / maven tho. It’s great

green cedar
#

Hey @subtle blade. Isn't PlayerLeashEntityEvent supposed to trigger when breaking a lead? From memory i believe it used to. Am i misremembering?

sage summit
#

How would I make it so when a message (it gets the message text from the config) is said in chat how do I put a value into it, example, total animals killed?

green cedar
#

Im not clear on what you asking doominator.

sage summit
#

so you know how there are values that you can change

bold anchor
#

Papi

sage summit
#

like kills to 1 or 10

green cedar
#

Are you making a plugin doominator?

sage summit
#

yes

#

i thinks its a placeholder

green cedar
#

You want a command like /totalkills or you mean if someone just says those words in a message?

#

Or you mean if you every put "#" in a chat message it replaces the "#" with total kills?

sage summit
#

i want a message that runs every few minutes that says how many kills a player has and it gets the message text from the config

green cedar
#

So every x minutes it will just chat spam a system message that says "Player blah has killed # animals." Something like that?

sage summit
#

like in the config it says

message: you have %totalkills%
quick arch
#

That's a placeholder, yes

sage summit
#

i just need the message part

green cedar
#

Okay, narrow that down. What do you mean the message part? There are a few moving parts to this. What part are you missing? how to read a config? How to make it repeat?

sage summit
#

how to make the placeholder

#

i think

green cedar
#

just use java string functions like contains

sage summit
#

ok thanks!

bold anchor
#

Oh that’s me

#

Isn’t that like old lol

quick arch
#

Yeah but hey, better than nested .replaceAll

#

Kek

bold anchor
#

That’s for regex tho

#

Use replace

quick arch
#

That doesn't work if there's multiple of the same placeholders right

#

🤔

bold anchor
#

It does

quick arch
#

Oh

bold anchor
#

replace replaces all occurenses

quick arch
#

Java should've written it better

bold anchor
#

replaceAll is a misleading name yes

quick arch
#

I thought it replaced only one occurance not duplicates

bold anchor
#

replaceAll is for regex, replace is for normal shit

quick arch
#

That would've saved me a shit ton of time

#

._.

bold anchor
#

Have you tried kotlin?

quick arch
#

no

bold anchor
#

It’s great

quick arch
#

Don't plan on playing with Kotlin next

#

Plan on doing C++ soon though

bold anchor
#

Why c++?

quick arch
#

Game development

bold anchor
#

I see, i would have suggested rust. But don’t think there is a lot of docu/tuts on rust games

quick arch
#

I'm a lazy person so the game would take years but that's good enough

open cipher
bold anchor
#

Dm the author

subtle blade
#

Give it a bit of time to process. If after 24 hours you're still unable to download, contact the author

open cipher
#

Oke 😉

#

Usually its immediately

#

but its pending in my paypal

quick arch
#

oh some premium resources have manual accept

#

which is dumb

open cipher
#

Ohh

#

So I guess I have to wait for him?

quick arch
#

It's either that, or it takes a while

#

If it's more than 24 hours, then it's most likely manual accept

#

iirc, AWE has it

#

or atleast a world edit plugin has it

tiny pebble
#

Is there a packet for the animation that happens when a player's item is on cooldown? Like ya know when you right-click a sheep with shears and the arm just goes downwards? Yeah does anyone know how to replicate that

sturdy oar
#

Mh

#

You mean the interact animation

#

If you need the clientbound one

#

It's 0x06

#

The the second field of that packet should be 0x00 which is arm animation

coral mural
#

guys how do i get the permission of having everyone being able to use mail from essentialschat

#

cuz im using /lp group default permission set esssentials.mail

#

but its not working

sturdy oar
#

Then it's the wrong node?

#

Idk man

severe garnet
#

Those with world guard, does anyone know how i can rename my region?

opal adder
#

I mean, you could go into the file itself on your FTP, and then after saving type /worldguard reload

severe garnet
#

ok - just wanted to make sure there wasnt something easy i was missing; like /region rename

opal adder
#

I mean there probably is, honestly I just don't know

bold anchor
#

Redefine or smth dk

#

Google it

opal adder
#

No, redefine just changes where the region is

severe garnet
#

I did google it and found a bunch of unanswered forums, thats why im asking here

tiny pebble
#

@sturdy oar That swings the arm. What I'm lookin for is when the arm just moves down, such as right after the shears or... I can't really think of anytime else lmfao. Kinda like the cooldown for tools?

subtle blade
#

You can apply the cooldown animation on the item if you'd like

#

Don't think it hangs the arm though

sturdy oar
#

You can't force the player to swing the arm I think

tiny pebble
#

You can ^ that's what it did... lol

I'll try PacketPlayOutSetCooldown 0x18

bold anchor
#

You most certainly can

subtle blade
#

PlayerInventory#setCooldown(Material)

tiny pebble
#

oh that's a thing omg

subtle blade
#

I added that some time ago

tiny pebble
#

dope

sturdy oar
#

Oh that's cooldown it's another thing

subtle blade
#

Yeah - like with an ender pearl or shields

#

I'm not sure if that's what you're after

tiny pebble
#

I don't believe that is, but either way honestly that's super useful

#

I'm lookin for when you right-click with shears, your arm just moves down rather than swings basically. I think the packet I found might do it, though I'll try your method as well since with enderpearls I think the same thing happens

subtle blade
#

Yeah. Don't think it plays the animation but it's worth a shot I suppose

high mantle
#

im literally pulling hairs out of my head

green cedar
#

Got a min Choco?

subtle blade
#

I've got lots of minutes

green cedar
#

I tagged you above, should i repost it about an event not firing.

high mantle
#

whatever happens i just can't seem to figure out how to save and load a player's inventory

subtle blade
#

Ah, the leads?

green cedar
#

Yes the leads

#

Its changed, should i find a new way to protect it, or is this a glitch to be fixed?

subtle blade
#

Was that ever called on break?

#

I don't remember that being the case but I also never used it myself

green cedar
#

used to be. I used to to keep players from breaking leads of a tamed animal that wasn't theirs.

tiny pebble
#

The method you gave me Choco doesn't do anything, I assume it's because it's an iron ingot that I attempted to use it on. Either that or I didn't notice. Although the packet I found does the exact thing the method you gave me does and I can set the ticks for it 😮

subtle blade
#

EntityUnleashEvent

green cedar
#

But if its going to be the new way. Then what event do you suggest i use to prevent players from breaking leads?

#

Oh, maybe im being silly, let me check that one. Maybe thats the broken one.

tiny pebble
#

Just checked and apparently the shears thing doesn't do the animation I'm thinking of... Something does though, I know it for a fact. I'll just do a swing. Thanks guys!

subtle blade
#

You're trying to do the thing where when you pull out a sword, axe or whatever, it charges?

tiny pebble
#

just the animation of it really... sliding up and down

#

because i know some item has the animation of the arm move downwards rather than a swing

#

and from what i assume to be older game versions, the shears use to do that instead of swing

green cedar
#

Yeah Choco, i don't think unleash is an event. I dont see it in the docs.

#

Am i just blind?

tiny pebble
#

so i thought that animation existed, but if it doesn't that's totally fine. maybe im delusions O.o

green cedar
#

I found it, im blind.

tiny pebble
#

Best way one could describe what I was looking for was the animation between switching items, when the first item goes down and the second one comes up. Either way, this'll do 🙂

subtle blade
#

EntityUnleashEvent? It should exist because I was literally looking at the call lol

green cedar
#

Yes, i said after that ^^^ i found it. Sorry i missed it at first.

#

Were these events split? Did it used to be just one event? Or am i just getting old?

#

Granted last time i coded that part was when bukkit still existed.

subtle blade
#

I think this has been the case for quite some time now

#

Single-responsibility for events, so this has been the case at least for as long as Spigot has maintained Bukkit

green cedar
#

Im guessing i never noticed the switch between bukkit/spigot. Thanks for pointing me the right way.

vocal phoenix
#

hello to all im am getting an error

#

[16:48:08] [Server thread/ERROR]: Could not pass event EntityDamageByEntityEvent to PlayPassive v1.2.4
org.bukkit.event.EventException: null

#

i cant paste the whole code

subtle blade
#

Is "PlayPassive" your plugin?

vocal phoenix
#

no

#

i dont even have that in myplugins

#

but there is more to the code

#

is there a way i can send it

subtle blade
#

Well you most definitely do have it installed, that's what's throwing the exception ;P

#

If you run /version PlayPassive in game it should give you information about the plugin, including the author (and maybe a website). Google their name, or just the plugin name + Spigot (i.e. "PlayPassive Spigot") and contact their support

#

Send them the whole error

vocal phoenix
#

ok ill lookinto that

leaden temple
#

hello, I joined this server because I am having trouble adding/changing the perms on my server, I don't really understand how it works and I need help

nimble solar
#

What's the most efficient way of doing temporary ranks?
I'm currently scheduling a repeating task that checks if the player's rank has expired but I don't think that's very efficient.

high mantle
#

trying to save and load a player inventory. however, it seems that Bukkit.createInventory() won't accept all of a player's inventory due to its requirement of needing to be a multiple of 9. Is there some other way to create an inventory that doesn't have this restriction so i can save and load these extra inventory slots?

#

@nimble solar repeating a task every interval is the only way you can do that to my knowledge

#

though there are some api's that offer timed events besides java's Timer

nimble solar
#

Hm, okay. Thanks.

leaden temple
#

can someone please help, I'm just trying to make it so I can teleport to my death coords

high mantle
#

look into events

#

im 99% sure there's a death event in the documentation somewhere. you can look for some sort of player death event, grab the location for it and write it to a file. then when you type the command, retreive the info from the file, then tp the player there

quick arch
#

there's a death event, yes

leaden temple
#

no like, I have another plugin, I'm trying to fix the perms, so I can use the commands

high mantle
#

uh

#

look at the plugin's information?

leaden temple
#

I have, it's not really telling me anything

high mantle
#

config.yml, readme if it has one, or the website you got it from

#

every plugin can have its own perms so i can't tell you man

leaden temple
#

I'm just trying to figure out how to use LuckPerms

high mantle
#

that'll show you how to set it up

leaden temple
#

thanks

high mantle
#

np

celest thorn
#

can someone help me install spiggot? I have a vanilla minecraft server already

#

I'm a bit lost :/

quick arch
#

?nt

#

?bt

worldly heathBOT
celest thorn
#

ty!

tiny pebble
#
        NamespacedKey key = new NamespacedKey(SyringePlugin.getInstance(), meta.getLocalizedName());
        ShapedRecipe recipe = new ShapedRecipe(key, syringe);
        recipe.shape("n  ", " g ", "  i");
        recipe.setIngredient('n', Material.IRON_NUGGET);
        recipe.setIngredient('g', Material.GLASS);
        recipe.setIngredient('i', Material.IRON_INGOT);

        Bukkit.addRecipe(recipe);

So I got this, and the recipe works, but I still always get the error of their being a duplicate recipe with the same name?

subtle blade
#

why are you using meta.getLocalizedName()?

#

That value should be the unique key for that recipe

#

getLocalizedName() definitely is not unique

tiny pebble
#

I set the localized name to "empty_syringe" which I thought was kinda unique

#

¯_(ツ)_/¯

#

either way even when i set it to "empty_syringe" same thing happens

#

as in when i set the key to that ^

subtle blade
#

You've not re-used that key anywhere?

tiny pebble
#

nada

#

i have also tried it with word vomit

wet bronze
#

Is there a 1.16 plugin that allows you to transport chests with the stuff inside them?

celest thorn
#

how do I add a plugin to my server?

quick arch
#

Drop em' in the plugins folder

celest thorn
#

where in the file folder is spiggot-api.jar?

#

I'm trying to create my first plugin and I can't even find the folder to point the library to

subtle blade
#

In BuildTools you mean?

#

If so, you can find the API artifact under Spigot/Spigot-API/target

#

Will be called something like spigot-api-1.16.1-R0.1-SNAPSHOT-shaded

celest thorn
#

I tried that but then I couldn't import the package

#

it says the package doesn't exist

#

I don't really understand it

#

I don't want to ping :/

high mantle
#

just import that into your project

#

then when you're done making the plugin, export it. then just drop that into your plugins folder

celest thorn
#

what I'm saying is that I can't import it into my code.

#

it says its invalid.

#

quote

wanton delta
#

what is the import

celest thorn
#

org.bukkit.plugin.java.JavaPlugin

high mantle
#

then you either are not importing the right one or you aren't importing correctly

celest thorn
#

import org.bukkit.plugin.java.JavaPlugin;

#

that's what I'm doing

high mantle
celest thorn
#

does not work

#

I do not have that jar file

high mantle
#

then you don't have a server

celest thorn
#

I do

#

it runs

high mantle
#

then you have that file lol

celest thorn
#

the tutorial told me to import the API file

#

not just the jar file

high mantle
#

that is the api file

celest thorn
#

?????

#

it says spiggot-api.jar

#

are they the same

high mantle
#

they are indeed the same

#

the jar that runs the server is the same api

subtle blade
#

Well... for the sake of clarification, they're not the same

#

The API contains just the interfaces, events, etc.. Everything front-facing with which developers should be interfacing.

#

The server contains the API as well as the modified server implementing said API

celest thorn
#

so do I import it?

#

that file

high mantle
#

yes

celest thorn
#

okok let me try that

high mantle
#

or import the api only as explained by choco

celest thorn
#

it still says the package doesn't exist

#

pls help

high mantle
#

look for "how to import an external jar into <your-ide>"

celest thorn
#

I did it riht

#

right

#

I think

#

I'm using netbeans

high mantle
#

if the package doesn't exist then you haven't imported it

celest thorn
#

I'm really confused

high mantle
#

correctly at least

celest thorn
#

I don't know what I did wrong

#

do I need to do more than just import it into a library?

frigid ember
#

hi is there anyway to fix

#

issue with placeholder

#

not registering downloaded cloud file

steady osprey
#

https://pastebin.com/2R63Zx85
e.getDrops().add(utils.mobCoinItem()); and p.getInventory().addItem(utils.mobCoinItem()); are both null idk why
heres utils.mobcoinitem();

public ItemStack mobCoinItem() {
        ItemStack item = new ItemStack(Material.SUNFLOWER);
        ItemMeta meta = item.getItemMeta();
        meta.setDisplayName(ChatColor.translateAlternateColorCodes('&', 
                "&e&l» &6&lMob Coin e&l«"));
        List<String> lore = new ArrayList<String>();
        lore.add(ChatColor.translateAlternateColorCodes('&', "&7Trade in &6&lMob Coins"));
        lore.add(ChatColor.translateAlternateColorCodes('&', "&7for &aCash&7, &eExperience"));
        lore.add(ChatColor.translateAlternateColorCodes('&', "&7and &bIsland Crystals"));
        meta.setLore(listTranslate(lore));
        item.setItemMeta(meta);
        return item;
    }
subtle blade
#

Well, for one, I don't think getDrops() is mutable

steady osprey
#

i tried other ways to get the item than getDrops() so that wouldnt be it

subtle blade
#

Oh it is mutable

#

Nevermind. Ignore me

steady osprey
#

alr

subtle blade
#

I'm thinking of Block#getDrops() which isn't mutable

steady osprey
#

o

subtle blade
#

NPE is probably as a result of p. There's no guarantee that every entity that dies was killed as a result of a player

#

Entity#getKiller() can return null

steady osprey
#

ill add a null check but i killed the enemy so p wouldnt be null

subtle blade
#

Well that's the only thing I can imagine being null in that snippet

#

Unless of course utils is null

steady osprey
#

crap, it is

hardy cedar
#

i hate bungeecord some times 😦 on server change it have A STUPID DELAY to change the server

steady osprey
#

forgot to initialize it

subtle blade
#

;P

hardy cedar
#

is there anyway to instant tp the player to the other server

#

because bungeecord has a stupid delay

#

or can i have a idea to fix the delay?

lusty vortex
#

@hardy cedar There's no delay for me? Seems pretty instant

hardy cedar
#

i have big delay

lusty vortex
#

Like how much of a delay?

hardy cedar
#

2 - 3 seconds

lusty vortex
#

Mine seems to do it in under a second

#

Are you connecting to a server local to the bungeecord instance?

hardy cedar
#

yes

lusty vortex
#

🤷‍♂️

hardy cedar
#

also my memory is good

#

tps 20 on all servers

#

bungeecord has free 5gb rams

#

and my cpu usage is 8%

#

idk wtf is going on

#

maybe something in the config

#

?

quick arch
#

5gb ram

#

why does Bungeecord need 5gb of ram

hardy cedar
#

its just free space

#

so i gave it all of that

#

but still delays

#

idk what is wrong with it

#

my ping is like 70 so i dont think its the reason

#

but 2 - 3 seconds is alot

quick arch
#

Bungeecord doesn't need that much ram

#

512mb-1gb max iirc

knotty thicket
#

can I ask plugin help here?

hardy cedar
#

ik but i still talk about the delay

#

can I ask plugin help here?
@knotty thicket yes?

quick arch
#

o 2-3 seconds to log in

hardy cedar
#

o 2-3 seconds to log in
@quick arch no to change the server

quick arch
#

oh

#

I don't use bungeecord rip (cause I don't have an actual server/network up)

hardy cedar
#

oof

knotty thicket
#

I am having trouble with WorldEdit
I want to set different block change limits per rank
(default 2000 blocks, vip 5000, mvp 10000)

wet bronze
#

Hey

#

Is there a way to enable commandblocks without restarting the server?

hardy cedar
#

I am having trouble with WorldEdit
I want to set different block change limits per rank
(default 2000 blocks, vip 5000, mvp 10000)
@knotty thicket you must ask that in EngineHub which is the WorldEdit support server

#

🙂

knotty thicket
#

do they have a Discord server?

hardy cedar
#

yes

knotty thicket
#

I found it, thanks

hardy cedar
#

np

frigid ember
#

&6-- Twitter Link(s) --

#

xpected <block end>, but found '<anchor>'
in 'string', line 1376, column 19:
InstagramHeader: '&6-- Twitter Link(s) --'
^

    at org.yaml.snakeyaml.parser.ParserImpl$ParseBlockMappingKey.produce(ParserImpl.java:572) ~[server.jar:git-Spigot-800b93f-8160e29]
    at org.yaml.snakeyaml.parser.ParserImpl.peekEvent(ParserImpl.java:158) ~[server.jar:git-Spigot-800b93f-8160e29]
    at org.yaml.snakeyaml.parser.ParserImpl.checkEvent(ParserImpl.java:148) ~[server.jar:git-Spigot-800b93f-8160e29]
    at org.yaml.snakeyaml.composer.Composer.composeMappingNode(Composer.java:217) ~[server.jar:git-Spigot-800b93f-8160e29]
    at org.yaml.snakeyaml.composer.Composer.composeNode(Composer.java:144) ~[server.jar:git-Spigot-800b93f-8160e29]
    at org.yaml.snakeyaml.composer.Composer.getNode(Composer.java:85) ~[server.jar:git-Spigot-800b93f-8160e29]
    at org.yaml.snakeyaml.composer.Composer.getSingleNode(Composer.java:108) ~[server.jar:git-Spigot-800b93f-8160e29]
    at org.yaml.snakeyaml.constructor.BaseConstructor.getSingleData(BaseConstructor.java:141) ~[server.jar:git-Spigot-800b93f-8160e29]
    at org.yaml.snakeyaml.Yaml.loadFromReader(Yaml.java:525) ~[server.jar:git-Spigot-800b93f-8160e29]
    at org.yaml.snakeyaml.Yaml.load(Yaml.java:438) ~[server.jar:git-Spigot-800b93f-8160e29]
    at org.bukkit.configuration.file.YamlConfiguration.loadFromString(YamlConfiguration.java:54) ~[server.jar:git-Spigot-800b93f-8160e29]
    ... 26 more
#

wtf

subtle blade
#

Would probably use double quotes there instead

#

InstagramHeader: "&6-- Twitter Link(s) --"

frigid ember
#

holup

#

im using staff facilities

#

plugin

hardy cedar
#

any idea to fix the bungeecord delay thing?

pastel condor
#

im using staff facilities
It’s irrelevant because they are using the ymal configuration object thing in the plugin

hollow fossil
#

i need some help with mcmmo if any one has time

#

or if anyone have a discord for mcmmo so i can get some help there

pastel condor
#

Their discord link is discord com invite/bJ7pFS9

buoyant path
#

anyone have a good method for centering items in an inventory they'd like to share?

strong lantern
#

hey I know this question sounds stupid but how do relative paths work in java

#

is it relative to the class file

#

or relative to the project folder

#

?help

#

HELP

sturdy oar
#

What are you doing

strong lantern
#

saving player ranks in a txt file

sturdy oar
#

TXT..?

strong lantern
#

for multipule servers at the same time

#

wat?

sturdy oar
#

why aren't you using SQL?

#

Just curious

strong lantern
#

because idk

#

is sql for local files?

sturdy oar
#

Yeah and it's definitely faster than a .txt file

strong lantern
#

what u mean

#

file.sql

#

??

sturdy oar
#

yes

#

file.db

strong lantern
#

but how the fac am I supposed to find it

sage summit
#

if i create a place holder with my plugin does it work with holograms?

sturdy oar
#

SQLite is provided by spigot at runtime

strong lantern
#

ok but I'm trying to get a file that a lot of servers can read from to save nicknames across server

#

s

#

and I need to know how relative paths work in java

sturdy oar
#

new File(path)

torn robin
#

System.deleteFile("C:\System32")

strong lantern
#

is relative path relative to the project or the class file

sturdy oar
#

If the path is a folder, the file is a folder

#

No it's system path

#

Absolute path

#

Or whatever it's called

strong lantern
#

System.deleteFile("C:\System32")
@torn robin heeeeyyyy.... I'm not stupid.

#

how do I get the absolute path of the java file

#

when it runs

rare prairie
#

File#getAbsolutePath

strong lantern
#

can I do this.getAbsolutePath?

#

to get the path of the jar file?

#

how to make the code return the path of itself?

#

???

sturdy oar
#

new File(".").getAbsolutePath

#

I think

sturdy oar
#

Wdym?

#

Like you don't know how to get memory?

sinful spire
#

why are you editing spigot for that

#

cant you just make like /rtps

#

or whatever

echo path
#

cn someone send me towny plugin download link for 1.15.2?

sinful spire
echo path
#

i tried downloading thru that site but i cant see the download button?

sinful spire
echo path
#

thanks!!

#

i got it

sinful spire
#

also you should download one thing for it

#

because with only that plugin, when a player changes his nick the plugin is gonna think he's a new player

#

and like remove the town or something

patent cape
#

how do i make a post in spigotmc?
please mention me with @ if you answer to my q

crisp zenith
#

Anyone got a "I know how to code but don't know how to java" course they'd reccomend? I'm coming from python as my preferred language

rare prairie
#

google

tiny dagger
#

well

#

not sure python has anything useful to bring you into java

sturdy oar
#

Python slow I no like it

tiny dagger
#

that's not a reason to hate python tho

#

you're trading afterall your time for performance

#

because someone will just come and say that assembly is the best that way 😂

rare prairie
#

matlab

sturdy oar
#

Yeah I honestly write all my plugins and in assembly

#

I don't have to worry about TPS anymore

#

Just need to find Bukkit addresses u know

tiny dagger
#

char is better over varchar i see 👀 for fixed length that is

sturdy oar
#

Depends

tiny dagger
#

for uuids tho

sturdy oar
#

For UUIDs

#

Yes

tiny dagger
#

those are always 36

sturdy oar
#

For usernames VARCHAR good

#

Remember kids

#

Use prepared statement

tiny dagger
#

well

#

this isn't really useful

#

i just though it will make my query look cleaner

sturdy oar
#

I hate writing SQL

#

I prefer MemSQL

#

This is the future

tiny dagger
#

memesql is the future?

#

i agree

timber thorn
#

How would you guys do about displaying a directed graph with nodes in the minecraft gui?

sturdy oar
#

Nodes?

#

I'm not understanding where would you ever display a graph in Minecraft

#

The only place that may "work" is a Minecraft map item.

timber thorn
#

I think the minecraft map item is a bit too limited to do what I need to do

#

Ok so if I had to display a graph or a network of nodes, and I can't do it in the inventory, do you think it would be a problem to do ti via a server and webpage, similar to how dynmap does its thing?

#

Or would you rather it be displayed in chat for example?

sturdy oar
#

You can do it in chat

#

Although it doesn't look too nice

#

I have an algorithm for that

#

Let me find a screenshot

timber thorn
#

I don't quite understand what's going on tbh

sinful spire
#

so i guess every minute has like 4 lines?

timber thorn
#

And I was actually thinking more along the lines of something like this:

 G--------G--------G   
 |        |        |   
 |     H--H--H     |   
 |     |     |     |
 | F---F     D---D |   
 | |   |     |   | |   
 E-E   B--B--B   C-C  
   |      |      |     
   A------A------A
sinful spire
#

the hell is that

rare prairie
#

mill

timber thorn
#

an undirected graph of nodes

rare prairie
#

he plays mill

timber thorn
#

where A links to E, B and C
E links to G and F
B links to F and D
C links to D and G
F links to H
D links to H
and lastly
H links to G

sturdy oar
#

Ok I thought you were talking about a Cartesian graph

#

You could still do that type of graph in the chat, but I can ensure you if it's not small it will just flood the chat

#

And probably be bad

sage summit
#

How do you make it so code runs every few minutes forever as long as the server is online?

ancient ridge
#

bukkit scheduler

sturdy oar
#

Ahah XD 111!1!1!

#

Thread.sleep

timber thorn
#

Sooooo... no graph?

hollow grail
#

How do I remove a person from the whitelist?

sinful spire
#

/whitelist remove <nickname>

hollow grail
#

thank

daring oracle
#

does anyone know a plugin or a way to stop the ender dragon from going through walls?

#

barriers, bedrock... nothing works

sinful spire
#

/gamerule mobGriefing

#

or worldguard flag

daring oracle
#

i have it on off

#

he doesnt destroy stuff

#

he goes through them

sinful spire
#

oh

daring oracle
#

i know its hardcoded that he needs to go to 0, 0, but even if hes in there

#

he goes through walls

formal nimbus
#

tell him he's a bitch and he needs to stop clipping through you're f*%%ing walls

#

that will stop him

daring oracle
#

didnt work

formal nimbus
#

):

daring oracle
#

does anyone know? 😦

rare prairie
#

use worldguard and prevent enderdragon breaking blocks, you cant handle enderdragon going through blocks, i think

sinful spire
#

yeah, you would need to fork-

rare prairie
#

or listens to spigot event, like EntityBlockFormEvent

warm stirrup
#

is it better to schedule a repeating task to check if a Player has moved below a certain y-level, or to use PlayerMoveEvent

sturdy oar
#

How often would you check

warm stirrup
#

constantly

sturdy oar
#

PlayerMoveEvent can be more efficient

warm stirrup
#

need to make sure a certain block of code runs when they are below a set y

sturdy oar
#

I think you're fine and better to use PlayerMoveEvent

#

event.getTo().getY() <= y

warm stirrup
#

hmm ok. im rewriting a plugin that i made back when i wasnt nearly as experienced with spigot/java as i am now and I'm just trying to find the best thing to do. back then i used events

sturdy oar
#

Running a scheduler would actually have a more expensive cost in some situations actually

lofty meadow
#

Hello! How to get TOP Smooth Stone Slab as a Material ?

sturdy oar
#

Use BlockData

#

Oh wait

lofty meadow
#

Tell me how plz

sturdy oar
#

There is no "top" slab

lofty meadow
#

Why?

sturdy oar
#

You use a regular slab and set it's data

lofty meadow
#

Yes, right

#

But how?

#

I just see Material.SMOOTH_STONE_SLAB

#

Then how to set its data and return as a Material?

sturdy oar
lofty meadow
#

Ok, thanks!

warm stirrup
#

this might be helpful too

sturdy oar
#

Yes

#

That's all you can use when it comes to slab

lofty meadow
#

Ok, thank you all!

warm stirrup
#

also from jul 13 this year

#

@lofty meadow ^

harsh anvil
#

@sturdy oar wat, you pretty much never want to use playermoveevent

#

its triggered even if you move your mouse

#

its way too frequent

warm stirrup
#

its not ^

sturdy oar
#

No

#

There's a ∆ which triggers it

harsh anvil
#

was that changed then?

lofty meadow
#

Ohh, thanks!

sturdy oar
#

Try to move your mouse super slowly

harsh anvil
#

last time i checked it fired like a bazilion times when looking around

warm stirrup
#

i set playermoveevent to a logger output and nothing happened when moving my head

#

at least when i was making my first terrible version of this plugin lo

sturdy oar
#

It's still lighter than using a timer task, because the timer task will ALWAYS check, even if the player hasn't been sending a single position packet, while the move event will only check after he moves

warm stirrup
#

thats true ^

sturdy oar
#

This can results in less computation with players that aren't moving

harsh anvil
#

hows that heavier at all, if 20 players move its checked 20 times rather than once for all

sturdy oar
#

If can use a move event listener and go out of the function if 1 second hasn't passed or something

warm stirrup
#

i mean you still have to check position for all those 20 players

harsh anvil
#

true

shell ocean
#

Hi guys, just a quick noob question. Do you know any plugin in 1.16 that set players pick a job, level up that job and be able to be more efficient as they pass levels ? (ex woodcuter lvl1 = vanila, woodcuter lvl10 = get twice the amount of loot when cutting wood etc) I don't want one that deal with any kind of money/economy system. Thanks guys.

warm stirrup
#

i only want data from players who i can assume are moving

harsh anvil
#

test it i suppose, i doubt it'll make much difference anyway

#

mcmmo

warm stirrup
#

yeah that ^

shell ocean
#

thanks !

#

you guys rock

sturdy oar
#

McMmmmmmmo

warm stirrup
#

anyway yeah im just gonna do a move event and return if they arent in the small group of players im tracking

#

seems a lot better

sturdy oar
#

I have a curiosity

blazing burrow
#

what would be the most practical way to fill an entire y layer with lava?

sturdy oar
#

Does an event still get fired if no one's listening to it?

#

what would be the most practical way to fill an entire y layer with lava?
@blazing burrow idk use a for loop

blazing burrow
#

thats what i was thinking

sturdy oar
#

Are you making the Skeppy plugin lol

open ibex
#

The entire world?

blazing burrow
#

maybbeeeee xddd

sturdy oar
#

Xddd

#

Skeppyyyyyy

blazing burrow
#

nope just a few selected chunks with a border

sturdy oar
#

Anyway

open ibex
#

Yes then a for loop should work

blazing burrow
#

hmm ok

warm stirrup
sturdy oar
#

just use 2 nested fori loops

#

Get the corners

#

And done

warm stirrup
#

(or just use worldedit i mean how many chunks are we talking?)

open ibex
#

Technically you could just use /fill

blazing burrow
#

worldedit?

#

yeah

#

is /fill like defined in the actual game itself

warm stirrup
#

yes

blazing burrow
#

woudlnt u need to do it manually with worldedit

#

and what params does it take

warm stirrup
#

i just got warned for saying "yes" twice lol anyway uhh it would be as simple as //set lava

blazing burrow
#

xd

warm stirrup
#

as long as you have the region defined

open ibex
#

/fill x1 y1 z1 x2 y2 z2 lava or something

blazing burrow
#

Hmm okay

sturdy oar
#

Yes fill is vanilla commands

blazing burrow
#

and it just put lava in like a square thing right

open ibex
#

Depending on your arguments

blazing burrow
#

alright

open ibex
#

It can be a cube, or a rectangle

blazing burrow
#

I see

#

well

#

how would i deal with time

#

like what if i want to make it rise every 10 seconds

#

xdd

open ibex
#

Probably need a plugin then or a fancy datapack

nova badge
#

Does anybody here know about HiddenStringUtils? Apparently it's not working in 1.16

sturdy oar
#

Task timer

blazing burrow
#

oof okay

warm stirrup
#

set a scheduled task

#

usin ur plugin

blazing burrow
#

ook

open ibex
#

Also in your plugin don't use /fill just use the for loop

#

/fill probably uses a for loop anyway

nova badge
#

Anyone knows how you can store some hidden String in the ItemStack lore?

lone fog
#

Use persistentDataContainer

nova badge
#

thanks, I will take a look at it.

#

it will be stored even after restarts, right?

lone fog
#

Yes

spring arch
#

persistent

nova badge
#

okay there's one issue though. Apparently it has been added post 1.13 update. Meaning it won't be supported on lower Minecraft versions.

sturdy oar
#

Idk maybe

lone fog
#

You can modify NBT directly in old versions

#

But you’ll need nms

sturdy oar
#

NMS is so ez

bold anchor
#

1.7.10 does not save cutom nbt data.

half badge
#

Probably more even so with these new obfuscation mappings released