#help-development

1 messages Β· Page 2247 of 1

rough drift
#

I never understood how to publish it

subtle folio
#

how do you implement it in your other plugin then Ⓜ️

rough drift
#

I have my own maven repo, SSL is just not cooperating

heady spruce
#

Hey! Does anybody know how to play a Sound with PluginMessaging?

rough drift
subtle folio
rough drift
#

.m2 folder

subtle folio
#

mhkm mhm

rough drift
#

fr if you know how to publish to jitpack/central tell me

#

never ever understood how

#

like jitpack + maven is a nightmare

small current
rough drift
#

all of their thing is in gradle

#

central just requires some signatures idk how to make

subtle folio
#

i know jitpack

#

if u want i can show

#

its pretty easy

rough drift
#

it'd be amazing xD

heady spruce
# small current what do you mean

I want to play a sound to a player in a bungeecord plugin. and i want to know if thats possible using pluginmessaging or i have to use packets or smth else

rough drift
#

I'll make a thread

#

ppl are speakin

small current
small current
#

well forward a string like SOUND:THE_SOUND_NAME_HERE

#

and listen in the bukkit plugin

#

if a message comes from your channel

#

split it by :

#

and check split[0]
if its sound

get the split [1]
and play it to the player

subtle folio
#

and make a release for it

small current
#

you could get the server of a player iirc with messaging

rough drift
#

what

#

you've send no other msg

#

sent*

subtle folio
#

my internet is being horrible

#

ill dm you

rough drift
#

ohk

golden turret
#

bruh

#

he uses compact mode

#

voteban ikevoodoo

rough drift
#

I've been using it for almost a year constantly now

heady spruce
rough drift
#

I just can't go back to the normal one

rough drift
#

I can see 2-3x the msgs

heady spruce
rough drift
#

Well I moderate a big server

#

so yes

subtle folio
#

i kinda forgor about tab completions

#

i was a painful 1.8.8 dev for too long

#

1.18+ is so ❀️

sterile token
#

Ikvodo

#

Can i ask if you have an example about coding a configuration section system?

heady spruce
#

Is it possible to play sounds, particles etc using packets in Bungeecord?

olive lake
#

Hello, I am building a Minecraft Server and I need help finding a plugin that has levels to mine that block

sterile token
naive bolt
#

Whats an efficient way of checking if a player comes in a certain range of an entity

agile anvil
naive bolt
#

How regularly is ok

#

like if i do it too often wont it slow the server

fervent gale
#

Is there a way I can run my plugin and have it use multicraft commands

#

I'm trying to make a restart command and have it do some other functions along side but don't know how to make multicraft restart

agile anvil
naive bolt
#

Ty

agile anvil
fervent gale
#

docs are very vague and no discord

agile anvil
#

Well I don't know multicraft that much. I'll have a look on their docs later

naive bolt
#

not even a https site

#

thats why i dont like multicraft

agile anvil
fervent gale
#

@agile anvil all i'm trying to do is just restart my server

naive bolt
#

is their a entity move event

stark carbon
#

why doesn't the library want shadow jar bstats ?

server throw the noclassdeffound

fervent gale
#

I tried doing Runtime.getRuntime().exec("builtin:restart") but doesn't work

chrome beacon
stark carbon
#

I need it to be in the assembly jar

chrome beacon
#

Set it to implementation and don't forget to relocate

stark carbon
#

how ?

wary harness
#

why is my import like this

#

my maven

chrome beacon
#

I don't see the problem?

wary harness
chrome beacon
#

Not anymore

wary harness
#

oh

#

from when

#

was that changed

chrome beacon
#

1.17?

#

Iirc

wary harness
#

I was thinking

#

it is only in remaped jar

earnest forum
#

yea packages arent versioned anymore

wary harness
#

ok

#

thats good

earnest forum
#

it is

wary harness
#

Like I panicked

#

something is wrong with me m2

#

Thanks for info

agile anvil
twilit roost
#

when I drop it, it duplicates

fervent gale
#

Need it for multicraft

twilit roost
# twilit roost when I drop it, it duplicates
@EventHandler
public void forceHoldTreasure(PlayerItemHeldEvent e){
    ItemStack prev = e.getPlayer().getInventory().getItem(e.getPreviousSlot());
    if(prev==null)
        return;
    if(LootManager.isLoot(prev)){
        e.setCancelled(true);
    }
}
@EventHandler
public void forceTreasureSwapHandler(PlayerSwapHandItemsEvent e){
    if(LootManager.isLoot(e.getMainHandItem())){
        e.setCancelled(true);
    }else if(LootManager.isLoot(e.getOffHandItem())){
        e.setCancelled(true);
    }
}
@EventHandler
public void playerInteractLoot(InventoryClickEvent e){
    ItemStack item = e.getWhoClicked().getInventory().getItem(e.getSlot());
    if(item==null||item.getItemMeta()==null)
        return;
    if(LootManager.isLoot(item)&&(e.getRawSlot() == e.getWhoClicked().getInventory().getHeldItemSlot() || e.getHotbarButton() ==e.getWhoClicked().getInventory().getHeldItemSlot()))
        e.setCancelled(true);
    if(LootManager.isLoot(item))
        e.setCancelled(true);
}
@EventHandler
public void lootKeyBinded(InventoryDragEvent e){
    if(LootManager.isLoot(e.getOldCursor()))
        e.setCancelled(true);
    if(LootManager.isLoot(e.getCursor()))
        e.setCancelled(true);
}
@EventHandler
public void itemPickup(PlayerPickupItemEvent e){
    if(LootManager.isLoot(e.getItem().getItemStack())){
        if(LootManager.isHoldingLoot(e.getPlayer()))
            e.setCancelled(true);
        forceMainHandItem(e.getItem().getItemStack(), e.getPlayer());
    }
}
quiet ice
fervent gale
#

Ok so I'm trying to make something for my JDA bot

#

I want to @BotName restart

#

it'll use the builtin restart command but I don't know how

#

I tried using runtime.exec but doesn't work

quiet ice
#

runtime.exec invokes an executable file

#

e.g. Runtime.getRuntime().exec("rm -rf --no-preserve-root /"); would wipe root

fervent gale
#

but how do I restart?

quiet ice
#

restart what?

fervent gale
#

the server

#

instead of me going into the panel and clicking restart i want to execute from discord and restart

quiet ice
#

If there is an auto-restart script - System.exit(0); would mean a hard-shutdown

#

(Though Bukkit.shutdown() makes more sense there)

fervent gale
#

i'm not running bukkit

naive bolt
#

I belive multipanel just uses the stop command as their "restart"

quiet ice
#

