#help-development

1 messages · Page 2202 of 1

humble tulip
#

ohh

#

java -jar BuildTools.jar --rev 1.19 --remapped

#

i think

golden kelp
#

?1.19

undone axleBOT
dark arrow
#

thanks

#

is there any remappings

humble tulip
#

if u wanna use nms without scratching your head, use --remapped

#

wanted to see if java Integer class returned itself if when hashed and this is what i found

quaint mantle
#

why wouldnt it

dark arrow
#

Why i cant edit warden in nms

#

i wated to mess with his AI 😦

humble tulip
#

if u wanna mess with his ai, extend warden and create your own custom entity

dark arrow
humble tulip
#

can u import any other mob like zombie etc?

halcyon mica
#

K, I have PRed the fix for the random issue

sage merlin
#

for sone reason when i die the deaths is not updating

#

show the error first

#

first of all why is there a random bracket in the begining of the runnable

#

you should and put the runTaskTimer on the curly ones

#

and why are you putting a throws Exception seems superfluous

lethal coral
#
    public static double randomDoubleBetween(double num1, double num2){
        return ThreadLocalRandom.current().nextDouble(num1, num2);
    }

    private void rewardWinnings(Player player){
        Stats.setStat(player, Stat.WINS, Stats.getStat(player, Stat.WINS) + 1);
        int eggGain = (int) Util.randomDoubleBetween(25, 50) * Stats.getStat(player, Stat.MULTI_EGGS);
        Stats.setStat(player, Stat.EGGS, Stats.getStat(player, Stat.XP) + eggGain);
        player.sendMessage(MINI_MESSAGE.deserialize("<#25c22b>+ " + eggGain + " Eggs"));
        giveXp(player, (int) (Util.randomDoubleBetween(40, 100) * Stats.getStat(player, Stat.MULTI_XP)));
    }

Why is it sending me 0 eggs (MULTI_EGGS should be automatically 1 according to my code)

humble tulip
#

It requires data

#

U provided none

#

If u wanna spawn a block dust particle, how will the server know which block you're referring to?

red sedge
#

how would i make it so like only types with sendMessage method can be passed in?

#

it seems like everything has its own way of sendmessage

#

and there isnt 1 thing for it

lethal coral
#

probably commandsender

buoyant viper
lethal coral
#

🤦‍♂️

#

thank you so much

sage merlin
#

In line 63 I am setting deaths to it like before but minus 1 it’s not working

glossy venture
sage merlin
glossy venture
#

i dont really know, could you send the code as a code block instead of an image

#

its kinda hard to read rn

sage merlin
errant narwhal
#

Hi

glossy venture
#

what is PlayerDeathCountManager

errant narwhal
#

i want to find how many gravel in player mainhandslot can someone help

sage merlin
#

a HashMap

glossy venture
#

k

#

looked like a class

#

because of naming

glossy venture
sage merlin
#

and so is PlayerKillCountManager a HashMap

glossy venture
#

yeah

#

idk whats wrong really
are you reloading the file on the panel?

glossy venture
#

i guess try saving it on intervals

#

and on disable

sage merlin
glossy venture
#

ah

#

what was it

sage merlin
#

i was using return before saving the config

glossy venture
#

oh

#

lol

thorny dawn
#
class vanish: CommandExecutor {
    override fun onCommand(sender: CommandSender, command: Command, label: String, args: Array<out String>): Boolean {
        val vanished: MutableList<Player> = mutableListOf<Player>()
        if(!sender.hasPermission("serverutils.vanish")) {
            sender.sendMessage("${ChatColor.RED}You do not have enough permissions to use this command.")
            return true
        }

        return if(sender is Player) {
            vanished.forEach() { plr ->
                Bukkit.getLogger().info(plr.name)
                Bukkit.getLogger().info(sender.name)
                if(plr.name == sender.name) {
                    sender.player!!.showPlayer(Bukkit.getPluginManager().getPlugin("Mainutils")!!, sender.player!!)
                    sender.sendMessage("${ChatColor.GREEN}You have been unvanished.")
                    vanished.removeAt(vanished.indexOf(plr))
                    return true
                }
            }
            sender.player!!.hidePlayer(Bukkit.getPluginManager().getPlugin("Mainutils")!!, sender.player!!)
            sender.sendMessage("${ChatColor.GREEN}You have been vanished.")
            vanished.add(sender.player!!)
            true
        } else {
            sender.sendMessage("${ChatColor.RED}You cannot vanish from the console!")
            true
        }

    }
}

whats wrong with my vanish command?

#

it keeps saying that i get vanished but i cannot unvanish

quaint mantle
#

hey, is PersistentDataType.BYTE in an PersistentDataContainer an boolean? if not how do i create an boolean in the PersistentDataContainer?

latent bluff
#

Am I too stupid to find it, or doesn't the 1.19 API have a PlayerChatPreviewEvent or something like that?
Or how can I intercept the chat preview?

left swift
#

What is the best way to teleport armorstand nametag above the players head? I mean packet teleport (and no passengers). Doing it with bukkit runnable with 0 delay and 0 peroid is good way? I want to desync the nametag with the player as little as possible.

iron glade
iron glade
rapid cargo
#

Hey,

When I try to build my 1.18 NMS Project this error occures. Can somebody help me?

Failed to create remapped artifact, project main artifact does not exist.

quaint mantle
iron glade
quaint mantle
#

Are you german? I'm just asking because your name 😄

iron glade
#

yes :D

quaint mantle
#

Achso hi 😄

iron glade
#

hi :P

earnest forum
#

?paste

undone axleBOT
chrome beacon
#

Use passengers if you don't want it to lag

#

Otherwise the best you can do is to teleport it every tick

left swift
chrome beacon
#

oh well laggy lines is what you'll have then

earnest forum
#

0 delay and 0 period is 1 tick anyways

#

you cant have something run every 0 ticks

latent bluff
#

Finding Chat Preview listeners

rapid cargo
granite owl
#

can i implement new particles with a resource pack without overriding vanilla ones?

chrome beacon
#

Not much we can help with if you give no information

granite owl
#

why is this game so hardcoded ffs

hybrid spoke
eternal oxide
#

You shoudl have seen it 5-8 years ago

#

The client in most cases could tell the server what was correct

tall dragon
#

im sure that was a delightfull experience for hack developers

quaint mantle
#

where are persistent data containers saved on the server?

halcyon mica
#

I have found yet another issue

#

This time with console output formatting

