#help-development

1 messages ยท Page 31 of 1

iron glade
#

They still won't load

quiet ice
#

More likely it is actually complaining that it cannot be null

warm mica
#

getOfflinePlayer(x) never returns null. Intellij is not wrong

#

Use player.hasPlayedBefore() to validate its existence

quiet ice
#

Which as @warm mica Pointed Out would be correct

quiet ice
undone axleBOT
warm mica
#

Keep in mind that the method might freeze your server as it is doing a http request in case he never played on the server before

sterile token
#

Isnt cached on the server

#

what a bad design

#

๐Ÿ˜‚

warm mica
#

Because it is accessing the Mojang API to look up the player name etc

#

I recommend you to access it on a separate thread

barren peak
#

I'm using this code to try to make entities drop cooked food when killed. But it doesn't seem to be working. Does anyone know why? - Thanks btw

@EventHandler
public void onEntityDeath(EntityDropItemEvent e) {
if(e.getEntity().getType() == EntityType.COW || e.getEntity().getType() == EntityType.MUSHROOM_COW) {
if(e.getItemDrop().getItemStack().getType() == Material.BEEF) {
e.getItemDrop().getItemStack().setType(Material.COOKED_BEEF);
}
}
}

quiet ice
warm mica
#

or loop through getOfflinePlayers()

sterile token
solemn sorrel
#

How would I do this? Do I need to get Configuration sections and FileConfiguration.addDefault("thing", List<ConfigurationSection>) or something? And don't configuration sections need a name?

warm mica
#

No, that method only returns all players that have ever played on the server before

warm mica
#

ConfigurationSection section = new MemoryConfiguration()

sterile token
#

Waiti think i have something like that 1m please

ivory sleet
#

you probably wanna use the constructor with root

#

but ye

granite burrow
#

bump

solemn sorrel
barren peak
quiet ice
#

๐Ÿคฆ

warm mica
solemn sorrel
sterile token
# solemn sorrel And then I just do what I said?
public void reload() {
  this.config = new Config(Crates.getInstance(), "crates");
  Object object = this.config.get("crates");
  if (object instanceof MemorySection) {
    MemorySection section = (MemorySection) object;
    Collection<String> keys = section.getKeys(false);
    for (String id : keys) {
      this.crates.put(id, (Crate)this.config.get(section.getCurrentPath() + '.' + id));
    }
  } 
}
#

I have find that

sterile token
#

Maybe can help you

solemn sorrel
#

What is it though

sterile token
#

Its a method for loading crates

solemn sorrel
#

I'm not loading crates?

sterile token
#

no no

#

I know was to you see an example

#

๐Ÿ˜•

solemn sorrel
#

An example of what

sterile token
#

nothing

#

do what you were doing!

solemn sorrel
#

???

#

Alright then...

quiet ice
#

That If Statement is kinda dangerous

sterile token
#

I know geol

#

Just taken from an old plugin

#

๐Ÿ˜‚

#

how would better?

quiet ice
#

Throw an exception and keep the old value of config

sterile token
#

ps

#

same thing

#

Just was for custom usage

#

So i didnt care on that time

quiet ice
#

Here it would Just Go unnoticed If the value is either Not present or Not a section

cunning canopy
#

I want en entity to float over another entity. Currently I am teleporting them over the player, but it does not look great. Is there a better way to do this

solemn sorrel
# warm mica Yup. Simply but them all in a List and pass it to that method

Tried this ```java
ConfigurationSection scheduleSection = new MemoryConfiguration();
scheduleSection.addDefault("time", 86400);
scheduleSection.addDefault("command", "example");
scheduleConfig.get().addDefault("timed", List.of(scheduleSection));

(`scheudleConfig.get()` returns a `FileConfiguration`)
And all I got in the yaml was ```yml
{}
lost matrix
cunning canopy
#

What is top entity?

lost matrix
carmine nacelle
#

hi again 7smile

#

heh

lost matrix
#

hi

cunning canopy
#

So I would have a slime riding a player?

quiet ice
#

Yep

#

And the top entity Rides that slime

cunning canopy
#

Ant then a sheep riding a slime?

carmine nacelle
# lost matrix hi

So,

    @EventHandler
    public void join(PlayerJoinEvent event) {
        Player player = event.getPlayer();
        ServerLevel world = ((CraftWorld) player.getLocation().getWorld()).getHandle();
        CustomBee customBee = new CustomBee(player.getLocation(), ColorUtil.color("Bee"), true);
        world.tryAddFreshEntityWithPassengers(customBee);

        testbee.setBeeUUID(customBee, customBee.getBukkitEntity().getUniqueId());
        Bukkit.broadcastMessage(testbee.getBeeUUID(customBee.getBukkitEntity()) + "");
    }

This sets it on the PDC
however using the function you made for me, it doesnt actually include my PDC values in the output

quiet ice
#

If the top entity is a sheep yeah

cunning canopy
#

Can I have a sheep riding that sheep again?

quiet ice
#

Technically yes

carmine nacelle
#

The broadcast works

#

it returns my value

cunning canopy
#

How do I make entities ride each other in the first place

echo granite
#

Anyone else finds it annoying that YamlConfiguration#getConfigurationSection returns null if the section doesn't exist? I always use a helper method that auto-creates it before returning the section object ๐Ÿ˜…

eternal oxide
echo granite
quiet ice
#

Nah

echo basalt
#

yoo 7smile is back

eternal oxide
#

Not generally

echo basalt
#

either he has a sleep schedule like mine (wakin up at 10pm) or he just came home from work

carmine nacelle
# lost matrix Then the pdc is not set
    public void setBeeUUID(Bee bee, UUID uuid) {
        NamespacedKey beeUUIDKey = new NamespacedKey(this, "bee-uuid");
        bee.getPersistentDataContainer().set(beeUUIDKey, PersistentDataType.STRING, uuid.toString());
    }

    public UUID getBeeUUID(Bee bee) {
        NamespacedKey beeUUIDKey = new NamespacedKey(this, "bee-uuid");

        if(bee.getPersistentDataContainer().has(beeUUIDKey, PersistentDataType.STRING)) {
            return UUID.fromString(Objects.requireNonNull(bee.getPersistentDataContainer().get(beeUUIDKey, PersistentDataType.STRING)));
        }

        return null;
    }

If its not set then it wouldnt return the value with my getter

quiet ice
#

From experience that is rarely the case

eternal oxide
#

It all depends on what you are reading