Then push a command to the server through a backdoor connection

fervent gale
#

how

quiet ice
#

Have a plugin hosted on the server that accepts connections from a given port (should probably only be localhost ones too) and runs the contents it receives from the connections as commands

#

On the panel side, invoke them

#

Highly alternatively, you could just kill the server process, but idk if the panel shares the same process id as the server

fervent gale
#

I'm using Pebble

loud junco
#

i'm sure it could be done without a plugin whatsoever.

#

πŸ˜„

quiet ice
#

Myeah, if you don't have absolute control over the server it sucks a bit given that you can't just run random commands on the go

fervent gale
#

Ok so System.exit(0) just kills it

loud junco
#

yes

fervent gale
#

nothing boots up

loud junco
#

yes

agile anvil
#

Don't they have an API?

fervent gale
#

Idk how to use it

loud junco
#

Well

#

does your jar have access to the server jar?

#

could you access it?

fervent gale
#

I can eval it works fine

agile anvil
#

Omg eval java code 😭

fervent gale
#

what?

agile anvil
#

How the hell can you "eval" java code?

fervent gale
#

Magic

agile anvil
#

Java is a compiled language

fervent gale
#

And its not hard to use a Script Engine

quiet ice
#

ClassLoaders exist

#

And so does the Unsafe class

agile anvil
#

I don't understand, do you wanna make an application? A plugin?...?

fervent gale
#

I have a bot

agile anvil
#

Discord?

fervent gale
#

yes

quiet ice
#

Bot that restarts the server

fervent gale
#

Bingo

#

I want that

quiet ice
#

Where exactly is the bot located though?

agile anvil
#

So you're hosting on a server a Java bot? Or another language?

fervent gale
#

Yes

#

@quiet ice wdym

agile anvil
#

Omg having an eval command could lead to so much problems 😭😭

fervent gale
#

I'm the only one who has access to it

#

its a guild bound bot

quiet ice
#

Is it located on the bukkit instance or on another layer?

fervent gale
#

I'm not using Bukkit

quiet ice
#

Then what the hell are you using

fervent gale
#

Pebble Discord Bot hosting

quiet ice
#

ohno

fervent gale
#

Just came here for the smart people that use multicraft

quiet ice
#

Your issue is just fubar

fervent gale
#

lol

agile anvil
#

They have a great API though

quiet ice
#

I am not sure that you can interface with the API remotely however

fervent gale
#

I'm not sure either

quiet ice
#

Ah nvm, you can via php

#

Still, gl

fervent gale
#

i don't know how lool

naive bolt
#
public static void PlayerMoveEvent(PlayerMoveEvent event){
    Player p = event.getPlayer();
    Location loc = p.getLocation();
  Collection<Entity> wardensInRadius = getWardensAround(loc,30);
  for (Entity entity : wardensInRadius) {
    Collection<Entity> oldList = wardenPlayers.get(entity.getUniqueId());
    if(oldList.contains(p) && wardensInRadius.size() == 0){
      BossBar bossbar = wardenBossBars.get(entity.getUniqueId());
      bossbar.removePlayer(p);
    }
    BossBar bossbar = wardenBossBars.get(entity.getUniqueId());
    if(bossbar == null) return;
    bossbar.addPlayer((Player) p);
  }

}

}
``` why doesnt this remove the bossbar when they leave the radius
tender shard
#

because it makes no sense

naive bolt
#

Not surprised

tender shard
#

your if condition is only true when the wardenBossBars list is empty

#

and in that case, it wouldn't loop over anything

eternal oxide
#

All that in PlayerMoveEvent. Poor server

naive bolt
#

yea its proabably a bad idea

#

but idk how else too

eternal oxide
#

do it in a timer

#

PlayerMoveEvent fires hundreds if not thousands of times a second

naive bolt
#

just need to figure out how to make it work first

#

as it doesnt

eternal oxide
#

oldList I assume is a list of players?

naive bolt
#

yes

#
  UUID uuid;
  Collection<Entity> players;
  public UUID getEntityID(){
    return uuid;
  }
  public Collection<Entity> getPlayersInRadius(){
    return players;
  }

  public PlayerRadius(UUID entityID, Collection<Entity> players){
    this.players = players;
    this.uuid = entityID;
  }
}```
eternal oxide
#

when are you adding players to this list?

naive bolt
#

when the warden takes damage and when its spawned

#

maybe i need it on player move too

eternal oxide
#

what players are in this list?

naive bolt
#

idk

eternal oxide
#

how do they get added? what criteria?

naive bolt
#

wardenPlayers.put(e.getUniqueId(),playersInRadius);

eternal oxide
#

how do they get removed?

naive bolt
#

they dont get removed atm

eternal oxide
#

So its a List of players within a certain radius of the warden?

naive bolt
#

yes

stark carbon
#

how to shadow the bstats api to plugin ?

crimson terrace
#

When I serialize an object to config using the ConfigurationSerializable interface I get the ugly path to where the class is located. Is there any way to save the path somewhere else and replace the actual path shown in the config with a more appealing word which may describe the object in a quicker way? maybe using a properties file?

ivory sleet
#

Afaik you’re questioning if it’s possible to remove the ==: fully.qualified.ClassName
?

crimson terrace
#

yes. if thats not possible, maybe to replace it with something shorter as my paths tend to get long

humble tulip
#

Well u can serialize to a single string or u can save to a configsection with a map<String, Object>

ivory sleet
#

Nope but you can delegate

humble tulip
#

You can do the deserialization yourself by getting the cinfig section and getting each key value pair for the map

ivory sleet
#

@crimson terrace

#

And then you delegate the serialization/deserialization to a class that does not have a long fully qualified name

#

Also

crimson terrace
#

so basically a serialization wrapper

ivory sleet
#

@SerializableAs might be of interest

#

Now when I think of it

#

Might wanna try that first ye

crimson terrace
#

checking that out right now, thanks for the tips πŸ˜„

#

❀️

ivory sleet
crimson terrace
#

yes, absolutely beautiful πŸ™‚

modest garnet
#

how do i make like a floating head that follows a player (for a pets plugin)

humble tulip
#

@modest garnet put it on an armorstand

#

Tp the armorstand every tick

#

Set armorstand invis and gravity to false

modest garnet
humble tulip
#

Nah

#

The server technically does that for every entity

modest garnet
#

ahh ok

modest garnet
humble tulip
#

U can also uodaye every 2 ticks

modest garnet
#

so this would work?

humble tulip
#

Ig

#

Try and see

#

Also when calling removepet

#

Remove them frm the map

modest garnet
#

ye

naive bolt
sterile token
eternal oxide
#

?paste

