#help-development

1 messages · Page 2292 of 1

quaint mantle
#

Thx

ivory sleet
#

They’d use it for themselves

lost matrix
#

You can go through that in 2 weeks if you are really dedicated or 3 weeks if you need some breaks.

quaint mantle
#

tell me

ivory sleet
#

Bru

solid cargo
#

so i got into a pretty prestige school and they have programming classes. first we will learn stuff like python. will u guys help me? in #general ofc

quaint mantle
solid cargo
#

last year of school will have 6 lessons of programming II PER WEEK

ivory sleet
#

What type of programming is it?

#

Just Python fundamentals and standard library stuff?

solid cargo
#

pretty much the basics. last year gets. into shit like oop

ivory sleet
#

Or do you use django for instance?

quaint mantle
#

Python easy java is much harder

solid cargo
#

idk we will see. school starts september 1st

ivory sleet
solid cargo
#

at least ima be a bit ahead in java

eternal oxide
#

I found Python more annoying than Java

quaint mantle
solid cargo
#

ikr. its too easy for me

quaint mantle
#

Well

solid cargo
#

too simple

quaint mantle
#

I can make a calculator in python so easly

solid cargo
#

with what libs?

ivory sleet
#

I found python extremely bloated with features concerning different programming paradigms, like the type hint system is just deplorable

lost matrix
quaint mantle
#

Ok ima go sleep cya

solid cargo
#

gn

quaint mantle
#

Thx

ivory sleet
#

Sleep tight

lost matrix
ivory sleet
#

True, got a rich eco system

lost matrix
#

I have still to find a language that is both strictly typed, clean and still fast to write.
I think Kotlin comes quite close to being a good allrounder for me. Sad that there is not
much love for data science or machine learning for the jvm

ivory sleet
#

Yeah true and kotlin does solve it quite sophisticatedly, jvm just enterprise and Minecraft 0shinymunch

lost matrix
#

Just watching someone rank languages and i like the tiers already XD

ivory sleet
gleaming grove
#

any fast way to give a player permissions in code, needed for debugging purpose

solid cargo
#

ngl php is getting better

lost matrix
#

?ban

solid cargo
#

bro im so mad my dad mastered php

lost matrix
solid cargo
#

pretty much best in the country

#

and didnt choose JAVA

#

WHY

ivory sleet
#

Yeah php8 isnt bad but still it has a notoriously dark history

edgy peak
#

?paste

undone axleBOT
lost matrix
solid cargo
#

ima teach my kids C as their first lang

gleaming grove
# lost matrix Give them a permission attachement
        HashMap<String, PermissionAttachment> attachments = new HashMap<String, PermissionAttachment>();
        PermissionAttachment attachment = player.addAttachment(FluentPlugin.getPlugin());
        attachment.setPermission(Constants.PERMISSION_MANAGER,true);``` And how to cancel permssion? just set 2nd argument to false?
lost matrix
#

Does your condition work? Debug it with a message

lost matrix
solid cargo
#

ima teach them ASM at 8 years of age

lost matrix
#

Hit them with the int***** and say its a pointer to a 4d matrix

ivory sleet
#

Lol

gleaming grove
#

thx

true shuttle
#

Is there a way to force a player to eat an item? I tried searching google and found nothing, so wanted to check here to see if I'm missing something

hollow beacon
#

no

#

iirc not

gleaming grove
#

custom datapack

hollow beacon
#

as the eating is client sided and the handling of it is server sided (?)

true shuttle
#

gotcha

true shuttle
#

pls elaborate

frosty tinsel
eternal oxide
#

A massive dependency to include

gleaming grove
# true shuttle ??

you can make a texture pack with custom 3D models, texturers, actions etc.. and force server to download it when player join

true shuttle
#

yeah

#

i meant that i could force the player to eat an item

#

like without them right clicking

mellow pebble
solid cargo
#

you see the programming language

lost matrix
frosty tinsel
elder blaze
#

how to send a login packet to the server with netty.io?

gleaming grove
ivory sleet
frosty tinsel
solid cargo
#

whats yall funniest exception name

mellow pebble
frosty tinsel
elder blaze
#

:v

true shuttle
surreal ingot
#

>.... [20:53:46 INFO]: [io.netty.util.internal.NativeLibraryLoader] /tmp/libnetty_transport_native_epoll_x86_646602227680442042193.so exists but cannot be executed even when execute permissions set; check volume for "noexec" flag; use -Dio.netty.native.workdir=[path] to set native working directory separately. I have this error can someone help me?

ivory sleet
#

Thats kotlin’s "convenience first ordered functions”

noble lantern
#

Objects.requireNonNullInstanceOfPlayerifNotThenDo(() -> {});

#

its so nice wym

#

so cleeean /s

slate delta
#

How to assign a custom player class ?

frosty tinsel
lost matrix
ivory sleet
#

kotlin be like

let {
it.apply {
it.let {
}
}
}

gleaming grove
lost matrix
elder blaze
noble lantern
lost matrix
frosty tinsel
frosty tinsel
lost matrix
#

?: Exception()

noble lantern
#
public class Tantrum extends RuntimeException {
    public Tantrum(String msg) {
        super(msg);
    }
}
noble lantern
slate delta
# lost matrix elaborate
public abstract class Session implements Player {
    public void blabla() {
        System.out.println("Hye");
    }
}

I want assign a Custom Player Class to a player, but how ? a PlayerCreationEvent exist ? to setBaseClass(Session.class) ?

noble lantern
#

extend player

#

you create a class and store player as an instance inside that class

worldly owl
#

hey what is a patch file and how would i apply it to spigot? i ran buildtools and looking at a patch file it seems like its a git commit

slate delta
ivory sleet
lost matrix
noble lantern
#

GSON would handle this easy

#

just as long as you make the player instance inside that class transient

slate delta
noble lantern
#

and re-open the program like 43 times

#

and fire the OS beep sound kek

lost matrix
noble lantern
#

damn smile just wrote out every guide in existence

slate delta
#

thanks !

noble lantern
#

oh heyy even using gson pojo parsing in it

#

poooog

#

Thats actuall an interesting way to do it

drowsy pawn
#

Something help me

noble lantern
#

extend aPersistanceHandler for the player data nice

#

Whats up?

ivory sleet
#

Smile

#

May I create a command that links it

noble lantern
#

?playerdata

ivory sleet
#

Actually Ima do it whatever you say >:)

noble lantern
#

just go through his whole profile

#

and find all his resource postings and make commands for em

#

i bet he even has threads for async shit tooo

drowsy pawn
#

can help me with int radius = 5;

@EventHandler
public void onBlockPlace(BlockPlaceEvent e) {
    
    Player p = e.getPlayer();
    Block  b = e.getBlock();
    Material m = e.getBlock().getType().SPAWNER;
lost matrix
noble lantern
#

i wonder if it would ever get to printf hmm

ivory sleet
#

?datamanagement

undone axleBOT
quartz basalt
#

FallingBlock fb = loc.getWorld().spawnFallingBlock(loc, Bukkit.createBlockData(Material.valueOf(section.getString("material").toUpperCase()))); how can i use blockdata in a method like this? i want to make it so the direction the block is facing can be saved

noble lantern
#

hopefully i remember that

lost matrix
noble lantern
#

dayum thats a lotta logic why not seperate into variables a little haha

And what you did is correct for the BlockData thing

#

i just dont know how to actually CHanging falling block block data

#

maybe theres methods for it

drowsy pawn
#

can help me with


    @EventHandler
    public void onBlockPlace(BlockPlaceEvent e) {

        Player p = e.getPlayer();
        Block  b = e.getBlock();
        Material m = e.getBlock().getType().SPAWNER;```?
