#help-development

1 messages · Page 77 of 1

tender shard
#

he was like "no way"

#

yeah it was under the blanket

plain vapor
#

When checking if a user is in a group, is it preferred to use the Vault API? I imagine that your code would support more permission plugins. But from the ones I've tested, just checking player.hasPermission("group.{GROUPNAME}") works with quite a few permission plugins. Do most permission plugins just write/check with the Bukkit API anyways? Is it guaranteed that all permission plugins use group. for the group permissions etc?

tender shard
#
  1. there is no proper permission plugin that I know that doesnt do it like that
#
  1. why do you need to check the group? cant you check for the actual permission directly?
eternal oxide
#

GM has never supported group.

plain vapor
#

Gotcha. I'm checking to see if a player is in a group for chat formatting purposes (ie. prefixes)

tender shard
#
  1. I wrote a permission plugin myself that does NOT use the group.groupname system but... it only has 14k downloads and only noobs that claim "WHY CHESTSORT ONLY WORK FOR OPs" use it, so you can just ignore this one anyway haha
#

I am probably safe to say that you can just check for the group.<groupname> perm without problems

eternal oxide
#

The correct way to check a group is via vault or the plugins API. Groups mean nothing to Bukkit perms

tender shard
#

true but many (tiny servers) use perm systems without vault and they also expect chat prefixes to work

plain vapor
#

I had figured most people used Vault, went to look into hooking it up and what not. But it looks quite outdated. Maybe I'm in the wrong place? Lots of perm plugins that aren't supported, etc

tender shard
#

i'd do it like this:

  1. is vault installed? get the group / prefix from vault API
  2. if not - do the manual group.<whatever> check
plain vapor
tender shard
#

vault is outdated but it also isnt

#

it's like schrödinger's permission system

#

it's oldschool but it works and it will also still work in minecraft 1.38

eternal oxide
#

They stopped adding plugins to it long ago, but the plugins themselves add to it.

plain vapor
#

Ah right, so people are writing like vault extensions into their plugins?

tender shard
#

yeah

#

vault is so easy to hook into, and it will never require updates until bukkit does really breaking changes

#

and as we can all see, this will never happen

#

spigot still supports legacy "0:1" stuff for andesite D:

plain vapor
#

Cool! Thanks guys, I'll get to work

tender shard
buoyant viper
#

just use group manager ezpz

#

idk

#

@onyx fjord can i play fortnite on debian 11

plain vapor
#

Hey guys, just while I'm around. What're your opinions on config files? I use configuration sections to section up the configs. But I feel like that's so much traversing and if I was to hold configuration sections in memory, it would just be wasted memory. Do you guys just leave config keys at top-level with some keys being second-level for stuff likes groups and what not? I just want to know best practice with config setups

waxen plinth
#

Especially because it's all loaded into memory anyways

plain vapor
#

So something like this wouldn't matter?

#

Cause if I access those nested sections via keys like "Global_Messages.Default_Format.Format", I feel like it's just messy. Like surely people do configs a bit different to what I'm doing

wet breach
plain vapor
#

Yeah okay so there's no need to save config sections to variables, since accessing them from the config hashmap will be more efficient right?

wet breach
#

as for the whole traversing part, you could re-structure or redesign your config file to be more easier for you. This is something that a programmer should be aware about and learn how to do because sometimes a redesign for the config is necessary or a different layout.

#

Sometimes it might just be more optimal or easier to use more then one config file

#

to separate out the information and make it easier either for you programming wise, or easy for the user

#

what is best is not something we can really determine, we might be able to help depending on the information we can see and you tell us, but even then still limited help because ultimately it really comes down to you in what you are ok with or what you determine to be optimal or just easier. We don't know your plugin or your vision etc in what you are trying to accomplish.

plain vapor
#

Yeah fair enough. That helps, thanks

wet breach
#

I do use in that plugin even though it isn't in a working state anymore more then one config file

#

there is a config file to edit settings for the plugin itself, and there is a config file that stores information about the tutorials that were setup, and then there is a config file that tracks users

#

The plugin is licensed under MIT so feel free to borrow code or use it as a template

plain vapor
#

Cool thanks, I appreciate that. Good to gather a bunch of projects for inspiration

wet breach
#

and you also don't have to use yaml files either

#

you can find yourself a different configuration library for your plugin if you just ultimately don't like yaml

#

no one ever said yaml must be used, it is just what spigot shades in and thus a convenience most use since it is already provided

ornate patio
#

still stuck on this

wet breach
#

so I read up on the implementation btw

#

in regard to this, and it turns out you really shouldn't have to exit the channels first

#

I think there might be something up in their API where they use default keyword and the stuff under that just not being ran when you use that close method

#

default stuff includes leaving channels

#

so might be worth possibly checking out on github if there is any reported/opened issues relating to your problem

#

if you can't find any, make one

#

include everything what you put above to include what you changed to get that one error to go away

boreal python
#

How do i compile my .java file into a .class file?

#

I tried javac name.java in cmd
However it gave a bunch of unnecessary errors

wise mesa
#

how do i set the server resource pack through code

#

and enable forcing the server resource pack

#

is this possible

boreal python
wise mesa
#

yea

#

but is it possible to do from inside a plugin instead?

boreal python
#

no clue 🤷‍♂️
probably

wise mesa
#

lol

vocal cloud
#

You can probably ship it when the user joins

wet breach
wise mesa
#

so just use that function on join event?

#

but there's no function to act as if i had changed the setting in server.properties?

#

just double checking that

wet breach
#

not that I am aware of

#

but I mean just keep the the url in a config so its changeable

#

and then use an event that is reliable where you can send it to them

shadow zinc
#

what do I do if my code is shit but I got thousands of lines, just delete the project and start again?

compact haven
#

that’s called refactoring

#

well

#

is that even

#

anyways, it depends on how shit

#

can you improve it without starting over

shadow zinc
#

lets say it needs a miracle

wise mesa
#

itd just be nice to treat it as if i had the require resource pack value enabled

#

wait

#

gotta try something

#

time to find out if the require resource pack in server.properties still work if you do player#setResourcePack

shadow zinc
bitter vine
#

hello

shadow zinc
#

HI

bitter vine
shadow zinc
#

you want to fork the project?

bitter vine
#

for starters yeah of course

bitter vine
#

im a little familiarized with github though so that's not an issue

shadow zinc
wet breach
#

just have to look

shadow zinc
#

Oh they added force option?

#

nice

wet breach
#

yep

shadow zinc
#

saves people wanting to tear out their organs with packets

wet breach
#

not that packets are difficult anyways

shadow zinc
#

I've never experimented with them

wet breach
#

if you have any experience in networking you would know that packets are simple 😄

shadow zinc
#

yes, assuming that spigots implementation of them isn't overcomplicated

#

I should try them at some point

#

NMS too, I've stayed away from that stuff for a long time

wet breach
#

spigot uses netty

#

