#help-development

1 messages · Page 78 of 1

echo basalt
#

I might buy a macbook m1

tardy delta
#

my mom wanted to pay because its for school ahaha

echo basalt
#

change the 1,1 to 36,36

#

my parents don't even pay for my own food

quaint mantle
#

how do i change the tab list?

echo basalt
#

scoreboards

quaint mantle
#

but then how am i meant to add a sidebar scoreboard and tablist scoreboard to 1 player

echo basalt
#

uhhh great question

#

TAB does it with nms

hybrid spoke
#

you dont

#

call it a feature

#

and move on

quaint mantle
#

So i use NMS to change the tab list

ashen quest
misty ingot
#
public class WhateverSpiralRenderer implements Runnable {

        private int frame;
        private final UUID playerId;

        public WhateverSpiralRenderer(Player player){
            this.playerId = player.getUniqueId();
        }

        @Override
        public void run() {
            Player player = Bukkit.getPlayer(playerId);

            if(player == null) {
                // handle accordingly
                return;
            }

            frame++;
            int angle = frame * 10; // 2 deg offset per frame
            Location loc = player.getLocation();
            float radius = 0.9F;
            for(double y = 0.01; y <= 1.81; y+=0.05) {
                angle += 10;
                double radian = Math.toRadians(angle);
                double z = radius * Math.cos(radian);
                double x = radius * Math.sin(radian);

                player.getWorld().spawnParticle(Particle.VILLAGER_HAPPY,
                        (float) (loc.getX() + x), (float) (loc.getY() + y), (float) (loc.getZ() + z),
                        0, 0, 0, 0, 1);
            }
        }
    }

Bukkit.getScheduler().runTaskTimer(plugin, new WhateverSpiralRenderer(player), 36, 36);
#

its making the particles in strands for some reason

#

and its making 2 strands simultaneously

ashen quest
#

how to give an effect without showing particles, theres no paramter for that

echo basalt
#

did you schedule it twice or something

distant wave
#

hey guys, anyone know why it doesnt set the item to helmet slot and just double the thing that cursor holds?

misty ingot
#
public class SpiralCosmeticsHandler implements Listener {

    private final CosmicCosmetics plugin = CosmicCosmetics.getPlugin(CosmicCosmetics.class);

    public class WhateverSpiralRenderer implements Runnable {

        private int frame;
        private final UUID playerId;

        public WhateverSpiralRenderer(Player player){
            this.playerId = player.getUniqueId();
        }

        @Override
        public void run() {
            Player player = Bukkit.getPlayer(playerId);

            if(player == null) {
                // handle accordingly
                return;
            }

            frame++;
            int angle = frame * 10; // 2 deg offset per frame
            Location loc = player.getLocation();
            float radius = 0.9F;
            for(double y = 0.01; y <= 1.81; y+=0.05) {
                angle += 10;
                double radian = Math.toRadians(angle);
                double z = radius * Math.cos(radian);
                double x = radius * Math.sin(radian);

                player.getWorld().spawnParticle(Particle.VILLAGER_HAPPY,
                        (float) (loc.getX() + x), (float) (loc.getY() + y), (float) (loc.getZ() + z),
                        0, 0, 0, 0, 1);
            }
        }
    }

    @EventHandler
    public void onPlayerJoin(PlayerJoinEvent e) {
        Player player = e.getPlayer();
        Bukkit.getScheduler().runTaskTimer(plugin, new WhateverSpiralRenderer(player), 36, 36);
    }
}

I dont think i am scheduling it twice

echo basalt
#

yeah I see what you're doing wrong with the Y

#

actually hm

#

maybe?

misty ingot
#

what am i doing wrong with the Y

echo basalt
#

you can assign your Y to scale with teh frame so that it doesn't make a verticle slab of particles

misty ingot
#

so like, not increase it in the for loop?

echo basalt
#

yea

#

let's say

#

y = frame * 0.05

#

or y = frame/37 * 1.81, for example

#

then frame %= 37

#

for example

misty ingot
echo basalt
#

remove the y loop completely

#

make sure to limit the frame tho

#

so like

misty ingot
echo basalt
#
frame++;
frame %= 37;
double y = frame * 1.8 / 37;
#

type deal

zealous osprey
#

what does "%=" do?

#

have never seen that before

echo basalt
#

same as frame = frame % something

zealous osprey
#

ah

#

makes sense

echo basalt
#

+=, -=, *=, /=, %=

zealous osprey
#

ye, most ik, just never saw the last one before

reef brook
#

can i shade paper in my plugin to run it on a spigot server?

misty ingot
echo basalt
#

would be cool setting the count to 1 but it doesn't really matter

misty ingot
#

wait fuck

#

im dumb as FUCK

grim ice
#

lmfao

misty ingot
#

I hadnt been reloading for the past like 4 tries

grim ice
#

it looks funny

echo basalt
#

🤦

tardy delta
#

thats alot of green

#

hmm whats that fortnite bush doing there

misty ingot
#

also it was only the past 2 times not 4 times

#

too less green now and too slow lol

zealous osprey
#

if you want, I got a bit of code that uses vectors to determine creating 2D circles in a 3D enviroment in any direction, if you are interested

echo basalt
#

set it to render every tick now

sturdy frigate
#

Can I change boat speed on land?

misty ingot
#

oh yeah I forgot I made it render only every 36 ticks

misty ingot
#

dont worry about it

#

its already been done

iron glade
#

Ah new messages didn't load somehow

echo basalt
#

uhhh

#

well

#

this is tricky

#

as the particle count is directly tied to tps

#

you can lower the frame count to like 30

#

it will increase the Y level a bit more aggressively

#

so change all references of 37 to 30

misty ingot
#

lets assume that the tps never goes below 20

#

changed it to 30 but its basically the same thing still

echo basalt
#

ohhhhhhhhh

#

I'm an idiot then

#

thought you wanted it earlier

#

set everything back to 37

#

frame %= 50

#

and if frame is above 37, just return

vivid skiff
#

How can i make the %player% variable for a config?

echo basalt
#

well

#

just replace the text

vivid skiff
#

?

quaint mantle
#

Hey, what is 1.17 NMS Entity#setPosition in 1.19 NMS?

zealous osprey
#
ymlConfig.getString(<PATH>).replace("%player%", player.getName());
```?
quaint mantle
#

Thanks

tardy delta
#

im feeling like im doing rust

quaint mantle
#

lol

misty ingot
#

is there a way to edit the lifespan of a particle effect?

fiery prairie
#
    @Override
    public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {

        if (sender instanceof Player) {
            ProxiedPlayer bp = (ProxiedPlayer) sender;
            bp.connect(ProxyServer.getInstance().getServerInfo("lobby"));
        }
        return true;
    }```