noble lantern
#

Whats the end goal here

river oracle
noble lantern
#

@ivory sleet can we have a new learn java command

river oracle
#

More importantly how is that valid syntax

ivory sleet
#

Im listening

#

Uh sure

#

One sec

noble lantern
#

oh wait fr

lost matrix
drowsy pawn
#
    
    @EventHandler
    public void onBlockPlace(BlockPlaceEvent e) {
        
        Player p = e.getPlayer();
        Block  b = e.getBlock();
        Material m = e.getBlock().getType().SPAWNER;
        
        e.getBlock(); //placed block
        for (int x = -(radius); x <= radius; x ++)
        {
          for (int y = -(radius); y <= radius; y ++)
          {
            for (int z = -(radius); z <= radius; z ++)
            {
                if(b.getRelative(x, y, z).getType() == Material.SPAWNER && (x != 0 || y != 0 || z != 0)) {
              {
                  e.setCancelled(true);
                  p.sendMessage(ChatColor.RED + "You cannot place !");
               }
             }
           }
         }
       }
    }
}```
ivory sleet
#

?learnjava

undone axleBOT
noble lantern
ivory sleet
#

?learnjava!

undone axleBOT
noble lantern
#

HAHA

#

Is it two commands?

#

! adds the gif?

quartz basalt
noble lantern
#

you might

#

keyword might

#

be able to apply velocity to it

quartz basalt
#

uhh i dont rlyyy wanna have to do that

drowsy pawn
dusk flicker
noble lantern
lost matrix
noble lantern
#

mmmm

#

directional disectionals

#

wait smile that works for Falling Block?

quartz basalt
#

well the issue is the block can be ANYTHING since im using WE selections so its not like i can cast the block to a chest for example and just use chest.getFacing()

noble lantern
#

Unless it just works casting with BlockData

#

well if that class works with using getBlockData() and then casting to Directional your fine

#

smile will know

quartz basalt
#

oh wait nvm

lost matrix
quartz basalt
#

im dumb got it thanks

noble lantern
#

ngl i didnt even know most blocks had a facing property but it makes sense now

drowsy pawn
noble lantern
#

im gonna make chests that constantly spin in all directions now

quartz basalt
#

they all do i believe

noble lantern
#

yeah its just blocks like dirt have same tectures on all sides

#

so youd never rly know

quartz basalt
#

yeah

noble lantern
#

wtf

#

no errors in console?

drowsy pawn
#

no

noble lantern
drowsy pawn
noble lantern
#

wait

#

getType().SPAWNER is actualy valid syntax

#

tf

ivory sleet
#

Probably cause how static works under the hood

#

Like how jvm handles it

noble lantern
#

so you should just like getType().SPAWNER.SPAWNER.SPAWNER lmao

ivory sleet
noble lantern
#

calling e.getBlock to try and "load" it has no effect

Tee blocks already cached to the event

#

in regaurds to the event not cancelling

quartz basalt
#

if i saved the direction and material and stuff how would i create the blockdata now since i have 2 variables

noble lantern
#

i honeslty have no idea bc your line above is calling

noble lantern
#

then spawn it with that block data

quartz basalt
#

yeah ik but i dont have a block im basically creating a fake block

noble lantern
#

actually

#

ahh shit

drowsy pawn
noble lantern
#

FallingBlock has no block data getter

#

sad

lost matrix
noble lantern
#

i feel like something else is at play cause you cancel the event before sending the message

quartz basalt
#

ah thanks

lost matrix
noble lantern
#

yeah thats only thing i can think of as well

drowsy pawn
#

this Spawner

old cloud
#

How do I get the version a player is using (bungeecord)? Is it via #getPendingConnection? Idk pending connection sounds weird to me

supple kestrel
#

getPendingConnection()#getVersion()

#

Its for checking player version

old cloud
#

alright thanks

supple kestrel
supple kestrel
#

😉

#

Why you choose Collection and not simple List

#

its not important but, i think the problem is when the chance condition because you don't have just 1 item

#

debug before the chance

#

and after

#

Yes it add 2 diamond, 1 in the first slot & the other to the second slot ?

#

its simple

#

juste print

#

newitems.size

#

This will show you the number of items added to the chest

zenith gate
#

i don't really know how to explain this but ima try,

When someone has something in their hotbar to be like on their person, so like if they had a amulet of sorts in their hotbar aka their neck, it would give them buffs, is there an event or something that when that item is in their hotbar, they get these buffs..

#

only when it is in hotbar

quartz basalt
#

anyone know how plugins have those fancy startup logs with text made with | / is there a generator for that or smthn

river oracle
#

Best way to do that with the api afaik is listening to all of the inventory events and join event

#

Wrong ping 💀 I fail

zenith gate
#

then if so .... blah blah blah code....

river oracle
zenith gate
#

alr thanks

rain meadow
#

How can I get the time from when an event is fired?

warm mica
#

System.nanoTime() is also an option

marble pagoda
#

Hi , how i can give permission to other players only to use teleport commands like tps and tpme ? (On Spigot)

quiet ice
golden turret
#

is there a way to create custom packets?

restive mango
#

Anyone here familiar with protocol lib?

vocal cloud
#

?ask

undone axleBOT
#

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

vocal cloud
#

Depends what you mean by custom? Because if you make a custom packet that isn't in the system then no because the client won't recognize it

restive mango
#
[17:23:55 WARN]: [AesopianProject] Task #1234235 for AesopianProject v1.15.2 generated an exception
com.comphenix.protocol.reflect.FieldAccessException: Field index out of bounds. (Index: 1, Size: 1)
        at com.comphenix.protocol.reflect.StructureModifier.writeInternal(StructureModifier.java:371) ~[?:?]
        at com.comphenix.protocol.reflect.StructureModifier.write(StructureModifier.java:347) ~[?:?]
        at com.comphenix.packetwrapper.WrapperPlayServerRelEntityMove.setDx(WrapperPlayServerRelEntityMove.java:86) ~[?:?]
        at co.lotc.aesopianproject.commands.PacketHandling.moveEntityShort(PacketHandling.java:81) ~[?:?]
        at co.lotc.aesopianproject.commands.BeamCommand$1.run(BeamCommand.java:65) ~[?:?]
        at org.bukkit.craftbukkit.v1_16_R3.scheduler.CraftTask.run(CraftTask.java:101) ~[patched_1.16.5.jar:git-Airplane-11]
        at org.bukkit.craftbukkit.v1_16_R3.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:485) ~[patched_1.16.5.jar:git-Airplane-11]
        at net.minecraft.server.v1_16_R3.MinecraftServer.b(MinecraftServer.java:1489) ~[patched_1.16.5.jar:git-Airplane-11]
        at net.minecraft.server.v1_16_R3.DedicatedServer.b(DedicatedServer.java:439) ~[patched_1.16.5.jar:git-Airplane-11]
        at net.minecraft.server.v1_16_R3.MinecraftServer.a(MinecraftServer.java:1402) ~[patched_1.16.5.jar:git-Airplane-11]
        at net.minecraft.server.v1_16_R3.MinecraftServer.w(MinecraftServer.java:1134) ~[patched_1.16.5.jar:git-Airplane-11]
        at net.minecraft.server.v1_16_R3.MinecraftServer.lambda$a$0(MinecraftServer.java:292) ~[patched_1.16.5.jar:git-Airplane-11]
        at java.lang.Thread.run(Thread.java:832) [?:?]
#

just wondering if anyone knows what field index out of bounds is referring to

#
public static void moveEntityShort (Player player, Entity entity) {
        WrapperPlayServerRelEntityMove packet = new WrapperPlayServerRelEntityMove();
        packet.setEntityID(entity.getEntityId());
        packet.setDx(0);
        packet.setDy(0);
        packet.setDz(0);
        packet.setOnGround(false);
        packet.sendPacket(player);
    }
#

trying to send this test packet

#

it throws an error that field index is out of bounds however when i try to packet.setDx seemingly no matter what value i use

vocal cloud
#

Wouldn't field index be a field for the method so you're trying to send more data then the packet is supposed to have?

restive mango
#

I mean, maybe? But everything there is an accepted method for the packet.

golden turret
#

now i just need to write the client mod?

vocal cloud
#

Potentially, yes. If you can hook into the packet with it, yes.

eternal oxide
#

no cd?

unkempt peak
#

cooldown

#

like when it's a crit or sweeping attack @wind blaze?

oblique wigeon
#

I add custom data and a nametag (via armorstands) to end crystals when they spawn, but they never "spawn" when first entering the end? How can I combat this?

eternal oxide
#

It would not be possible. There is no way to get the Players cooldown at the time of the attack

#

You can get the current cooldown at any point, but not the moment an attack happens (arrows)

#

If its a physical attack you could get the Attacker and check their cooldown status

#

1.0 would be no cooldown (fully charged)

unkempt peak
eternal oxide
#

The first time you enter the end it will be worldgen creating them not spawning.

unkempt peak
normal creek
#

None of my users can break the bedrock roof, or dupe tnt
I already put in a command for paper that should allow them to break bedrock
but that doesnt seem to work
can anyone help me?

unkempt peak
normal creek
oblique wigeon
#

I'm using a spawn event currrently

unkempt peak
restive mango
#

So, anyone able to solve this?

unkempt peak
eternal oxide
#
    public List<EnderCrystal> getAllEnderCrystals(Chunk chunk) {

        return Arrays.stream(chunk.getTileEntities())
                .filter(EnderCrystal.class::isInstance)
                .map(EnderCrystal.class::cast)
                .collect(Collectors.toList()); //newer Java .toList();
    }```