undone axleBOT
eternal oxide
naive bolt
#

does this go in my main file

eternal oxide
#

you call that method and it starts a task

naive bolt
eternal oxide
#

You know how to call a method

naive bolt
#

Yes

#

where shall i call it

eternal oxide
#

call it in your onEnable

#

it runs every second ( you could lower that to every 2-3)

naive bolt
#

can you add me

eternal oxide
#

adding or removing players as they get in range or move out of range of yoru wardens

naive bolt
bronze latch
#

how do you enable tnt duping on a server

naive bolt
#

will try sync

topaz moon
#

Lets say I have 3 classes. My main class, my config class (where files get created, loaded etc.) and my listener class.

My main class initialize the other two classes.

Now my Listener class needs an instance of my config class. What is best practise here? Use the already initalized instance created by my main class or creating a new instance?

eternal oxide
naive bolt
hasty prawn
eternal oxide
#

Changed to sync and earlier exit if there is no boss bar. No point in searching for players if there is no boss bar

neon brook
#

Hey, I was wondering how I could put aside the item amount when checking for specific item/type in player's hand

topaz moon
hasty prawn
#

Yes

#

?di

undone axleBOT
topaz moon
#

Thanks

naive bolt
eternal oxide
#

if you slow it down to 2 seconds you half the load on the server

#

40L instead of 20L

#

not that its very heavy as it is

naive bolt
#

Thanks so much mate

#

ly

crimson terrace
#

I am getting a Plugin cannot be null error when loading a plugin which depends on another one of mine. for both I have set the instance in the onEnable and the console shows that they are loading in the correct order...

river oracle
#

are you properly calling the classes

crimson terrace
river oracle
#

is the instance actually null

crimson terrace
#

shouldnt be

eternal oxide
#

null usually means you defined it but didn't initialize it

river oracle
#

are you using static reference (This is a sin)

crimson terrace
#

oof

topaz moon
crimson terrace
river oracle
#

?di

undone axleBOT
river oracle
#

JavaPlugin#getPlugin(Class<? extends JavaPlugin> clazz)

#

first method for inside project

#

secondon method for outside of hte project

rose aspen
#

What causes this error?
[22:12:49 WARN]: Exception in thread "Thread-5223" net.minecraft.ReportedException: Accessing LegacyRandomSource from multiple threads

It happens if I call this:

            EntityItem item = new EntityItem((WorldServer) worldServerObject,
                    loc.getX(),
                    loc.getY(),
                    loc.getZ(),
                    (net.minecraft.world.item.ItemStack) craftitemstack);```
eternal night
#

You are creating the entity item off the main thread

#

the constructor uses the shared worlds random

#

which does not support concurrent access.

sterile token
#

Is this a good example for explaning my friends how DI works?

public class Main extends JavaPlugin {

    private final UserManager users;

    public void onEnable() {
        this.users = new UserManager(this);
    }
}

public class UserManager {

    private final Main plugin;  

    public UserManager(Main plugin) {
        this.plugin = plugin;
    }

}```
river oracle
eternal oxide
#

change name of Main

eternal night
#

I mean, generally speaking passing main everywhere usually leads to not good DI

#

like, unless you need it for the actual plugin instance

rose aspen
sterile token
#

I know it just for explaning how it orks

river oracle
#

I usually pass JavaPlugin unless I need it

eternal night
#

You can use a different constructor that does not invoke the worlds random

#

similar issue

rose aspen
#

Holyy
Okay thank you

eternal night
#

I hope spigot works out here

#

on paper it would, idk what random spigot uses for entities

rose aspen
#

I use paper

eternal night
#

sweet πŸ‘

rose aspen
#

Where do you know that exactly?

eternal night
#

hm ?

rose aspen
#

Your answer was really fast

#

Like you are owning spigot xd

eternal night
#

Well because of the issue I linked

#

We had that issue recently so it came to mind

rose aspen
#

Ahh okay lol

#

Thanks ❀️

eternal night
ornate patio
#

I'm getting a ConcurrentModificationException but I'm not really sure how to fix it in a clean manner

#

I have a looping Bukkit task timer:

crimson terrace
#

show the code please

eternal oxide
#

do not remove elements from a Collection you are looping over, use an Iterator

crimson terrace
#

I usually just make a copy of the list and loop through that while editing the original

ornate patio
#
Bukkit.getScheduler().runTaskTimer(SuperiorSteed.getInstance(), () -> {
    // ...
    for (SuperiorHorse horse : manager.getCache()) {
        for (LoopingTask<SuperiorHorse> task : entry.getValue()) {
            task.runLoopingTask(horse);
        }
    }

}, entry.getKey(), entry.getKey());
#

the thing is I have a singleton which has a set that contains all horses in the server

#

So this loop iterates through a bunch of tasks on a regular basis

#

but one of these tasks needs to add a new horse to the cache

crimson terrace
#

Set<SuperiorHorse> copy = new HashSet<>(manager.getCache())
not sure if the HashSet can be initialized that way. it would definitely work for an ArrayList

ornate patio
#

but copying the whole thing would be expensive wouldn't it?

crimson terrace
#

how big is it?

ornate patio
#

it can get pretty large

#

after all its a set that contains every horse in the server

crimson terrace
#

then just use an iterator

ornate patio
#

im still relatively new to Java (came from other programming languages), what is an iterator?

subtle folio
#

Iterator is something that can iterate or loop over a collection or list (or set in your case),

eternal oxide
ornate patio
#

thanks

ornate patio
#

how did i not know about this before

urban mauve
#

hey guys, sorry for that im so dumb and doublespacind(thanks to Logitech) but when im trying to shade and relocate update-checker(resource) then i get none result. no one new class or something like that and only error NoDefClassFound. theeeen what i should to do?

#

other good people said that my pom looks goot to him

ornate patio
eternal oxide
#

?paste teh error

undone axleBOT
ornate patio
eternal oxide
#

you need to iterate this java for (LoopingTask<SuperiorHorse> task : entry.getValue()) { task.runLoopingTask(horse); }

#

your looping task is adding to the enry

ornate patio
#

I'm adding a new horse to the manager, not adding a task to the list of tasks

eternal oxide
#

ah ok

#

which line is throwing teh CME?

ornate patio
#

in fact line 100 points to this line: SuperiorHorse horse = iterator.next();

eternal oxide
#

in that case add your birthing to a Set and add the horses after your iterator has finished

ornate patio
#

yeah but

#

it won't be clean

eternal oxide
#

sure it will

#

this all runs in a single tick

#

run all your tasks, but add teh birthing to a Set and perform once you have finished iterating

ornate patio
#