lost matrix
echo basalt
solemn sorrel
warm mica
#

Yes

lost matrix
# echo basalt still a student?

blobimfine Yes. I already have a physics bachelor. Next semester is my last one and after that i have one in electrical engineering.
But im gonna append a masters in CS afterwards for sure

solemn sorrel
echo basalt
#

๐Ÿ‘€

carmine nacelle
#

CustomBee PDC not working right

sterile token
#

Smile could you please take a look at my thread #1003352471135080608 because you are the only one who have experience with mongo db

echo basalt
#

I might've missed your thread ngl

sterile token
#

what means ngl?

echo basalt
#

not gonna lie

warm mica
solemn sorrel
sterile token
#

if you ant you can take a look!

warm mica
sterile token
solemn sorrel
sterile token
#

talk that in the thread

#

so you are not messing other people questions

cunning canopy
#

can any mob ride any mob?

solemn sorrel
#

We're talking about something else

sterile token
#

i can see...

warm mica
solemn sorrel
sterile token
#

i would directly load a file which already contain the section created

#

And then just update their values

placid fog
#

im confused when i use Location location = e.getClickedBlock().getLocation(); its rounding the location to the block that's near to the block i clicked

carmine nacelle
solemn sorrel
glossy venture
#

?paste

undone axleBOT
carmine nacelle
#

would be nice to figure this out its been forever

glossy venture
#

you can use this

solemn sorrel
#

For IntelliJ?

warm mica
solemn sorrel
#

I use Xcode Theme

solemn sorrel
sterile token
#

Git, Minecraft Development

solemn sorrel
#

I don't know if you were looking at the light theme version, but I use the dark one that comes with it and I like it

sterile token
#

Ohhh sorry

#

II didnt read that

warm mica
sterile token
#

Dont get mad

warm mica
#

Just to test whether it works in the first place

solemn sorrel
solemn sorrel
slate delta
#

Soemone have a link to get head (only face) with URL ?

noble lantern
#

only face hmm

slate delta
#

yes just that

solemn sorrel
noble lantern
#

yeah ik what you mean, trying to think

I cant remember if its a GameProfile/Skull method or some NMS method

#

Someone in here did it

#

i think it was you @drowsy helm ?

Ignore ping sry

#

They may be afk though

slate delta
noble lantern
#

ah

dry forum
#

is there a way to store a armorstands body part/position? kinda hard to explain but rn youd need to do armorstand.setRightLegPose(pos); for example is there a way to be able to put a enum or something to get what part of the armorstand wants to be moved cuz rn i use switch/case and a string like "rightleg" then move rightleg if its that

quartz sorrel
#

Is there any way for BungeeCord to hide the player count on the ProxyPingEvent?

drowsy helm
#

what you need?

carmine nacelle
noble lantern
#

they wanted front face of the player head

drowsy helm
#

oh lol easy

noble lantern
#

yeah was just a url lmao

#

sorry to ping, hope your day is going nicely :))

drowsy helm
ornate patio
#

how can i change the text above a player's head

#

I want to put some custom text instead of the username

glossy venture
carmine nacelle
#

is PDC stuff stored in nbt tags??

#

(my custom values arent saving in nbt)

glossy venture
#

yes

#

but its weird

#

you need to have bukkit save the entity

#

it has to convert the pdc back into nbt data

carmine nacelle
#

how

glossy venture
#

idk

#

use nbt to store data

#

not pdc

carmine nacelle
#

oof.

glossy venture
#

but if u want you can look into craftbukkit code

#

and call that

#

?stash

undone axleBOT
twilit pulsar
#