unkempt peak
#

Ahh forgot about that event

normal creek
unkempt peak
#

Well I don't think you can "unfix" what paper did you would have to use normal spigot or make a new method for breaking bedrock

eternal oxide
#

I've no idea what you are asking. Some exploit I assume as Bedrock can only be broken in creative

eternal night
#

did you enable the config options in paper ?

#

the unsupported ones

#

that actively allow tnt duping and permanent block breaking

normal creek
#

I put in a command that should enable that

#

But it didnt

eternal night
#

a command ?

normal creek
#

fixes:
fix-curing-zombie-villager-discount-exploit: false
unsupported-settings:
allow-piston-duplication: true
unsupported-settings:
allow-permanent-block-break-exploits: true

#

I put this in

eternal oxide
#

You can;t change config settings on the fly

normal creek
#

and it fixed the villagers

#

but not the other

eternal night
#

you also have a doubled yaml section ?

normal creek
#

Im not educated in this, I am learning as I go

#

I have no idea what that is

eternal oxide
#

unsupported-settings: twice

normal creek
#

oh

#

_version: 28
fixes:
fix-curing-zombie-villager-discount-exploit: false
unsupported-settings:
allow-piston-duplication: true
allow-permanent-block-break-exploits: true

#

Should that be good?

eternal oxide
#

looks good. Try it

normal creek
#

Ok

#

Ok im restarting my server

quartz basalt
#

anyone know how plugins have those fancy startup logs with text made with | / is there a generator for that or smthn

unkempt peak
#

yeah there are generators online

eternal oxide
#

So annoying for admins

quartz basalt
#

i cant find any

eternal oxide
#

a simple block start/end for logs is all you need

quartz basalt
#

i want it for my config

eternal oxide
#

search for ascii generator

quartz basalt
#

ty

normal creek
zenith gate
#
if(player.getInventory().getHelmet().getItemMeta().getDisplayName().equals(ChatColor.LIGHT_PURPLE + "Holy Grail Infused Mana Helmet")){
                        Mana.MAX_ArcanePower.put(player, Mana.MAX_ArcanePower.get(player) + 100);
                    }

Any other way of doing this than 4 if statements?

quartz basalt
#

how can i get the color of a particle? if i have a redstone particle with color x y z how can i get that with a particle variable?

delicate lynx
#

could use a switch statement there with variables

eternal oxide
zenith gate
#

by giving the items a PDC?

#

cause they don't have one.

eternal oxide
#

all ItemStacks have a PDC

waxen plinth
#

Better yet

#

Don't hard-code that interaction

#

Create a stat system where items and other things can modify stats that you track

#

It'll serve you much better than hard-coding everything like that

zenith gate
#

yeah I have that for the health that's just Attributes.. the mana system is like kind of wacky.. and to be most honest idk if i can do that ( skill wise )

waxen plinth
#

It's not difficult

#

Add a PDC value

#

The key can be something like mana-modifier

#

When an item is equipped, check if it has that PDC key

#

If it does, add the value of it to the player's mana pool

#

When they take it off, subtract it

#

Pretty simple, and means that you can create as many of those items as you want by just assigning a mana value instead of needing to manually add however much each item is supposed to modify it by

zenith gate
#

yeah..

elder blaze
#

How to join a fake player with io.netty? No mc plugin, external program in java

eternal oxide
#

Thats not even in the slightest Spigot related

elder blaze
#

Xd

#

It's because I didnt found another server talking about The Minecraft protocol

quartz basalt
#

get color of redstone particle from a particle variable

eternal oxide
#

String is immutable so you alter it to another string

#

String modified = TEST.replace("%p%", player.getName());

#

your getDisplayname(args[0]) returned?

#

what did it return? if it was null then no replacement will be made

#