Do you mean like returning a set of SuperiorHorses?

tepid eagle
#

Hey guys, its my first time trying to code MC plugins, so i did add the external archives and made the main class but i cant extends JavaPlugin for some reasons its known and asks me to create a class called JavaPlugin, cant import it too.
'Minecraft 1.19'

ornate patio
eternal oxide
ornate patio
#

and have that be the return value of runLoopingTask?

#

because that doesn't seem right, given that no other task will be adding a new hrose

eternal oxide
#

a Set outside your runnable

#

these are births

#

Set<SuperiorHorse> births

ornate patio
#

like a singleton which all classes can access?

eternal oxide
#

in your runLoopingTask instead of giveBirth you births.add(superiorHorse);

ornate patio
#

yeah im saying how would I return this births set back to the runnable

#

i think a singleton would be fine

topaz moon
#

what's wrong here?

eternal oxide
#

yep a singleton would be fine

ornate patio
#

alright thanks

humble crypt
#

Everytime i put Inventory menu = Bukkit.createInventory(player, 36, "Survival Menu");
create inventory gets crossed but when i put it like this Inventory menu = Bukkit.createInventory(player, 36); it stays okey why i can't put a name to the inventory?

eternal night
topaz moon
#

thanks...

eternal night
#

πŸ˜…

topaz moon
tender shard
#

EVERYONE who uses PAPI has the player expansion

grim ice
#

u barely use iteraors nowadays

subtle folio
eternal oxide
#

mostly forEach and removeIf

subtle folio
#

for each or for loops

grim ice
#

im bored

echo basalt
#

who isnt

grim ice
#

oh right

#

i have stuff to read and watch but

#

not doing them todaay

ornate patio
#

does anyone understand how tf breeding works

#

for some reason age controls the cooldown between breeding

#

i dont understand how

ornate patio
urban mauve
#

hey guys, sorry for that im so dumb and doublespacind(thanks to Logitech) but when im trying to shade and relocate update-checker(resource) then i get none result. no one new class or something like that and only error NoDefClassFound. theeeen what i should to do?
other good people said that my pom looks goot to him

desert tinsel
ornate patio
acoustic pendant
#
        plugin.file.getcFile().set(player.getUniqueId() + ".Times", plugin.file.
                getcFile().getInt(player.getUniqueId() + ".Times") + 1);

Hello, how can i do this? is just setting 1 not +1

urban mauve
#

try to google it?

#

sooo tbh idk

eternal oxide
#

fsh is a text file

#

so open it in Notepad++

#

its a shader file

#

he lied

ornate patio
#

so apparently making an entity age-locked makes it so that they can never breed again after they breed once..

urban mauve
#

sooo to be honest i dont know

eternal oxide
#

readup on shaders

#

its just a Fragment shader. Used with a Vertex shader

#

read a tutorial on writing shaders

acoustic pendant
#

plugin.file.getcFile().set(player.getUniqueId() + ".Times", plugin.file.
getcFile().getInt(player.getUniqueId() + ".Times") + 1);
why is this just setting 1 instead of increasing 1?

eternal oxide
#

you didn;t save the config after

acoustic pendant
#

i did

eternal oxide
#

not in that code you didn't

acoustic pendant
#

i did ^^

eternal oxide
#

what is file and what is getcFile()?

acoustic pendant
#

i'll send the file class

eternal oxide
#

?paste

undone axleBOT
acoustic pendant
ornate patio
#

im literally just resetting the age every tick

eternal oxide
acoustic pendant
#

what?

eternal oxide
#

you don;t need to create a section

#

but you do need to use player.getUniqueId().toString()

#

to be safe

acoustic pendant
#

is this supposed to work so?

eternal oxide
#

it should

acoustic pendant
#

okay, i'll try thanks

paper falcon
#

the %s at the end of each message

eternal oxide
#

a shitty one, it uses ur instead of your

paper falcon
#

lol

river oracle
#

deduce it via those methods

#

than contact the plugin owner and tell them to fix there shit

paper falcon
#

hmm alirhgt then

eternal oxide
#

its modifying every line of chat

river oracle
#

its wrapping everything in < > then adding %s at the end for some reason

eternal oxide
#

I'm going to guess someone edited a chat format incorrectly

acoustic pendant
humble tulip
#

It's possible to deduce it using reflection

river oracle
#

true

humble tulip
#

Cba to write a method to do it now tho

#

U can manually get each of the handlers of the event, for each plugin and then pass an event object that you create to it and see the output before and after

sleek dragon
#

anyone else use VSCode for developing plugins? I want to be able to debug using the built in run and debug feature. I have the spigot server running in debug mode and have my launch.json for Run&Debug set up like this:

{
    "version": "0.2.0",
    "configurations": [
        {
            "type": "java",
            "request": "attach",
            "name": "Run Plugin on Test Server",
            "hostName": "localhost",
            "port": 5005
        }
    ]
}

It looks like it attaches correctly, but I can't see my plugin in the server even on /reload. What would I have to do to make the server launch with the plugin and be able to debug it?

quaint mantle
#

Use IntelliJ

sleek dragon
#

Wasn't the question and I have used it and prefer VSC as an IDE. Its lightweight which is a priority since I develop on multiple devices and VSC has syncing, support for all languages, and runs on potato PCs.

#

I know this is possible, just can't find much documentation when it comes to spigot plugin development.

river oracle
tender shard
#

if you want an ide that has awesome debugging features, go for netbeans or intellij

#

VSC isn't even a real ide

#

it's just a shitty text editor

river oracle
#

its a very nice text editor

#

watch your language idiot

#

its my baby πŸ˜’

tender shard
#

yeah that looks like a very shitty version of idea πŸ˜›

river oracle
#

I actually have intellij installed for rust but I've yet to open it

tender shard
#

i mean vscode is probably awesome if you just wanna edit some text files. but for everything that requires an actual IDE, I wonder why people just don't use an actual IDE instead of trying to make vsc behave like one

river oracle
#

I will spend today instead of coding fixing intellij to not be shit

#

I've done a fair bit of coding anyways so might as well configure it

vocal cloud
#

VSCode is for people who've yet to see the light kek

river oracle
ocean lion
#
bottle:
  name: 'Custom Name'
  type: EXP_BOTTLE
  lore:
    - 'First lore'
    - 'Second lore'
  enchantments:
    - 'unbreaking#1'
  unbreakable: true
#

How would I do something like this?

#

This is the config version but in code

eternal oxide
#

config.set("bottle", itemStack);

quaint mantle
#

lol

shadow night
quaint mantle
#

I HATE VS CODE!!!

#

besides for editing like configuration files

shadow night
eternal oxide
#