This did not work.```package knockbackffa.knockbackffa;

import org.bukkit.ChatColor;
import org.bukkit.GameMode;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.entity.EntityDamageByEntityEvent;
import org.bukkit.event.entity.PlayerDeathEvent;
import org.bukkit.event.player.PlayerDropItemEvent;
import org.bukkit.event.player.PlayerToggleSprintEvent;
public class PlayerDeath implements Listener {
@EventHandler
public void onPlayerDeath(PlayerDeathEvent e) {
Player player = e.getEntity().getPlayer();
e.getDrops().clear();
player.updateInventory();
player.sendMessage(ChatColor.GOLD + "KnockbackFFA: " + ChatColor.GRAY + "You have died!" );

}

}

drowsy helm
twilit pulsar
#

wdym

#

i have registerd it

glossy venture
#

why is the package knockbackffa.knockbackffa lol

flint coyote
#

The plugin is named knockbackffa and the package is responsible for handling knockbackffa

glossy venture
#

isnt that the only thing the plugin does tho

flint coyote
#

ofc. He a little confused but he got the spirit

glossy venture
#

yes

#

wouldnt use that formatting anyways

#

me.amogus.knockbackffa

#

would be better

flint coyote
#

amogus

#

sus

#

but ye that's how you usually name packages. I do the same

#

Same for all development companies (atleast the ones I have worked in). Ofc they replace the me with a country code and the name with the company name

glossy venture
#

yeah

#

i use net.orbyfied.<proj>.<module>.

flint coyote
#

yup module or functionality

glossy venture
#

yeah i usually do multi module shit

#

tho

#

so its often that

twilit pulsar
flint coyote
#

I hate multi module projects. They are so pain xD

glossy venture
#

meh

#

when including build scripts its very clean

#

all you need to make a module in gradle

#

oh shit

#

thats big

flint coyote
#

Yeah it's definitly more painful in maven

glossy venture
#

whatevr

#

ive never used maven

flint coyote
#

well that's me with gradle

glossy venture
#

i know like 1% of gradle but thats enough to get a simple multi module project up

lone beacon
#

i need help

flint coyote
#

ye it's not that easy once you start messing with build pipelines in gitlab and stuff like that^^

#

?ask

undone axleBOT
#

If you have a question, please just ask it. Don't look for staff or topic experts. Don't ask to ask or ask if people are awake or available. Just ask the question to the channel straight out, and wait patiently for a reply. Make sure you use the right channel regarding the topic of your question. Create a thread in case the channel is already in use!

lone beacon
#

I cant upload screenshot

glossy venture
#

?verify

#

verify ur acc

lone beacon
#

?verify

glossy venture
#

or use like imgur

#

nah you need a spigot account

#

oh and its !verify <account name> appereantly

lone beacon
#

!verify Hikamika

undone axleBOT
#

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

lone beacon
glossy venture
lone beacon
#

"Cant connect to MySQL server

glossy venture
#

are you developing a plugin?

lone beacon
#

yes

glossy venture
#

oh

#

k

flint coyote
#

you don't wanna paste DB credentials here I guess

lone beacon
#

dont worry

glossy venture
#

lmao

lone beacon
#

i can create other data base

#

developing is creating?

#

or configuring?

glossy venture
#

coding

flint coyote
#

did you try to connect manually from phpmyadmin or something like that?

glossy venture
#

programming

lone beacon
#

ah no, configuring

glossy venture
lone beacon
#

but in help server the chat is dead

#

and i dont have time

glossy venture
#

ok but noone knows here

flint coyote
#

I mean it's in the middle of the night for a lot of people

twilit pulsar
#

This wont work for some reason


import org.bukkit.ChatColor;
import org.bukkit.GameMode;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.entity.EntityDamageByEntityEvent;
import org.bukkit.event.entity.PlayerDeathEvent;
import org.bukkit.event.player.PlayerDropItemEvent;
import org.bukkit.event.player.PlayerToggleSprintEvent;
public class PlayerDeath implements Listener {
    @EventHandler
    public void onPlayerDeath(PlayerDeathEvent e) {
        Player player = e.getEntity().getPlayer();
        e.getDrops().clear();
        player.updateInventory();
        player.sendMessage(ChatColor.GOLD + "KnockbackFFA: " + ChatColor.GRAY + "You have died!" );

    }


}

glossy venture
#

so youre not gonna get anything here either

twilit pulsar
#

and yes i have registerd

flint coyote
#

but as I said: Get a connection tool and try to connect manually

#

which one?

glossy venture
#

oh shit

#

wrong reply

flint coyote
#

I was kinda confused

glossy venture
#

lmao

twilit pulsar
flint coyote
#

The event looks fine. It's probably just not registered

twilit pulsar
#

The You have dies works

flint coyote
#

Oh. what isn't working then?

twilit pulsar
#

but it wont clear inventory

#

when people die

#

so items dont drop

flint coyote
#

You are not clearing the inventory. You just clear drops

glossy venture
#

youre not clearing thei nventory

flint coyote
#

For clearing drops you don't need the updateInventory() part either

twilit pulsar
flint coyote
#

Are you sure you are building to the right location and everything is up to date? (open the jar and look inside it)

flint coyote
#

Unless the updateInventory causes it to fail (which it shouldn't) I would not get why they don't clear if that's the code that's running

#

What I'm saying is: Rebuild the jar, stop your server, place it inside and retest. Maybe there's an old version running

sinful rapids
#

why does it give in red that is?

#

ok

ancient plank
#

blocksus

#

sussy blocka

flint coyote
#

Long grass = sus

twilit pulsar
#

IT WORKED

ancient plank
#

I made a plugin that is like walking through tall grass in pokemon

twilit pulsar
#

Ty fabsi

flint coyote
#

yw, happens to the best of us :)

ancient plank
#

you walk through tall grass and there's a chance that a creeper spawns

flint coyote
#

sounds like a jumpscare plugin to me

#

Reminds me of a plugin that I made. One part spawned multiple creepers around you. Then they all started charging and right before they exploded they despawned again.

#

Was just one of many randomly occuring events triggered by a visible timer. Can be quite scary when you stop paying attention to the timer

prisma palm
#

does anyone know why every item i generate with itemstack even if its an axe has the same attack speed as your fist?

flint coyote
#

Is it only items you generate or also Items from creative mode and such?

prisma palm
#

only items i generate

flint coyote
#

In that case no. What are you doing inside your code?

prisma palm
#

im trying to generate some custom items for a private server

#
        ItemStack sledgeHammer = new ItemStack(Material.STONE_AXE);
        ItemMeta sledgeMeta = sledgeHammer.getItemMeta();

        sledgeMeta.setDisplayName(ChatColor.GREEN + "Sledgehammer");
        List<String> lore = new ArrayList<>;
        lore.add(ChatColor.GREEN + "" + ChatColor.BOLD + "UNCOMMON");
        sledgeMeta.setLore(lore);

        sledgeMeta.setUnbreakable(true);
        sledgeMeta.addAttributeModifier(Attribute.GENERIC_ATTACK_DAMAGE, new AttributeModifier("generic.attackDamage", 13, AttributeModifier.Operation.ADD_NUMBER));
        sledgeMeta.addAttributeModifier(Attribute.GENERIC_ATTACK_SPEED, new AttributeModifier("generic.attackSpeed", -3, AttributeModifier.Operation.ADD_NUMBER));
        sledgeMeta.addItemFlags(ItemFlag.HIDE_UNBREAKABLE);
        sledgeMeta.addItemFlags(ItemFlag.HIDE_ATTRIBUTES);

        sledgeHammer.setItemMeta(sledgeMeta);

        return sledgeHammer;
    }```
#

i had to put the attack speed to -3 to counteract the fist attack speed

flint coyote
#

what does AttributeModifier.Operation.ADD_NUMBER do? Never needed that to change attributes. Maybe that causes your issue?

prisma palm
#

the attribute wont apply to the weapon if that isnt on there

#

public static final AttributeModifier.Operation ADD_NUMBER
Adds (or subtracts) the specified amount to the base value.

gray merlin
#

Someone please tell me if this is even possible.
Saving inventory data at 1:1, when the data that can be in it may have custom modded NBT tags

flint coyote
gray merlin
#

I'm currently just encoding the inventory into base64 and saving it, bit that isn't working well, so anything works

flint coyote
prisma palm
#

no

flint coyote
#

So even if you just create the itemstack and don't do anything else on the item meta besides name and lore it's still messed up?

#

Also you obviously can attack with an axe as fast as you can with fists. It just won't deal full damage. But I suppose you know that

gray merlin
flint coyote
#

Base64 just helps you with characters that can't be saved inside a certain encoding

#

means theoretically you don't need base64

#

Unless you have weird characters in the items lore/name etc

solemn sorrel
#

How would I convert the Map<?, ?> that FileConfiguration.getMapList() gives you into a Map<String, Object>? Can you just do (Map<String, Object>) map?

golden turret
#

btw, i never had problems with base64

golden turret
flint coyote
#

Yup. You have to loop/stream it and place it inside another map if you want a single one