so just have to hook into that as that is what is used for the networking 🙂

#

even vanilla code uses netty too

shadow zinc
#

Anyways, I completely recoded my API and it should be better now

#

DI everything

#

and some basic design patterns

ornate patio
#

the error still shows up just takes a bit longer lmao

#

when trying to re-enable the plugin I'm also getting this error, which I assume is being caused by spigot:

#
Exception thrown when performing the maintenance task
java.lang.IllegalStateException: zip file closed
#

long version:

wet breach
#

you using the most updated version?

robust pike
#

Any suggestions,

I am running SQL thru HikariCP and when I insert into the DB I get this.

`
[00:22:14] [Craft Scheduler Thread - 0/WARN]: java.sql.SQLTransientConnectionException: HikariPool-3 - Connection is not available, request timed out after 30000ms.
[00:22:14] [Craft Scheduler Thread - 0/WARN]: at com.zaxxer.hikari.pool.HikariPool.createTimeoutException(HikariPool.java:676)
[00:22:14] [Craft Scheduler Thread - 0/WARN]: at com.zaxxer.hikari.pool.HikariPool.getConnection(HikariPool.java:190)
[00:22:14] [Craft Scheduler Thread - 0/WARN]: at com.zaxxer.hikari.pool.HikariPool.getConnection(HikariPool.java:155)
[00:22:14] [Craft Scheduler Thread - 0/WARN]: at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:128)
[00:22:14] [Craft Scheduler Thread - 0/WARN]: at net.etherrealms.sql.SQLManager$1.run(SQLManager.java:73)
[00:22:14] [Craft Scheduler Thread - 0/WARN]: at org.bukkit.craftbukkit.v1_19_R1.scheduler.CraftTask.run(CraftTask.java:82)
[00:22:14] [Craft Scheduler Thread - 0/WARN]: at org.bukkit.craftbukkit.v1_19_R1.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:54)
[00:22:14] [Craft Scheduler Thread - 0/WARN]: at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
[00:22:14] [Craft Scheduler Thread - 0/WARN]: at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
[00:22:14] [Craft Scheduler Thread - 0/WARN]: at java.base/java.lang.Thread.run(Thread.java:833)
[00:22:14] [Craft Scheduler Thread - 0/INFO]: An error occured: HikariPool-3 - Connection is not available, request timed out after 30000ms.

`

ornate patio
#

ill reinstall from the website

ornate patio
#

i wasnt getting this error before I had twitch4j on my plugin though

#

bump

#

sry just been stuck on this all day

shadow zinc
#

how do I handle a java.lang.NoClassDefFoundError: on lower versions of minecraft

#
java.lang.NoClassDefFoundError: org/bukkit/block/data/BlockData```
#

java 8

vocal cloud
#

By using an older version of the API?

shadow zinc
#

How do plugins deal with different api versions missing classes?

vocal cloud
#

By using older versions of the API

#

They then create a bunch of different versions that load depending on what version the server is

shadow zinc
#

what is its just one import?

#

still create multiple versions of that class?

mighty aurora
#

Sorry if this seems very silly but how would I go about making a per player cooldown on specific items?

shadow zinc
#

How do I find when a class was added to spigot, like BlockData

vocal cloud
#

You sign my petition to get md_5 to approve my @since tags

compact haven
#

why they not there already

delicate fossil
#

what is the event that triggers when player leashes entity onto a fence?
ive found PlayerLeashEntityEvent but that is "called immediately prior to a creature being leashed by a player". like when they rclick the entity. not the fence. right?
any ideas?

frosty tinsel
#

Maybe interactevent

delicate fossil
#

how would i determine that the player actually leashed something and not only right clicked the fence without anything leashed?

mighty aurora
#

Ray casting to determine the fence that you can then use to check if a leash is their

shadow zinc
vocal cloud
#

The point is to find ALL the classes/methods and their versions not just BlockData

delicate fossil
opal juniper
vocal cloud
#

I'm not going to do it till I get an ok lol

opal juniper
#

well if I were you i would find some examples, and PR them stating that you will add all upon approval

mighty aurora
#

Two questions. Repeating my earlier question how do I create cooldowns for specific items(not item types) that is per player? Also What would the best way to create a sort of dash ability for the player the ability would have to do damage to all entities that is would have passed(even if it is teleporting forward) and wouldn't take damage from having done so. Current thoughts for movement are velocity or teleporting but I also think theirs a better way that I just don't know about.

vocal cloud
#

Well your first question is easy. Use a hashmap.

sturdy frigate
#

I need to listen to events from a class that is only instantiated certain times with certain data
Currently, I would have a separate class that can be instantiated no matter what and that stores a static list of the instantiated classes that need the event data, and then call the methods from those classes to pass on event details.
Is there any better way to do it?

dry forum
#

anyone know that ticking noise that hypixel and stuff use? hypixel uses it for lobby countdowns

mighty aurora
dry forum
#
            
        }
        if (!inventory.getItem(12).getType().equals(Material.DIRT)) {
            return;
        }``` its saying getType() can be null but then it says ```(inventory.getItem(12).getType() == null)``` will always be false... so how am i supose to check
young knoll
#

getItem can probably be null

mighty aurora
#

long is a integer variable that stores as a integer not a string correct?

modern vigil
#

Yes

mighty aurora
#

Then what does this mean?

#

I need to get the pic

#

Basically the error says that I can't use operator - on java.lang.string, long

#

which doesn't make sense.

#

I fixed it by removing the formatting that I was trying to use to format the outputs as a colored text...

charred blaze
#

what is NamespacedKey?

mighty aurora
opal juniper
charred blaze
#

im forking some plugin named hastepotions it had error about recipes and needed namespacedkey. but i dont really understand what to put in this

#

what to put in this?

median barn
#

hey, why does this return null even after holding an item

#

ItemStack item = playerInteractEvent.getItem();

charred blaze
#

playerinteractevent?

#

do you meant to need inventoryclickevent?

misty ingot
misty ingot
#

see where its being used

rough drift
#

So when I listen for interact event I want the player to give priority to chests or similar THEN, if the block has no right click action, I want my code to continue, how can I do that

median barn
#

i was following a tutorial, soo it may have been outdated

charred blaze
misty ingot
misty ingot
#

then you will know what it does and know what to put in it

charred blaze
#

i added it

#

A plugin is creating a recipe using a Deprecated method. This will cause you to receive warnings stating 'Tried to load unrecognized recipe: bukkit:<ID>'. Please ask the author to give their recipe a static key using NamespacedKey.

#

this was error

distant wave
#

yo guys ive just cloned my repo with plugin, which one is to build that project?

distant wave
#

thanks

sullen canyon
#

how do i get perms for offline player?

#

i was trying PermissibleBase pb = new PermissibleBase(Bukkit.getServer().getOfflinePlayer(suspected)); but it doesnt work properly

formal willow
#

i need help
its with the IP forwarding

marble copper
formal willow
honest brook
#