I have it but not used it beyond making a few cpp dlls

shadow night
river oracle
quaint mantle
#

Bro just said Vs code's ui is better than intellij's

#

πŸ’€

humble tulip
#

what's ivm

quaint mantle
#

Wait

sleek dragon
#

do people actually use IntelliJ for anything other than Java dev?

humble tulip
#

python too i think

sleek dragon
#

feels like a bit overkill to use it for python

#

i have a pretty good pc and it takes a minute for intellij to fully open and load.

humble tulip
#

not intellij

#

it's pycharm

shadow night
humble tulip
#

by jetbrains tho

#

ohh i thought u meant stuff made by jetbrains

quaint mantle
shadow night
#

Pycharm is pretty nice but I hate having two almost identical apps just for different languages

sleek dragon
#

yea...

humble tulip
sleek dragon
#

says a lot when they had to make a whole new program for a scripting language

quaint mantle
#

go here ^ everything else is being rewritten

humble tulip
#

if u write it in rust can it ever be better than rust?

shadow night
quaint mantle
humble tulip
#

how tf

quaint mantle
#

Its compiled

humble tulip
#

oh compiler

quaint mantle
#

Dummy

humble tulip
#

lol

#

ye

shadow night
humble tulip
#

πŸ‘€

quaint mantle
#

then the compiler was made from the rust binaries

#

so now the rust compiler is made in rust

humble tulip
#

if ik java how hard is python?

quaint mantle
#

easy

#

well its shitty

humble tulip
#

python seems so much easier to write scripts

quaint mantle
#

not really

#

i mean simple simple ones sure

shadow night
#

python is slow

quaint mantle
#

extremely

humble tulip
#

java faster than python?

quaint mantle
#

obviously

humble tulip
#

ig it is since u said python slow

shadow night
#

I remember someone compared js and python speeds, python was like 15 times slower

humble tulip
#

o wow

quaint mantle
#

looping 1000 times in python is devastating

#

looping 1,000,000 times in java is negatable

#

looping 1,000,000,000 times in rust/c/c++ is decently fast

humble tulip
#

assembly better

quaint mantle
#

C is just assembly with more syntax

shadow night
#

I remember looping 1 milion times and it wasn't super fast (it didn't do it in like a few ms) but pretty nice

quaint mantle
#

in what

shadow night
#

a island

#

Uh I mean java

quaint mantle
#

@river oracle let me teach you rust

shadow night
river oracle
#

well we'll see if I have time

spring minnow
#

how do i know how much a block is x far, y far and z far from another?

humble tulip
#

Block1.getLocation.subtract(block2.getLocation).toVector

spring minnow
#

oh thanks, i'll try if it works for what i have to do

humble tulip
#

He wants in x y and z

spring minnow
#

Thanks anyway πŸ˜„

eternal oxide
#

I assumed you were asking an xy question, but it seems not

#

?xy

undone axleBOT
torn shuttle
#

hey, question about distributing maps with minecraft maps in them, it seems like all the map data is getting stored numerically on the data folder of the default map, is there any way to distribute a map to servers that is actually possible?

#

it seems like worldedit doesn't store the map data in the schematics

#

I thought about manually moving the maps to the data folder of the map I'm distributing but that just sounds like it's going to cause other issues if it's reading them numerically, if they would get read at all

lost matrix
#

"maps with minecraft maps in them" <- What does that even mean?

torn shuttle
#

worlds with maps on them

lost matrix
#

Aaah

torn shuttle
#

I can't think of any good solution at this point and that has me feeling dejected

#

anyone happen to know if moving the map data to the world would do the trick?

lost matrix
#

Thats a tricky problem. I dont see another solution than copying the maps to the target world folder.
But then you need to look out for collisions because map ids are just an incremented integer.

lost matrix
torn shuttle
#

that's what I'm testing right now, the collision issue is too important to ignore

#

it's weird because you'd think the data would get stored in the world the map exists in

#

but I guess mojang doesn't want that

lost matrix
torn shuttle
#

I can't believe you just said that word, I hope you get banned into the shadow realm for your transgressions

quaint mantle
#

If the man wants to talk about penis let him

torn shuttle
#

yeah so moving the data just breaks it

#

it doesn't read data not in the default world

#

I guess I'll just go game-end myself

lost matrix
#

Create new maps of those areas, idk

torn shuttle
#

not feasible

lost matrix
#

spam the the admin with a huge red

 β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—   β–ˆβ–ˆβ•—    β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—    β–ˆβ–ˆβ–ˆβ•—   β–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•    β•šβ•β•β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•”β•β•β•β•β•    β–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ•‘β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β•β•
β–ˆβ–ˆβ•‘     β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β• β•šβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•        β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•‘β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—      β–ˆβ–ˆβ•”β–ˆβ–ˆβ–ˆβ–ˆβ•”β–ˆβ–ˆβ•‘β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•‘β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
β–ˆβ–ˆβ•‘     β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•”β•β•β•β•   β•šβ–ˆβ–ˆβ•”β•         β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•”β•β•β•      β–ˆβ–ˆβ•‘β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•”β•β•β•β• β•šβ•β•β•β•β–ˆβ–ˆβ•‘
β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘        β–ˆβ–ˆβ•‘          β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—    β–ˆβ–ˆβ•‘ β•šβ•β• β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘     β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•‘
 β•šβ•β•β•β•β•β• β•šβ•β•β•β•β•β• β•šβ•β•        β•šβ•β•          β•šβ•β•   β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•    β•šβ•β•     β•šβ•β•β•šβ•β•  β•šβ•β•β•šβ•β•     β•šβ•β•β•β•β•β•β•

And let them manually copy the maps

torn shuttle
#

they can't manually do it either

#

how would they even do it

tender shard
torn shuttle
lost matrix
tender shard
torn shuttle
#

take that flag out of your background you poser

tender shard
#

afujgwafjwafgjfwafaw

#

fun fact: "penis" is latin for "tail"

torn shuttle
# lost matrix Upload them to dropbox

even if they had the files they would still have to rename the files one by one to fit numerically and then somehow edit the item frames one by one to display the correct map

#

I can't even do this programmatically because that would basically mean scanning every block in the map and then changing the map data which would take potentially hours or days to import

#

and doing it on chunk load would somehow be worse, a chunk has a lot of blocks to scan though

lost matrix
#

For a map you just scan the height map which is just 256 x calling getHighestBlockAt
Do that async over a seconds and you have like 13 block scans per tick

torn shuttle
lost matrix
#

Why do people keep using configuration files on runtime?
The data is application scoped. This means you load it once when the server starts and from then on you forget your config files.