check it gives you what you expect it to give

#

then there is no reason for your issue, from what you have shown

restive mango
#

Hi

#

For anyone interested

#

You can send a packet to replace a trident entity and get smooth movement

#

To answer my own earlier problem

#

Shulkerbullets also work

half sinew
#

How can i get the actual name of a custom biome like the one that shows up in f3

eternal oxide
#

Which will just give you CUSTOM for a custom biome

half sinew
#

right what im trying to get is what shows up like terra:somethin/somethin/biomename not just CUSTOM

eternal oxide
#

however you could try getBiome().getKey().getKey()

half sinew
#

just says custom

eternal oxide
#

This says CUSTOM? getBiome().getKey().getKey()

half sinew
#

no it says custom not CUSTOM

#
    @EventHandler(priority = EventPriority.HIGHEST)
    public void onEntitySpawn(CreatureSpawnEvent event){
        Entity entity = event.getEntity();
        if(!event.getLocation().getWorld().getName().equals("aether_island")){
            System.out.println(event.getLocation().getWorld().getName());
            return;
        }
        if(entity instanceof Monster){
            Biome biome = event.getLocation().getBlock().getBiome();
            Bukkit.broadcastMessage(biome.getKey().getKey());
        }
    }

this is the code im using

eternal oxide
#

The NamespacedKey should be very specific. Unless Spigot doesn;t have access to teh actual biome name

half sinew
#

getKey().getNamespace() just returns minecraft

eternal oxide
#

Looks like its not available to Spigot then

half sinew
#

yikes

#

any way at all for me to get it

#

im guessing id have to get into nms or something?

eternal oxide
#

Not unless you are using some platform which injects biome names correctly into Spigot

#

@half sinew ^

#

fairly simple

#

but yes, nms

#

you'll have to change it to include the Y coordinate as biomes are not whole chunk now

restive mango
#

Actually

#

If anyone knows what packet is sent when a player begins tracking an entity

#

Let me know

#

Or if they log in and an entity is already spawned

compact haven
#

wdym by tracking

eternal oxide
#

Probably ClientboundAddEntityPacket

compact haven
#

No packet is sent by the client, but entity spawn packets and the sorts are sent by the server to let the client know that entities exist

#

ehm I believe entities around them are also sent in one of the world packets as well

half sinew
#

ok uh i have buildtools but how exactly do i install the nms and such to my local maven repo?

vocal cloud
#

Running build tools does so automatically

eternal oxide
#

build with --remapped to make life easier

half sinew
#

ok

compact haven
eternal oxide
#

then you can use Mojang mappings and specialsource to remap

restive mango
#

@compact haven I mean if an entity is already spawned and a player logs in near that entity on an MP server

#

You load that entity

#

Same deal if that player walks into tracking distance of that entity

compact haven
#

Yeah I don't know the answer to that one off the top of my heart, but I bet it's just a spawn entity packet

restive mango
#

You might be right

#

For now I’ll figure out a listener and just listen to that packet

#

See if it lags

compact haven
#

yeah I've taken a look at the login packet where it communicates world data when they load in, it doesn't seem to send entities through NBT

#

so it's probably protocol to just send spawn & destroy whenever they are in distance or leave it, respectively

restive mango
#

What I’ve got working now is pretty cool honestly

#

Im able to fire cats and creepers!

eternal oxide
#

um, you don;t need packets for that. Nor nms

granite burrow
#

When creating a enchantment with spigot is there any way to prevent the enchantment from being classified as "Unsafe"

half sinew
#

ok well i ran buildtools what exactly do i have to put as a dependency in my pom.xml because net.minecraft doesnt work

eternal oxide
#

?paste

undone axleBOT
eternal oxide
#

This is my fairly minimal pom for nms using remapped

half sinew
#

what about using craftbukkit as a dependency?

eternal oxide
#

no

#

its all in spigot

eternal oxide
#

its all in spigot

#

it has CB

half sinew
#

i tried

        <dependency>
            <groupId>org.spigotmc</groupId>
            <artifactId>craftbukkit</artifactId>
            <version>1.19-R0.1-SNAPSHOT</version>
        </dependency>