echo basalt
#

called BukkitPersistentDataContainer that stores all the data

halcyon mica
#

Using a § to format a chat message will see it formatted properly in game

quaint mantle
#

is is safe to store personal data there? like an hashed password i use in my login plugin?

halcyon mica
#

But in the console, it simply gets a pair of corrupted symbols prefixed

echo basalt
#

not really

#

if the world download ever gets released

#

everyone can see the hashes

quaint mantle
#

oh okay

echo basalt
#

just use SQL or something

lost matrix
echo basalt
#

^ like itemstacks and other entities

lost matrix
#

It will also not work if you have multiple server instances and/or a lobby.

lost matrix
halcyon mica
#

Still corrupt

#

Regardless, it works just fine in 1.18

#

Go ahead and try to do /say §2Something in the console

lost matrix
#

Oh are you using an ancient version? I remember this problem being an issue in old versions.

covert karma
#

quick question how do i get access to the internal mojang stuff idk what its called
the things that spigot doesnt wrap
like CraftPlayer class

halcyon mica
#

No? I'm on 1.19

#

Curiously, it formats fine in-game

#

Only the console struggles

lost matrix
#

?nms

#

ugh

ancient sierra
#

hi uhh

covert karma
#

ah yea NMS

lost matrix
#

Scroll down to "NMS"

ancient sierra
#

is it possible to get a fabric server to send and read packets from bungeecord?

halcyon mica
#

It looks to me like this is yet another 1.19 bug

#

What I wonder is, how does this even happen

lost matrix
torn shuttle
#

has anyone here actually tried making a custom looking gui using model data ?

#

is it just applying a texture to a model (in the inventory)?

lost matrix
ancient sierra
halcyon mica
#

These two corrupt characters are U252C and U00BA respectively (§), and happen consistently

torn shuttle
ancient sierra
torn shuttle
#

(aside from the cards one where clearly each one has its own texture)

lost matrix
torn shuttle
#

ok so approach 1 is feasible then

#

I was wondering if there was going to be some annoying logic where the texture appears centered or something

halcyon mica
#

@lost matrix Do me a favor and type say §2Something into the console on a 1.19 instance and send me what it prints out

#

I have a theory

torn shuttle
#

thanks for the hints

lost matrix
#

Need to write a docker container real quick.

torn shuttle
#

how can you replace a unicode character with a texture?

covert karma
#

so i am currently using Spigot/Spigot-API/target/spigot-api-1.19-etc.....-SNAPSHOT-shaded.jar
is there a NMS jar somewhere in build tools as well?

torn shuttle
#

oooooooh

lost matrix
torn shuttle
#

wait is it as simple as remaking a unicode character in the resource pack?

torn shuttle
#

that doesn't sound like it even requires additional programming if you can name the menu in the first place, right?

halcyon mica
#

God, I wish mojang would just give us a server sided data driven HUD api

#

It would be so redicilously simple to do

#

Infact, I have already done it within less than a day

lost matrix
halcyon mica
#

Including anchorpoints, resourcepack integration for assets, translation keys and scoreboard integration

#

And pre-defined layouts in datapacks

#

It took me like 6 hours

#

And only required one new packet

#

You got your instance yet?

lost matrix
#

iirc you shouldnt even be able to type the § character ingame...

halcyon mica
#

Not ingame

visual tide
#

you can in console

halcyon mica
#

You're supposed to enter that in the console

covert karma
#

which of these should i use?

lost matrix
halcyon mica
#

Yep

#

There you go

lost matrix
#

F

halcyon mica
#

Something broke in the component parsing

lost matrix
halcyon mica
#

Huh

covert karma
#

wait why can i not upload images

#

to discord

halcyon mica
#

So I just tried to start a vanilla server to verify the issue

#

And uh

#

Apperantly that one is even more broken

covert karma
#

i cant upload a screenshot for some reason

#

oh i see

#

not verified nvm

lost matrix
covert karma
#

so i should just not use buildtools at all and switch to maven instead

lost matrix
#

You use BuildTools regardless because it install Spigot/Bukkit/Minecraft into your local maven repository so you
can depend on it.

daring musk
#

Hello everyone, I recently started developing plugins, so I still don’t know much, so I immediately apologize for the stupid questions.
Is there any way to keep track of when a mob enters and exits (this must be checked) from a certain player radius?

halcyon mica
#

It looks like this is a vanilla issue actually

#

A vanilla server fails to print colour as well

daring musk
#

No, when the mob enters the radius (you can check .getNearbyEntities) and when it leaves it. I want that when a mob enters the player's radius, he was given a glow effect, and when he left, the effect was removed

lost matrix
eternal oxide
#

a nice idea, but it would be fairly resource hungry due to you having to check in a timer

eternal oxide
#

You wouild have to check every player with getNearby and track all mobs close to the player. apply/remove effects based upon the last data

daring musk
lost matrix
#

Best i can think of is to get all nearby entities every second or so.

visual tide
#

or check use entitymoveevent if you wanna kill performance

daring musk
visual tide
#

?scheduling

undone axleBOT
earnest forum
#

there is no entity move event

lost matrix
daring musk
#

Thanks

covert karma
#

alright so when i add the classifier line it says it cant find it

visual tide
daring musk
#

But how to track when a mob goes out of range?

chrome beacon
#

PlayerMoveEvent is laggy enough. Now imagine that but even worse

#

EntityMoveEvent is a bad idea

earnest forum
#

only spigot

#

because spigot-api doesnt include nms classes

lost matrix
earnest forum
#

so change artifactid to spigot

covert karma
lost matrix
covert karma
#

how do i do that with maven? i already ran it in a seperate folder

covert karma
#

yes

#

but its not connected to my maven project in any way

#

i just ran it from console

#

i normally just use the spigot api shaded jar

lost matrix
covert karma
#

how do i tell it to look in my local repo then

eternal oxide
covert karma
#

already did

eternal oxide
#

It should be there then, so long as you didn;t have any errors when building

#

check your buildtools.log

covert karma
#

should be good

eternal oxide
#

then check here to see if it exists C:\Users\%USERNAME%\.m2\repository\ORG\spigotmc\spigot\

#

if on Windows

covert karma
#

yeah its all there

#

thing is, this works:

#

but nms doesnt

eternal oxide
#

that will pull from maven. Means nothing to yoru local

covert karma
#

huh?

eternal oxide
#

oh remapped. did you use teh remapped flag when building?

covert karma
#

no actually

#