I need help with Inventory Listeners
The tp thing isn't working for me

if (e.getView().getTitle().equalsIgnoreCase(ChatColor.GREEN + "Admin Gui: Teleport")){
            if (e.getCurrentItem().getType().equals(Material.ENDER_PEARL)){
                Player target = p.getServer().getPlayerExact(e.getClickedInventory().getItem(4).getItemMeta().getDisplayName());
                Location targetloc = target.getLocation();
                p.teleport(targetloc);
                p.closeInventory();
            }
            if (e.getCurrentItem().getItemMeta().getDisplayName().equalsIgnoreCase(ChatColor.RED + "Bring")){
                Player target = p.getServer().getPlayerExact(e.getInventory().getItem(4).getItemMeta().getDisplayName());
                Location ploc = p.getLocation();
                p.closeInventory();
                target.teleport(ploc);
            }

            e.setCancelled(true);
        }```
Whenever I try to use it I get these errors: https://hastebin.com/dupupejeja.properties
Heres the full class: https://hastebin.com/ruhedewedu.swift
sullen canyon
marble copper
formal willow
#

for god sake wheres the channel to help for thst stuff thingy

#

where do i go then?

charred blaze
formal willow
#

thanks

robust light
#

Can someone tell me how I could store a integer that's different for every entity? (not just the type of entity, but every entity)

robust light
#

What's that?

eternal oxide
#

?pdc

tender shard
#

pdc is love

#

pdc is life

tender shard
# robust light What's that?

tiny example on how to store an integer inside a player / entity using PDC:

public class Test extends JavaPlugin implements Listener {

    private final NamespacedKey brokenDirtKey = new NamespacedKey(this, "broken_dirt");

    @Override
    public void onEnable() {
        getServer().getPluginManager().registerEvents(this, this);
    }

    @EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)
    public void onDirtBreak(BlockBreakEvent event) {
        if(event.getBlock().getType() != Material.DIRT) {
            return;
        }
        Player player = event.getPlayer();
        int brokenDirt = player.getPersistentDataContainer().getOrDefault(brokenDirtKey, PersistentDataType.INTEGER, 0);
        brokenDirt++;
        player.sendMessage("You broke " + brokenDirt + " in total now, bruh!");
        player.getPersistentDataContainer().set(brokenDirtKey, PersistentDataType.INTEGER, brokenDirt);
    }
}
#

whut? can you try to rephrase this pls?

rough basin
tender shard
#

ok lol

robust light
tender shard
#

it's just an example on how to store a number in the player

#

ofc you could do the same thing for balance etc

misty ingot
#
                Firework fw = (Firework) victim.getWorld().spawnEntity(victim.getLocation(), EntityType.FIREWORK);
                FireworkMeta fwm = fw.getFireworkMeta();

                fwm.setPower(1);
                fwm.addEffect(FireworkEffect.builder().withColor(Color.GREEN).flicker(true).build());
                fwm.addEffect(FireworkEffect.builder().withColor(Color.BLUE).flicker(true).build());
                fwm.addEffect(FireworkEffect.builder().withColor(Color.ORANGE).flicker(true).build());

                fw.setFireworkMeta(fwm);
                fw.detonate();

the firework spawns and detonates, but without any effect at all (its just the default little blob of white smoke and default sound)
I expect it to show the colored effects when it detonates
no errors anywhere

shadow zinc
#

?notworking

undone axleBOT
#

"Does not working" is a useless statement. Please describe what exactly is not working, what you expect it to do, and what actually happens. If you get any console errors, also ?paste the entire stacktrace.

misty ingot
#

updated my message

shadow zinc
#

bot commands in threads don't work so I wanted to copy the message

misty ingot
#

lol ok

#

I have been looking at docs and forum posts for like an hour

#

cant get it to work :<

tender shard
#

just for fun, try to set it in the consumer

misty ingot
#

the consumer?

tender shard
#

yeah wait, 1 sec pls

#

ah shit there's only one for dropping items

#

not for spawning them

#

ah nvm

#

I found it

#

1 sec

#

try sth like this:

#
        victim.getWorld().spawn(victim.getLocation(), Firework.class, fw -> {
            FireworkMeta fwm = fw.getFireworkMeta();

            fwm.setPower(1);
            fwm.addEffect(FireworkEffect.builder().withColor(Color.GREEN).flicker(true).build());
            fwm.addEffect(FireworkEffect.builder().withColor(Color.BLUE).flicker(true).build());
            fwm.addEffect(FireworkEffect.builder().withColor(Color.ORANGE).flicker(true).build());

            fw.setFireworkMeta(fwm);
            fw.detonate();
        });
#

maybe you have to call detonate outside of the consumer

#
        Firework fw2 = victim.getWorld().spawn(victim.getLocation(), Firework.class, fw -> {
            FireworkMeta fwm = fw.getFireworkMeta();

            fwm.setPower(1);
            fwm.addEffect(FireworkEffect.builder().withColor(Color.GREEN).flicker(true).build());
            fwm.addEffect(FireworkEffect.builder().withColor(Color.BLUE).flicker(true).build());
            fwm.addEffect(FireworkEffect.builder().withColor(Color.ORANGE).flicker(true).build());

            fw.setFireworkMeta(fwm);
        });
        fw2.detonate();
#

try this

misty ingot
#

aight ima try that

#

ayyy it works

tender shard
#

great

#

the consumer basically lets you adjust the entity's settings BEFORE it gets spawned

misty ingot
#

nice

#

it looks shit when it spawns in the ground tho so ima use victim eye location

tender shard
#

this is nice because then in EntitySpawnEvent, it already has the proper settings

#

tbh I am very surprised that it worked lol

misty ingot
#

ngl its actually way more exciting when code works on the 100th try than it is when it works on the first try

shadow zinc
tender shard
shadow zinc
#

they are great

tender shard
#

yeah I especially like the scheduler consumers

shadow zinc
#

🥵

tender shard
#

e.g.

Bukkit.getScheduler().runTaskTimer(plugin, task -> task.cancel(), initialDelay, delay);
shadow zinc
#

consumers are great when you are making an API as well

#

very noice

sturdy frigate
#

is there a gamerule for disabling pvp?

tender shard
#

no

shadow zinc
#

ehm

#

if damage set canelled

tender shard
#

you can just do world.setPvp(boolean)

#

but no, its not a gamerule

#

"pvpMode" is a public field on the NMS Level class

shadow zinc
#

bruh its grown so much lol

misty ingot
#

when you gotta test kill effects

shadow zinc
#

me when I get killed by the warden

sturdy frigate
#

Do you guys know why my generic Z is showing the error:
Raw use of parameterized class 'MinigameManager' ?

public class MinigamePlayerManager<T, Z extends MinigameManager> {

tardy delta
#

Minigamemanager is generic

sturdy frigate
#

Oh right I forgot, can I just keep it that way? or how can i solve it

#

okay i just used ? seems to do the trick

quaint mantle
#

Hey, how can I use Mojangs mapping instead of Spigots?

drowsy helm
#

        <dependency>
            <groupId>org.spigotmc</groupId>
            <artifactId>spigot</artifactId>
            <version>1.19-R0.1-SNAPSHOT</version>
            <classifier>remapped-mojang</classifier>
            <scope>provided</scope>
        </dependency>```