``` But that doesnt seem to work
eternal oxide
#

do not use that

#

the single Spigot dependency is all you need

half sinew
#

intellij is say "cannot resolve symbol CraftServer"

eternal oxide
#

import it, its there. I just checked to be 100% certain

#

Spigot includes CraftBukkit, Bukkit, Spigot and nms

half sinew
#

ok

#

guess i had to refresh intellij

golden turret
#

How do I create custom packets and send them to the client?

eternal oxide
#

um custom?

golden turret
#

yes

half sinew
#

well the code from that forum post doesnt work and i do not have enough java experience to figure it out but thanks for the help

golden turret
#

Im using this

echo basalt
#

You're writing your own impl or something?

golden turret
#

but when I send to the client that happens

echo basalt
#

Yeah so basically the packet ids are registered

golden turret
#

and idk if that is because the client does not know the packet or if Im sending it wrong

golden turret
#

a new packet basically

golden turret
echo basalt
#

The client would need to know about it

#

Why can't you make a packetwrapper for an existing packet?

golden turret
#

because i need it for a new packet

#

i want a new packet

eternal oxide
#

You can;t have a new packet. only registered packet ids

echo basalt
#

^

golden turret
#

wdym

echo basalt
#

Each game version has a range of packets you can choose from

#

that are coded both in the server and the client

golden turret
#

ik

echo basalt
#

Each packet has a byte ID

golden turret
#

im writing a mod too

eternal oxide
#

The client needs to know what to do with each packet

echo basalt
#

Well in that case

#

your mod better know what that packet is

#

but if you send it to people who aren't using that mod, they get disconnected

#

You can avoid this by using the plugin messaging channel

golden turret
#

yes, im alredy asking for help in the fabric discord lol

echo basalt
#

To establish a handshake at least

golden turret
#

but about the packet id

#

it does not seems to specify the packet id

echo basalt
#

TL;DR - your packet probably works server-side, but your client is disconnecting you

vocal cloud
#

Forge and spigot do not like communicating with each other. I wonder if it'd be better to use fabric

vocal cloud
#

Can't tell KEKLEO

golden turret
vocal cloud
#

At the end of the day it's a dangerous game since any new player who doesn't know about the mod won't be able to join

golden turret
#

because the Packet class from nms does not have anything about it

#

now i will see that in the mapped version

echo basalt
#

I have it on the mapped version

#

Seems like it might be something about order of registration on the client?

#

This just writes the packet object to the netty channel

golden turret
#

hm

#

ok

#

do you know how to read the packets in the fabric api?

echo basalt
#

this isn't the fabric discord

#

and we're not fabric developers

#

So no

vocal cloud
#

I know how to do it in forge KEKLEO

golden turret
echo basalt
#

you're using the Identifier class from nms?

golden turret
#

this is on fabric

echo basalt
#

look at the damn exception

golden turret
#

well

#

the exception happens before the window even shows up

full steppe
#

Hi sorry for bothering but how do you check if the ItemStacks inside the config are null/empty? because when i reload and its empty/null i get a error in game

vocal cloud
#

Check if the key exists?

golden turret
#

bruuh

#

i went to the fabric discord

#

to find out that i just needed to use Player#sendPluginMessage

fleet comet
worldly ingot
#

it sucks

fleet comet
#

mhm

worldly ingot
#

sorry, I didn't mean that

vocal cloud
#

Choco

worldly ingot
#

I'll peek lol

vocal cloud
#

Wowwwww

fleet comet
#

choco, have some choclate

worldly ingot
#

wait how tf is that 250kb?

#

It's two classes

fleet comet
#

no idea whatsoever

vocal cloud
#

Lots of libs I see

fleet comet
#

well lamp hates me

#

so yeah

#

it needs a lot of work lol

vocal cloud
#

Honestly, you probably want to make it lightweight

fleet comet
#

i should remove common prob

vocal cloud
#

Try building without dependencies and you'll see

fleet comet
#

mhm

worldly ingot
#

Are you expecting every addon to have that class?

fleet comet
#

check the documentation tab on the plugin thin

vocal cloud
#

make each one
provided and you'll figure out what's giving you the bloat

#

or theres probably a better way but I'm lazy

worldly ingot
#

That's strange that every addon has to have that exact class. I foresee classloading exceptions

fleet comet
worldly ingot
#

What do you think the plugin.yml is for? ;p

fleet comet
#

they have to register commands via addon though

worldly ingot
#

Though really, overall, this plugin just seems like an unnecessary middle-man for plugin loading that's bound to break Bukkit's plugin loading classloaders.

#

This would be better suited as just a library

worldly ingot
#

It's an addon loader lol

fleet comet
#

well yeah

#

and the addons add commands so you can choose what you want

#

thats the point

worldly ingot
#

Yeah but you can do that with a plugin too. So why should I, as a developer, use your addon loader when I can just write a JavaPlugin

#

Or something like Commodore

fleet comet
#

Loading a bunch of plugins isnt great for the performance

#

thats why loading a bunch of addons with one plugin is better

#

@worldly ingot

worldly ingot
#

I'm not sure that's totally true ;p

fleet comet
#

with 1 plugin

vocal cloud
#

Wait is plugin loading really that big of an issue?

worldly ingot
#

Would have to benchmark that ¯_(ツ)_/¯

#

I really don't think it would be that bad

waxen plinth
fleet comet
waxen plinth
#

So you can load 23 plugins .1 seconds faster, to what benefit?

vocal cloud
#

But like if your server can't load plugins fast okay? You've got bigger issues than loading them faster

fleet comet
#

that solves plugin limits

waxen plinth
#

skull

vocal cloud
#

If you're hitting plugin limits again that's a bigger issue

waxen plinth
#

Write a plugin that does something fun at least

fleet comet
#

im bad at ideas

waxen plinth
#

If it's not useful, make it fun

vocal cloud
#

You shouldn't have that many plugins

#

Make something to hot load plugins

waxen plinth
#

A plugin that adds instant structures

#

You build a structure

#

Compress it

#

You can craft more of that structure by inputting all the blocks it requires

#

And then place it to instantly build it

#

Useful, fun, should be a good challenge

fleet comet
#

thats intresting

waxen plinth
#

Actually I kinda want to make that now

#

Might just have to

fleet comet
#

damnit

waxen plinth
#

Nothing stopping you

#

It's not a contest

#

It's just a fun idea to try

fleet comet
#

i really want to use reflection in some plugin though

waxen plinth
#

Then make a library

#

Libraries generally have much more reason to use reflection

fleet comet
#

i hate libraries

somber hull
#

I have a abstract class

ornate patio
#

can i use pdc to store information about a player even when they log out

somber hull
#
    public boolean isInventoryOpen(Player plr){
        if(guiPlayerMap.containsKey(plr.getUniqueId())) return true;
        for(ChestGui i : guiPlayerMap.values()){
            if(i.getViewers().contains(plr)) return true;
        }
        return false;
    }
#

Bad or good?

#

This will run anytime someone closes a inventory, i cant figure out a better way to check if it is a custom gui of mine

#

I realized a better way

#

nvm

shadow vortex
#

Im new to making plugins and i want to make one where the longer you crouch, a bigger explosion happens when you uncrouch. Right now all I know how to do is make an explosion happen immediately after crouching. Can anyone help?

ornate patio
#

oh damn

sleek trout
#

anyone know a way to get the new villager price, ex the price you would get after punching it for example

#

cant seem to find it

oblique wigeon
ornate patio
#

is there an event for when a team is removed

shadow zinc
#

How do I get the block that powered a redstone dust or repeater?

#

Im trying to halt redstone activity and then restore it, but its not exactly working, so im thinking if I check if the cause of the signal still exists, then allow it to be restored

iron glade
lost matrix
lost matrix
noble lantern
#

Does anyone have experience in using the ProfilePublicKey class for remapped NMS in 1.19?

Im following this guide: https://www.spigotmc.org/threads/how-to-create-and-modify-npcs.400753/

And the EntityPlayer seems to be remapped to just the nms Player/ServerPlayer (They both have the same constructors)

And instead of the PlayerInteractManager from 1.15 it seems to take the ProfilePublicKey as the final argument, only issue is how tf are you supposed to format the key? I see a subclass inside ProfilePublicKey for making the data here:

#

But like what exactly is the PublicKey and keySign you need to provide?

#

Just random shit or does it need to resemble an actual valid player?

latent bone
#

How would I convert an InventoryHolder or a HumanEntity to a regular player? Help would be appreciated! I'm using PrepareAnvilEvent, but I need to get the player somehow.

tardy delta
#

(Player) humanEntity

chrome beacon
noble lantern
#

was debating on it but i rly wanted more control and didnt wanna use citizens

dire marsh
chrome beacon
#

Their API is great

noble lantern
noble lantern
#

lmao my dev test server the first thing i see is this

#

was playing hardcore earlier and i fucking spawned on a islands in the middle of an ocean smh

drowsy helm
#

git gud

noble lantern
#

oh wtf

#

the pub key is a base64 2d character skin

#

and it has an expiration date what

noble forge
#

Does anyone know the order of euler angles for the head of an armor stand?

eternal oxide
#

order?

twilit roost
#

Does anyone know what parameters should i fill in ?
NMS -> Level#getNearbyEntities

coral hemlock
#

Hi, i use guice in my plugin and i got this error:
2022-07-19 13:02:17,704 Log4j2-TF-1-AsyncLogger[AsyncContext@33909752]-1 ERROR An exception occurred processing Appender File com.google.common.util.concurrent.UncheckedExecutionException: java.lang.IllegalStateException: zip file closed.

Anyone knows how fix this?

ivory sleet
#

?paste the error and the code

undone axleBOT
ivory sleet
#

(Im on phone so managing files is pain)

agile anvil
coral hemlock
twilit roost
#

already figures it out using this:

List<Player> players = this.mob.getLevel().getNearbyPlayers(TargetingConditions.forCombat(),this.mob, AABB.ofSize(this.mob.position(),scoutRadius,scoutRadius,scoutRadius));
            
noble lantern
#

but

#

its a World method

ivory sleet
coral hemlock
#

Yes, i can send the project

#

But

twilit roost
coral hemlock
#

there is no code that the error would refer to at all in my project

noble lantern
#

I see a few of those errors in that msg

coral hemlock
eternal oxide
#

Is this error at startup?

coral hemlock
eternal oxide
#

?paste your latest.log

undone axleBOT
eternal oxide
#

oh ok, after loading the worlds.

#

?paste your onEnable method

undone axleBOT
tender shard
# twilit roost

that's the argument passed on to the TargetingConditions instance. What TargetingConditions instance are you using?

twilit roost
#

im using forCombat
but I figured it

coral hemlock
coral hemlock
coral hemlock
quiet ice
#

Enterprise code moment

quiet ice
#

Yeah I have no idea, I'd assume that there is something wrong with guice but whatever

eternal oxide
#

what is CasinoCore? is that your main class?

coral hemlock
eternal oxide
#

ok, I'll ask again, does CasinoCore extend JavaPlugin?

coral hemlock
#

no

eternal oxide
#

does it startup if you remove line 4 and 5?

lilac pier
#

hey guy i try to do custom gui like this but i don't find how to do it :/

eternal oxide
#

so just create the injector?

quiet ice
#

Nah, these are resource packs I'd say

lilac pier
#

i have itemsadder but i don't find how to do it

eternal oxide
#

itemsadder is a resource pack plugin

quiet ice
#

Or well actually itemsadder would also help there heh

lilac pier
#

but how he do it ?

#

i don't find xD

coral hemlock
eternal oxide
#

yes, find what line is killing yoru plugin

quiet ice
#

try-catch any errors and print their stacktrace

eternal oxide
#

Does creating the Injector kill it, or is it adding your CasinoCore that does it

coral hemlock
#

core.init() is not called

eternal oxide
#

ok so lets take a look at your CasinoCore

eternal oxide
#

Well there is a zip file access

#

Annoying Lomback makes this annoying to read

coral hemlock
#

I will try to run with this method

eternal oxide
#

This line is trying to read "machines.yml.yml"InputStream ddlStream = CWCasino.class.getClassLoader().getResourceAsStream(fileName +".yml");

coral hemlock
quiet ice
#

Wouldn't adding a

try {

} catch (Error e) {
    e.printStackTrace();
}

In the onEnable be more useful? Bukkit is unlikely to catch any errors -> thus there is a silent crash

glossy venture
#

all resource paths have to be prefixed by a /, also maybe use CMCasino.class instead of CMCasino.class.getClassLoader()

glossy venture
#

doesnt work without it for me

quiet ice
#

At least on my system it is false

glossy venture
#

weir

#

d

eternal oxide
#

your resourcename is wrong

drowsy helm
coral hemlock
eternal oxide
#

I already told you whats wrong. Ignore me if you want

quiet ice
#

I'd say that you have not shaded in guice correctly

eternal oxide
quiet ice
#

remember, init is never called

eternal oxide
#

it is he's just not seeing it. The error is about the zip file access

#

My guess is Guice is calling it, but I've never used Guice

quiet ice
#

That may be true

eternal oxide
#

He's trying to read a resource which doesn;t exist

#

double .yml extensions will do that

#

I also don;t see any @Inject annotation on a constructor. Is Lombok intelligent enough to add that?

#
@Inject constructor

Java class constructors that are annotated with @Inject can be called by Guice through a process called constructor injection, during which the constructors' arguments will be created and provided by Guice.```
coral hemlock
eternal oxide
#