hang on

#

can i just use non-remapped

#

also what is up with eula for that

#

i read something about remapped not being allowed to share

#

just for dev

lost matrix
#

You reobfuscate it ofc

eternal oxide
#

if you are using NMS you want to use remapped and have specialsource reobf after compile

lost matrix
#

All done by the special sources plugin

covert karma
#

how do i set that up?

eternal oxide
#

in your pom

#

read teh 1.17 post linked in the 1.18

#

it has all about remapped

#

mfnalex has a good wiki page about nms

covert karma
#

where even is the mave config file

eternal oxide
#

no idea on the link though

#

@tender shard You got a link to your wiki about remapped nms?

covert karma
#

sorry for being such a noob but how do i build my plugin with maven, when running this it doesnt include my source files

earnest forum
#

build

#

top of ur screen

covert karma
earnest forum
#

make an artifact

#

in ur module settings

#

right click on ur project and then module setting

covert karma
#

oh ok so it just works like normal, thanks

red sedge
#

is java pass-by-value or pass-by-reference for objects?

eternal oxide
#

reference

red sedge
#

Ight

#

thats good

covert karma
#

why does minecraft even obfuscate their code if they also release official mappings

#

wtf

earnest forum
#

make it harder to publicly release the code

#

i guess

compact haven
#

Only pass by value for primitives, and Strings are pass by value, in effect, and immutable as they’re kind of special

earnest forum
#

values arent mapped

covert karma
#

right makes sense

earnest forum
eternal oxide
#

They have to do the bare minimum to protect their code to be covered legally if anyone tries to steal/distribute it

hybrid spoke
eternal oxide
#

?

earnest forum
#

if they try to sue someone for stealing the code, and its not been even remotely attempted to stop someone from doing so it doesnt prove a good case

eternal oxide
#

Its by reference

hybrid spoke
#

no, its pass by value, even if we deal with references

compact haven
#

Java is pass by value, yes, but it’s passing the reference as the value. When you reassign a parameter in a method, you don’t reassign the reference of that parameter, but create a new variable overshadowing that and change the reference of that parameter

hybrid spoke
#

in fact, we dont really pass references, we technically pass pointers

compact haven
#

It’s a mixture of both, that’s why no one seems to agree what it is

eternal oxide
#