quaint mantle
#

Alr thanks

#

How can I download it through buildtools?

#

I've already ran BuildTools before but I could only use Spigot mappings

drowsy helm
#

java -jar BuildTools.jar --rev YOUR VERSION --remapped

quaint mantle
#

Thanks very much

#

Have a great day!

bright rover
#

Im not sure if spigot is the reason of my problems. but Im creating an adventure map on my mc server, 1.19.2 and my datapack(its only functions) suddenly stopped working and then 90% of theme stopped showing up ingame. can anyone help me with that?

fiery prairie
#

so i have this to make a /lobby command:

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

        if (sender instanceof Player) {
            Player p = (Player) sender;


            p.chat("/server lobby");
        }
        return true;
    }```
and it gets executed like a normal command, in the console it says that i executed `/server lobby` however for me it does nothing and says that this command doesnt exist (even though if i type `/server lobby` manually, it works)
#

any idea why?

echo basalt
#

that's because /server is a bungee command

fiery prairie
#

yea but i am on bungee

#

and if i type it manually it works

echo basalt
#

and when you run it manually, it goes through the bungee server and never arrives on the spigot instance

fiery prairie
#

so what do i have to do?

drowsy helm
#

p.chat("/server lobby"); doesnt send a command iirc

fiery prairie
#

other commands that arent /server do work

drowsy helm
#

try putting it on a 1 tick runnable

#

or just use bungee api

fiery prairie
#

and bungee api is complicated and this plugin that im making is not only made for /lobby

#

its a server core

drowsy helm
#

yes you can?

fiery prairie
#

thats possible?

drowsy helm
#

can send players to diff servers on a spigot plugin

#

might be wrong tho havent used bungee in a long while

fiery prairie
#

so now when i try putting the bungee dependency i cant use 1.18.1-R0.1-SNAPSHOT

#

i can only use 1.19

misty ingot
#

just make a bungee plugin and add a bungee command with the name /lobby and then tell bungee to send the player to that server when the command is run...

#

its very simple

hasty wasp
#

Does the ProxyServer.getInstance().getServerInfo("lobby").getPlayers() Method contains all players on the server or just the players connected through this proxy?

#

just to be sure ^^

misty ingot
#

you are taking info from the server named "lobby" so it will tell you how many people are connected to the "lobby" server

#

kinda obvious

hasty wasp
#

*in a multi proxy network

misty ingot
#

pretty sure its the same

fiery prairie
ashen quest
#

wot da foq

#

in an extremly exaggerated indian accent because i am indian

fiery prairie
hasty wasp
#

the bungee api is just like the spigot api

fiery prairie
#

nah I tried it once and i barely could do like literally anything

misty ingot
quaint mantle
#

Hey, why can't I use TinyProtocol with mojmaps 1.19?

hasty wasp
#

?meta

#

xD

misty ingot
#

is there a way to remove everything from the lore and make it so I can only see "Trail Effects" when I hover over the item?

drowsy helm
#

meta.addItemFlags(ItemFlag.HIDE_ATTRIBUTES);

misty ingot
#

thanks

quaint mantle
sturdy frigate
#

How do i load a new world? can i just replace world_nether with that world?

drowsy helm
quaint mantle
#

So what should I do to fix it?

drowsy helm
#

either dont use tinyprotocol, or dont use moj mappings

quaint mantle
#

Oh, okay.

drowsy helm
#

or have both moj mappings and spigot mappings

#

which i would recommend

quaint mantle
drowsy helm
#

use both dependencies

shadow zinc
#

?paste

undone axleBOT
quaint mantle
#
        <dependency>
            <groupId>org.spigotmc</groupId>
            <artifactId>spigot</artifactId>
            <version>1.19-R0.1-SNAPSHOT</version>
            <classifier>remapped-mojang</classifier>
            <scope>provided</scope>
        </dependency>

        <dependency>
            <groupId>org.spigotmc</groupId>
            <artifactId>spigot</artifactId>
            <version>1.19-R0.1-SNAPSHOT</version>
            <scope>provided</scope>
        </dependency>
#

Like this?

shadow zinc
#

can someone help me with this error, im confused because im not using locations

shadow zinc
#

which part?

drowsy helm
#

ConfigMenu i'd assume

shadow zinc
#

fuck, don't judge

drowsy helm
#

can we also see the config

shadow zinc
#

it uses all the configs that have ever existed

#

its a config editor for all the plugins

drowsy helm
#

so theres a config file somewhere that has a location in it

shadow zinc
#

oh?

#

how do I make it not error?

drowsy helm
#

it just cant find a specified world

vernal minnow
shadow zinc
#

its not meant to do worlds shit, it just shows text

drowsy helm
#

uh dont think you can unless you make your own loadConfig

#

loading the yml will always try to deserialize stuff

shadow zinc
#

so? whats the best action here doc?

#

give it to me straight

tender shard
tender shard
#

either use remapped, or not

#

do not use both

drowsy helm
#

not names

tender shard
misty ingot
#

now we're talkin

shadow zinc
#

🥵 💦

quaint mantle
vernal minnow
tender shard
#

that has nothing to do with whether you use remapped or not, does it

drowsy helm
#

What you using TinyProtocol for anyway

tender shard
#

yeah isnt TP dead since years?

#

use PacketEvents

drowsy helm
#

you can just pass the texture encode

quaint mantle
misty ingot
quaint mantle
#

Thanks

tender shard
drowsy helm
#

fuck particles

#

so hard to calculate

tender shard
quaint mantle
#

Does it work for 1.19?

tender shard
#

sure

misty ingot
quaint mantle
#

Alright, thanks

tender shard
drowsy helm
#

yes

#

            new BukkitRunnable() {
                double t = 0;
                double r = radius;
                public void run() {
                    t = t + Math.PI / 32;
                    double x = r * Math.cos(duration * (t-5)) * ((t-5) * .2);
                    double y = 0.5*t;
                    double z = r * Math.sin(duration * (t-5)) * ((t-5) * .2);

                    if(y >= maxHeight)
                        this.cancel();

                    Location pLoc = loc.clone().add(x, y, z);

                    pLoc.getWorld().spawnParticle(Particle.VILLAGER_HAPPY, pLoc, 1);
                }
            }.runTaskTimer(plugin, 0, 1);```
this is the maths just for a fucking spiral
tender shard
shadow zinc
tender shard
misty ingot
shadow zinc
#

its my website lol

tender shard
#

aah ok lol

drowsy helm
#

go for it

#

imagine having a blog

#

only old people use blogs

tender shard
#