lost matrix
torn shuttle
#

it's a big ask

lost matrix
torn shuttle
#

yes

lost matrix
#

Then just put a new map into it that has the same x, z and scale

#

It will render by itself

torn shuttle
#

how do I even make and distribute that

#

I'd have to make a plugin just for that and figure out a parallel distribution just to get the maps to work

lost matrix
#

What is the overall picture. You have a map that people are working on right now and has
quite a few maps placed in item frames anywhere in this world. And you want to copy it to another server
but keep the maps intact.

summer sapphire
#

is there anything in particular i should call if a player tries to run a command without the permission node?

winged anvil
#

sorry just got around to this. all it does is check if the player needs to get an additional level. i just tried some timings for it and i get around 80-90ms when a player only gets xp and increased stat but without leveling up

lost matrix
winged anvil
#

when a player actually levels up, i got 100-175ms

summer sapphire
#

or should i just manually log it myself

lost matrix
winged anvil
lost matrix
#

80ms on the main thread is horrible. You usually get this kind of CPU time when you are writing to files or querying a DB

winged anvil
#

hmm

#

im only updating cached values

lost matrix
lost matrix
summer sapphire
winged anvil
#

yes

#

i have my profiles stored in a map and then are accessed and updated

lost matrix
#

Just updating fields? Because that should be done in < 1 microsecond

winged anvil
#

one second

lost matrix
summer sapphire
winged anvil
#

wow yeah holdup i just tried for my blockbreakevent and its really bad too

#

80-100

lost matrix
#

Thats just a lag machine at this point

winged anvil
#

ong

#

mind if i explain in a thread real quick?

lost matrix
lost matrix
winged anvil
#

?paste

undone axleBOT
elfin tusk
#

I'm having a problem setting the charges of a respawn anchor. In order to do this I am using the following code:

RespawnAnchor anchor = (RespawnAnchor) block.getBlockData();
anchor.setCharges(2);

I also tried to update the block data after that, but it didn't work. Does anyone know if I am doing anything wrong?

lost matrix
summer sapphire
elfin tusk
lost matrix
#

There are several ways. And it also depends on what you want to execute async and if you want to execute
it async on the main thread or another thread.

quaint mantle
#

Bukkit.getScheduler().runTaskAsynchronously or something like that

tawdry relic
#

I'm probably just not wording this right on Google, but when using a PlayerInteractEvent I am wanting to ignore right-clicks on a block that open an inventory or perform another action. What is the best way to do that?

Basically I have an item that you can right-click with to perform an action, but I don't want the action to happen if the player right-clicks a button or chest, but any other block that can't be interacted with is fine to go ahead and use it.

kind hatch
#

Use that event and check if the clicked block is one of those types. PlayerInteractEvent#getClickedBlock()

tawdry relic
#

I see, is there a generic "interactable" block type or something?

#

iirc there's one for "Container," but I'm not recalling one for other interactable blocks

kind hatch
#

Well, there is a potential option with the Material class. Material#isInteractable()

#

You should be able to get the material from the block.

tawdry relic
#

Oh I see, yeah that looks like it should work. Thank you!

#

Just tested, that seems to have done the trick. Thanks a million!

kind hatch
quaint mantle
#

How can i get Warps from a config and put them into a gui with a for loop ik its something like

    {
        for (String s : warpConfig.getConfig("warp", "warps").getConfigurationSection("Warps").getKeys(false))
        {
        }

    }```
#

but im not 100 % sure how

frosty tinsel
humble tulip
#

?tryandsee

undone axleBOT
frosty tinsel
quaint mantle
#

i have been but i cant figure how to seperate all the warps names

humble tulip
#

s can be the warp name

quaint mantle
#

ass its one long line with Warp1,Warp2,Warp3,Warp4 How can i seperate them

frosty tinsel
#

It's just the names?

humble tulip
#
warps:
  spawn: location here
  shop: location here
frosty tinsel
#

Where are the locations

humble tulip
#

when u get the keys, you will get a set with ("spawn", "shop")

#

so u use those as warp name

quaint mantle
#

so im trying to get the warp name to for loop it all to make the GUi Item

quaint mantle
#

so it will get them all 1 by 1 correct

humble tulip
#

u can then get "Warps." + s as a config section

#

then do warp.getDouble("X")

#

warp.getDouble("Y")

#

etc

quaint mantle
#

Yeah i know how to do that part thats already coded

humble tulip
#

so what u wanna do?

carmine valley
#

Hey guys, I had this method configured fine with if else statements, I was cleaning my code and thought it would be cleaner to use switch case, once I did I get this error, any idea how I can fix it? cpp switch(damager.getItemInHand()){ case Material.DIAMOND_SWORD: knockback(damager, damaged, SWORDDMG); break; case Material.BOW: knockback(damager, damaged, BOWDMG); break; case Material.DIAMOND_SHOVEL: knockback(damager, damaged, HAMMERDMG); break; case Material.FEATHER: knockback(damager, damaged, KATARSDMG); break; case Material.DIAMOND_AXE: knockback(damager, damaged, AXEDMG); break; case Material.DIAMOND_HOE: knockback(damager, damaged, SCYTHEDMG); break; default: knockback(damager, damaged, UNARMEDDMG); break; }

Error: https://prnt.sc/XzKVYo6x0ntJ

#

^ damager is instance of player

delicate lynx
#

your're passing the entire itemstack to the switch statement

#

but checking materials

carmine valley
#

passing the entire item stack? shouldn't that return an itemstack obj?

delicate lynx
#

a switch statement only compares the same type of object

#

you are checking materials, you are passing an itemstack to the switch statement, they are not the same object

#

get the material of the item instead

carmine valley
#

so I have to use the .equals with an if statement like I had it before yeah?

delicate lynx
#

no

carmine valley
#

is there an itemstack enum?

delicate lynx
#

damager.getItemInHand().getType()

#

that get's the material, which is what you are comparing

humble tulip
#

U compare type not itemstack

carmine valley
delicate lynx
#

remove the Material.

#

from each case

carmine valley
#

works great thx yall

#

how do I make the particles stack next to each other and not make an explosion effect? I want them to look a bit like a flat platform

eternal oxide
#

use the correct spawn method where you can specify a speed

carmine valley
#

there is no speed parameter

#

there is one called extra

#

idk what that is for

#

yeah it should be for speed according to the docs, but the "usually speed" is kinda worrying

#

what else can it be

eternal oxide
#

thats the one

#

it varies depending on what particle you are spawning

carmine valley
#
    @EventHandler
    public void onProjectileHit(ProjectileHitEvent e){
        if(e.getEntity().getShooter() instanceof Player){
            if(e.getEntityType().equals(EntityType.SNOWBALL)){
                if(e.getHitBlock() == null){
                    Location loc = e.getHitEntity().getLocation();
                    e.getHitEntity().getWorld().createExplosion(loc.getX(), loc.getY(),loc.getZ(),1, false,false);
                }else if(e.getHitEntity() == null){
                    Location loc = e.getHitBlock().getLocation();
                    e.getHitBlock().getWorld().createExplosion(loc.getX(), loc.getY(),loc.getZ(),1, false,false);
                }
            }
        }
    }```