ok, fix your resource name then

quiet ice
#

I've been playing with eclipse's JavaSourceLookupDirector for the past few hours now and I've gotten eclipse's debug feature to almost work to my liking. However when inspecting a dependency class within the debug perspective it will open the source file using the generic java source file editor (though read-only) this has a few drawbacks however - namely that color formatting is a bit off and that the "Open declaration" hotkey may not always work. So how do I force it to open the files using the class file editor?

Now it should be known that these source files are the sources of dependencies of a project that I'll call "application" for now on. These dependencies (which are external jar archives) have their sources defined as such and outside of the debug perspective it opens the source files with the class file editor as intended. I also have a project that I'll call "Bootstrap" that builds and loads the "application" project. The launch configuration used to launch the application is thus assigned to the "Bootstrap" project and hence any dependencies of the "Bootstrap" project are already included (and working correctly) as part of the default container (org.eclipse.debug.core.containerType.default), however the "application" project had to be manually added using the JavaProject container (org.eclipse.jdt.launching.sourceContainer.javaProject) which works well enough. However because the JavaProject container does not add the sources of dependencies I added them manually using the ExternalArchive container (org.eclipse.debug.core.containerType.externalArchive).

My assumption is that my multi-project setup is causing this. Not using the JavaSourceLookupDirector causes the sources to not be found at all.

And no, using gradle or maven (especially maven) is not an option at this point - especially because I know of a few workarounds (but not of any long-term fixes)

eternal oxide
#

I can honestly say I've never used Debug in Eclipse

quiet ice
#

To be honest in spigot space you are unlikely to use it

coral hemlock
#

im stupid... i forgot to add module into injector

coral hemlock
quiet ice
#

Debugging the minecraft server is a bit complicated, especially not in the way I do it with multi-project builds where the dependencies between those two projects are vastly different

coral hemlock
quiet ice
#

Yes, but using gradle is the first difference

coral hemlock
#

how i can set sign and get it how Sign.class

quiet ice
#

.getBlockData()

tardy delta
#

isnt it (Sign) blockstate?

#

ah

quiet ice
#

Or block state

tardy delta
#

im always confused by those

quiet ice
#

Yeah, it's block state

#

BlockData is basically a json iirc

#

?jd-s but let's know for sure

undone axleBOT
tardy delta
coral hemlock
quiet ice
#

nah, you'd want to use location.getBlock().getBlockState();

coral hemlock
tardy delta
#

started writing my own linkedlist impl cuz got nothing better to do 🤦

ivory sleet
#

Is it double linked?

hybrid spoke
quiet hearth
#

is it possible to force players to load a chunk far from their load chunk distance

river oracle
#

But yea you can manually load chunks with bukkit api

clever musk
#

Can packets be sent asynchronously?

glossy venture
#

clientbound yeah

clever musk
#

Ok

rain meadow
#

I’m wanting to create an ability where when a player right clicks a specific item. For the next 10 seconds. Every mob they kill grants them 1% of their max health back
I already have the checking for the item and granting the health back. But how can I make the right clicking and it lasting for 10 seconds?

tardy delta
ivory sleet
#

Even triple linked perhaps?

tardy delta
#

dunno how that would work

maiden briar
#

Is there any way to store data on an OFFLINE player's UUID if this player changes his name?

river oracle
tardy delta
#

players uuid is always the same

maiden briar
#