so whenever i do /lobby it returns null (full error: https://pastebin.com/FFpk6sCc) and says "An internal error occurred while attempting to perform this command", any idea why?
eternal night
#

a spigot plugin cannot call bungee cord API classes.

misty ingot
#

yeah you need to make a bungee plugin

fiery prairie
#

someone else told me earlier something about that

misty ingot
#

that was me

#

who told you to make a bungee plugin for it

eternal night
#

or just use that

misty ingot
#

and here you are trying to do it in a spigot plugin

eternal night
#

plugin for a simple connect is overkill

quaint mantle
#

Thank you very much!

fiery prairie
eternal night
#

read the page ?

fiery prairie
#

the whole thing for a simple connect?

eternal night
#

well or you write a bungeecord plugin

#

your choice

quaint mantle
#

programming is fun

eternal night
#

it really isn't that much

fiery prairie
#

well ig imma just make a new plugin for that cause im lazy af, thanks though!

eternal night
fiery prairie
#

ik lmao

eternal night
#

gl with that

tardy delta
ivory sleet
#

enum maybe

tardy delta
#

would just wrap those

fiery prairie
#

so now i uhh have this, why tf, almost every tutorial says it like this

tardy delta
#

uh thats not a constructor

hybrid spoke
#

does anyone here know an intellij plugin which shows the count of todos in a class in the project structure?

tardy delta
#

theres a todo tab normally

hybrid spoke
#

yeah but i want a little number next to my class file name

tardy delta
hybrid spoke
#

i once had that but lost it somehow

tardy delta
#

hmm

eternal night
#

i think you mean marks

#

@hybrid spoke

fiery prairie
#

so now i realized i forgot to extend Command, but it says this

echo basalt
quaint mantle
#

constructors need to have the same name as the class

fiery prairie
#

thanks

tardy delta
#

?learnjava

undone axleBOT
hybrid spoke
#

but looks like its outdated

distant wave
#

hey guys, anyone know why it doesnt set the item to helmet slot and just double the thing that cursor holds?

olive drum
#

Does someone know what EntityInsentient is in the deopfuscated version of spigot?

olive drum
#

Is there a site where you can see this?

tardy delta
#

ij not knowing english

quaint mantle
olive drum
#

ty

boreal python
#

Anyone know why i get this error when trying to compile this java file?
ShopUtils.java:69: error: -> expected
return list.stream().filter(value -> Arrays.<String>stream(value.split(",")).anyMatch(())).map(list::indexOf)

#

This exact code was in the .class file so I don't know why its giving me an error when i try to compile it again

urban kernel
#

how do i export a function from one class into another

#

i have a function in one class and i want to use it in another

#

how do i do so

agile anvil
chrome beacon
#

Sounds like time to learn Java

urban kernel
#

it's just a blank class rn

#
package me.deveroonie.PCHL;

public class CanBypass {
}
wintry badger
urban kernel
#

i thinks its only mobs

agile anvil
#

Well if you want your method to be object specific, just make it public or package-protected and call it upon your instance variable. If you want something "global", make your method static.

urban kernel
#

as i believe players are a sep event

agile anvil
#

And if you didn't understand me

chrome beacon
tardy delta
agile anvil
#

?learnjava

undone axleBOT
wintry badger
#

thanks!

urban kernel
#

the class name?

wintry badger
#

are zombie attack and skeleton arrow attack both ENTITY_ATTACK?

chrome beacon
#

Package and class

urban kernel
#

meh

agile anvil
#

0x1, 0x2, 0x3

chrome beacon
#

(well... projectile goes for Zombie if it's using a bow to shoot you...)

wintry badger
#

and projectile is also about players, right?

agile anvil
wintry badger
#

i mean when a player attacks with a bow

chrome beacon
#

Yeah

wintry badger
#

okay, thanks!

#

is crystal explosion ENTITY_EXPLOSION ?

chrome beacon
#

Probably

tardy delta
#

changed it

#

why does passing in 0x1 into a method lets the compiler think its an into tho?

#

kinda stupid that casting

wintry badger
#

or is it just TNT etc?

chrome beacon
#

try it and see I guess

#

Probably faster than waiting for an answer here

fiery prairie
#

how would i clear all armor slots of a player??

urban kernel
#

how do i see if a player has an elytra equipped

agile anvil
tardy delta
#

get the chestplate armor slot and check if item type is elytra

chrome beacon
#

^ might remove items in hand

#

not sure

boreal python
# echo granite Your anyMatch() is empty...

for some reason this doesn't seem to be an issue in the class file I took if from. I don't know what I would put in there because nothing is referenced there in the original file.

tardy delta
#

what class does player.getEquipment return?

fiery prairie
fiery prairie
fiery prairie
earnest forum
#

not a spigot question, but im having issues with pushing local repo to git anyone help? it says permission denied but the repo is public

tardy delta
chrome beacon
fiery prairie
flint coyote
tardy delta
#

just put null

chrome beacon
#

^^

fiery prairie
#

thanks!

earnest forum
flint coyote
earnest forum
#

yes

agile anvil
earnest forum
#

no

#

how do i do that

flint coyote
#

it should prompt you when you try to push

agile anvil
#

Firstly, are you using git with CLI or doing it through IntelliJ or other IDE?

earnest forum
#

just testing it out

#

created a new folder with a txt file

flint coyote
#

Create project -> clone project -> change readme -> commit -> push

earnest forum
#

this is what im running in order

git init

git add .

git commit -m "first commit"

git branch -M main

git remote add origin git@github.com:yadadev/test.git

git push -u origin main

agile anvil
#

Try pulling out the repo

flint coyote
#

I usually create a project with a readme and do it how I just mentioned. But it looks like you have a wrong key set up

earnest forum
#

its empty

#

its completely copied

agile anvil
#

Then you should add an ssh key

fiery prairie
#

now to clear a specific slot i would do p.getInventory().setItem(4, null); right?

earnest forum
#

wheres the .ssh folder?

tardy delta
#

C:/user/name/.ssh probably

fiery prairie
#

uhh why does this not clear anything from my inventory?

tardy delta
#

Player::updateInv maybe

fiery prairie
#

alright lemme try

earnest forum
#

i tried using the http linkinstead of ssh and i have a prompt to sign in now

fiery prairie
#

still nope

flint coyote
#

maybe set Material.AIR?

#

as an itemstack ofc

fiery prairie
#

lets see

tardy delta
#

ItemStack.AIR when

fiery prairie
#

alright got it, thanks!

harsh totem
#

Setting slots to null works for me

fiery prairie
#

i forgot to register the event lmao

glossy marsh
#

Something like getting the Item and each slot and setting the material to Air should also work

harsh totem
fiery prairie
#

keeps happening to me

harsh totem
#

Me2

flint coyote
#

Just register it before you start coding the actual logic. No way to forget it this way

paper crest
#

Anyone know in what spigot jar i can import this? (#getItemMeta().getAsString()) I imported it before but now I lost it.

paper crest
agile anvil
#

So what's the problem ?

paper crest
#

Can't import

#

must add correct spigot jar

#

and there are many jars and i cant find the correct one

misty ingot
#

I want to commit a die

agile anvil
urban kernel
#

how do i fix this

java.lang.NullPointerException: Cannot invoke "org.bukkit.inventory.ItemStack.getType()" because the return value of "org.bukkit.inventory.PlayerInventory.getChestplate()" is null```

code:
```java
if (player.getInventory().getChestplate().getType() == Material.ELYTRA) {
                        // do stuff
}
glossy scroll
glossy scroll
#

you should learn how to read stacktraces if youre unfamaliar

urban kernel
#

yeah

#

ik

#

how would i catch it

#

to stop it from being an issue

#

i read the stacktrace

glossy scroll
#

"org.bukkit.inventory.PlayerInventory.getChestplate()" is null

wise mesa
#

can i use player#setResourcePack in PlayerJoinEvent or do I need to delay one tick

misty ingot
urban kernel
#

i misworded

#

sorry

misty ingot
#

effect is the particle name

glossy scroll
urban kernel
#

yeah

#

indeed

#

how would i catch it to stop console floodinjg then someone moves

glossy scroll
#

add a null check

urban kernel
#

if(player.getInventory().getChestplate().getType() == null) ?

glossy scroll
#

that will produce the same npe

urban kernel
#

alr

#

catch new NullPointerException?

glossy scroll
#

no

#

absolutely not

urban kernel
#

how den

glossy scroll
#

if(player.getInventory().getChestplate() != null)

urban kernel
#

alr

glossy scroll
#

?learnjava

undone axleBOT
quaint mantle
#

this.getConfig().options().copyDefaults(true)

instead of calling get config how i can I work with a custum Yaml file where i saved something else than config but custum server data ?

glossy scroll
#

so that code says the particle will go 0.5 blocks per tick

#

or 10 blocks per second

#

i would decrease the speed

quaint mantle
#

but I dont want a config.yml ... its a custum data storage where I will be storing user's passwords

#

but plugin configs

#

this is just to show you what type of data i will be storing

glossy scroll
#

lmfao most passwords are stored in text formats

quaint mantle
#

I can use hashs too, but that isnt the issue

#

im trying to use a custum file where i will be saving data using (yaml) that has nothing to do with plugin configuration

misty ingot
#

just use persistent user data and store the hash there

#

harder to access the hash and decoding on top of it

glossy scroll
#

also who said anything about public yml file lol?

quaint mantle
#

right that's what I am looking for, is dataFolderOfPlugin a pre made variable ?

#

and store it in a const ?

urban kernel
#

still throws the npe

quaint mantle
#

thanks

glossy scroll
urban kernel
#

it's a playermoveevent

glossy scroll
#

show the code

urban kernel
#
package world.netherite.prycat.events;

import org.bukkit.Bukkit;
import org.bukkit.GameMode;
import org.bukkit.Location;
import org.bukkit.Material;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerMoveEvent;
import me.deveroonie.PCHL.CanBypass;
import org.bukkit.inventory.ItemStack;

public class PlayerMove implements Listener {
    @EventHandler
    public void PlayerMove(PlayerMoveEvent e) {
        Player player = e.getPlayer();
        Location blockUnderPlayer = player.getLocation();
        blockUnderPlayer.setY(blockUnderPlayer.getY() - 1.0);
        if (player.getLocation().getBlock().getType() == Material.AIR) {
            //haxing
            //check

            if (player.getAllowFlight() == true || player.getGameMode() == GameMode.CREATIVE || player.getGameMode() == GameMode.SPECTATOR || CanBypass("fly", player) == true) {
                //do nothing
            } else {
                if (player.getInventory().getChestplate() != null) {
                    //FLY HACKS
                    Bukkit.dispatchCommand(Bukkit.getConsoleSender(), "ban " + player.getName() + "31d --sender=PryCat [PryCat] You have flagged the fly check in PryCat and have been banned as a result. If you believe this is in error, contact Deveroonie#9998 on Discord!");
                } else {
                    if(player.getInventory().getChestplate().getType() == Material.ELYTRA) {
                        //dont do shit
                    }
                }
            }
        }
    }
    public boolean CanBypass(String check, Player p) {
        String c = check;

        if (!p.isOp() || !p.hasPermission("pc.bypass." + check)) {
            return false;
        } else {
            return true;
        }
    }
}```
glossy scroll
#
                    //FLY HACKS
                    Bukkit.dispatchCommand(Bukkit.getConsoleSender(), "ban " + player.getName() + "31d --sender=PryCat [PryCat] You have flagged the fly check in PryCat and have been banned as a result. If you believe this is in error, contact Deveroonie#9998 on Discord!");
                } else {
                    if(player.getInventory().getChestplate().getType() == Material.ELYTRA) {
                        //dont do shit
                    }
                }```
#

hopefully you can see what is going on here

urban kernel
#

yeah

#

noticed that

#

it should be == null

#

not != null

#

right?

glossy scroll
#

try it out

#

see what happens

#

?tryitandsee

#

darn i forget the command

#

?try

urban kernel
#

?tas

undone axleBOT
urban kernel
#

yes

#

that's the one

#

btw what do u think of the name

#

prycat

glossy scroll
#

Bukkit.dispatchCommand(Bukkit.getConsoleSender(), "ban " + player.getName() + "31d --sender=PryCat [PryCat] You have flagged the fly check in PryCat and have been banned as a result. If you believe this is in error, contact Deveroonie#9998 on Discord!");

#

i would not recommend banning people using dispatchCommand

urban kernel
#

yeah

#

why

#

i use litebans

chrome beacon
#

Use their api

glossy scroll
#

litebans should have an api

urban kernel
#

the api doesnt exist for creating bans

#

i looked

glossy scroll
#

ok then use a different ban plugin lol

urban kernel
#
Banning / unbanning players, muting players, etc
This can be done by executing commands.
If needed, the console can run these commands on behalf of players while still attributing history & broadcasts to the targeted player instead of console.
If you want to override the executor's name, you can use the --sender= argument, for example, /ban Player --sender=MyCustomPlugin <reason>
If you want to override the executor's UUID, you can use the --sender-uuid= argument, for example, /ban Player --sender-uuid=5421d526ef51374db09e78ed11f4394f
(Dashed and undashed UUIDs are accepted, 32-char or 36-char)
It is recommended to specify both arguments for consistency. The sender name affects broadcasts and the sender UUID affects history (/history, /staffhistory, web interface, etc).
The sender that you specify will be created for you automatically if it doesn't exist.

// Bukkit
Bukkit.dispatchCommand(Bukkit.getConsoleSender(), "ban Player123");
// Bungee
ProxyServer.getInstance().getPluginManager().dispatchCommand(ProxyServer.getInstance().getConsole(), "ban Player123");
// Velocity
server.getCommandManager().executeAsync(server.getConsoleCommandSource(), "ban Player123");```
chrome beacon
#

bruh

#

The official documentation tells you to use commands 😂

urban kernel
#

yeah

glossy scroll
#

lmao that is pretty bad

urban kernel
#

ig they cba to add it to the api

#

omfg

#

wtf

#

[16:01:45 INFO]: Player does not exist.

#

its spamming console with player does not exist

glossy scroll
#

sounds like a litebans issue

quaint mantle
#

does this have any specific object type I have to specify ?

e.g

File dataFolder = this.getDataFolder();
urban kernel
#

hm

#

maybe

quaint mantle
#

then what object type is new file() ?

#

ah

#

right

glossy scroll
#

do... you understand how constructors work

quaint mantle
glossy scroll
#

...yea

quaint mantle
#

yea

river oracle
#

Oof

glossy scroll
#

new Anything(...) will always be of the type "Anything"

quaint mantle
urban kernel
#

Player does not exist.

glossy scroll
#

(its a litebans issue deveroonie)

urban kernel
#

ik

#

i have it fixed?!

river oracle
#

Just use an interface

urban kernel
glossy scroll
#

Use a generic

#
public abstract class SuperClass<E extends Event> {
    public abstract void hello(E e);
}
urban kernel
#

apparently not

#

YOUR RIGHT

glossy scroll
#

then java public class A extends SuperClass<PlayerInteractEvent> { public void hello(PlayerInteractEvent event) { } }

#

Also, definitely use an Interface if you can

urban kernel
#

how do i make a report

glossy scroll
#

@quaint mantle lmfao caught dead

chrome beacon
#

lmao

quaint mantle
tardy delta
#

lol

minor palm
glossy scroll
#

you know what youre doing

chrome beacon
#

^

minor palm
#

^

quaint mantle
glossy scroll
#

but having someone send you a copy is

quaint mantle
#

not his plugin

chrome beacon
#

._.

quaint mantle
#

🤦

minor palm
urban kernel
#

litebans is a premium resource

minor palm
#

that is asking for the plugin

urban kernel
#

i paid real money for it

quaint mantle
urban kernel
#

so giving it to you is piracy

minor palm
#

there you go

#

there is litebans plugin

chrome beacon
#

They have one just not for creating bans 😂

quaint mantle
urban kernel
#

lemme send him a fake jar

quaint mantle
#

fuckign chill out yall toxic for no reason

chrome beacon
#

There is a good reason

urban kernel
#

PIRACY = BAD

agile anvil
#

Guys please continue this somewhere else

minor palm
urban kernel
#

also i would be breaking the litebans eula

minor palm
quaint mantle
minor palm
#

/s

urban kernel
#

yes

quaint mantle
#

not your problem so stfu

minor palm
quaint mantle
urban kernel
#

?report

minor palm
#

okay I've gtg anyways

misty ingot
#

whats the event for when a player sends a chat message?

urban kernel
#

welp... it works?

[16:11:20 INFO]: iusepepsi[/yes:55400] logged in with entity id 146 at ([world]-1808.5, 66.0, 202.5)
[16:11:23 INFO]: Previous ban for iusepepsi removed.
[16:11:23 INFO]: PryCat tempbanned iusepepsi for 31 days for '[PryCat] You have flagged the fly check in PryCat and have been banned as a result. If you believe this is in error, contact Deveroonie#9998 on Discord!'
[16:11:23 INFO]: PryCat tempbanned iusepepsi for 31 days for '[PryCat] You have flagged the fly check in PryCat and have been banned as a result. If you believe this is in error, contact Deveroonie#9998 on Discord!'
[16:11:23 INFO]: iusepepsi lost connection: You are banned from this server!
Banned on: 2022-08-21
Banned by: PryCat
Reason: [PryCat] You have flagged the fly check in PryCat and have been banned as a result. If you believe this is in error, contact Deveroonie#9998 on Discord!
Expires in: 31 days

[16:11:23 INFO]: iusepepsi left the game
[16:11:23 INFO]: Previous ban for iusepepsi removed.
[16:11:23 INFO]: PryCat tempbanned iusepepsi for 31 days for '[PryCat] You have flagged the fly check in PryCat and have been banned as a result. If you believe this is in error, contact Deveroonie#9998 on Discord!'
[16:11:23 INFO]: PryCat tempbanned iusepepsi for 31 days for '[PryCat] You have flagged the fly check in PryCat and have been banned as a result. If you believe this is in error, contact Deveroonie#9998 on Discord!'
[16:11:23 INFO]: Previous ban for iusepepsi removed.
[16:11:23 INFO]: PryCat tempbanned iusepepsi for 31 days for '[PryCat] You have flagged the fly check in PryCat and have been banned as a result. If you believe this is in error, contact Deveroonie#9998 on Discord!'
[16:11:23 INFO]: Previous ban for iusepepsi removed.
[16:11:23 INFO]: Previous ban for iusepepsi removed.
[16:11:23 INFO]: PryCat tempbanned iusepepsi for 31 days for '[PryCat] You have flagged the fly check in PryCat and have been banned as a result. If you believe this is in error, contact Deveroonie#9998 on Discord!'
[16:11:23 INFO]: PryCat tempbanned iusepepsi for 31 days for '[PryCat] You have flagged the fly check in PryCat and have been banned as a result. If you believe this is in error, contact Deveroonie#9998 on Discord!'
[16:11:23 INFO]: Previous ban for iusepepsi removed.
[16:11:23 INFO]: PryCat tempbanned iusepepsi for 31 days for '[PryCat] You have flagged the fly check in PryCat and have been banned as a result. If you believe this is in error, contact Deveroonie#9998 on Discord!'
#

lots of bans

undone axleBOT
urban kernel
#

imma def need to check if they are banned before rebanning

frank compass
#

can someone like send me code or tell me code to make a equip armor event?

urban kernel
#

litebans api time woo

#

WAIT WTF THAT'S DOGSHIT CHECK

#

jumpimg be like

mighty aurora
#

I'm working on a plugin that creates custom item abilities for already made items. I had a working version but needed to add a cooldown. It then completely broke the system. I proceeded to remove the code for the cooldown(leaving whats currently their) and test and it still doesn't work. I added logging messages to tell me where it stops and it doesn't appear to be able to detect the item in my hand as it doesn't ever show that log event. Anyone know why it wouldn't detect?(By the way I am using an item with that EXACT name)

        Player p = e.getPlayer();
        if (e.getAction() == Action.RIGHT_CLICK_BLOCK || e.getAction() == Action.RIGHT_CLICK_AIR) {
            getLogger("TimeBoundItems").info("Right Click Detected");
            if (p.getInventory().getItemInMainHand().getItemMeta().getDisplayName() == ChatColor.BOLD.GRAY + "Ability: " + ChatColor.BOLD.DARK_PURPLE + "Dark Mist") {
                getLogger("TimeBoundItems").info("Dark Mist Detected");
                if (!p.hasPermission("timebounditems.darkmist")) {
                    //plugin.msg(p, "You don't have this ability yet!");
                    p.sendMessage("You don't have this ability yet");
                    e.setCancelled(true);
                    return;
                }
                    p.addPotionEffect(new PotionEffect(PotionEffectType.INVISIBILITY, 800, 0, false, false));
                    p.getNearbyEntities(20,20,20).forEach(entity -> {
                        if(entity instanceof Player) {
                            Player target = (Player) entity;
                            target.addPotionEffect(new PotionEffect(PotionEffectType.BLINDNESS, 600, 0, false, false));
                        }
                    });```
vivid skiff
#

How can i replace a chat message?

glossy scroll
urban kernel
#

to account for jumping should i make it look 4 blocks below them

quaint mantle
glossy scroll
#

why would you want to ask someone for litebans if you could literally go on the website yourself

#

that makes no sense

urban kernel
#

if it's not clear im making a fly check lmao

river oracle
#

Why are you feeding le troll with le reaction

quaint mantle
glossy scroll
#

then... why ask for it? lol

urban kernel
#

to account for jumping should i make it look 4 blocks below them

quaint mantle
glossy scroll
#

then go on the spigot website lol?

median dragon
#

Anyone have Crystalpvp kit plugin dm me i want to buy

tardy delta
#

🤔

urban kernel
#
river oracle
quaint mantle
urban kernel
#

advancedbans is good

#

and 100% free

quaint mantle
glossy scroll
river oracle
#

Mans is obviously a troll tf you still doing wasting your time

glossy scroll
#

ive got time on my hands lol

quaint mantle
frank compass
#

whats the code to send a title on your screen when you type a command?

glossy scroll
frank compass
#

thx

quaint mantle
urban kernel
#

piracy is a crime

honest echo
#

hey

glossy scroll
urban kernel
#

how will i fix lots of bans

honest echo
#

when i cancel onInventoryClick it also cancels when in blue zone in image anyone know how to check if he is clicking just in the chest ?

urban kernel
river oracle
agile anvil
quaint mantle
mighty aurora
#

I don't use pdc because its meant to be a vanilla item. Also I was previously using the == to determine the name, it was working fine before. I switched to .equals and didn't change anything.

urban kernel
#

be*

glossy scroll
urban kernel
#

he legit blocked me

#

lmfao

quaint mantle
glossy scroll
#

"can you send me litebans"

quaint mantle
glossy scroll
#

so you wanted the jar?

quaint mantle
#

i didnt say his litebans

tardy delta
#

tf is this conversation

quaint mantle
#

i said litebans

glossy scroll
#

ok so what did you want lol

#

the spigot link?

urban kernel
river oracle
agile anvil
urban kernel
#

and when ban check if the boolean is true?

quaint mantle
agile anvil
glossy scroll
#

"can you give me liteban plugin if you dont mind" lmaoooooo

dusk flicker
#

lol

glossy scroll
#

reeks of piracy

tardy delta
#

alot of trolls today

quaint mantle
urban kernel
#

and then once banned wait like 10s and set the bool to false

river oracle
urban kernel
dusk flicker
#

you're the only troll here mr. 404

glossy scroll
#

ok 👋

agile anvil
tardy delta
#

whos mr 404 😳

urban kernel
quaint mantle
tardy delta
#

the chat has feelings too

agile anvil
#

I'm already thinking about the pain of Choco to remove all the chats here... Good luck

urban kernel
dusk flicker
#

well you are asking to get a premium plugin for free, which would be piracy, which isn't allowed so you really should get banned lol

tardy delta
#

/ban does the job

agile anvil
mighty aurora
quaint mantle
urban kernel
#

bro just piss off

quaint mantle
#

literally unnecesay

urban kernel
#

no one cares anymore

quaint mantle
dusk flicker
#

well if you really want it

#

go buy it

mighty aurora
glossy scroll
#

dont buy litebans its clearly not worth it

#

that api sucks

#

$3 plugin

tardy delta
#

im unable to see anything in that ugly code

dusk flicker
#

if you really need to use its api, you should just make your own punishment plugin lol

tardy delta
#

registered it?

mighty aurora
dusk flicker
#

but between the line of shitty and custom punishment plugins, thats where id say litebans fits

mighty aurora
dusk flicker
#

I do like it as a plugin, but wouldn't run it if I had a custom option

mighty aurora
tardy delta
dusk flicker
#

dear god that code

agile anvil
#

Just create an attribute to the player, with PDC or just a map or even a player object, and adds a boolean to it

mighty aurora
tardy delta
#

the java knowledge here is sometimes worser than in a coding server dedicated to java lol

mighty aurora
mighty aurora
tardy delta
#

actually might work but never use == on strings lol

mighty aurora
#

I wasn't aware of that. I was informed and have changed that

#

So now it is using .equals instead of ==

glossy scroll
#

do you know the difference between == and .equals

lime jolt
#

== for preimitive data types and objects

#

.equals for string

mighty aurora
#

== compares two objects where .equals is for strings(from what I understand that is really the difference is that one is for specifically strings)

glossy scroll
#

not quite

#

== compares the reference in memory

#

.equals compares the contents of the object (when applicable)

#

default .equals behavior is ==

#

but some objects override .equals

mighty aurora
#

ok

#

I appreciate that but it doesn't entirely relate to the initial question of why its not working...

tardy delta
#

isnt this a thing?

glossy scroll
#

i.e. i could do

UUID uuid1 = new UUID(1L, 0L);
UUID uuid2 = new UUID(1L, 0L);
agile anvil
glossy scroll
#

uuid1 == uuid1 is false

glossy scroll
glossy scroll
river oracle
glossy scroll
#

just add to dictionary

#

Alt + Enter

river oracle
#

I hate typo warnings in programming perry much everything is a typi

tardy delta
glossy scroll
#

just add to local dictionary

#

problem solved

#

its in the context menu

warm mica
glossy scroll
#

well

#

its not just strings tho lol

#

i literally demonstrated the same concept for UUIDs

#

?jd

glossy scroll
#

and then

tardy delta
#

or they dont have the concept primitive/ object

glossy scroll
agile anvil
tardy delta
#

mmh expected that

glossy scroll
#

then you have InventoryView#getTopInventory and InventoryView#getBottomInventory

tardy delta
#

strings in rust weird

patent fox
#

is there a beacon activate event?

tardy delta
#

"hello" is a &str where if you want a String object you need String::from("hello")

ivory sleet
#

I mean in Java strings are very intrinsic to the jvm

glossy scroll
#

actually im not too sure

#

it might be under a different name

warm mica
agile anvil
#

Anyway, it's better to have the Java distinction

ivory sleet
#

I mean in Java sometimes using just == on strings work when you know the string will get interned

tardy delta
#

mmh in C# my teacher always used String and i string so i always changed his source code 💀

#

classes were fun back there

#

me just being the help desk

#

all the girls asking for help 💀

glossy scroll
#

my guy

#

i linked 4 different articles on this

tardy delta
#

hmm just refactored 400 lines in 100 lines

glossy scroll
#

compare the inventory with the view's top or bottom inventory

desert sedge
#
final var merchant = ((MerchantInventory) event.getClickedInventory()).getMerchant();
[19:51:32 INFO]: [AeroQuests] [STDOUT] merchant.getClass() = class org.bukkit.craftbukkit.v1_19_R1.inventory.CraftMerchant
[19:51:32 INFO]: [AeroQuests] [STDOUT] (merchant instanceof AbstractVillager) = false
[19:51:32 INFO]: [AeroQuests] [STDOUT] (merchant instanceof Villager) = false```
So I use InventoryClickEvent to detect the trade with a villager and I can't seem to be able to access the villager entity, any idea why `merchant` is not an instance of Villager?
boreal seal
#

i have an issue i cant get rid off

#

it just dont save

#

everything

#

in mysql

#

ill try to do sqlite database

#

it might fix it if not i guess ill give up

#

i tried use hikaricpi to abuse the connectionpools to be able to do many things by the same time

#

but it just stores still 1

agile anvil
#

Are you sure your queries reach the database ?

quaint mantle
#

How can I convert a location instance into Vec3D?

boreal seal
#

it just dont store it

#

i have no idea why

#

i have a check message if it reached

#

it happens

#

but when i connect the database

#

i see it wasnt saved in reality

#

and only the first object gets saved

tender shard
#

who pinged me

#

and why

#

ah yeah

ivory sleet
#

@desert sedge idk if u solved it, but in worst case you might have to reflect the nms merchant from the craft merchant

tender shard
#

I didnt make this

#

I only maintain it

#

Arnuh is the person who originally made the ArmorEquipEvent

#

but they stopped updating it a long time ago

quaint mantle
timber dagger
desert sedge
#

un thats annoying @ivory sleet

ivory sleet
#

Yeah, Im a bit bemused concerning the design rn

thorn crypt
#

Hello I have a question I tried to make a clickable text in a written book but it don't work , in the book I have "TextComponent{text=BaseComponent(color=..."

Player p = (Player) sender;
            String Author = "Antasia";
            String Title = "Grade Personalisé";
            String message = "\n\n§r [§9Choisir mon grade§0]";

            TextComponent component = new TextComponent(TextComponent.fromLegacyText(ChatColor.translateAlternateColorCodes('&', message)));
            component.setClickEvent(new ClickEvent(ClickEvent.Action.RUN_COMMAND, "/setcustomrank"));
            component.setHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT, TextComponent.fromLegacyText("§bClique pour choisir ton grade !")));



            String Pages = "§c§lGrade Personalisé\n    §6§l30 Jours\n\n§rMerci de votre achat, vous pouvez maintenant choisir votre grade juste en dessous !\n" + component;

            ItemStack book = new ItemStack(Material.WRITTEN_BOOK, 1);

            BookMeta meta = (BookMeta) book.getItemMeta();
            meta.setTitle(ChatColor.translateAlternateColorCodes('&', Title.toString()));
            meta.setAuthor(ChatColor.translateAlternateColorCodes('&', Author.toString()));
            meta.addPage(ChatColor.translateAlternateColorCodes('&', Pages.toString()));
            book.setItemMeta(meta);
            p.getInventory().addItem(book);
tender shard
#

there is no such thing as Vec3D in NMS code

#

are you on 1.16 or older?

tender shard
#

^ mojang mappings ^

timber dagger
timber dagger
tender shard
#

with what item?

#

oh wait, your minecraft version is 5 years old

#

I'd suggest to update to a supported version, then see if it still happens

#

if yes, we can talk again

timber dagger
#

i want to do in 1.12.2

tender shard
#

I understand

#

anyway, my suggestion is to see whether it still happens in 1.19.2

#

if yes, we can try to figure out the problem

timber dagger
#

i don't want to use 1.19.2

tender shard
#

if no, it's one of those "old version quirks"

tender shard
#

I still stand my ground

#

try whether the same code works in 1.19.2

#

if it does, it's a 1.12 quirk. if it doesn't we can talk again

timber dagger
#

ma dio porco

tender shard
#

english pls

thorn crypt
sly surge
tender shard
#

if you wanna hate on gays, do so elsewhere

timber dagger
#

no scherzavo

tender shard
#

homophobic messages will get you banned here very quickly

#

do you really think that I didnt take screenshots? lol

tender shard
thorn crypt
tender shard
#

I tried to help people here. Now I'm getting random anti-gay-hate out of nowhere?!

vivid skiff
#

Idk my fucking plugin its a shit

#

nothing is working

tender shard
#

are you all you homophobic jerks upset because you all never get laid? wtf

thorn crypt
tender shard
thorn crypt
tender shard
#

All I did was ask them if the same error happens in 1.19 too 🥲

#

because if yes, it's a problem in their code

#

and if no, it's a spigot 1.12 problem

#

that's all I wanted to say haha

thorn crypt
#

🥲

sturdy frigate
#

If a listener extends another listener, do event handlers from both classes get registered?

tardy delta
thorn crypt
tender shard
sturdy frigate
ivory sleet
#

99% of the times yeah static factory methods are just so much more robust

frail swan
#

yo @tender shard don't waste your effort on unappreciative randoms online, it's not worth your nerves

tender shard
thorn crypt
tender shard
#

the super class is "CustomBlockDataEvent" and it has its own HandlerList

ivory sleet
#

Yeah a god ascend design pattern

tender shard
#

that means, all subclasses also call a listener listening to the CustomBlockDataEvent

eternal night
#

Component.text is godlike indeed run

tender shard
#

the subclasses do not even need their own handlerlist

#

if you do it the other way around, then the "super" event will never be "called"

tender shard
tender shard
sturdy frigate
thorn crypt
tender shard
#

!verify

undone axleBOT
#

Usage: !verify <forums username>

tender shard
#

@thorn crypt

#

^

thorn crypt
#

!verify Antasia

undone axleBOT
#

A private message has been sent to your SpigotMC.org account for verification!

thorn crypt
#

Oh yes thx

tender shard
tender shard
#

noone got verified so fast haha

thorn crypt
#

x)

tender shard
# thorn crypt

it looks like you're just passing the "serialized" string directly into the book

#

one sec, lemme try to find your code again

thorn crypt
tender shard
#

myList.stream().sum();

olive drum
#

How can I let a cow attack the lastdamager of a player? ```package me.tim.customentities.PathfinderGoals;

import net.minecraft.world.entity.LivingEntity;
import net.minecraft.world.entity.Mob;
import net.minecraft.world.entity.ai.goal.Goal;
import org.bukkit.event.entity.EntityTargetEvent;

import java.util.EnumSet;

public class DefendOwnerGoal extends Goal {
private final LivingEntity Owner;
private LivingEntity Target;
private Mob pet;

public DefendOwnerGoal(Mob pet, LivingEntity Owner) {
    super();
    this.pet = pet;
    this.Owner = Owner;
    this.Target = Owner.getLastHurtByMob();
    this.setFlags(EnumSet.of(Flag.TARGET));
}

@Override
public boolean canUse() {
    if (this.Owner == null) { return false;}
    else if (!(this.Owner instanceof LivingEntity)) { return false;}
    this.pet.setAggressive(true);
    this.pet.canAttack(this.Target);
    return true;

}

public void start() {
    this.pet.setTarget(this.Target, EntityTargetEvent.TargetReason.TARGET_ATTACKED_OWNER, true);
}
public void stop() {
    this.pet.setTarget(this.Owner, EntityTargetEvent.TargetReason.CUSTOM, true);
}

}

thorn crypt
sturdy frigate
# tender shard why don't you want the "super event" to be called?

Oh well because I have this class called a "GenericWorldManager" which looks at worlds and makes sure that when they're loaded, the proper game rules are set, but I've extended that to a "LobbyWorldManager" which is a special kind of world where user inventories are configured. I don't want the generic world manager event handlers to go through because if i wanted them, I'd just instantiate a GenericWorldManager class by itself and register it

tender shard
worldly ingot
#

IntStream has a sum() method. Stream<Integer> does not

#

I'd just opt for a for loop tbh

tender shard
#

if you don't want your super event to be called, you shouldnt extend this class

thorn crypt
tender shard
#

I am very bad at using all these component things

eternal night
#

spigot already has methods for that

sturdy frigate
eternal night
#

BookMeta#spigot

thorn crypt
tender shard
#

then noone can "listen" to it

sly surge
#
list.stream().mapToInt(Integer::intValue).sum()
dry forum
#

why the actual hell is my plugin having a heart attack with this ``` Inventory inventory = Bukkit.createInventory(null, 45, t("U-GUI"));

    inventory.setItem(8, buildItem(Material.DIRT, "&7Go", "", 1));
    inventory.setItem(17, buildItem(Material.DIRT, "&7Go", "", 2));
    inventory.setItem(26, buildItem(MMaterial.DIRT, "&7Go", "", 3));
    inventory.setItem(35, buildItem(Material.DIRT, "&7Go", "", 5));
    p.openInventory(inventory);```

https://pastebin.com/tbESa0D4 <- this like 10x

junior sonnet
#

Hola

tender shard
junior sonnet
#

Tengo una duda

tender shard
#

with EventHandler stuff, I meant the getHandlerList() stuff, etc

sturdy frigate
#

ah okay

tender shard
dry forum
#

i cant

#

the server dies

#

it doesnt send it all

tender shard
#

okay, I see but

dry forum
#

its just that like 20x

tender shard
#

you should at least have a line that says "Caused by: ..."

junior sonnet
#

Hello

dry forum
#

nope

tender shard
#

take a look at your latest.log file

tardy delta
#

ello

dry forum
#

latest.log doesnt show anything that happened after that

tender shard
tender shard
#

not after it

dry forum
#

doesnt show any part of the error

tender shard
#

?paste your full latest.log pls

undone axleBOT
dry forum
#

its just the server starting up

junior sonnet
dry forum
#

theres no logs involving the plugin

tender shard
#

I am a resource pack noob

junior sonnet
#

Oooo ok ok

tender shard
junior sonnet
#

Do you know of anyone who knows about that?

tender shard
#

nah

#

sry

olive drum
junior sonnet
#

Thanks for the help

tender shard
olive drum
#

as axample

tender shard
#

I dont think that cows are able to damage players at all

olive drum
#

or a zombie

sly surge
tender shard
#

idk there are ton of goals that entities use

olive drum
#

I know, but how can i delet one specific goal?

tender shard
#

ooh okay

#

well you can get all goals from an NMS entity from their goalSelector and/or targetSelector fields

#

and then you can remove them by iterating over the list and checking if its instanceof (WhatEverGoalYouWannaRemove)

olive drum
#

Okay thank you

tender shard
#

e.g. myNmsEntity.goalSelector retirms their goalSelector

#

and then you can do sth like this:

#

okay wait, I think it requires reflection

#

what version are you on?

#

mojang mappings, or spigot mappings?

olive drum
#

1.19 deopfuscated

tender shard
#

so mojang?

olive drum
#

Yes

tender shard
#

GoalSelector has a private field "availableGoals"

#

that is a Set<WrappedGoal>

#

you gotta iterate over that

#

then check if the wrappedGoal's "goal" field (also private) is instanceof whatever you wanna remove

#

so yeah, quite tedious

#

if you need further help, lemme know

olive drum
#

Maybay a lin ktot a iterate tutorial do not have any experience with that

tender shard
#

oh wait

#

bullshit

#

I was talking bullshit

#

the GoalSelector class already has removeGoal(Goal)

#

so if you know which goal to remove, you can do that directly

#

which goal exactly do you want to remove?

olive drum
#

MeleeAttackGoal

tender shard
#

ah I see... yeah that's complicated I guess, I think you can't get around looping over the existing goals, check if any of those is instanceof MeeleAttackGoal, then remove that one

#

so yeah I think you definitely need reflection to loop over the WrappedGoal collection

#

you cannot just remove goals simply by their classes, you need to find the exact instance of that goal class to remove it

charred blaze
#

why isnt this working?

#

bungeecord

#

21.08 17:47:58 [Server] INFO Command not found

tender shard
# olive drum MeleeAttackGoal

something like this SHOULD work. No guarantuee, I wrote this without an IDE:

nmsZombie.goalSelector.removeGoal(nmsZombie.goalSelector.getAvailableGoals().stream().filter(goal -> MeeleAttackGoal.class.isInstance(goal)).findFirst().get());
tender shard
ivory sleet
#

Myeah tho u probably wanna use ifPresent or orElse instead of raw get

#

but looks nice else wise

#

Maybe Predicate.not instead nitpickingly

olive drum
dry forum
olive drum
#

just making the goal a variable and creating and deleting teh variable

tardy delta
#

MeeleAttackGoal.class::isInstance

#

😉

undone axleBOT
tender shard
#

and what's" InventoryCloseListener" line 18 ?

dry forum
dry forum
#

its a method

tender shard
#

okay, but

#

what's "ugui" line 222?

#

and what's" InventoryCloseListener" line 18 ?

#

the exact line

dry forum
#

p.openInventory(inventory); line 222
inv.open() which calls ^

tender shard
#

what does inv.open() do?

#

looks like both methods keep calling each other again and again

dry forum
#
        Inventory inventory = Bukkit.createInventory(null, 45, t("U-GUI"));

        inventory.setItem(8, buildItem(Material.DIRT, "&7Go", "", 1));
        inventory.setItem(17, buildItem(Material.DIRT, "&7Go", "", 2));
        inventory.setItem(26, buildItem(MMaterial.DIRT, "&7Go", "", 3));
        inventory.setItem(35, buildItem(Material.DIRT, "&7Go", "", 5));
        p.openInventory(inventory);```
tender shard
#

yeah, you see

#

so

#

let me try to explain

#
  1. you do p.openInventory(...)
  2. which calls inv.open()
  3. which calls p.openInventory(...)
  4. which calls inv.open():
  5. ...
tardy delta
#

🤡

tender shard
#

your methods keep calling each other

dry forum
#

how though

#

when i close the gui i re-opeen it

tender shard
#

because you put that into your code?

dry forum
#

i dont want players to be able to close the gui

charred blaze
#

what does super() do?

dry forum
#

i only call inv.open() when the gui is closed which re-opens the gui

eternal night
tender shard
#

then listen to InventoryCloseEvent and reopen the inventory then

eternal night
#

like for a second

tardy delta
#

inv event isnt cancellable you you'd have to reopen it

charred blaze
dry forum
charred blaze
#

it gaves me error

tender shard
eternal night
#

yeaaaa xD

charred blaze
#

The constructor Object(String) is undefined

tardy delta
#

lmao

eternal night
#

Well, I'd presume you fiucked up the class declaration

tender shard
#

super calls the constructor of the super class

eternal night
#

and did not extend command

tardy delta
#

do it

charred blaze
eternal night
#

like the tutorial instructed you to

#

which

dry forum
tender shard
#
public class Jerk {
  final String name;
  public Jerk(String name) {
    this.name=name);
  }
}

public class AgedJerk extends Jerk {
  final int age;
  public AgedJerk(String name, int age) {
    super(name);
    this.age = age;
  }
}
#

this is what super does ^

charred blaze
tender shard
#

?learnjava

undone axleBOT
tardy delta
#

fuck

light warren
#

Anyone here who knows a bit about ProtocolLib?

tender shard
charred blaze
tender shard
#

what are you trying to do?

#

ProtocolLib is one of the shittiest, most bullshit libraries EVER

#

There are sooo awesome alternatives

light warren
#

there's the Player Chat Message packet

tender shard
#

for example PacketEvents by @alpine urchin

#

Just forget about ProtocolLib

#

you will never need it again

#

consider using PacketEvents instead

light warren
#

There's only one thing I need, so if packetevents supports it idc

#

Player Chat Message has a UUID field with the original sender's UUID

tender shard
#

PacketEvents is basically "ProtocolLib in better"

eternal night
#

more typed

tender shard
#

and easier to use

eternal night
#

I guess

light warren
#

In ProtocolLib it seems that this never gets passed through

tender shard
#

yeah PacketEvents actually wraps packets

light warren
#

Altho it might be one of my other plugins messing with it now that I think of it

tender shard
#

okay lets do it the other way around -

#

what are you actually trying to do?

light warren
#

You know how in MMO's you can type something like [Big Dong] in chat and you can hover over it and see the stats?

#

that's what I need

tender shard
#

of course, I love big dongs

#

Yeah, you dont need packets for that though

light warren
#

And yes I know about chat events, but another plugin of mine kinda interferes with it so that's out of the question

tender shard
#

You can listen the AsyncPlayerChatEvent

#

and then replace that part with a BaseComponent that has a "hover" part thingy

light warren
#

ik

#

that was my first implementation

tender shard
#

but why do you need packets?

light warren
#

because the chat plugin I currently have doesn't have any way I can properly do this through chat events

#

it's CMI btw

eternal night
#

cmi kekw

tender shard
#

and why can't you just do Bukkit.broadcastMessage(...) or loop over all oneline players and do player.sendMessage(...)?

tender shard
#

but yeah otherwise, CMI sucks ass and not in the good way (I know I always say this, but it's required to always mention that since there also nice ass-sucking things)

light warren
#

why so?

tender shard
#

erm

#

whuit

tender shard
#

why CMI sucks?

#

Oh I can tell you

light warren
#

ye

tender shard
#

about 9 months ago, I reported a bug because the "global bungee" chat wasnt work

#

still no reply 🥲

tranquil viper
#

Is it possible to have invisible lights?

light warren
#

kinda anecdotal

tender shard
tardy delta
#

theres a light block in 1.19

#

or smth

tender shard
#

yeah but

#

they want the light to be invisible?

#

then just dont use lights

#

lol

#

or did I misunderstood

tranquil viper
#

I want like invisible blocks that emit light

tender shard
#

?

tardy delta
#

that thing is invisible

tender shard
#

aaaah

#

Material.LIGHT

kind hatch
#

That's what the light block is.

iron glade
tender shard
#

but

kind hatch
#

It's only visible in creative mode. Similar to the barrier except without an outline.

tranquil viper
#

Is there like a premade plugin that handles that? If not would I need nms since it's a client side thing?

tender shard
tranquil viper
#

oh

#

LOL

#

thats so cool

iron glade
light warren
tender shard
#

i guess LightAPI is officially dead now

#

omg my heart just skipped a beat, I hate it when this happens

#

wdym?

#

ADD what?

#

a new column?

#

I think that this is actually NOT possible in sqlite

tender shard
#

THIS AUSTRIAN JERK AGAIN

wet breach
alpine urchin
#

im busy making music

tender shard
#

send

alpine urchin
#

ps u didnt send the thing

#

in dms

tender shard
#

FL studio?

alpine urchin
#

i cant send if im making it

tender shard