golden turret
#
list-of-maps:
  - map: map1
  - map: map2```
solemn sorrel
golden turret
#

so you already have the Map<?, ?> in the loop

solemn sorrel
#

Yes

golden turret
#

and whats the question?

flint coyote
#

each map returned from getmaplist only has one entry. So just iterate over entrySet() (will be only one entry anyway) and cast your key and value

solemn sorrel
flint coyote
#

Depending on your yaml. If you just have
mapList:

  • key1: value1
  • key2: value2
    each one will only have one entry.
solemn sorrel
#

My yaml looks like this: ```yml
things:

  • thing1: 1
    thing2: 2
shouldn't it have multiple entries?
flint coyote
#

In that case probably yes. Try calling .size()

solemn sorrel
#

So It does have multiple.

solemn sorrel
flint coyote
#

But the procedure is still the same. Loop over entrySet() and cast key and value

solemn sorrel
#

Hmmm alright.

flint coyote
#

You might be able to cast the map directly. Can't guarantee so you would have to test that

solemn sorrel
quiet garden
#

Hey! These are mostly naming convention questions but here we go. If I'm using gui do I use "GUIs", "guis", or "Guis", etc. (package names) If I have a package do i name the classes "MainMenuGUI", "GMainMenu", or "MainMenu", etc. Thanks

real spear
#

how do I use a \ in a String? msg = msg.replaceAll(":shrug:", "ยฏ\\_(ใƒ„)_/ยฏ"); returns ยฏ_(ใƒ„)_/ยฏ

flint coyote
#

oh you already did. Weird

dusk flicker
#

yeah it should work

real spear
delicate lynx
#

I've done that too, works for me

worldly ingot
#

You may have to quadruple back slash that one. Depends on what all is happening on your server and how chat is formatted, etc.

#

ยฏ\\\\_(ใƒ„)_/ยฏ

waxen plinth
#

I've had to \\\\\\\\ for regex before

worldly ingot
#

In all likelihood, your chat is being re-formatted again or something

#

Oh, yeah, realizing you're using replaceAll()

#

Just use replace() and it should be fine

waxen plinth
#

Oh just change it to replace

#

Yeah

real spear
worldly ingot
#

Just use replace() and it should be fine
Better fix ;p

#

replace() > replaceAll() in like 99 cases out of 100

flint coyote
#

True. The names are very misleading

worldly ingot
#

Extremely

flint coyote
#

Chunk not loaded = no entities

gleaming grove
flint coyote
#

World#loadChunk(x,y)

gleaming grove
#

that would be fine?

flint coyote
#

should also work, ye

twilit pulsar
#

Question:
Does this look correct to you guys?


import org.bukkit.ChatColor;
import org.bukkit.GameMode;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerDropItemEvent;
import org.bukkit.event.player.PlayerJoinEvent;

public class DROP implements Listener {
    public void onPlayerDropItem(PlayerDropItemEvent e) {
        if (e.getPlayer().getGameMode() != GameMode.CREATIVE) {
            e.setCancelled(true);
            e.getPlayer().sendMessage(ChatColor.GOLD + "KnockbackFFA: " + ChatColor.GRAY + "You need to be in creative to drop items");

        }
    }
}

gleaming grove
#

one thing to improve

#

there should be @eventhandler above method

twilit pulsar
#

I always forget

#

thank you my friend

quaint mantle
#

anyone knows how to disguise a player as a mob?

river oracle
#

is there a way to use Block#breakNaturally without it dropping something

tall dragon
river oracle
#

his package is odd as well

flint coyote
#

It's named drop for a reason. DROP your standards

river oracle
#

lol

tall dragon
#

:<>

twilit pulsar
#

stfu

#

but bro

tall dragon
#

wow. mean

twilit pulsar
#

i have like 20 files

#

And they are not splited

#

into folders

solemn sorrel
#

Why not?

tall dragon
#

well why are they not

twilit pulsar
#

Nice ip

fossil lily
#

java.lang.UnsupportedClassVersionError: me/javaapp/test/Main has been compiled by a more recent version of the Java Runtime (class file version 62.0), this version of the Java Runtime only recognizes class file versions up to 61.0

    <groupId>org.example</groupId>
    <artifactId>JavaApp</artifactId>
    <version>1.0-SNAPSHOT</version>
    <build>
        <finalName>JavaApp</finalName>
        <plugins>
            <plugin>
                <!-- Build an executable JAR -->
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
                <version>3.2.2</version>
                <configuration>
                    <archive>
                        <manifest>
                            <!-- <addClasspath>true</addClasspath> -->
                            <mainClass>me.javaapp.test.Main</mainClass>
                        </manifest>
                    </archive>
                </configuration>
            </plugin>
        </plugins>
    </build>

    <properties>
        <maven.compiler.source>18</maven.compiler.source>
        <maven.compiler.target>18</maven.compiler.target>
    </properties>
#

Whats wrong here?

river oracle
fossil lily
#

Im using 18

river oracle
#

according to the error message you aren't

gleaming grove
flint coyote
#

Entities probably don't work until there's a player nearby :x Why not do your work in the chunkunloadevent?

fossil lily
#

nvm

#

my console is using 17

tall dragon
#

yea

fossil lily
#

thanks :D

real spear
#

are game statistics client side or server side? (if they are server side, how do i access them?)

tall dragon
#

server side

#

Player#getStatistic iirc

real spear
#

ty

gleaming grove
#

so when plugin running again it check if there are old armorstands in the certain location

flint coyote
#

But then you could add it to the ChunkLoadEvent aswell

twilit pulsar
#

How can i disable fall damage?

gleaming grove
flint coyote
#

Cancel EntityDamageEvent when damage cause is FALL

flint coyote
solemn sorrel
#

Isn't there a gamerule for that?

tall dragon
#

one way is to listen to playerDamageEvent and calculate if the hit will bring the target <= 0 hp then respawning him manually

solemn sorrel
#

Odd. Are you not on the right version or is there incompatibility or something?

tall dragon
#

another way is packets but thats too much to explain quickly here

balmy valve
#

What is a Solid Block's way of being powered?
In this Instance, a Stone blocks way of being powered
Its BlockData is not a instance of any of these "Powerable, AnagloguePowerable, Lightable"

solemn sorrel
#

As in redstone signal?

balmy valve
#

yes

#

Im having trouble making it realize its not powered anymore
My plugin un powers a lever automatically, and any redstone block around it realizes when that happens and unpowers, however this stone block and any other solid block, doesnt

solemn sorrel
balmy valve
#

if you are referring to block.getState().update(), I have tried that

#

extensivly

solemn sorrel
#

No you wouldn't update the stone block

#

You'd update the redstone components

#