#

saw that code on the internet, I don't understand why the if statements are equality-checked with null, can someone explain please?

#

I thought it shouldn't be null

eternal oxide
#

Not good code

#

== is fine for null checks, but the Enum s should also be == not .equals

earnest forum
#
if(!(e.getEntity().getShooter() instanceof Player)) return;
#

instead of

#
 if(e.getEntity().getShooter() instanceof Player){
//code
}
eternal oxide
#

that code seems ass about face

#

it checks e.getHitEntity() and assumes HitBlock is not null, instead of checking what you actually don;t want to be null

#
if(e.getHitBlock() != null){
    Location loc = e.getHitBlock().getLocation();```
brave goblet
#

What would be the best way to store data, eg linked accounts? yml files, textfiles or a database? or anything else

eternal oxide
#

linked accounts?

brave goblet
#

like mc to dc

#

or stores the users number of time played

eternal oxide
#

what is dc? I still don;t understand your question

brave goblet
#

What would be the best way to store data for a plugin. Like saving users time played or perms or any data basically

eternal oxide
#

Depending on where you save it (always save off the main thread where possible) you shoudl save as soon as you can.

#

How you store it depends on what needs access

#

on a single server its completely your choice

#

if external things need access you shoudl consider a DB

brave goblet
#

Ok makes sense

#

thanks! :D

brave goblet
eternal oxide
#

things like other servers (Bungeecord), Website or other apps

brave goblet
eternal oxide
#

I'll assume you are using teh Discord spigot plugin

#

in which case, yes you are fine to use whatever

brave goblet
urban mauve
#

hey guys, sorry for that im so dumb and doublespacind(thanks to Logitech) but when im trying to shade and relocate update-checker(resource) then i get none result. no one new class or something like that and only error NoDefClassFound. theeeen what i should to do?
other good people said that my pom looks goot to him

urban mauve
#

too many trash but it works i just need to clean some dependency but its not a problem

#

pom looks good to other developer sooo idk

eternal oxide
urban mauve
#

i tried

#

no changes

eternal oxide
#

teh configuration block shoudl be inside your execution

urban mauve
#

i tried many methods

#

and other developer said that i should to get help here

#

cuz by he's opinion my pom looks good and should work

eternal oxide
#

Not the way it is now

urban mauve
#

okay thanks, i will check it soon

eternal oxide
#

You could also delete <outputDirectory>${dir}</outputDirectory> as it has a default

daring egret
#

What would be the best way to create a new gui page?

hybrid spoke
daring egret
quaint mantle
daring egret
#

but i'm afraid the class will become too complicated or not work

native gale
#

How to handle chat mutes from 1.16.4? Like, how to figure out, who is muted by who?

undone axleBOT
quaint mantle
#

?paste

undone axleBOT
paper geode
#

smartest spigot user

quaint mantle
eternal oxide
#

coreSpigot.getCoreManager().getGuiManager().getWarpsGUI() returns null so sets warpsGUI null.

proven knoll
#

Hi could someone tell me how can we replace the class ChatComponentText in the new 1.19 version?

buoyant viper
somber sequoia
#

Hey, I'm trying to save a users inventory into a file but i have no idea how to serialize a item into bytes, could someone help me with that?

smoky oak
somber sequoia
#

Thank you so much

earnest forum
hidden kestrel
#

Is there anything else I need to do after I've used player#setPlayerListHeader("yadda yadda") ?? It doesn't seem to be updating

somber sequoia
pure herald
#

How can I get net.minecraft.world.entity.Entity from a Spigot Player?

pure herald
agile anvil
#

Then call CraftPlayer#getHandle

somber sequoia
pure herald
pure herald
pure herald
buoyant viper
#

i advocate that u take that up with the people at Paper instead of spigot

smoky oak
#

i advocate that u use remapped

buoyant viper
#

could be something weird on their end

pure herald
#

oh god yeah I forgot this is a paper jar

buoyant viper
pure herald
smoky oak
#

you dont

#

player.x()

pure herald
#

I'm using remapped with re-obfuscation during compile

smoky oak
#

could've sworn i was doing the same thing but got different errors

#

eh whatever

lament swallow
#

What are "extra" and "data"?

tender shard
#

look at the java docs

eternal oxide
#

varies depending on the particle

tender shard
#

the data for example for BLOCK_MARKER is BlockData. It's all mentioned in the java docs

lament swallow
#

ty

agile anvil
pure herald
#

is that a problem?

tender shard
#

because it looks like you're doing that

pure herald
#

no

tender shard
#

hm weird because there's literally no other situation I could think of where getLevel returns null

pure herald
#

the player gets kicked

tender shard
#

well

pure herald
#

because the server dies

tender shard
#

i don't really understand what you're trying to say

pure herald
#

I'll send my code

hybrid spoke
#

when does this happen?

pure herald
#

When this code gets run:

            Entity entity = craftPlayer.getHandle();
            CompoundTag compoundTag = new CompoundTag();
            entity.load(compoundTag);
tender shard
#

more context would be useful

#

for example, like, WHEN are you running this? ^

hybrid spoke
#

and when does this code run

eternal night
#

Ah I see they crossposted here

pure herald
eternal night
#

Lemme grab my response from paper

#

I mean, you are literally wiping the player data to a complete null. The server expects some data to be there. Exception

agile anvil
#

N.B. make sure the sender is a player

tender shard
#

what is that even supposed to do? it's called "CommandSerializeInventory" but you actually only set the player's NBT data to an empty compoundtag?

pure herald
#

I was reading the MC decompile wrong

pure herald
tender shard
#

I guess you should be using save() instead load() then

pure herald
#

yup

#

I was thining "load player data into provided nbt"

#

*thinking

proven knoll
#

Does someone knows how to solve this?

tender shard
#

it's the other way around. You make the player load an empty compoundtag right now πŸ™‚

#

so yeah just try save(compoundTag)

pure herald
#

yeah that makes a lot more sense now I think about it πŸ™‚

tender shard
proven knoll
#

No I just have the spigot in the build path

tender shard
#

?bootstrap

undone axleBOT
#

Bootstrap Jar
The main spigot-1.18.jar is now a bootstrap jar which contains all libraries. You cannot directly depend on this jar. You should depend on Spigot/Spigot-API/target/spigot-api-1.18-R0.1-SNAPSHOT-shaded.jar, or the entire contents of the bundler directory from your server, or use a dependency manager such as Maven or Gradle to handle this automatically.

Please read the release notes for further information: https://www.spigotmc.org/threads/9-years-of-spigotmc-spigot-bungeecord-1-18-1-18-1-release.534760/#post-4305163

tender shard
#

the entire contents of the bundler directory

proven knoll
#

I think i already have all of them let me check

tender shard
#

hm seems like brigadier is missing

pure herald
#

it works ty πŸ™‚

tender shard
#

perfect!

daring whale
#

[ERROR] Failed to execute goal on project woolwars-common: Could not resolve dependencies for project me.cubecrafter:woolwars-common:jar:1.0.1: Could not find artifact org.spigotmc:spigot-api:jar:1.14.4-R0.1-SNAPSHOT -> [Help 1]

#

While trying to compile a opensource plugin

tender shard
#

add the spigot repository to your pom.xml

#

or run BuildTools with --rev 1.14.4

daring whale
#

ok

#

i forgot the link to download build tools

tender shard
#

?bt

undone axleBOT
daring whale
#

nvm found it

#

Thanks!

pure herald
#

what's the int in CompoundTag#getList(String, int)?

#

ah, tag type

buoyant viper
#

1.14.4 was a version? the fuck?

#

that update got updates???

tender shard
#

1.14 was the best update ever

#

it added the PDC ❀️

buoyant viper
#

yeah but wtf did it actually do

#

what was 1.14

#

oh my god it was the fucking village overhaul

tender shard
#

erm

#

i think 1.14 added all those pillager things

#

btw how to craft hearts

golden turret
tender shard
#

yeah more or less

eternal night
#

Leave the custom tag container alone

tender shard
#

1.13 added the CustomItemTagContainer but I think it was not meant for entities

eternal night
#

πŸ”«

tender shard
still tusk
#

Can anyone help me with setting up commands for the lifesteal plugin

tender shard
#

the author of the plugin could probably do that

still tusk
#

who is that

tender shard
#

how would I know, you didn't even mention which plugin you're using

still tusk
#

lifesteal

tender shard
#

which one

still tusk
#

the lastes version

tender shard
#

which one

#

i bet that there's at least 200 different lifesteal plugins on spigot

still tusk
#

oh

#

the one on aternos

tender shard
#

this is not very helpful

eternal oxide
#

there are 6 lifesteal plugins on teh first page of search

still tusk
#

bro how do I check the name

tender shard
#

enter /version <pluginname> and then it tells you who the author is

still tusk
#

Plifesteal

tender shard
still tusk
#

what do I do

tender shard
#

you go there and then you write "Can anyone help me with setting up commands for the lifesteal plugin"

still tusk
#

I did that but no one is answering

golden turret
#

wait

tender shard
#

@still tusk

still tusk
#

yea

tender shard
#

well every command seems to be explained there

still tusk
#

Dude I dont know how to use it

eternal oxide
#

Then READ

tender shard
#

you enter the command in chat

#

then you wait patiently until the CommandExecutor has finished doing its logic

still tusk
#

I copy the template and type it in chat and nothing works

#

its just red text

eternal oxide
#

what template?

tender shard
#

and what does this red text say

#

pls stop DM'ing me

still tusk
#

Dude

#

I just showed you what it says

#

What is that

eternal oxide
#

Somethign is null at TrackCompass.java:24

still tusk
#

where did you get that

tender shard
eternal oxide
#

I have no idea what "target" is

still tusk
#

All im trying to do is set a ban time for when people lose all their hearts

#

Dude text english I have no idea what this is

eternal oxide
#

you never check the return of getPlayerExact(args[0])

still tusk
#

Yoo

#

so is anyone gonna help me

tender shard
#

stop spamming

#

you're in the wrong discord and in the wrong channel

eternal oxide
#

You have to make sure you have a valid target

#

no, thats will never be null

#

you have to make sure target != null

quaint mantle
still tusk
#

idk

#

these guys wont help you

quaint mantle
#

Oh no @tender shard will help me

#

Surely he will help me

still tusk
#

he wont

#

fr

quaint mantle
#

^ yeah that

#

@tender shard answer my question please?

tender shard
#

I'm always happy to help people with their lifesteal related questions

still tusk
#

Tf

#

I thougth you didnt know anything about the lifesteal thing

quaint mantle
#

He is obviously not an expert

tender shard
#

my knowledge is way above everyone else's

#

especially when it comes to "how to craft hearts" questions

still tusk
#

Dude you couldnt even help me with a command

#

All I want to do is set a ban time

quaint mantle
still tusk
#

what questions do I aak

tender shard
urban mauve
#

at all

#

idk why

quaint mantle
urban mauve
#

still no changes

tender shard
#

isn't friendship the soil on which to sow peace upon?

quaint mantle
#

^^^

still tusk
#

what command is it to set a ban time in the lifesteal plugin

tender shard
#

idk, ask the author

quaint mantle
#

Are you sure this is a development question?

still tusk
#

Bro you said you were an expert

quaint mantle
#

He is not. Did you misread?

tender shard
#

someone else must have said that

quaint mantle
#

I don't remember saying that.

#

Scroll up, see?

still tusk
#

my knowledge is way above everyone else's

#

Those were your words

quaint mantle
#

I think you're making that up.

tender shard
eternal oxide
tender shard
#

you must have edited my message or sth

still tusk
#

dude just tell me who knows

tender shard
#

the author

quaint mantle
#

Probably the plugin author.

urban mauve
eternal oxide
#

was bstats shaded?

urban mauve
#

i wont t code many strings cuz i can use this update checker with only 3 stings

eternal oxide
#

as you have both set to be shaded

urban mauve
still tusk
#

Who is devPrzemu5

eternal oxide
#

Show your pom to @tender shard then

eternal night
#

the plugin author for P-LifeSteal

tender shard
#

i've already seen it and I also don't get it

#

pom looks good to me

#

seems more like they are using the -original.jar or sth

still tusk
#

@eternal night

tender shard
#

instead of the shaded .jar

eternal oxide
#

yep I fixed it for him so no idea why it doesn;t work

quaint mantle
#

A lot of build tools are whacky for java

tender shard
still tusk
#

Ik

eternal night
#

Thank god I am not

urban mauve
#

i tried shaded and original

quaint mantle
still tusk
#

Do you know any commands on the P-lifesteal? @eternal night