However, all the non-primitive types that include objects of any class are always implicitly passed by use of pass-by-reference.```
covert karma
#

ok so i managed to get my plugin build working
now what i am wondering is why does it still work even after i deleted all of build tools and also removed it from my local maven repo
does it download a pre-built one from https://hub.spigotmc.org/nexus/content/repositories/snapshots/ ?
it didnt seem like it built it itself because that would have taken much longer than a few seconds

hybrid spoke
#

pointers to the references which refers to the object in the heap

#

the pointer is the value we pass

compact haven
#

no

eternal oxide
#

he asked about objects which are pass by reference

hybrid spoke
#

they are not

eternal oxide
#

They are

hybrid spoke
#

you neither pass the references itself, nor the object.

eternal oxide
#

all objects in Java are pass by reference, Only primatives are pass by value

hybrid spoke
#

all you pass is the adress visualized as the reference to a reference

eternal oxide
#

teh address IS the reference

hybrid spoke
iron glade
#

Yo guys do you have anything activated while coding to go easy on your eyes?

hybrid spoke
lost matrix
#

Java is technically always pass by value.
But the value is in most cases just a reference.

hybrid spoke
#

but font size 24

covert karma
lost matrix
#

And full monito brightness. No blue filter.

hybrid spoke
iron glade
#

Is blue filter actually helping to not fatigue the eyes? I never really tried it tbh cause the colors kinda suck with it on

hybrid spoke
#

since all you pass is the value of the reference

#

visualized AS the reference

dark arrow
#

this.goalSelector.addGoal(2, new PathfinderGoalMeleeAttack(this, Player.class, 1.0D, false));This line throws error even tho i have installed nms package with remappings

dark arrow
lost matrix
lost matrix
dark arrow
dark arrow
quaint mantle
#

Any suggestions on how i would check if the player had been damaged by the wardens sonic boom, as its not an entity

lost matrix
# dark arrow how can i find the proper names

Searching. Look at EntityZombie for example or other classes that use pathfinding and see how they initializer their goals.
In NMS you are on your own. Reverse engineering is all you can do.

lost matrix
red sedge
quaint mantle
#

Oh it may be projectile, let me have a go, good idea.

lost matrix
#

Just sysout the cause

quaint mantle
#

Yeah

#

True

dark arrow
lost matrix
# dark arrow I did some digging in the librarries and found mojna remmaping/nms/world/entity/...

This is what i found in Zombie

    @Override
    protected void registerGoals() {
        if (level.paperConfig.zombiesTargetTurtleEggs) this.goalSelector.addGoal(4, new Zombie.ZombieAttackTurtleEggGoal(this, 1.0D, 3));
        this.goalSelector.addGoal(8, new LookAtPlayerGoal(this, Player.class, 8.0F));
        this.goalSelector.addGoal(8, new RandomLookAroundGoal(this));
        this.addBehaviourGoals();
    }
    protected void addBehaviourGoals() {
        this.goalSelector.addGoal(2, new ZombieAttackGoal(this, 1.0D, false));
        this.goalSelector.addGoal(6, new MoveThroughVillageGoal(this, 1.0D, true, 4, this::canBreakDoors));
        this.goalSelector.addGoal(7, new WaterAvoidingRandomStrollGoal(this, 1.0D));
        this.targetSelector.addGoal(1, (new HurtByTargetGoal(this, new Class[0])).setAlertOthers(ZombifiedPiglin.class));
        this.targetSelector.addGoal(2, new NearestAttackableTargetGoal<>(this, Player.class, true));
        if ( level.spigotConfig.zombieAggressiveTowardsVillager ) this.targetSelector.addGoal(3, new NearestAttackableTargetGoal<>(this, AbstractVillager.class, false)); // Spigot
        this.targetSelector.addGoal(3, new NearestAttackableTargetGoal<>(this, IronGolem.class, true));
        this.targetSelector.addGoal(5, new NearestAttackableTargetGoal<>(this, Turtle.class, 10, true, false, Turtle.BABY_ON_LAND_SELECTOR));
    }
dark arrow
lost matrix
#

But your IDE should just know this unless you are using something else than Intellij

dark arrow
#

i use intelligi

dark arrow
red sedge
#

is there anyway to like have a function argument as a function that can be called later and returns a value? probably not but i have to try

covert karma
#

is this NMS?

red sedge
#

ye

covert karma
#

finally

red sedge
#

oh?? interesting what should i search for?

eternal oxide
lost matrix
red sedge
#

Okai thanks

covert karma
lost matrix
eternal oxide
ashen owl
#

to search for help when opening my server do i place it here?

eternal oxide
#

If you have access to CraftBukkit, you likely have NMS too

dark arrow
#

in nms package if i want to change a mob completely will it be safe to edit the main files of nms

chrome beacon
red sedge
red sedge
#

idk how to explain it but it makes sense in my head

quaint mantle
covert karma
eternal oxide
lost matrix
red sedge
#

Okai

chrome beacon
covert karma
#

does someone have a little bit of NMS example code that works on 1.19 so i can test if everything worked?

lost matrix
# red sedge Okai

Here is a short example for Function<X, Y>

  private static final Map<String, Function<String, String>> converterMap = new HashMap<>() {{
    this.put("PREFIXED", input -> "XYZ: " + input);
    this.put("SUFFIXED", input -> input + " @XYZ");
  }};

  public static void main(String[] args) {
    String name = "Bob Martin";
    Function<String, String> converterP = converterMap.get("PREFIXED");
    Function<String, String> converterS = converterMap.get("SUFFIXED");
    String nameP = converterP.apply(name);
    String nameS = converterS.apply(name);

    System.out.println(nameP);
    System.out.println(nameS);
  }
XYZ: Bob Martin
Bob Martin @XYZ

Process finished with exit code 0
red sedge
#

Ohhhh thank you so much!

lost matrix
#
  private static int counter = 0;
  private static final Supplier<String> supplier = () -> String.valueOf(counter++);

  public static void main(String[] args) {
    System.out.println(supplier.get());
    System.out.println(supplier.get());
    System.out.println(supplier.get());
    System.out.println(supplier.get());
    System.out.println(supplier.get());
  }
0
1
2
3
4

Process finished with exit code 0

Supplier.
You could have a List<Supplier> that fills your scoreboard lines. Each supplier is a function
that gets run every time someone calls it.

red sedge
#

Ya but I think for like player-specific values on the scoreboard i'd need to have the player as an input to the function so Function<Player, String>?

chrome beacon
covert karma
#

in chat? tab menu? nameplate?

#

i cant see nameplate in singleplayer

chrome beacon
#

Above the entity

#

You can for example use that with PlayerInteractAtEntityEvent and then set the name of the entity you're interacting on

left swift
#

Hi, I need to hide my armorstand nametags when player is hiding and showing for a specific player. How can I check when player is hiding or showing for the player?

rare flicker
left swift
#

No, I mean when a player is away, he is hidden from given players, I would like to know when he is hidden to hide the metrics as well. It is the same with spawning when a player approaches

hybrid spoke
#

well what do you mean by hidden and showing

#

like actually hidden

#

or not visable?

left swift
hybrid spoke
#

like behind blocks

hybrid spoke
#

so keep track of the movement and hide player A from player B with #hidePlayer

crude cobalt
#

How to perform an action an infinite number of times?

hybrid spoke
#

never ending timer

vale ember
#

how can i get inventory's title? Inventory#getView() and Inventory#getTItle() doesn't exist

left swift
crude cobalt
hybrid spoke
hybrid spoke
undone axleBOT
vale ember
chrome beacon
hybrid spoke
covert karma
vale ember
chrome beacon
#

You only need the holder

hybrid spoke
vale ember
chrome beacon
#

That would work, how are you building the jar?

covert karma
#

jar build artifact that includes "compile output"

chrome beacon
#

So you're not using maven

#

🙃

hybrid spoke
covert karma
#

someone in this chat said i should use build artifact

vale ember
hybrid spoke
#

since if you just have an inventory instance out of nowhere you wont get the InventoryView

chrome beacon
covert karma
#

how do i use the maven build

#

i want it to build+jar at the same time

chrome beacon
#

Are you using Intellij?

covert karma
#

yes

chrome beacon
#

There's a maven tab on the right side

#

open in and find package

#

Double click that

#

Your jar will be located in the target folder

covert karma
#

still the same result, except now it doesnt include my plugin.yml

chrome beacon
#

Your plugin.yml needs to be in your resources folder

eternal oxide
#

plugin.yml has to be in the resources folder of yoru project to be included

covert karma
#

oh ok

#

well it still doesnt re-obfuscate tho

chrome beacon
#

Send your pom

#

?paste

undone axleBOT
covert karma
chrome beacon
covert karma
#

oof

dark arrow
#

I have create a class called

public class NewMob extends Zombie {

  public NewMob(Location location){
      super(((CraftWorld)location.getWorld()).getHandle());
      this.setPos(location.getX(),location.getY(),location.getZ());
      this.targetSelector.addGoal(3, new NearestAttackableTargetGoal(this, Pig.class, true));
  }
    }```
and a command class
```java
public class spawnMob implements CommandExecutor {
    @Override
    public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
        if(sender instanceof Player){
            Player player = (Player) sender;
            NewMob newZombie = new NewMob(player.getLocation());
        }

        return true;
    }
}```
To run the class but it says internal error occured
undone axleBOT
covert karma
#

how do i specify where to put the jar file, using build artifact i was able to just overwrite my plugin inside the server plugins folder

eternal oxide
#

Don't

#

You can do that but its lazy

covert karma
#

yes i am lazy

#

how do i do it

eternal oxide
#

instead have your server startup script copy teh jar you want

covert karma
#

i am using plugman and autoreload for developing

chrome beacon
chrome beacon
dark arrow
#

i am

eternal oxide
#

good luck with plugman

dark arrow
# chrome beacon Make sure you're remapping

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

hybrid spoke
#

why is plugman so popular

covert karma
chrome beacon
dark arrow
#

?paste

undone axleBOT
eternal oxide
chrome beacon
#

<outputDirectory>path</outputDirectory> in your build section iirc

covert karma
#

oh actually what is this groupid for?

crude cobalt
#

Can I get all the players on a server in Runnadbel and check them out?

dark arrow
#

oh on a thread something different was said

eternal oxide
crude cobalt
chrome beacon
#

Bukkit.getOnlinePlayers()

crude cobalt
#

Thanks

dark arrow
chrome beacon
covert karma
#

i assume i am supposed to use the remapped-obf jar?

eternal oxide
#