And the server is offline mode

river oracle
maiden briar
twilit roost
#

can I somehow make entity red?
by red I mean look same as you hit it

oor make it look like creeper while exploding

maiden briar
#

But if any cracked player changes his username, the uuid is changed too

river oracle
elder blaze
#

How minecraft protocol works? I don't understand a sh*t from wiki.vg :v

maiden briar
#

Thanks, that's what I wanted to hear

#

Now time to screenshot and send to my client

hybrid spoke
#

yes do it and say "fuck you"

#

dont support piracy

#

simple as that

river oracle
#

Relay my message fuck piracy

tardy delta
#

as there are 3 max

hybrid spoke
waxen plinth
#

I'd happily make it for like $20

tardy delta
#

lmao like 3 wasnt enough 😂

river oracle
hybrid spoke
undone axleBOT
river oracle
#

Shut it god dumb

elder blaze
tardy delta
#

also cipher, how would i use recursion for my add method lol

waxen plinth
#

If I don't make it for $20 I might just make it when I'm bored at some point

tardy delta
#

oh i think i get it, bruh

maiden cape
#

How do you use components in an item display name?

tardy delta
#

not?

reef lagoon
#

?whereami

tardy delta
#

5 months ago smh

minor garnet
#
                Class<?> c = BlockStairs.class;
                Constructor<?> cons = c.getDeclaredConstructor(IBlockData.class);
                Object obj = cons.newInstance(blockData);
                Method method = obj.getClass().getDeclaredMethod("y", IBlockData.class);
                method.setAccessible(true);
                Object list = method.invoke(obj, blockData);
                List<AxisAlignedBB> bounds = (List<AxisAlignedBB>) list;
                plugin.sendMessage("list " + bounds.size());```
river oracle
minor garnet
minor garnet
river oracle
#

Constructor#setAccessible

minor garnet
#

ah ok

river oracle
#

Yep just make sure to set it it false after you use the constructor

minor garnet
#

Works ty

tardy delta
#

do all collections implement if an iterator doesnt have a next element and you still try to call next() by throwing an exception?

hot wolf
#

I wanted to put a custom head into one of my menu plugins and
I read this https://www.spigotmc.org/threads/tutorial-get-player-heads-without-lag.396186/
But SKULL_ITEM doesnt exist anymore and getUnsafe() is deprecated too.
So I was wondering how I'm supposed to do that?
(1.18.2)

visual tide
#

isnt it PLAYER_HEAD in new versions

chrome beacon
#

^

#

As for custom skulls just use the api

visual tide
#

oh and u dont need the (short) 3 if you use PLAYER_HEAD

chrome beacon
#

Oh no I'm going to explain how to make heads again

#

How many times have I done this now

tardy delta
#

i would write a forum post :)

chrome beacon
#

.

#

^ ping me for questions with that

chrome beacon
hot wolf
twilit roost
#

how do I set max hp for NMS entity?

chrome beacon
#

You set the max health attrubute

twilit roost
#

I tried to do it with attributes but I couldn't get Attributable variable no matter what

hot wolf
# chrome beacon I really should

Sorry, just wanted to ask..
Do I just make a PlayerProfile with any UUID? Do I need it to always the the same head. And does the head change if the player changes his/her skin? (hopefully not lol)

twilit roost
chrome beacon
#

You can change attrubutes with NMS

hot wolf
twilit roost
#
        CraftAttributeMap at = this.craftAttributes;
        at.getAttribute(Attribute.GENERIC_MAX_HEALTH).setBaseValue(health);
``` yep figured it out 5sec later
chrome beacon
hot wolf
#

So basically I make that profile, set textures, but how do I get the head with that? Sorry for asking so many questions, it's kind of hard for me to understand the connections between the 4 😅

chrome beacon
#
  1. Create playerProfile
  2. Get playerTextures
  3. setSkin
  4. Set playerTextures

To apply skin to an item use SkullMeta (like the first javadoc link shows) which you get from casting item meta

#

Also do you have your textures in base64?

hot wolf
#

not sure

chrome beacon
tardy delta
#

im not understanding this method, it doesnt seem to fill up 'a'

peak depot
tardy delta
#

ig something with the Object[] result = a

hot wolf
chrome beacon
peak depot
#

ah ok

tardy delta
ivory sleet
#

result also points towards the same array

tardy delta
#

wait there are no brackets there, the if if not in the loop right?

twilit roost
#

If I remove all pathfinder goals, wait a few seconds and regive all goals
Entity just stays still

        this.goalSelector.removeAllGoals();
        this.goalSelector.addGoal(0,new MoveAwayGoal(this,this.getTarget(),1,10));
        this.goalSelector.addGoal(1, new FloatGoal(this));
        this.goalSelector.addGoal(2, new LookAtPlayerGoal(this, ServerPlayer.class,8.0F));
        for(SkeletonTroop troop : remove){
            troops.remove(troop);
        }
        remove.clear();

        Bukkit.getScheduler().runTaskLater(Pirates.plugin, () -> resetPathfinding(),20L);


private void resetPathfinding(){
        this.goalSelector.removeAllGoals();
        this.registerGoals();
    }
ivory sleet
#

Its like you’d use an if statement without brackets around it

worldly ingot
#

Which only considers the next line as nested in the if statement

#

They're generally frowned upon due to poor readability

twilit roost
#

I did: )
MoveAwayGoal
but the goal can't be combined with goals I give it on spawn
since it would cancel eachother

tardy delta
ivory sleet
#

Yes

tardy delta
#

¯_(ツ)_/¯

ivory sleet
#

I mean goal selectors have a parallelism

twilit roost
#

well on spawn i give it custom chase and dash
and moveawaygoal makes it run from the player

ivory sleet
#

above that, its down to priority and it can only tick the amount that the parallelism is set to at the time

#

Same goes for target selector

#

Assume that your goal constraints the other goal from being selected

#

Then it should be fine

twilit roost
#

can I do