I would have never thought that my blog gets popular

#

I'm literally #2 on google lol

shadow zinc
#

built different

tender shard
#

why is itunes so slow on windows

shadow zinc
#

spotify all the way for me

tender shard
#

yeah well I got apple music for free

#

so obviously I use it

drowsy helm
tender shard
#

I mean I also hate windows

#

but that doesnt explain why only itunes is so slow 😄

drowsy helm
#

still love them tho

tender shard
#

still waiting for the M2 macbooks to be released....

drowsy helm
#

oh boy

#

i hope they make m2 servers

#

will change micro services

tender shard
#

I already put 4k€ on a separate account so I wont spend them before the new macbooks get released >.<

drowsy helm
#

does java even support RISC

shadow zinc
#

so how do I handle a destabilization error buoobuoo?

tender shard
#

destabilization error?

#

whut

drowsy helm
#

deserialization

#

uh its just how spigot loads yamls

tender shard
#

don't save un-deserializable data

drowsy helm
#

you can make your own yaml loader

shadow zinc
#

but that takes effort

drowsy helm
#

🤷‍♂️

tender shard
#

why is your data not deseriazable?

shadow zinc
#

idfk

drowsy helm
#

they're trying to load any config

#

not just their own

shadow zinc
#

all and any config

tender shard
#

oh just use SnakeYaml directly

#

you probably have ConfigurationSerializable objects in your conf right?

#

the ConfigurationSerializable class bullshit

shadow zinc
#

but I could benefit from this, my plugin could be like an error detector

tender shard
#

you could just remove all == keys from your yaml before loading it

drowsy helm
#

i havent used spigot config system in years

#

yaml sucks

tender shard
#

nah yaml is great

drowsy helm
#

not yaml itself

#

just local config files

tender shard
#

it's only ConfigurationSeriazable that sucks ass, and not in the good way

drowsy helm
#

someone should make a configuration override plugin that uses a db instead

shadow zinc
#

so does it deserialize here? YamlConfiguration.loadConfiguration(file)?

drowsy helm
#

🌟 modularity🌟

#

yeah

shadow zinc
#

could I just use a try catch?

drowsy helm
#

well yes

#

but it wouldnt load the config

shadow zinc
#

ffffffffffffffffffff

drowsy helm
#

you only need raw text right

shadow zinc
#

alright snakey it is

quaint mantle
#

Tbh PacketEvents is pretty cool

#

Thanks for telling me this exists!

tender shard
#

yeah the only weird thing is that you gotta call like 4 init() methods lol

#

I still wonder why this is needed lol

quaint mantle
#

Yeah, lol

#

I'm going to recreate snake in Minecraft using WASD

#

That's why I needed to listen to player input

drowsy helm
#

sounds buggy

quaint mantle
#

First, I'm going to experiment though

short raptor
#

How can I give an enchantment over the vanilla limit e.g. prot 5? I just get a console error trying to do it

tender shard
#

addUnsafeEnchantment

short raptor
#

Ohhh ok thx

tender shard
#

weirdly, it's a method on ItemStack, not on ItemMeta

#

dont ask me why lol

short raptor
#

💀

chrome beacon
#

ItemMeta one takes a boolean

drowsy helm
#

spigoot moment

tender shard
#

weird how those methods are doubled

#

and one takes a boolean while the other one is a standalone method

#

lol

#

md_5 was probably just drUnk again

#

cant blame him

drowsy helm
#

again?

#

surprised that guy even drinks

tender shard
#

hes from kangaroo country

#

what else is there to doo besides drinking goon?

drowsy helm
#

yeah but he swears off everything

#

YOO

#

alex knows what goon is

#

legend

tender shard
#

lol sure

#

isnt that this weird "wine" sold in those aluminium bags?

drowsy helm
#

yep

tender shard
#

i've spent half a year in australia in 2012 or so

drowsy helm
#

it tastes like shit

tender shard
#

i havent tried it tbh

drowsy helm
#

its good to get rooted on

tender shard
#

i guess haha

#

i still prefer beer and/or jägermeister

drowsy helm
#

oh did you live here for a bit

tender shard
#

yeah

drowsy helm
#

jager

#

is

#

ass

#

why would you even like that

tender shard
#

idk I can drink it straight from the bottle, but the trick is

#

the bottle has to be warm

#

like room temp

#

not ice cold

#

if it's ice cold, I'd have to vomit

drowsy helm
#

does it change the taste or smth

tender shard
#

yeah

drowsy helm
#

imo it tastes like medicine

#

really bad medicine

tender shard
#

jägermeister always says "drink me ice cold" but no thanks

tender shard
drowsy helm
#

i can have jager bombs

#

but i dont enjoy them

tender shard
#

yeah it's shit

drowsy helm
#

wait you're canadian right

#

or german

#

or something

tender shard
#

lol

#

german

#

choco is canadian

drowsy helm
#

is german beer very heavy?

#

in aus its super heavy, makes me bloated

tender shard
#

we have hundred different kinds of beer. the "usual" thing you'd get if you just order "one beer", it's a "Pilsener", it has like 5% alcohol

#

https://en.wikipedia.org/wiki/Pilsner this is what everyone in germany considers "normal beer"

Pilsner (also pilsener or simply pils) is a type of pale lager. It takes its name from the Bohemian city of Plzeň (German: Pilsen), where the world's first pale lager (now known as Pilsner Urquell) was produced in 1842 by Pilsner Urquell Brewery.

drowsy helm
#

ah yeah

shadow zinc
#

this should do it right? java Yaml config = new Yaml(); try { InputStream targetStream = new FileInputStream(file); config = config.load(targetStream); } catch (FileNotFoundException e) { throw new RuntimeException(e); }

tender shard
manic furnace
#

Is there a way to calculate how much spaces a letter is equal to?

manic furnace
#

How much spaces i need for one letter to position it right

drowsy helm
#

so.. pixels?

lost matrix
#

Depends on the clients font

drowsy helm
#

this dude made a good resource

#

for default font

manic furnace
#

Thank you

misty ingot
#
public class SpiralCosmeticsHandler implements Listener {

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

    private void spiralLoop(Player player) {
        new BukkitRunnable() {

            final int radius = 1;

            @Override
            public void run() {
                // Make particles in a spiral pattern

                Location loc = player.getLocation();
                double x = radius * Math.cos(loc.getY());
                double z = radius * Math.sin(loc.getY());

                player.getWorld().spawnParticle(Particle.VILLAGER_HAPPY, x, loc.getY(), z, 50, 1, 1, 1);

            }
        }.runTaskTimer(plugin, 1, 1);
    }

    @EventHandler
    public void onPlayerJoin(PlayerJoinEvent e) {
        spiralLoop(e.getPlayer());
    }
}

this is supposed to show particles around the player in a spiral shape, instead absolutely nothing happens

#

might be a fault in the formula, I am very bad at maths

drowsy helm
#

ah sorry meant to say