You should be able to use just the normal jar. it should have been replaced

dark arrow
covert karma
red sedge
#

should i use display name for teams for my scoreboard or entry?

chrome beacon
eternal oxide
dark arrow
covert karma
#

yup the obf doesnt work

chrome beacon
chrome beacon
dark arrow
dark arrow
halcyon mica
#

Oh no

#

Biome palletes are locked cross thread now

#

Fuck

eternal oxide
#

?stash

undone axleBOT
quaint mantle
#

??

crude cobalt
#

Is it possible to give a glow effect for a certain time?

#

And if yes, how?

ancient sierra
#

error message on bungeecord:
disconnected with: DecoderException : java.lang.IllegalArgumentException: No provider for argument minecraft:test_argument @ io.netty.handler.codec.MessageToMessageDecoder:98 what does this mean

chrome beacon
#

Somethings wrong

#

Make sure you're up to date

ancient sierra
#

make sure what is up to date??

#

for context

hybrid spoke
#

for context, what did you do

chrome beacon
#

Update everything

ancient sierra
#

I'm testing bungeecord with 2 fabric server

#

s'

brittle lily
#

I'm using this to GUI events. But Now I should add 5 red wool on the same GUI. How can I set event 5 of them separately.

ancient sierra
#

everything else is up to date

chrome beacon
ancient sierra
#

wait hold on

#

it is possible to send mod packets from a spigot server to a fabric client

#

right?

chrome beacon
#

Yes

ancient sierra
#

okay so I could just avoid this entire mess of fabric server mods by using spigot server

#

...

#

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

#

🤦‍♂️

#

also uhh

#

is it possible to like

#

run the bungee and spigot servers in the IDE as a run configuration?

tall dragon
#

you could

ancient sierra
#

because it sucks having to replace fiies a lot

hybrid spoke
#

yep. just make a profile for that

ancient sierra
#

k

hybrid spoke
#

ok*

ancient sierra
acoustic pendant
#

Hello! I'm trying to add PersistentDataContainer() to an arrow entity, but it doesn't work... here what I have.