The stone block probably realizes its not powered, but the redstone doesn't

balmy valve
solemn sorrel
#

Do it manually in the game before you try to do it in code to make sure

tall dragon
#

i can try to explain it a bit if you rlly want. but my first method is so much easier

balmy valve
#

or breaking a piece of said redstone line

solemn sorrel
balmy valve
#

very weird right

solemn sorrel
#

I don't know if thats normal behavior or not, but I don't think it is.

tall dragon
#

uhh targetHp - finalDamage <=0 ?

solemn sorrel
balmy valve
balmy valve
solemn sorrel
balmy valve
#

๐Ÿ‘

solemn sorrel
#

nvm

#

Wait that might not be correct

#

I'm talking about tick updating the block, that function seems to sync memory and in game

sharp flare
#

Even if all relative blocks state is updated it doesn't still work?

balmy valve
#

Yeah

#

block.getState().update() this is the method I've been trying to use to update the block, however, that is not the only thing I have tried
I have tried manually setting all relative blocks powered point, but it didnt work because for some reason a Stone block isnt an instance of "Powerable, AnagloguePowerable, or Lightable" which is what all normal redstone blocks are, so I cant manually set if its powered

#

not until i figure out what it inherits to do it

tall dragon
#

ok 1 second

sharp flare
tall dragon
#

do you want this to happen on any damage, or when another entities damages a target

balmy valve
tall dragon
#

if it should be on any damage here.

    @EventHandler
    public void onDmg(EntityDamageEvent e)
    {
        if (e.getEntity() instanceof Player)
        {
            // target is a player
            double finalDamage = e.getFinalDamage();
            Player player = (Player) e.getEntity();
            if ((player.getHealth() - finalDamage) <= 0)
            {
                //player should be dead now
                e.setCancelled(true);
                //respawn the player manually
            }
        }
    }
balmy valve
# balmy valve

as you can see, any redstone block around it realizes its not powered, but any solid block, in this case dirt, doesnt

#

will work on a video

sharp flare
balmy valve
#
if (block == null) {return;}
BlockData d = block.getBlockData();
if (d == null) {return;}
( (Powerable) d ).setPowered(false);
block.setBlockData(d);```
with block being the lever
sharp flare
#

Usually I coded something like this before but the lever is connected directly to powerable blocks which worked fine

balmy valve
solemn sorrel
balmy valve
solemn sorrel
solemn sorrel
#

Hmmm

#

Yeah I don't know then

balmy valve
#

Its really weird

solemn sorrel
#

Could something else be interfering?

balmy valve
#

nope

#

dont have anything that has anything at all to do with redstone

#

and I know that for sure because most of the plugins I have on this server I have looked at the source code for

sharp flare
# balmy valve

Have u tried putting the lever at the side or opposide side of the dirt facing the redstone

solemn sorrel
# balmy valve

Does an observer trigger on the redstone and/or the lever when it turns off?

solemn sorrel
#

The redstone its connected to, that stays on, doesn't trigger an observer?

sharp flare
#

From the debug messages

#

If they can be updated to be not powered

balmy valve
#

ill extend the updater to do a 3 by 3 by 3 cube around it if you want

sharp flare
#

Sure

solemn sorrel
balmy valve
#

ill do that then sure

#

would be simpler with my current setup anyways

#

server is restarting with the changes now ๐Ÿ‘

solemn sorrel
#

Did you put only that in?

river oracle
sharp flare
river oracle
#

I actually do it in my minigame

balmy valve
river oracle
#

use PlayerDeathEvent and do e.setCancelled(true)

solemn sorrel
#

Yeah all your doing is cancelling the damage lol, you need to respawn the player too

river oracle
#

when you cancel the death even it auto respawns yo u

solemn sorrel
balmy valve
river oracle
#

and you can kind of just tp or something from there

solemn sorrel
sharp flare
#

Just need to update the wire states

solemn sorrel
balmy valve
#

alr

#

yeah it does

#

fun

solemn sorrel
#

Try updating it after?

balmy valve
#

with?

#

every "update" has done nothing, the only reason this time it semi worked was because instead of trusting minecraft to update blocks properly I manually set the powered value

solemn sorrel
#

Yeah try after not trusting minecraft, trust it. Maybe it prefers power?

#

I'm doing other research atm as well to help you

balmy valve
#

I mean I already am, I guess ill make it update it 1 tick after I manually set it, I tried the same thing for unpowering it but who knows maybe it will work

quaint mantle
#

anyone have a solid video/tutorial on how to make a database with a local file, not where we connect to a mysql server if yk what i mean

echo basalt
#

sqlite?

solemn sorrel
quaint mantle
#

yes exactly, forgot the name

echo basalt
#

some networks don't like hosting databases

#

I made a whole storage system with that in mind

quaint mantle
#

i find it easier, id rather not setup a server + the way my server will be hosted will make having a mysql server a massive pain

balmy valve
echo basalt
#

where I can store data into proprietary files, sqlite, up to s3

balmy valve
#

why does redstone & block updates hate getting along ๐Ÿฅฒ

solemn sorrel
sharp flare
balmy valve
solemn sorrel
carmine nacelle
solemn sorrel
#

If you just delay then youd still miss it if thats the issue

solemn sorrel
echo basalt
#

I tried flipping a lever with a client-side fake block

#

idk why but it also refused to update in my case

#

my man

#

there are some events you can't cancel

#

Y2K you dumb

#

๐Ÿคฆ

balmy valve
carmine nacelle
#

@echo basalt any other ideas on my bee thing

echo basalt
#

well

#

beehives like to delete a lot of data

#

maybe external storage

#

or modifying the save method for some extra tags

carmine nacelle
#

I am storing stuff externally

#

some

echo basalt
#

try saving onto the compoundtag directly instead of going through pdc

carmine nacelle
#

Do you have a simple example of that?

echo basalt
#

PDC is something declared in the bukkit layer and doesn't transfer onto nms

solemn sorrel
#

How would one make a BukkitRunnable loop? What I'm trying right now errors since it's already scheduled when I try to again

solemn sorrel
waxen plinth
#
Bukkit.getScheduler().runTaskTimer(plugin, () -> {
  // Your code here
}, 1, 1);```
carmine nacelle
waxen plinth
#

This is an example of a task that runs every tick

echo basalt
#

this is on the custom entity class

waxen plinth
#

You can tweak the last two parameters to change how that works

solemn sorrel
waxen plinth
waxen plinth
#

Which you can cancel