#

the spiral goes inwards

#

not just a static radius

golden kelp
#

how can my plugin recieve a message from a player WITHOUT logging it in the console

drowsy helm
#

without cancelling the message?

misty ingot
vivid skiff
#

How can i check if a player isn't wearing any helmet in a PlayerInteractEvent?

drowsy helm
drowsy helm
misty ingot
#

oh you are talking about that kind of spiral

magic hornet
#

hello

misty ingot
#

im talking this kind

#

the radius stays the same

magic hornet
#

nice spiral

misty ingot
#

it goes up and down

drowsy helm
#

yeah

#

still

magic hornet
#

@misty ingot

drowsy helm
#

alotta math

#

for that

misty ingot
#

@magic hornet we are already in a vc just talk there

magic hornet
#

why did u stop the ss

misty ingot
#

because I showed you everything in the plugin

magic hornet
#

ur right

#

anyways Imma binge watch worn off keys series

misty ingot
eternal oxide
#

?paste

undone axleBOT
magic hornet
#

byee

misty ingot
tardy delta
#

average math users 🤓

drowsy helm
#
                public void run() {
                    t = t + Math.PI / 16;
                    double x = r * Math.cos(t);
                    double y = 0.5*t;
                    double z = r * Math.sin(t);
                    
                    if(y >= maxHeight)
                        this.cancel();
                    
                    PacketPlayOutWorldParticles packet = new PacketPlayOutWorldParticles(Particles.HAPPY_VILLAGER, false,
                            ((float)(loc.getX() + x)), 
                            ((float)(loc.getY() + y)), 
                            ((float)(loc.getZ() + z)),
                            0, 0, 0, 1, 0);
                    Util.sendPackets(packet);
                }
            }.runTaskTimer(Main.instance, 0, 1);```
shadow zinc
#

How do I get a configuration section with YamlSnake?

drowsy helm
#

this is a regular spiral

#

yours would just be 1 circle

eternal oxide
shadow zinc
#

I created a Map<String, Object> for my data

#
            Yaml config = new Yaml();
            Map<String, Object> data;
            try {
                InputStream targetStream = new FileInputStream(file);
                data = config.load(targetStream);
            } catch (FileNotFoundException e) {
                throw new RuntimeException(e);
            }```
misty ingot
drowsy helm
#

oh idk then lmao

misty ingot
drowsy helm
#

just normally

#

i use packets for player visbility stuff

tardy delta
misty ingot
#

whats t and maxHeight

drowsy helm
#

t is the increment

tardy delta
#

as big as ...

drowsy helm
#

maxHeight is, max height

tardy delta
#

🙏

misty ingot
#

max height for... what?

drowsy helm
#

the spiral

misty ingot
#

t as in ticks yes?

drowsy helm
#

no

#

just step

misty ingot
#

so if I set t to 1 what would it do

tardy delta
#

i wanted to say somthing but ill shut my mouth

drowsy helm
tardy delta
#

something about step

upper vale
#

please dont

tardy delta
#

anyways time to refactor that shit

misty ingot
#

also it would be VILLAGER_HAPPY not HAPPY_VILLAGER

echo basalt
vivid skiff
tardy delta
#

cursed cow lmao

misty ingot
#

and like, faster

#

and also without the cursed cow

echo basalt
#

they shoot fireballs at you

misty ingot
#

...