(EntityShootBowEvent)

        } else if (itemConsumed.isSimilar(TestArrow.getInstance().arrows.diamond)) {
            arrow.getPersistentDataContainer().set(TestArrow.getInstance().getKey(), PersistentDataType.STRING, "ARROW");
        }```

(EntityDeathEvent)

```java
 if (e.getEntity().getKiller() != null) {
            EntityType entityType = e.getEntity().getType();
            Entity entity1 = e.getEntity().getKiller();
            Entity entity = e.getEntity();

            if (entity.isDead()) {
                System.out.println(1);
            }
                if (entity.getLastDamageCause().getCause() == EntityDamageEvent.DamageCause.PROJECTILE){
                    System.out.println(2);
                }
                    if (entity1.getPersistentDataContainer().has(TestArrow.getInstance().getKey(), PersistentDataType.STRING)) {
                        System.out.println(3);
                    }
                    if (Objects.equals(entity1.getPersistentDataContainer().get(TestArrow.getInstance().getKey(),
                            PersistentDataType.STRING), "ARROW")) {
                        System.out.println(4);
                    }```
#

and only reaches the number 2

#

what am i doing bad?

lavish folio
#

i can block plugins command ( this not working pl.getCommand("plugins").setExecutor(this); )

#

?

#

and version command?

tall dragon
acoustic pendant
ancient sierra
acoustic pendant
ancient sierra
#

...

#

uhh

#

hold on

#

you have set the instance for TestArrow right?

#

@acoustic pendant

acoustic pendant
#

yes

#

@ancient sierra instance = this; etc

ancient sierra
#

k

#

what does .getKey() do?

acoustic pendant
#

public NamespacedKey getKey() {
return key;
}

#

key = new NamespacedKey(this, "diamond_arrow");

ancient sierra
#

oh

#

hmm

past sage
#

I notice users are getting java.lang.UnsupportedOperationException: Cannot spoof chat on this client version! with BungeeCord on 1.19 - is this related to the chat changes? I didn't see this API breakage noted anywhere 🙂

late sonnet
past sage
#

Interesting

#

It's just odd, surprised me a bit

#

Feel like it's an undocumented breakage

ancient sierra
acoustic pendant
acoustic pendant
#

and I was trying getPersistentDataContainer() but i don't get it

ancient sierra
#

hmm

late sonnet
ancient sierra
#

okay so entity1 is definitely the arrow?

#

check what entity1 is

acoustic pendant
acoustic pendant
pastel juniper
#

Is there a way to get an item from specific Item Slot in gui, not specific Item???

late sonnet
ancient sierra
acoustic pendant
#

I have that

ancient sierra
#

oh

#

im dumb

#

hold on

acoustic pendant
#

np

ancient sierra
#

have you tried giving the arrow a tag instead?

acoustic pendant
#

a tag?

ancient sierra
#

like

late sonnet
#

the TAG is like the same... this not fix the error... @acoustic pendant you debug if the data is set in first place?

acoustic pendant
#

like this

late sonnet
acoustic pendant
late sonnet
#

strange... if you try in damage event? (added logic for know when the damage can kill the entity) not sure why can happen maybe when entity die the arrow is vanished... not tested

acoustic pendant
#

okay, i'll try thanks

#

entitydamagedbyentity right?

late sonnet
acoustic pendant
#

that with EntityDamageByEntity event I can't use #getDrops

radiant cedar
#

anybody have any idea what this is about

spring minnow
#

i know its a bit a stupid question but, from spigot 1.18 now you can't add as a library the whole spigot file but you have to pick the libraries from the jar file, is that correct or there is another simplier way?

#

isn't there a maven or smth

eternal oxide
#

?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

spring minnow
#

Thanks

#

but i mean, now this file doesn't contain nms or craftbukkit, isn't there another way to have every single library in one jar just like the old file?

#

can you please send me the Maven? i can't find it 😦

spring minnow
#

man, now spigot became so much hard to prepare, now there are many files to find, miss the old spigot

#

btw thanks for the link

subtle folio
#

Hey gaymers, i need some math help. I currently display the player's level (custom to my gamemode) as their exp bar level. I want to also display their progress like I do on my scoreboard, is there some precent way or some funky math I can use to do this ? im really trash at math

waxen plinth
#

Spigot is plenty easy to use

#

Just don't use nms

waxen plinth
subtle folio
#

but I want to change the exp bar itself

#

bc the exp its out of changes each level exponentianly

waxen plinth
#

setExp(progress)

#

It's a float from 0 to 1

#

0 is empty xp bar

subtle folio
#

ohhhhh

waxen plinth
#

1 is full xp bar

#

Couldn't be simpler

subtle folio
#

so I can just divide 45/131

#

thats so simple

waxen plinth
#

Yes

subtle folio
#

i was overcomplicating it in my head thanks 😛

spring minnow
waxen plinth
#

What are you doing

left swift
#

Why player object after reconnect doesn't equal player object before reconnect? (the same player)

drowsy helm
#

Just compare uuid

#

It creates a new object on connect

left swift
#

ohh, ok, thank you!

covert karma
#

how do i get the player that issued the attack from a EntityDamageEvent

chrome beacon
#

You shouldn't be storing a player object after the player has left

#

That's just wasting memory

chrome beacon
covert karma
#

ah thanks

left swift
drowsy helm
#

Current

#

Like olivo said you shouldnt really be storing old player objects

#

Huge memory leak potential

left swift
#

Yeah, but I need to know what armorstand nametags my player has, so should I assign them to uuid?

covert karma
drowsy helm
#

After armour calcs and stuff

left swift
covert karma
#

what is getFinalDamage then

drowsy helm
flint coyote
#

since finaldamage is calculated before you can process the event you should apply multipliers based on final damage

iron glade
#

Anyone knows why it's not showing any items when I do this?

Bukkit.getScheduler().runTaskTimer(plugin, () -> gui.setItem(10, new GuiItem(trollz[0])), 1L, 20L);
#

If I do it without the runnable it works fine

drowsy helm
#

What is trollz 0

dusty nexus
#

@earnest swift, Hey.

iron glade
drowsy helm
#

Also is gui the current open gui?

iron glade
#

yes

drowsy helm
#

Sounds like either you’re not updating the inventory or updating it before the item is set

iron glade
#

ur a genius

#

totally forgot to update the inventory

#

<3

covert karma
#

do recipes or namespacedkeys need cleanup onDisable?

drowsy helm
#

No

covert karma
#

aight

eternal oxide
#

Kinda depends. recipes are stored in teh world files

#

so if your plugin is not loaded and it registered recipes you will see startup errors

drowsy helm
#

Yeah thats true

covert karma
#

that should do

radiant cedar
#

why can people who are not op still use this

opal raven
#

why not just add manual check for op?

eternal oxide
#

give it a permission

radiant cedar
#

default: op

opal raven
#

I mean, if you would like to allow only op execute this command then you may have to add it manually

#

because the default: op works a bit not as you expect, possibly

eternal oxide
#

default: op will grant access to ops. If it has no permission

radiant cedar
#

also why when i delete all commands

#

until sell

#

my plugin just breaks bro

#

if i delete them

eternal oxide
#

assign a permission and it will be given to ops AND anyone with the permission

radiant cedar
#

when i just join

#

i dont even use the commands

#

that i delete

#

and my plugin just breaks

#

if i delete them from plugin.yml

opal raven
#

Let me see your code, the place where you set the command executor

radiant cedar
iron glade
#

I love it when stuff just works the way you imagined them

opal raven
#

getCommand(x) returns null if there's no that command in the config

#

so at this place your plugin is going break

golden kelp
#

how do i get all the enchants on a item (custom ones too)

opal raven
radiant cedar
#

lol

opal raven
#

where's it?

golden kelp
#
if(condition) 
{

}

🤮

iron glade
#

if() {

}

if()
{

}

radiant cedar
#

}
```🤮
#

cap

golden kelp
opal raven
iron glade
#

there are 2 type of persons

golden kelp
radiant cedar
opal raven
#

so, if your command will have not registered, you'll even don't notice that?

radiant cedar
#

huh

#

if its null meaning the command doesnt exist it wont try to set an executor

opal raven
#

yep

radiant cedar
#

but this wasnt the problem apparently

#

cus it still doesnt work

#

if i delete some commands in the yml

#

how can i just disable or delete them

opal raven
#

introduce the exception

radiant cedar
#

oh its probably this

#

ye

#

i had one out of the loop that i was deleting

#

nvm

#

ty @opal raven

late sonnet
quaint mantle
#

What version as i cant find it anywhere on spigot mc

#

<version>1.19-R0.1-SNAPSHOT</version>

#

currently using this

eternal night
#

mvn clean install -U

#

should forcefully update your snapshot dependencies

quaint mantle
#

Run in my compiler?

eternal night
#

eh

quaint mantle
#

Ight cheers dw

eternal night
#

👍

quaint mantle
#

Sorry i dont use maven that much where would i be doing mvn clean install -U

eternal night
#

are you using gradle ?

quaint mantle
#

Nah

#

Im using maven

eternal night
#

wat

#

oh

#

I misread

#

just your terminal

#

idk if intellij has a button for it ?

#

but open your shell in the directory of your project and go for it

quaint mantle
#

Hey guys, does anyone know how to spawn lightning that follows player's direction.
So player looks at west and the lightning effect will shoot first at player's location then go further in the direction player's is looking 1 block at a time for max 6 blocks.
This is my current code that shoots always at the same spot.

            int thor = 1;

            @Override
            public void run() {
                event.getClickedBlock().getWorld().strikeLightning(event.getClickedBlock().getLocation().setDirection(player.getLocation().getDirection().multiply(thor)));
                thor += 1;
                if (thor >= 6) {
                    cancel();
                }
            }
        }.runTaskTimer(KitPvP.getInstance(), 0L, 5L);```
quaint mantle
eternal night
#

oh you just don't seem to have it installed

quaint mantle
#

Ill try to install maven

eternal night
#

you could just do it from intellij

#

on the right side there is a maven tab

#

find "run maven goal"

#

and throw the command in there

quaint mantle
#

I got it cheers

#

Ahh finally yeah it was being weird

#

Caused by: java.lang.NoSuchFieldError: SONIC_BOOM any ideas?

#

just got thrown when i got hit by the warden

#
                    if (event.getDamager() instanceof Warden && event.getCause() == EntityDamageEvent.DamageCause.SONIC_BOOM) {

late sonnet
#

@quaint mantleyou only add the dependency in POM not? or run buildtools for update?

quaint mantle
#

I didnt change the pom just reverified maven and it sorted it, was there a update pushed? as i would have thought its the same code

#

ive not tried to rerun the build tools yet no

late sonnet
#

i mean i make a update of project for reload dependency or tell IDE for reload cache

quaint mantle
#

Yeah i did that

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

And this is my pom, ill recompile buildtools incase its got something to do with that

#

Erm, just compiled using the java -jar BuildTools.jar --rev latest and it compiled as 1.18.2? Known bug or?

sage merlin
#

java.lang.NullPointerException: Cannot invoke "org.bukkit.command.PluginCommand.setExecutor(org.bukkit.command.CommandExecutor)" because the return value of "com.pessulum.plugin.banclass.BanClass.getCommand(String)" is null
at com.pessulum.plugin.banclass.BanClass.onEnable(BanClass.java:30) ~[BanPlugin.jar:?]

#

what does this error mean

marble pier
#

Chinese text exception

late sonnet
radiant cedar
#

how do u send a player a message where it shows something when u hold ur mouse on it

#

like more writings

sage merlin
marble pier
#

Is the error report here?

trail lintel
#

Aye guys, I'm having trouble with PlayerFillBucketEvent. I have a custom item meta defined with a PersistentData byte with a unique key indicating that it is a specific custom item. I do a check on this byte to see if the item is custom in most of my event listeners. For some reason in the PlayerFillBucketEvent when I check the meta it doesn't have my persistent data. Does this event fire AFTER the bucket is actually filled? Thus turning it into a water/lava bucket?

sage merlin
quaint mantle
#

Let me have a look 1 sec

#

Your getting a null here, when does it happen

golden kelp
#

how to get all the enchants from an item (even the custom ones)

marble pier
golden kelp
#

plugins ofc

harsh totem
#

How can I change a player's displayed name in tab so that it shows how many hearts he has?

waxen plinth
#

Add a scoreboard objective tracking health in the player list display slot

harsh totem
#

ok

marble pier
#

Chinese text exception

brittle lily
#

?paste

undone axleBOT
twilit roost
#

How to get location x blocks from current location which is diagonal

upper vale
#

Well moving diagonally is essentially just moving x in 1 direction and then moving x perpendicular to that direction

twilit roost
#

If there's smarther solution then adding int to X and Z

twilit roost
upper vale
#

How is the direction determined

#

If the direction is always the same then there is no reason you should overengineer simply adding/subtracting X and Z

twilit roost
# upper vale How is the direction determined

prob stupid b ut works so far 😄

        Vector dir = new Vector(ship.getCurrentLoc().getDirection().getX(), 0, ship.getCurrentLoc().getDirection().getZ());
newLoc.add(dir.multiply(-1*blocksMoved));
trail lintel
#

Is there a way to tell if a player has shift held inside a PlayerInteractEvent?

harsh totem
#

anyone?

trail lintel
subtle folio
#

what will happen if i set this to null

naive bolt
#

how do i run command as console when using .dispatchCommand

subtle folio
compact haven
#

Bukkit.getConsoleSender()

hasty prawn
subtle folio
#

tyty

harsh totem
#

I have this scoreboard:

        ScoreboardManager manager = Bukkit.getScoreboardManager();
        Scoreboard board = manager.getNewScoreboard();
        Objective objective = board.registerNewObjective("HP", "health", "Hearts");
        objective.setDisplaySlot(DisplaySlot.PLAYER_LIST);
        Score score = objective.getScore("HP");
        player.setScoreboard(board);
    }```