goalSel.addGoal(0,...
goalSel.addGoal(2,...

and add num 1 later?

tardy delta
#

i would think that my code would make more sense, but why is a of type T[] and not E[]?

ivory sleet
#

Well usually you’d want to add them all at once

#

And then you can hard code a flag for when it should run etc

#

class Goal{
boolean canRun

boolean shouldStart(){
return canRun && someOtherCondition
}

boolean canContinue(){
canRun
}
}

#

You get the deal

tardy delta
#

its weird stuff

ivory sleet
#

Would just reason that its about legacy java and compat

gleaming grove
#

Does minecraft client has limit of packages per tick? or it depends of the speed of CPU?

ivory sleet
#

But Id just be speculating

tardy delta
#

casting E to T will crash when not providing the right type but so does LinkedList::toArray(T[])

ivory sleet
#

wym by packages

#

But yes it is sadly bound to the cpu to some extent

gleaming grove
#

Bytes server sends to client

ivory sleet
#

oh packets

gleaming grove
#

oh yes, sorry rip english

tardy delta
gleaming grove
ivory sleet
#

Jacek

#

Im gonna go ahead and say that it used to be 20

#

But it could very much have been changed

#

Such that it just instantly polls incoming packets from netty

tardy delta
#

they both will, but first one throws an ArrayStoreException and 2nd is compile time error

ivory sleet
#

And update the client as fast as possible

twilit roost
#

is there some way for nms entities not to spam this?

ivory sleet
#

I believe that might have to do with a death method in the entity

#

You could override it probably

eternal oxide
#

its because they are named

ivory sleet
#

Yeah

eternal oxide
#

Treated as special (owned)

gleaming grove
#

only the sounds packet

#

so It might be cost by minecraft sounds engine limitation?

ivory sleet
#

The client might be limiting it?

#

yeah or could be intentional as well

#

To avoid earrape if latency were to occur

green prism
#

?paste

undone axleBOT
gleaming grove
ivory sleet
#

Yeah, well ideally latency will be minimal tho

#

So shouldn’t be an issue

gleaming grove
#

here is OnNotePress code, could I even futher optimaze it?

#
    @Override
    public void press(int id, int velocity, int channel) {
        final var soundLevel = volume/100.0f * (velocity) / 50.0f;
        world.playSound(particleLocation,
                                MappedSounds.getSound(id,pedalModel.isPressed()),
                                SoundCategory.VOICE,
                                soundLevel,
                                1);
        world.spawnParticle(Particle.REDSTONE, particleLocation, 1, options);
        
        if (isBlack)
            setCustomModelData(PianoKeysConst.BLACK_KEY_PRESSED.getId());
        else
            setCustomModelData(PianoKeysConst.WHITE_KEY_PRESSED.getId());
        isPressed = true;
    }```
ivory sleet
#

I mean yes

#

But not any useful optimizations

green prism
#

It would seem that Maven is always playing this game of not putting ItemsAdder inside the shade of the Jar... It seems to me that with these same settings, the last time it went, after a while I redone the build and nothing to do... Restart the PC? Reboot intellij? Invalidate caches? I tried, all three ways.
Pom.xml: https://paste.md-5.net/dasiqegevi.xml

ivory sleet
#
  1. cache everything that’s possible outside to reuse it later
  2. use cached nms objects directly
#
  1. dont send packets async if u do that
#

Since they will get synced anyway

gleaming grove
#
  1. done 2) how does it works? 3) done
ivory sleet
#

you can cache the player connection of an nms player for instance

#

And directly send a packet

#

thats as far as I would go

#

But this would only have a useful impact if you’re scaling the shit out of your server

#

Which you most likely arent

ivory sleet
#

Also for instance

gleaming grove
#

ok then go to deal with NMS, thanks for help

ivory sleet
#

Dont have the variable sound level there

#

Because it pushes a variable to the thread stack

#

Which is costly

gleaming grove
#

ye but key can be press lower or stronger

ivory sleet
#

Assuming you wanna really make it fast now

gleaming grove
#

this plugin is connected with client that sends notes from real piano

ivory sleet
#

That can be inlined

#

Since its only uses once anyway

hybrid spoke
ivory sleet
#

I wouldnt normally tell you to skip explanatory variables

#

But cutting edge companies sometimes do this to reduce overhead

green prism
hybrid spoke
#

or just remove the scope because compile is the default

ivory sleet
#

To compensate

gleaming grove
#

what do you mean?

ivory sleet
#

Add a comment that explains what volume * 100/ … is

#

Instead of having a variable

#

As you wanted to make it faster

green prism
gleaming grove
#

ok

eternal oxide
#

did you buy the plugin?

green prism
eternal oxide
#

did you put it in the plugin folder of your server?

eternal oxide
#

that error seems to disagree

vague swallow
ivory sleet
#

Maik you are shading the api

#

You should not do that

#

As god cipher pointed out I believe

vague swallow
ivory sleet
#

Simply alter the scope to provided

green prism
green prism
ivory sleet
#

Well then you dont have items adder installed?

hybrid spoke
#

so you probably have to depend your plugin on itemsadder

ivory sleet
#

That also ^

green prism
#

I was making a scheme of this kind and for that I can not force to use itemsadder
item:
itemsadder: true
model: 'potato'
default:
displayname: ...

#

Ive solved

#

thanks Elgar for reminding me not to have put in the plugin itemsadder

#

thank you all guys

ivory sleet
gleaming grove
warm mica
#

Is it possible to change the walk speed of a player while he's in air or has no gravity

reef lagoon
#

ur famous

warm mica
tardy delta
#

what have i started...

#

even forgot to check nullability of first and decreasing size

#

😢

ivory sleet
#

Walk speed is more like ground speed

frozen cedar
#

how to get the entity that the player looked at?

ivory sleet
#

You can probably ray trace

tardy delta
#

oof got it

tardy delta
#

hmm yes

final condor
#

NBT data lost when a player is no longer OP [MINECRAFT 1.19]

#

I recently created a server with friends with some plugins to integrate shops ect, including the purchase of custom spawners (golem sheep cows ect ect) Spawners purchased by non-op and non-creative players lose their NBT tag (they turn into basic spawners, i.e. pig spawners) I don't know what permission to add using the LuckyPerms plugin to authorize players non-op to place custom spawners, I searched for several hours on different topics without ever finding concrete solutions, if you have the slightest idea I'm interested, thank you!

eternal oxide
ivory sleet
#

§1§

#

oh

left swift
#

what happens when bukkitrunnable is completed / canceled? does it stay in memory or is it deleted?

ivory sleet
#

usually it gets garbage collected

#

else its basically a memory leak

tardy delta
#

i think i just made a memory leak with my collection thing

#

maybe more than one 😎

ivory sleet
#

lol

zealous glen
#

How come when I right click an entity with my custom spawnegg it calls the interact event but when I cancel it still uses the custom spawnegg?

tardy delta
#

other plugins uncancelling it?

zealous glen
#

I guess its because I need to use PlayerInteractEntityEvent instead of PlayerInteractAtEntityEvent

#

but the event still gets called which is weird

lost matrix
# ivory sleet §1§

.̷̨̡.̷̨̡.̷̨̡.̷̨̡.̷̨̡.̷̨̡.̷̨̡.̷̨̡.̷̨̡.̷̨̡.̷̨̡.̷̨̡.̷̨̡.̷̨̡.̷̨̡

ivory sleet
#

ive no clue how I sent that thign

#

lol

lost matrix
#

Ẅ̷́̕h̷̽̽ỹ̸̙ ̷̎͘ȃ̷̽n̵̋̾d̶̾̅ ̴̀̽h̶͛͑o̴͉̎w̸͂̎?̸̈̏

ivory sleet
#

🥲

lost matrix
#

𝔗𝔥𝔦𝔰 𝔡𝔦𝔰𝔠𝔬𝔯𝔡 𝔭𝔩𝔲𝔤𝔦𝔫 𝔦𝔰 𝔮𝔲𝔦𝔱𝔢 𝔲𝔫𝔫𝔢𝔠𝔢𝔰𝔰𝔞𝔯𝔶