#
    private void spiralLoop(Player player) {
        new BukkitRunnable() {

            final int r = 1;
            double t = 1;
            final float maxHeight = 1.5F;

            @Override
            public void run() {

                Location loc = player.getLocation();

                t = t + Math.PI / 16;
                double x = r * Math.cos(t);
                double y = 0.5*t;
                double z = r * Math.sin(t);

                if(y >= maxHeight)
                    this.cancel();

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

hows this?

vivid skiff
drowsy helm
#

sacrifice them to satan

drowsy helm
#

that looks unrelated

vivid skiff
# drowsy helm show your code
    public void MaskEvent(PlayerInteractEvent event) {
        Player p = event.getPlayer();
        if (p.getInventory().getHelmet() != null) {
            p.sendMessage("§cOdio i froci!");


        } else {
            if (event.getHand() == EquipmentSlot.HAND &&
                    p.getItemInHand().equals(Utils.getMask()) &&
                    event.getAction().toString() == "RIGHT_CLICK_AIR") {


                p.getInventory().setHelmet(Utils.getMask());
                p.getInventory().removeItem(Utils.getMask());
                p.sendMessage("indossata!");
                p.playSound(p.getLocation(), Sound.ITEM_ARMOR_EQUIP_LEATHER, 1.0F, 2.0F);
                TabAPI.getInstance().getTeamManager().hideNametag(TabAPI.getInstance().getPlayer(p.getName()));
            }
        }
    }```
misty ingot
tardy delta
tardy delta
#

there is no player

drowsy helm
#

a brewing stand doesnt require a player to brew

vivid skiff
# drowsy helm what is Utils.getMask()

Is the mask item


    public static ItemStack getMask() {
        ItemStack item = new ItemStack(Material.SULPHUR);
        ItemMeta meta = item.getItemMeta();
        meta.setDisplayName("§8§lMaschera Anonima");
        meta.setLore(Collections.singletonList("§7Maschera Anonima"));
        item.setItemMeta(meta);
        NBTItem nbtItem = new NBTItem(item);
        nbtItem.setString("mask", "mask");
        nbtItem.applyNBT(item);



        return item;
    }
}```
drowsy helm
#

just liek a furnace doesnt require a player to furn

echo basalt
# misty ingot ``` private void spiralLoop(Player player) { new BukkitRunnable() { ...
private final List<Location> getSpiralLocations(Location center, double yIncrement, int angleIncrement, radius, int totalPoints) {
  List<Location> list = new LinkedList<>(); // using linkedlist because we're adding a lot

  int angle = 0;
  
  for(int index = 0; index < totalPoints; index++) {
    angle += angleIncrement;
    angle %= 360;
    double angleRad = Math.toRadians(angle);
    double xRel = Math.sin(angleRad) * radius;
    double yRel = yIncrement * index;
    double zRel = Math.cos(angleRad) * radius;
    
    list.add(center.clone().add(xRel, yRel, zRel);
  }
  
  return list;
}
vivid skiff
drowsy helm
#

?pdc

echo basalt
#

iterate through that list, get(frame) and render

drowsy helm
#

wrapper for nbt

#

much easier

patent fox
drowsy helm
#

you can get when the player puts an item in

#

the player doesnt "brew" the item though

#

it brews itself

echo basalt
#

getSpiralLocations(center, 0.1, 10, 5, 100) makes a list where particles go up by 0.1 blocks, 36 particles per circle, with a radius of 5 blocks outwards of the center

#

and the list size is 100 particle locations

vivid skiff
#

i can't use that

drowsy helm
#

ah

tardy delta
#

the player can brew things but thats not what minecraft is about

drowsy helm
#

what is

#

PlayerInteractManager.java:441

#

line 441

misty ingot
echo basalt
#

that does the maths

#

and now, for example

vivid skiff
echo basalt
#
public class SpiralRenderer extends Runnable {
  
  private int frame;
  private final List<Location> particleLocations;

  public SpiralRenderer(List<Location> locations) {
    this.particleLocations = locations;
  }
  
  @Override
  public void run() {
    Location targetLoc = particleLocations.get(frame++);
    ...
  }
}
drowsy helm
#

Gurwinder what is on line 441

vivid skiff
#

Idk

drowsy helm
#

wait thats a spigot method

#

nvm

#

is that on block place?

echo basalt
tardy delta
#

trap is a thread interrupt no? 🤔 🤔

echo basalt
#

has to do with setAmount and mutability

drowsy helm
#

its trying to place a block thats not a block

echo basalt
#

or calling setAmount for an air item type deal

echo basalt
vivid skiff
misty ingot
#

so like, player location?

echo basalt
#

for example

#

it's the center of the spiral

#

imagine a spring

#

it's the middle hollow area of the spring

misty ingot
#

ye

#

so basically the player location

#

cuz the spiral is around it

#

and so thats the center

echo basalt
#

yes

#

a spiral is nothing more than a circle

#

except each iteration increases the Y level a bit

quaint mantle
#

Hi, so, uh

#

What causes this error? java.lang.IllegalStateException: Asynchronous entity add!

drowsy helm
#

run it on the main thread

tardy delta
#

you better be kiddin me

misty ingot
#

who dat

tardy delta
#

your mom

echo basalt
#

I'm an idiot

#

change it to center

misty ingot
#

I really really hate maths

echo basalt
#

I mean

#

if you want to render the entire spiral at once

#

you don't need the runnable class

#

if you want it to pop up slowly, you do need it

tardy delta
#

people instantiating bukkitrunnables get bonked by me

misty ingot
#

I do want it to pop up slowly

#

like in your example

echo basalt
#

So yeah

#

just schedule that runnable

#

and you can cancel it when frame reaches the list size

misty ingot
#

but that would only do 1 spiral no?

echo basalt
#

yes

#

or you can just make a runnable that runs all the math

#

which is similar code

misty ingot
#

cant i just put frame back to 0 when it reaches list size

echo basalt
#

you can yeah

misty ingot
#

I think I should just put all the math in one runnable cuz like the player position will keep updating when they move, so I will have to calculate the next particle position in real time

echo basalt
#

that's uhh fine

#

you'll still need a frame counter for the Y level stuff

#

Let's break it down by steps instead

#

your first step is to render a static helix frame

misty ingot
#
    public void createHelix(Player player) {
        Location loc = player.getLocation();
        float radius = 0.9F;
        for(double y = 0; y <= 2; y+=0.05) {
            double x = radius * Math.cos(y);
            double z = radius * Math.sin(y);

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

this should do

#

half a helix is made

echo basalt
#

okay now

#

make an angle variable that increases along Y

#

but at a different rate

#

let's say, for every 0.05y, you add 2 degrees

#

convert it to radians and pass it for cos and sin

misty ingot
#

ok so I made a variable int angle = 0
and in the for loop I am increasing it by 2 at every iteration

echo basalt
#

yessir

misty ingot
#

I have lost around 300 since I started trying to make spirals

echo basalt
#

then convert to radian

#

pass that radian value on the cos and sin

misty ingot
#

same

#

what is a radian dad? @echo basalt

echo basalt
#

it's a more scientific way to measure angles

tardy delta
#

im out lmao

#

i remember we used to learn that

echo basalt
#

this is middle-high school math

drowsy helm
misty ingot
#

making a cosmetics plugin was a mistake

tardy delta
#

what doesnt school teach us anything we will keep remembering

echo basalt
#

BASICALLY

tardy delta
#

about math

drowsy helm
#

a cricle is 6rad

misty ingot
#

same

tardy delta
#

i had 5 hours of math a week 💀

echo basalt
#

sin and cos allow you to obtain the x,y offsets for any given angle, assuming the circle radius is 1

misty ingot
echo basalt
#

Yes

misty ingot
#

now in what way do I pass it to cos and sin

drowsy helm
#

had to do descrete maths last semester

#

it sucked major ass

echo basalt
tardy delta
#

only useful things about math was matrices

#

for nested arrays lmao

echo basalt
#

I failed trig but I still know cos and sin because particle effects

drowsy helm
#

tbf i have used some shit i learnt in programming

tardy delta
#

i just not failed my math exams much times

misty ingot
echo basalt
#

don't pass y

misty ingot
#

I really have no idea what kind of maths this is I am super dumb

echo basalt
#

this has a visualizer for cos and sin

tardy delta
#

my average math % on my exam was 55% lol

misty ingot
echo basalt
misty ingot
#

aight ima compile and test

echo basalt
#

in this case

#

sin is x

#

and cos is z

#

because Y is the vertical axis and minecraft yes

#

man inverted cos and sin

#

will have wonky results

misty ingot
#

not quite

#

or yes quite

#

idk

echo basalt
misty ingot
#

ah

#

still half

echo basalt
#

you can make the angle more aggressive

misty ingot
#

I will

echo basalt
#

so instead of 2, you can pass for example 8

misty ingot
#

ima try 4

echo basalt
#

do a %= 360 to clamp it to 0-360

misty ingot
#

actually ima try 5

#

there we have it, almost done

#

shhh

#

forking is for plebs

#

real chads ask for help on discord

#

and die trying to recreate a feature

#

yes.

#

exactly

#

ayyyyyyyy

#

now to try 10

tardy delta
#

cuz its in the block

quaint mantle
#

cause its in the ground

#

and minecraft

tardy delta
#

and mc doesnt like that

quaint mantle
#

does that

tardy delta
#

smh

quaint mantle
#

jinx

tardy delta
#

am i talking to some kind of animal now

quaint mantle
#

yes

tardy delta
#

hmm probably a dream

quaint mantle
#

yeah

#

your high rn

tardy delta
#

more like a nightmare

quaint mantle
#

D:

tardy delta
#

gl

#

hope you wont die

misty ingot
#

hm I wanna fix that one particle

tardy delta
#

break the block 💀

quaint mantle
#

how do i make a bungeecord plugin in a command line without an IDE

misty ingot
#

finally

#

also fixed the lowermost particle

#

made it start from y=0.01

tardy delta
echo basalt
#

ok now you just add an offset to your angle on every frame

tardy delta
#

use nano then

echo basalt
#

so like

#

int angle = frame * 2

#

for example

#

makes the first frame rotated by 2 degrees

#

second frame rotated by 4 degrees

quaint mantle
echo basalt
#

no

#

just saying

#

by frame

#

I mean iteration

tardy delta
#

maven can be used on cli and nano can so lets go

quaint mantle
#

wdym?!!?

quaint mantle
misty ingot
#

something like this yes?

tardy delta
#

uhh idk

echo basalt
#

no

reef brook
#

how can I cache my database data easily?

echo basalt
#

frame is PER scheduler tick

#

which adds an initial offset to your angle

#

that is increased per iteration on your for loop

misty ingot
#

soooo like

#

how

echo basalt
#

scheduler stuff

quaint mantle
tardy delta
#

even better

echo basalt
#
public class WhateverSpiralRenderer extends 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 * 2; // 2 deg offset per frame
  }
}
quaint mantle
#

how would i make tablist only show the players i want it to show for someone

tardy delta
#

coding on cli be like

echo basalt
#
Bukkit.getScheduler().runTaskTimerAsynchronously(plugin, new WhateverSpiralRenderer(player), 1, 1);
echo basalt
tardy delta
#

dont dare to instantiate a bukkitrunnable or ill bonk you

#

just write it in assembly

echo basalt
#

:)

tardy delta
#

man knows assembly he said

#

good

echo basalt
#

I know what I'm doing

quaint mantle
#

nano is better than intellij

echo basalt
#

never understood bukkitrunnable honestly

tardy delta
#

fuck imports

echo basalt
#

I just have my own ScheduledTask class that stores the id and allows you to cancel it outside

quaint mantle
#

but hex editor is even better

#

no

misty ingot
echo basalt
#

call whatever

tardy delta
#

the only thing why to extend a bukkitrunnable would be to store it as a field and later on cancel it

echo basalt
#

idfk the scheduler api

#

I have my own thing

tardy delta
#

cuz youre extending bukkitrunnable

#

extend runnable

#

smh

#

bukkitrunnable one is deprecated

misty ingot
#

I saw that

echo basalt
#
new ScheduleBuilder(plugin)
  .every(1).ticks()
  .run(() -> {
      ...
  })
  .async()
  .start();
#

type deal

quaint mantle
#

you call that porn?

echo basalt
#

made it 2 years ago

quaint mantle
#

matter of fact let me post it again so that they make sure its not porn

echo basalt
#

only uses like 15 classes to ensure you call it through that order

tardy delta
#

what about imillusion with his disk full of tentacle porn

eternal night
#

I mean, still not appropriate at all for this ?

echo basalt
#

what's the problem with naming my disk according to its function

tardy delta
#

i mean he cant deny

quaint mantle
#

@vagrant stratus BAN ME PLES

misty ingot
#

I can have multiple tasks running with the same scheduler with #runTaskTimer right

tardy delta
#

yes this must be a troll

quaint mantle
#

IM NOT RACIST MY DOG IS BLACK

vagrant stratus
#

I'll ruin it w/ a kick lmao

echo basalt
#

dumbass

vagrant stratus
#

Fuck that speedrun

eternal night
#

or just ban o.O

vagrant stratus
eternal night
#

I guess

tardy delta
#

actually havent seen anyone gettin muted here

eternal night
#

yuk they are in paper too.

echo basalt
#

probably uses 1.8

tardy delta
#

ha

echo basalt
#

we can go back to talking about trig

misty ingot
echo basalt
#

bukkitrunnable

vagrant stratus
#

Kicked, since they're probably intentionally trying to be banned. I'm not giving them that satisfaction lmao

echo basalt
#

woe

quaint mantle
misty ingot
#

Runnable is just some random java shit and it throws error in IDE

tardy delta
#

runnable is an interface with a run method

ashen quest
#

how can i OP a player without actually OPing them, like not showing it in the list or anything

echo basalt
#

oh yeam

#

it's implements

#

not extends

#

we're the idiots

misty ingot
#

mother-

tardy delta
#

ah fuck

#

its sunday

echo basalt
ashen quest
#

no

misty ingot
#

rest is correct yes?

ashen quest
#

i m making a plugin 1k op items

echo basalt
ashen quest
#

this is its predecessor

#

basically

tardy delta
#

amen

ashen quest
#

theres a 0.5% a player can find this item in a jungle temple (someone told me thats the rarest structure)

#

if they find this

misty ingot
#

no.. not its not

ashen quest
#

they have op for 15 seconds

ashen quest
tardy delta
#

looks like a bush

echo basalt
ashen quest
#

thats a good name ngl

misty ingot
#

my frames are 100+ even with both minecraft windows open

#

but like

ashen quest
#

sheesh

misty ingot
#

its still not what I wanted

ashen quest
#

flex your specs without flexing
wonky pig:

misty ingot
#

my specs arent even that good

#

the only thing that I have too much of is ram

echo basalt
#

me with my 32gb ram so I can run minecraft in the background because I can't bother closing the game

ashen quest
#

someone should make a performance stabalizer for particles, shows the partciles without fucking performance

misty ingot
#

I have 24 gigs

echo basalt
#

with 8gb allocated to the jvm

#

I honestly think that my only underperforming part of my pc is maybe like

tardy delta
#

my mom didnt want to pay foor 32 gigs so i only got 16 💀

echo basalt
#

disk?

misty ingot
#

just so I can have 2 windows of minecraft open so I can test with both my accounts on a local server cuz I dont have friends (and run a 4gb local server yeah that too)

ashen quest
#

can i prevent the OP message for all the players

#

except the other OPs

#

i dont want other players to know this player is OP

echo basalt
#

setOp(true)

#

type deal

ashen quest
#

wont that inform all players this user is made an OP?

echo basalt
ashen quest
#

i dont want players other than admins to know it

misty ingot
#

so yeah how should I fix this

quaint mantle
echo basalt
#

for example

#

you're making the helix run 20 times per second

tardy delta
misty ingot
#

ye

tardy delta
#

fps go brr

echo basalt
#

I overclocked my ram 💀

tardy delta
#

what the

echo basalt
#

got mismatched sticks and all

rough basin
#

How to make a Collection with PotionEffect?

quaint mantle
echo basalt
#

overclocked from 3200mhz to 3600mhz

misty ingot
#

I have the angle increasing by 10 which means I have 36 iterations for each full loop of spiral so ima try with a delay of 36 ticks first

tardy delta
#

even more fucking things up like me

misty ingot
#

then adjust accordingly

quaint mantle
echo basalt
#

like

misty ingot
#

it does exist for ram

#

and cpu

#

and gpu

echo basalt
#

I went through a lot of pain to make my rig

#

but I can at least say that I didn't ask mommy for money

#

well

#

I did ask but she said no

ashen quest
#

does setOP send a message globally that this player was OPied?

ashen quest
#

nice

#

it only informs admins/other ops?

#

does it send in the console atleast? or do i need to send that myself?

tardy delta
#

uhh my laptop is for school so my mom wont allow me buying one for 2000 euros lol

#

this is very much school

#

best laptop i ever had

echo basalt
#

I got a desktop for work

#

laptop for school that barely has a gpu

misty ingot
#

I too didnt ask mommy for money

#

how exactly do I put a delay on the loop btw 😓