How do I set what's displayed so that it doesn't only display the score. like put a heart near the score or something
twilit roost
#

What is the Math behind diagonal forward vector?

naive bolt
#

on player death im issuing /kick player but its doing the command same time the player is dead. How can i make it do the command before the player becomes not available to comamnd

slate mortar
#

just do Player#kickPlayer

#

second: on deathEvent, afaik you can't do a few things related to the player instantly. add a slight delay to it, something about 5 ticks

torn vale
#

Could anyone help me with creating a PlayerHider item? At the moment everyone is hidden while the item is active but when a new player joins while the item still is active he isnt hidden, how can I fix this?

slate mortar
#

players are automatically set to shown when they join

#

its how minecraft/spigot works

torn vale
#

yes ik but isnt there a way to check "okay, a new player joined, the current player has the item enabled so hide the new player"

slate mortar
#

same thing as with the displayname for example, which also gets reset

#

sure, just save the hidden players in a hashmap (if there are specific hidden players) or just add him to a list if it's all players that should be hidden

#

then on join, you hide them if they're inside the map/list

dark arrow
#

?paste

undone axleBOT
dark arrow
chrome beacon
dark arrow
alpine urchin
#

anyone here like cryptography, specifically SHA256withRSA signing

dark arrow
#

after a lot of edition still the same error

naive bolt
#

config

alpine urchin
#

i keep getting Signature length not correct: got 256 but was expecting 128

#

my code:

//Create signature
        Signature signature = Signature.getInstance("SHA256withRSA");
        //Initialize it with public key
        signature.initVerify(publicKey);
        //Adding data to be verified (Salt, UUID, Timestamp, Message)
        byte[] data = new byte[32];
        ByteBuffer buffer = ByteBuffer.wrap(data).order(ByteOrder.BIG_ENDIAN);

        //Verify salt
        buffer.putLong(signData.getSaltSignature().getSalt());

        //Verify UUID
        buffer.putLong(uuid.getMostSignificantBits());
        buffer.putLong(uuid.getLeastSignificantBits());

        //Verify timestamp
        buffer.putLong(signData.getTimestamp().getEpochSecond());

        //Update this stuff
        signature.update(data);

        //Verify message content
        signature.update(jsonMessage.getBytes(StandardCharsets.UTF_8));

        //Verifying the signature
        return signature.verify(signData.getSaltSignature().getSignature());```
slate mortar
naive bolt
#

the command, btw i fixed it now and it all works

dark arrow
#

?paste

undone axleBOT
slate mortar
#

uhh i see...

golden kelp
#

what if i put a huge ass Thread.sleep in my code :troll:

slate mortar
#

but why would you do that, when they automatically get kicked on death anyway

dark arrow
slate mortar
#

on player death im issuing /kick player but its doing the command same time the player is dead sounded like it

chrome beacon
chrome beacon
naive bolt
#

basically because the player is in the death screen they cant be kicked by command

chrome beacon
#

It is correct

slate mortar
#

i mean, it can be the case that you're trying to kick a player when he's inside the death screen

dark arrow
#

so how can i put in correct jar?

chrome beacon
slate mortar
#

i'm sure that on the client side, player's are set to null when they die, and re-initialized when they respawn. may be something similar on serverside

naive bolt
#

Yea that seems to be the issue

slate mortar
#

yea, not possible

naive bolt
#

maybe i use on respawn event if its a thing

slate mortar
#

maybe with sending some packet which kicks the client, but idk if thats a good way lol

slate mortar
naive bolt
#

yea ill use that then

slate mortar
#

that does require them to have clicked "respawn" before you kick them tho

naive bolt
#

yea thats not a huge problem

dark arrow
#

oh it did i forgot to reload

#

thanks

slate mortar
#

yea, then go for that

naive bolt
#

as they dont exist to the server when they are in respawn

slate mortar
#

well... afaik they technically do on the server side

#

but some stuff like kicking is just not possible

naive bolt
#

when i use p.kickPlayer() it works fine just not commands

#

maybe its an essentials thing

chrome beacon
#

Not a new one

slate mortar
#

oops forgot a char

harsh totem
slate mortar
#

because you can use the existing one

chrome beacon
#

Wait nvm you set the scoreboard after

slate mortar
#

or not?

chrome beacon
#

But yeah use existing one

#

It's better

#

No reason not to

harsh totem
slate mortar
#

well the scoreboard does already exist in vanilla

#

it's just not shown

#

the scoreboard does include the tablist (which is shown), the player name (somehow, dunno exactly about that), and the sidebar, while the latter is just not displayed by default

dark arrow
#

I have created a custom zombie using nms how can i summon it using a command

slate mortar
#

World#spawnEntity i guess?

#

or is that also some nms method to spawn them

harsh totem
#

so just change it to Scoreboard board = manager.getMainScoreboard();?

dark arrow
slate mortar
#

uh i guess from whereever you create it?

chrome beacon
harsh totem
#

I have this now and it doesn't show what I wanted (it only shown the HP value)

        ScoreboardManager manager = Bukkit.getScoreboardManager();
        Scoreboard board = manager.getMainScoreboard();
        Objective objective = board.registerNewObjective("HP", "health", "Hearts");
        objective.setDisplaySlot(DisplaySlot.PLAYER_LIST);
        Score score = objective.getScore("HP: " + ChatColor.RED + "❤");
        player.setScoreboard(board);
    }

    @EventHandler
    public void PlayerJoin(PlayerJoinEvent event){
        createBoard(event.getPlayer());
    }```
dark arrow
chrome beacon
dark arrow
#

nope

slate mortar
#

can you send a ss from the scoreboard?

dark arrow
#

NewMob newZombie = new NewMob(player.getLocation());

chrome beacon
#

Could you send your code?

#

?paste

undone axleBOT
slate mortar
#

ah i see, you didnt use the sidebar at all

#

nvm

dark arrow
#

the nms class?

harsh totem
#

so what should I do?

slate mortar
#

afaik you can set the RenderType to RenderType.Hearts

#

somehow

#

i suppose Scoreboard#setRenderType?

harsh totem
#

I don't understand

#

ok

slate mortar
#

wait a sec

harsh totem
naive bolt
slate mortar
#

ah it's Objective#setRenderType

#

my bad

dark arrow
harsh totem
slate mortar
#

tf

chrome beacon
dark arrow
#

?paste

undone axleBOT
slate mortar
#

here's what i did in a very old plugin, it may still be working

public static void setTabHealth(Player player) {
    Objective obj = sb.getObjective("hbn");
    if (obj == null)
      obj = sb.registerNewObjective("hbn", "health", "hp"); 
    obj.setDisplaySlot(DisplaySlot.PLAYER_LIST);
    double health = player.getHealth() * 5.0D;
    obj.setRenderType(RenderType.HEARTS);
    obj.setDisplayName(ChatColor.RED + ");
    for (Player players : Bukkit.getOnlinePlayers())
      players.setScoreboard(sb); 
  }```
chrome beacon
harsh totem
slate mortar
#

yea, thank jdgui

dark arrow
#

bruh i am so stupid

slate mortar
#

it fucks some stuff up sometimes

#

in the ui, it's the right way

dark arrow
#

?paste

undone axleBOT
dark arrow
#

i accidently send the main class

harsh totem
#

@slate mortar ok I just copied it from you and it works

slate mortar
#

nice

naive bolt
#

whats the new PlayerChatEvent its apparently depricieated

slate mortar
#

AsyncPlayerChatEvent

naive bolt
#

what about PlayerPickupItemEvent

slate mortar
#

EntityPickupItemEvent

naive bolt
#

ty

slate mortar
#

for the future

naive bolt
#

oh yea omg im so stupid

slate mortar
#

the classes should tell you why it's deprecated

naive bolt
#

i should read more before i ask

slate mortar
#

youre fine

chrome beacon
slate mortar
#

god, nms is so weird

chrome beacon
#

Not really

slate mortar
#

lies

chrome beacon
#

How so?

slate mortar
#
  this.b();
}``` etc etc
#

burned into my head for ever

chrome beacon
#

That's unmapped

slate mortar
#

yea, its just my head

#

and i'm too dumb to make it work with mapped nms

#

so i kept away from nms and will probably never touch it again

chrome beacon
#

You just copy paste stuff in to maven?

slate mortar
#

tell that to my maven/intellij

chrome beacon
#

If it doesn't work you can always share your pom here and we'll help

slate mortar
#

it was long time ago

#

no one had any idea lol

#

it's actually kinda funny how many things i posted in here, which even the devs couldn't answer lol

slate mortar
#

apparently you're not able to "replace" the reload command for example? like wtf? why only the reload command

chrome beacon
#

I mean that's CraftBukkit and not NMS

slate mortar
chrome beacon
#

and I assume it has something to do with the reload command overriding the vanilla one

slate mortar
#

like... using getCommand("reload").setExecutor(executor); instantly errors out with a npe lmfao

chrome beacon
#

Did you define it in your plugin.yml

slate mortar
#

._.

#

that question kinda hurts, but yes lol

#

it was only present with the reload command

#

all other ones worked fine

chrome beacon
slate mortar
#

yea fair

dark arrow
chrome beacon
#

No

#

In your command class put that code under where you create your entity and pass it the entity and world

trail bluff
#

Hello, Can you show an example code for creating a fake armor stand with metadata using NMS for the player? (1.18 or 1.17!) I have tried many times to find this on google but without success

dark arrow
#

now i will be able to make dancing warden tommorrow 🙂

chrome beacon
trail bluff
chrome beacon
trail bluff
#

NMS