#

Wait actually it returns a BukkitTask

#

Which you can call cancel() on to cancel

solemn sorrel
carmine nacelle
# echo basalt
    @Override
    public boolean save(CompoundTag nbt) {
        boolean returnVal = super.save(nbt);

        nbt.putString("bee-uuid", uuid.toString());

        return returnVal;
    }
echo basalt
#

?tas

undone axleBOT
carmine nacelle
#

Theres not an entity tho

#

so it wouldnt save it to the entity

waxen plinth
carmine nacelle
#

unless save is called by default if it exists

solemn sorrel
carmine nacelle
#

Guessing I also need a load @echo basalt

waxen plinth
#

It's basically the same

#

But much cleaner

echo basalt
waxen plinth
#

Let me guess, you were using a BukkitRunnable like this:

echo basalt
waxen plinth
#
new BukkitRunnable() {

  @Override
  public void run() {
    // Your code here
  }

}.runTaskTimer(plugin, 1, 1);```
waxen plinth
#

Which is much longer and uglier than:

solemn sorrel
#

Its its own class

waxen plinth
#
Bukkit.getScheduler().runTaskTimer(plugin, () -> {
  // Your code here
}, 1, 1);```
waxen plinth
#

You can just use a lambda

solemn sorrel
waxen plinth
#

How

solemn sorrel
#

Plus if you don't want boilerplate then why are you using Java?

waxen plinth
#

That's a really bad take

#

Java isn't "the boilerplate language"

solemn sorrel
waxen plinth
#

A lot of work has been done to reduce boilerplate

quiet garden
waxen plinth
solemn sorrel
waxen plinth
#

But suit yourself

solemn sorrel
waxen plinth
quiet garden
solemn sorrel
solemn sorrel
lost matrix
#

C++
Let me first write all my functions in a header file and then again in a cpp one.
Thats boilerplate.

waxen plinth
#

Yeah I hate that about C++

solemn sorrel
waxen plinth
#

Ah

#

Swift's got some nice features

lost matrix
#

Hah

solemn sorrel
#

Similar enough to be fair

quiet garden
waxen plinth
#

There are a lot of things I hate about swift though

echo basalt
#

write it in binary

#

assembly

#

who cares about boilerplate

#

iT's fAsTEr

waxen plinth
#

Most people

quiet garden
waxen plinth
#

Not really

quiet garden
#

its much more structured

waxen plinth
#

Swift is comparably structured

solemn sorrel
waxen plinth
#

Try kotlin

solemn sorrel
waxen plinth
#

If you're used to swift kotlin will feel right at home

waxen plinth
#

It's less mature and has a lot of things that piss me off more than java does

solemn sorrel
solemn sorrel
lost matrix
#

Well python and javascript are both not preparing you for strongly typed languages very well.
And objects are also very very soft there.

#

So not a good foundation

waxen plinth
#

Argument labels are extremely annoying

waxen plinth
#

It can throw out of bounds exceptions with no stack trace (segfault anyone?)

solemn sorrel
waxen plinth
#

Not on existing functions

#

Only your own

solemn sorrel
#

Ooh yes I hate the stacktraces

waxen plinth
#

And doing so on your own is pretty ugly too

solemn sorrel
#

Yeah

carmine nacelle
#

@echo basalt its still not saving omg

quiet garden
#

i love stacktraces lmao, much more info then smth like python

waxen plinth
#

Java stack traces ๐Ÿ‘Œ

solemn sorrel
#

Swift is bad at crashing, but it doesn't as often, so you win-lose

carmine nacelle
waxen plinth
#

Oh and the string manipulation in swift SUCKS

solemn sorrel
#

Oh yes I love java stacktraces, I was saying I hated swift ones

solemn sorrel
waxen plinth
#

Which is a huge issue for someone like me who loves string manipulation

solemn sorrel
#

Yeah those...

#

Those are a pain

waxen plinth
#

Yep

stiff escarp
#

hi, can I ask help?

quiet garden
undone axleBOT
#

If you have a question, please just ask it. Don't look for staff or topic experts. Don't ask to ask or ask if people are awake or available. Just ask the question to the channel straight out, and wait patiently for a reply. Make sure you use the right channel regarding the topic of your question. Create a thread in case the channel is already in use!

waxen plinth
#

Java's string manipulation is quite good except for the O(n) substring

stiff escarp
#

Thanks

solemn sorrel
#

Yeah swift is not without its problems but I still do prefer it to most others I've tried

waxen plinth
#

Mostly because it just gets out of the way

#

That's all I really want for string manip

#

I think every language has its own issues, and to be honest java's just the one I feel most at home with

solemn sorrel
#

Yeah string manips such a pain in swift, I typically just make it a String.Element array and work on that instead

lost matrix
#

The problem i have with swift: Its associated with apple. This filthy, scamming, garbage company.

waxen plinth
#

lol

#

I would love swift if not for those 3 things

#

But those 3 things are all so bad

#

Like, even worse than java's major issues

twilit pulsar
#

Is this right?


import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.entity.EntityDamageEvent;
import org.bukkit.event.player.PlayerMoveEvent;

public class BitchyFallDamage implements Listener {
    @EventHandler
    public void onPlayerDamage(EntityDamageEvent e) {

        EntityDamageEvent.DamageCause fall = EntityDamageEvent.DamageCause.FALL;
        e.setCancelled(true);


    }
}



solemn sorrel
waxen plinth
#

In my opinion at least

twilit pulsar
#

oki

quiet garden
waxen plinth
#

Not sure what you're trying to do though

twilit pulsar
#

wdym

solemn sorrel
#

You can not find anything to do swift outside of apple which I wish was changed

waxen plinth
#

If you're trying to cancel fall damage

#

That will not work

twilit pulsar
#

Fair enough

waxen plinth
#
if (e.getCause() == DamageCause.FALL) {
  e.setCancelled(true);
}```
#

Or better yet

lost matrix
twilit pulsar
#

No fall damage

#

๐Ÿ™‚

waxen plinth
#
e.setCancelled(e.isCancelled() || e.getCause() == DamageCause.FALL);```
#

๐Ÿ‘Œ

lost matrix
twilit pulsar
#

ye

waxen plinth
#

Oh, then

#
e.setCancelled(e.isCancelled() || (e.getCause() == DamageCause.FALL && e.getEntityType() == EntityType.PLAYER));```
twilit pulsar
#

i feel that i am dumb

quiet garden
# twilit pulsar ye

e.setCancelled(e.isCancelled() || (e.getCause() == DamageCause.FALL && e.getEntity() instanceof Player));

waxen plinth
#

What do you not understand about what's going on here

waxen plinth
#

That will uncancel any cancelled damage event that is not against a player

lost matrix
# twilit pulsar ye

Ok so then you have 2 conditions you need to check:
Is the damaged entity a player?
Is the damage type FALL

What do you use to check conditions in pretty much any programming language?

waxen plinth
#

You have the parentheses placed wrong

quiet garden
quiet garden
lost matrix
#

Well... Not sure where you are coming from but yes.

#

rude...

waxen plinth
#

๐Ÿค”

quiet garden
solemn sorrel
lost matrix
waxen plinth
#

But only for your own functions

solemn sorrel
waxen plinth
#

What

quiet garden
#

thats very rude young man!

waxen plinth
#

If you're gonna insult people then you can just leave

#

We're not going to offer help if you wanna be like that

quiet garden
#

god i love better discord

waxen plinth
#

I already gave you the literal solution, and 7smile is trying to walk you through a simpler one

#

I'm not mad I'm just telling you that you shouldn't be insulting us

#

Anyone

lost matrix
waxen plinth
#

Wait it's not even the same person lol

#

They both had a default pfp so I mixed them up

lost matrix
waxen plinth
#

Yeah lol

#

Rude dude just comes in to troll

#

๐Ÿ’€

#

"Insulting people is rude"
"ok snowflake"

#

Owning the libs

quiet garden
#

help i can't see custom emotes anymore ๐Ÿ˜ญ

waxen plinth
#

Keep it up mate you're doing great

lost matrix
#

You cant just be literally insulting people and then call them snowflakes. Thats not how this works...

waxen plinth
#

No you don't understand

#

Freedom of speech means that I get to say whatever I want and you can't respond in any way

#

Only snowflakes respect people

quiet garden
#

wait hol up, does this server not allow emotes from other servers?

pseudo flint
#

why did spigot fall?

quiet garden
waxen plinth
glossy scroll
#

smile whats that comamnd to your workload thread

waxen plinth
#

Nitro boosters get to use custom emotes but the rest of us don't

glossy scroll
#

?workload

#

?tasks

#

something

lost matrix
#

?workdistro

glossy scroll
#

i forgor ๐Ÿ’€

#

ok

waxen plinth
#

Right

glossy scroll
#

which would you suggest for structures

waxen plinth
#

Go on your queerphobic rant now

glossy scroll
#

rn im having trouble with lighting updates :/

waxen plinth
#

I'll wait

glossy scroll
#

anyone can answer this btw

#

not exclusively smile

waxen plinth
#

lol

#

What's your endgame here

#

Get me mad?

#

Own the libs?

glossy scroll
#

spigot is down ๐Ÿ˜ญ

waxen plinth
#

rip

pseudo flint
waxen plinth
#

Bullying queer people in a spigot help channel to own the libs ๐Ÿ˜Ž

glossy scroll
#

blocking people is free

#

and means less banter

waxen plinth
#

And pretty pointless

pseudo flint
glossy scroll
#

๐Ÿ˜Ž

lost matrix
# glossy scroll which would you suggest for structures

Difficult. lightning update problems usually occur when you place blocks without physics.
You can place the blocks using a fast method, keep track of all chunks and trigger lightning updates after everything was pasted.

solemn sorrel
#

How does BukkitRunnable.runTaskTimer() use delay and period? Does it wait delay the first time and period ever other time, or delay + period the first time and period every other time

glossy scroll
#

here ill show what i currently have

waxen plinth
#

Delay is the initial delay

solemn sorrel
#

thank

waxen plinth
#

Period is the time between each successive run

solemn sorrel
lost matrix
#

What is a gay flag?

lost matrix
glossy scroll
waxen plinth
#

There's a lot of flags because there are a lot of queer identities because people are complicated

lost matrix
#

How are they "gay flags"?

solemn sorrel
glossy scroll
#

first off, i just wanted to make sure my process was correct

waxen plinth
#

That's the asexual spectrum flag

glossy scroll
#

i hadd all the workloads to the roomplacer

waxen plinth
#

I like the way it looks and I fall on the asexual spectrum

glossy scroll
#

and then execute them in a scheduler

#

i think i got that right

waxen plinth
#

Which means I'm not sexually attracted to anyone

#

I'm eager to hear you tell me how my lifestyle is diseased or whatever

solemn sorrel
#

Try it? I'm not sure, haven't done stuff like that before

echo basalt
#

is there a spectrum for when no one is sexually attracted to me

#

or is that just called "being a developer"

waxen plinth
#

I mean, asexual people can want kids

lost matrix
waxen plinth
#

But I don't

quaint mantle
#

๐Ÿ˜ฎ

#

How could they live without kids

lost matrix
#

q+

waxen plinth
#

Asexuality?

quaint mantle
#

the a is understandable

waxen plinth
#

So what's not

glossy scroll
#

i mean its not really up to one person and one hot take to invalidate experiences

#

there are societal pressures that go into identities

glossy scroll
#

its not just a biological thing

waxen plinth
#

r/onejoke

noble lantern
#

apache attack helicoptor mumbo jumbotron aethiest gigachad is an example

pseudo flint
#

can someone ban this idiot?

waxen plinth
#

Yes please

#

For real

glossy scroll
#

one could say that nonbinary doesn't truly exist, but that doesn't acknoweldge the immense societal pressure there is towrads gender norms

waxen plinth
#

But ok

river oracle
#

I don't think you can ban someone for having a shit opinion

waxen plinth
#

Sure can

echo basalt
#

being an idiot is not illegal

pseudo flint
glossy scroll
#

anyways i came here to get help with my structure placing :/

river oracle
#

I doubt the staff will just ban someone for being an idiot

waxen plinth
#

It's not really "having a bad opinion" it's "harassing people for being queer" lol

lost matrix
# quaint mantle the a is understandable

Well... yeah. Really depends on the person. But im having a hard time
tolerating the + when its being shoved down my throat. Just live your life like you want
but dont force me to participate.

waxen plinth
#

Nobody is forcing you to participate though

#

Just go on about your business

noble lantern
waxen plinth
#

What do you mean

glossy scroll
#

๐Ÿ’€ this is getting a bit out of hand

waxen plinth
#

I am?

quaint mantle
#

Guys

#

Ban speedrun

#

?ban @ocean lion

river oracle
#

fr

undone axleBOT
#

Done. That felt good.

waxen plinth
#

๐Ÿ™

river oracle
#

that was too far lol

pseudo flint
waxen plinth
#

Some people are dumb

#

It happens

glossy scroll
#

Serious Spigot and BungeeCord programming/development help | Ask other questions here

waxen plinth
#

It doesn't automatically invalidate any other identities though

echo basalt
#

this is a serious spigot question

noble lantern
#

and im not invalidating them

glossy scroll
#

yea yall making fun of tiktok leftists is the easiest thing ever

waxen plinth
#

You can't just categorically say every queer identity other than lgbt is fake

river oracle
quaint mantle
#

Redempt searching in the shadows for bigotry

glossy scroll
#

theyre so cannibalistic about their leftism

glossy scroll
#

its just insane lol

waxen plinth
#

The dude literally looked at my banner and decided to insult me about it

quaint mantle
#

Oh

#

Ok

glossy scroll
echo basalt
#

I've once lost a job because the owner was shoving a gay lifestyle into the work culture and it felt obnoxious

waxen plinth
echo basalt
#

so I told the dude to chill out

river oracle
waxen plinth
#

But what do you mean by "gay lifestyle"

glossy scroll
waxen plinth
#

Cause it's not really a lifestyle it's just a sexuality

noble lantern
#

hooters?

glossy scroll
#

struggling with optimizing placing structures ina good way

#

because lighting updates seem to just terrorize the server

#

for reference, i need to place around 100 structures with various sizes

echo basalt
# waxen plinth How so

taking every aspect of every individual moment of their life to explain "how gay" something is

lost matrix
river oracle
waxen plinth
#

Whoa

echo basalt
waxen plinth
#

Are you making a modular base building system?

glossy scroll
#

yes!

lost matrix
glossy scroll
#

this is what it looks like in action

waxen plinth
#

If it's over the top that sounds annoying

echo basalt
waxen plinth
#

Alright

glossy scroll
#

ok be careful here

#

typically when people say that

echo basalt
#

And pursuing all staff members to have lgbt flags on their profile pictures

glossy scroll
#

they just mean the gay voice

waxen plinth
#

But what I would like you to understand

echo basalt
#

Regardless of their stance

waxen plinth
#

Being annoying is a problem

#

Forcing people to fly a flag they don't want to is a problem

#

I guess depending on the flag?

glossy scroll
#

i see regular gay people in movies that have higher pitched voices and all the sudden the cishets are screaming about how gay the person is

#

its like ๐Ÿ’€

waxen plinth
#

But like

#

Being gay is not a problem

#

You have to separate these things

#

Identifying as demonsexual is probably just kids being kids

#

You gotta understand there's a lot of children on the internet and children are pretty dumb

echo basalt
#

He was an employer

waxen plinth
#

It doesn't give you a pass to invalidate swathes of genuine identities people struggle with

echo basalt
#

That ran a business

waxen plinth
#

Right

#

What's your point

lost matrix
#

Nobody sane since decades says that being gay is a problem. Being obnoxious is.

waxen plinth
#

What he did is uncool

waxen plinth
#

There are SO many homophobes out and about

#

Like so many

lost matrix
#

Nobody sane since decades says that being gay is a problem. Being obnoxious is.

echo basalt
#

Forcing every single employee to rock a flag and docking their pay if they don't was my problem

waxen plinth
#

Sure

#

Being obnoxious is an issue

#

Straight people can also be obnoxious

#

It's not unique to queer people

dapper carbon
#

Imagine pushing lgbtq on a children's block game

waxen plinth
#

And it doesn't give you a pass to invalidate their identity

waxen plinth
dapper carbon
#

it doesnt make sense, never understood it

waxen plinth
#

Who's "pushing lgbtq"?

dapper carbon
#

no one you irate ape

waxen plinth
#

And what does it even mean to "push lgbtq"

dapper carbon
#

I was just making a statement, I see it happen often

waxen plinth
#

I'm so confused

#

I asked who's doing it and you said no one

lost matrix
waxen plinth
#

Then said you see it a lot

echo basalt
#

it's 4:20am, this argument is pointless and I'm hungry as shit

#

I'm out for a bit

echo basalt
#

:/

quaint mantle
#

wales

lost matrix
echo basalt
#

Portugal

quaint mantle
#

ohhhh

#

Messi

lost matrix
echo basalt
#

dont shame

river oracle
glossy scroll
#

i just think its so easy for yall to attack queer ppl just cuz of kids on tiktok

waxen plinth
#

Yeah it's very easy to cherry pick

glossy scroll
#

i could do it too

#

just gotta recognize the bullshit

#

also

#

just not even care

#

it dont matter

echo basalt
#

should I make pot noodles or eat one of my 19 cans of tuna ๐Ÿค”

glossy scroll
#

literally dont matter

waxen plinth
#

What do you mean "doesn't work"

river oracle
#

I feel like most people on tik tok have a net iq of like 100 combined

glossy scroll
#

most people, including kids, can see thru the weird stuff on tik tok

waxen plinth
#

Does nothing happen? Is there an error?

glossy scroll
#

i work with kids, theyre smarter than people give them credit for

echo basalt
#

?dontwork

quaint mantle
#

You need to run it a tick later

echo basalt
#

whatever the command is

lost matrix
#

?notworking

noble lantern
#

woah

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.

noble lantern
#

imajin knows something

waxen plinth
#

"Does not working"

noble lantern
quaint mantle
#
new BukkitRunnable() {
    @Override
    public void run() {
        player.spigot().respawn();
    }
}.runTaskLater(plugin, 0L, 1L);
#

Something like this

river oracle
#

MYc odes DOES NOT WORKING

echo basalt
#

bukkit task

noble lantern
#

sheeeeesh

quaint mantle
#

I forgot the api

echo basalt
#

bukkitrunnable

noble lantern
#

no?

quaint mantle
#

I forgot the fucking api

echo basalt
#

redempt gonna yell

river oracle
#

I need to finish kits for my plugin :L I'm so distracted right now I'ma take a break

waxen plinth
#
Bukkit.getScheduler().runTaskLater(plugin, () -> player.spigot().respawn(), 1);```
#

Fuck BukkitRunnable smh

noble lantern
#

getSchedular isnt optimal all the time

echo basalt
waxen plinth
#

Is it deprecated

noble lantern
#

its not cancellable

waxen plinth
noble lantern
#

you can use this.cancel()

#

useless

#

cant**