#help-development

1 messages ยท Page 1039 of 1

river oracle
#

?stash

undone axleBOT
mellow edge
#

special source 2?

river oracle
#

Its in BuildData

#

Idk the exact difference but iirc it's not open sourced for some reason

river oracle
mellow edge
#

I see

twin venture
#

Hi I've been thinking is it possible to have a centralized github repo that i pull the files from to each server so in lobby , it will pull the file , in game it will pull the kits.yml to game servers plugins game folder and so on

#

but the github repo will be diffrent for each user

#

is it better than using redis?

river oracle
#

Github as a database ๐Ÿ’€

#

Bro no it's not

twin venture
#

i will be getting the kits.yml when the server start

#

do you suggest i keep work on redis then?

river oracle
#

Please use a proper communication protocol that support data transition instead of abusing the shit out of git

twin venture
#

so redis it is ..

tall dragon
#

i have a similar system. i use RabbitMQ to send stuff like kit configurations to my game servers when they startup

#

Redis seems like a fine option too

twin venture
#

i can do that?

#

i thought i was able to send only objects like string , doubles .. etc

tall dragon
#

well my files are json, my system encodes "packets" to json

#

so its easy for me.

twin venture
#

nice

young knoll
#

Is it possible to control which "slot" your bossbar ends up in, or do I just have to hope?

mellow edge
#

why is Special Source 2 and Special Source in mixture

#

used

#

(in buildtools)

dry forum
#

does inventory.getContents get the contents in order? as in slot 0 -> 1 -> 2, etc

mellow edge
#

why are some classes excluded from deobfuscation? are they not needed or smth

young knoll
#

The client can show 4 bossbars

#

Stacked on top of eachother

blazing ocean
#

no

#

not 4

#

it depends on screen size

#

eg smaller gui scale = more bars

#

you can check the amount of bars they have but that's all

#

if you use noxesium you can use their packets to retrieve gui scale/window scale

young knoll
#

I thought it was always 4

blazing ocean
#

nope

#

entirely client sided

cunning osprey
#

why am i getting this error? i checked everything no errors in intelj?

java.lang.NullPointerException: Cannot invoke "org.bukkit.command.PluginCommand.setExecutor(org.bukkit.command.CommandExecutor)" because the return value of "st.stasio.staticpowers.StaticPowers.getCommand(String)" is null
        at st.stasio.staticpowers.StaticPowers.onEnable(StaticPowers.java:23) ~[staticPowers-1.0.jar:?]
        at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:281) ~[paper-api-1.20.1-R0.1-SNAPSHOT.jar:?]
        at io.papermc.paper.plugin.manager.PaperPluginInstanceManager.enablePlugin(PaperPluginInstanceManager.java:189) ~[paper-1.20.1.jar:git-Paper-196]
        at io.papermc.paper.plugin.manager.PaperPluginManagerImpl.enablePlugin(PaperPluginManagerImpl.java:104) ~[paper-1.20.1.jar:git-Paper-196]
        at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:507) ~[paper-api-1.20.1-R0.1-SNAPSHOT.jar:?]
        at org.bukkit.craftbukkit.v1_20_R1.CraftServer.enablePlugin(CraftServer.java:642) ~[paper-1.20.1.jar:git-Paper-196]
        at org.bukkit.craftbukkit.v1_20_R1.CraftServer.enablePlugins(CraftServer.java:553) ~[paper-1.20.1.jar:git-Paper-196]
        at org.bukkit.craftbukkit.v1_20_R1.CraftServer.reload(CraftServer.java:1097) ~[paper-1.20.1.jar:git-Paper-196]
        at org.bukkit.Bukkit.reload(Bukkit.java:993) ~[paper-api-1.20.1-R0.1-SNAPSHOT.jar:?]
        at org.bukkit.command.defaults.ReloadCommand.execute(ReloadCommand.java:54) ~[paper-api-1.20.1-R0.1-SNAPSHOT.jar:?]
        at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:155) ~[paper-api-1.20.1-R0.1-SNAPSHOT.jar:?]
        at org.bukkit.craftbukkit.v1_20_R1.CraftServer.dispatchCommand(CraftServer.java:987) ~[paper-1.20.1.jar:git-Paper-196]
young knoll
#

Huh, I'll have to check that

blazing ocean
#

ew who changed github embed

#

s

young knoll
#

Huh it does in fact change

#

Still on all gui scales it seems 4 is possible

blazing ocean
young knoll
#

I see

umbral ridge
#

turn off your window

#

turn off your computer

blazing ocean
cunning osprey
blazing ocean
#

show your plugin.yml and code

#

?paste

undone axleBOT
umbral ridge
#

coffee script

blazing ocean
#

that generally looks fine

young knoll
#

Cannot invoke "org.bukkit.command.PluginCommand.setExecutor(org.bukkit.command.CommandExecutor)" because the return value of "st.stasio.staticpowers.StaticPowers.getCommand(String)" is null

#

Command not in plugin.yml

cunning osprey
cunning osprey
blazing ocean
#

yeah but that isn't useful to us as we don't have your full class

#

just

#

at what command is the error

#

like line number in correspondance to the line in the class

slender elbow
#

do i smell a paper-plugin.yml being (mis)used

blazing ocean
#

that's not a paper plugin

#

i think?

cunning osprey
blazing ocean
#

wdym

#

it is a paper plugin?

#

if so

#

?whereami

cunning osprey
#

since i needed to edit someone a plugin and they sent me the package

blazing ocean
#

and paper plugins use the command map

slender elbow
#

just use a regular plugin.yml

blazing ocean
#

^

cunning osprey
queen patrol
#

I have a Q is there any way to redirect a player from the lobby after login to the last left world

#

Can anyone help

#

๐Ÿ™‚๐Ÿ™‚

tardy delta
#

save the last left world

queen patrol
#

I am using multiverse

#

It's easy to do with bungee

#

But I have no clue

#

How to do this in the multiverse

silk mirage
#

Let's say a user moved from Server A -> Server B

Can I safely say that when user leaves Server A and PlayerQuitEvent is called the user is already online and can be retrieved at Server B?

silk mirage
#

Will I be able to retrieve the user by just using Bukkit#getOnlinePlayers() or do I have to look into pre login event and such?

queen patrol
#

See like I have two worlds present one is my lobby and the other is like the normal worlds of he left the server in any other server then when he join he will first join in lobby and then he will be redirected to his last left world where he disconnected

silk mirage
#

Huh

#

?????

queen patrol
#

How should I explain

#

๐Ÿ™‚

queen patrol
# silk mirage Huh

Like u are the player who joined my server after playing for sometime u left and when u join back first I will join my lobby world then u will login using the command and after login u will be instantly teleported to your last location in another world ( survival, nether or end)

#

How can I do this

#

Is there any way

chrome beacon
#

Don't do it with Multiverse

#

Use Bungeecord

queen patrol
#

So I am finding a middle way

chrome beacon
#

Oh well save the players old location

#

And teleport them later

queen patrol
chrome beacon
#

Wdym no possible way

#

I just told you how to do it

queen patrol
#

Instead of bungee

chrome beacon
#

Multiverse has no login system

#

So why would it care about your login status

past sun
#

for combatlogx, does nayone know how to disable commands in combat?

chrome beacon
#

Yes configure the CheatPrevention expansion

#

More specifically it's commands yml

queen patrol
chrome beacon
#

Though this is a question for #help-server or the SirBlobman discord

queen patrol
#

To be specific I am facing a problem like if anyone tries to login from someone else's account he can still see his cords without entering the password

#

So he doesn't need to know the password to see the cords

chrome beacon
#

Online mode wouldn't have that problem

#

You should enable it

queen patrol
river oracle
queen patrol
#

Ik

fallow helm
#

Hello in which mc version PDC was added to Spigot? Because I can't recall. Specifically for Entities

#

In 1.14?

chrome beacon
#

Yes

fallow helm
#

Thank you

dawn flower
#

what unicode is this

#

it looks similar but it looks abit off idk why

#

ima just use it, thanks

#

it's the same

robust ginkgo
#

Are there no API changes in 1.21 or do I need to update this dependency?

proven ocean
#

I just found out that

Bukkit.getServer().getClass().getPackage().getName()

doesn't contain the nms version anymore in 1.21 o-o.
Does anyone know how I get the nms version of the server now?
Previously I got it like that:

Bukkit.getServer().getClass().getPackage().getName().replace(".", ",").split(",")[3].substring(1);
remote swallow
#

thats because paper dont relocate

proven ocean
proven ocean
chrome beacon
robust ginkgo
#

So no need to update?

chrome beacon
#

Yeah no need to update

#

Unless you want the new features ofc

robust ginkgo
#

and I'm not gonna guess it

hybrid spoke
#

just change 1.20.6 to 1.21

#

and reload

proven ocean
#

1.21-R0.1-SNAPSHOT

robust ginkgo
#

oh it is that simple

dense oracle
river oracle
robust ginkgo
#

Did they change how recipes are made or something?

#

It doesn't work anymore when I update to 1.21, but I also don't get any errors.

#

Or am I having a paper issue?

slender elbow
#

well, does it work on spigot?

robust ginkgo
#

one way to find out

#

why is installing spigot so slow lmfao

blazing ocean
#

bc you need to build the entire thing yourself

robust ginkgo
#

oh right I forgot

sacred mountain
#

Anyone got this issue?

#

reset my chrome cache too

#

Can't do anything at all

#

Just keeps verifying over and over again

carmine mica
#

yeah, I get that a lot, its annoying

blazing ocean
#

same

remote swallow
#

turn ur vpn off if you have one

sacred mountain
#

and when i do load in

#

it's just this

blazing ocean
#

kek

sacred mountain
#

and it's been like this for weeks

#

Can't even use spigot anymore

carmine mica
#

I don't get that... but I do get the re-verifying over and over

sacred mountain
#

It just started happening randomly

#

i refreshed the page and suddenly it's just raw html

#

i paused all adblockers and antivirus for it too

sacred mountain
#

works on other devices in my house

#

just not chrome

#

other browsers work too

robust ginkgo
#

I waited so long for a 1.20.6 build to be built

#

I needed 1.21 ffs

carmine mica
#

probably a faster way to know if you are doing smth wrong

robust ginkgo
#

oh there we go

#

I can't show every class in my project, but BlockItemPair is just a container (or wrapper, idk what you call it) for custom item data and block data.

private void democracyBlockRecipe() {
  BlockItemPair itemData = itemPairMap.get("democracy_station");
  ItemStack item = new ItemStack(itemData.itemMaterial);
  item.setItemMeta(itemData.itemMeta);

  ShapedRecipe recipe = new ShapedRecipe(new NamespacedKey(this, "democracy_table_recipe"), item);
  recipe.shape(
    "   ",
    "SBS",
    "SSS"
  );
  recipe.setIngredient('S', Material.SPRUCE_PLANKS);
  recipe.setIngredient('B', Material.BOOK);

  Bukkit.addRecipe(recipe);
}
#

tell me if you need more tho

carmine mica
#

oh I think that was an issue just fixed on spigot that hasn't been upstreamed to paper yet. You can fix it in the mean time I think by removing that first line of the shape

#

so it can be crafted in either the top 2 or bottom 2 lines

#

I think that's what this is.

robust ginkgo
#

that sounds like a very stupid bug

#

I'll try

carmine mica
#

it had to do with vanilla changing how spaces were handled in recipes I think

#

ideally your recipe shapes shouldn't ever have whole rows or columns that are spaces

robust ginkgo
#

I think I just wasn't sure if it was going to be shapeless or shaped when I made the recipe.

#

And it worked, so I just left it in there

#

man I'm listening to 2 different minecraft soundtracks at the same time and I'm going crazy because of it

river oracle
#

ideally I want this entire thing to be something both paper and spigot can agree on

icy beacon
sacred mountain
#

mac

icy beacon
#

it'll reload the site and reset some cached stuff

icy beacon
robust ginkgo
icy beacon
#

command+something+R

sacred mountain
sacred mountain
#

i've refreshed it and even reinstalled chrome

#

I've cleared my cache and all other data too

#

nothing

#

restarted router

icy beacon
#

well i'll be damned

sacred mountain
#

no adblocks and no vpn

#

dynamic IP is the only thing that sounds like it could affect it?

#

i don't have a static

robust ginkgo
#

and now I can't even test anything because some dependency doesn't feel like working

#

amazing

pseudo hazel
#

yup

#

update it

#

to 1.9.5

robust ginkgo
#

You also use that?

pseudo hazel
#

anvilgui I mean

#

I did

robust ginkgo
pseudo hazel
#

until I didnt and just switched to packetevents

robust ginkgo
#

it is 1.9.5 :/

pseudo hazel
#

not the most optimal but it works without dependencies now

#

hmm

#

weird

robust ginkgo
#

Is there a better way to get string inputs from a player?

pseudo hazel
#

clean maybe

#

no

#

there is no other way other than chat

slender elbow
#

chat? lol

#

books if you're feeling fancy

pseudo hazel
#

depending on the flow of your plugin might be pretty annoying

sacred mountain
pseudo hazel
#

how do you get input from a book

sacred mountain
#

you don't

robust ginkgo
#

I'm sure they won't cheat

sacred mountain
#

.

slender elbow
#

yeah?

#

ask them pretty please to open the book and write their input

pseudo hazel
#

lmao

sacred mountain
#

or just... have a chat prompt

pseudo hazel
#

I mean that is fancy

sacred mountain
#

and autofill the existing one

#

in the chat bar

pseudo hazel
#

you werent lying

slender elbow
#

chat is limited to 256 chars :^)

sacred mountain
#

and let them edit it

sacred mountain
slender elbow
#

you never know ........

worthy yarrow
#

Everyone uses chat prompts, no one uses books

pseudo hazel
#

and everyone uses anvils

slender elbow
#

and signs

sacred mountain
#

just use chat

pseudo hazel
#

oh and signs yeah

slender elbow
#

just use chat

#

conversation api falling apart as we speak

worthy yarrow
#

Idek what a conversation is man

#

I just speak words and hope they fit with the context

pseudo hazel
#

if all you need is a chat string from thw player just write it yourself..

sacred mountain
#

just prefill their chat

#

like their input bos

#

box

#

and let them edit it

robust ginkgo
#

I'm confused

sacred mountain
#

when a player types a message in chat, you know that input box right?

robust ginkgo
#

yeah?

sacred mountain
#

just put the text you want them to edit inside that box

#

or do you just mean you want them to write something

#

then just use the chat? i dont get it

robust ginkgo
#

Person clicks button -> person has to enter a string (currently via an anvil) -> server handles received string

worthy yarrow
#

Chat prompt works perfect fine here

pseudo hazel
#

oh

#

yeah for sure

robust ginkgo
#

won't they be able to close and ignore it forever (only downside not being able to talk)?

worthy yarrow
#

AsyncChatEvent for this one then just event.getMessage for their input

pseudo hazel
#

in my plugin I have an inventory with a bunch of items and the player can filter them based on a string, so I have a button that pops up an anvil, which doesnt disrupt them from the menus

worthy yarrow
pseudo hazel
#

but even so, what gives

worthy yarrow
#

If they never put an input you could keep prompting them, cancel that whole interaction, etc etc there are couple ways to deal with that gracefully

sacred mountain
#

or 'exit'

pseudo hazel
#

in any case though, AnvilGUI is def updated for 1.21 so something must not be building right

robust ginkgo
#

oh wait it is

river oracle
#

I also have a small lib that's updated to 1.21 that allows you to open working containers and just use spigot events

pseudo hazel
#

yes 2 days ago

robust ginkgo
#

must have something to do with my horrible code then

sacred mountain
#

+1

robust ginkgo
#

or it's another paper issue

#

I'll check

pseudo hazel
#

yeah could be too

#

you never know with paper khajiit

robust ginkgo
#

10th experimental build rn

pseudo hazel
#

yeah is that latest?

robust ginkgo
#

not anymore

sacred mountain
#

i'm not up to date

#

i'm still on #4

#

thanks

robust ginkgo
#

it updated 26 minutes ago lmao

sacred mountain
#

its so difficult to find actual server hiring for development now

#

I've got so much free time and a decent skillset for minecraft stuff

#

but the last 3 servers i've applied for

#

its like i'm talking to an 11 year old that's self conscious about using pre-made plugins

robust ginkgo
#

there are server owners who are not like that?

robust ginkgo
#

it's a fucking paper issue

#

qeidjfsqkjfslqdhf

sacred mountain
#

I left after realising that "hiring" mean i wouldn't be paid, and that there were 7 other 'devs' on the staff team; their job was to configure plugins the owner downloaded

#

And he announced "looking for managers and co-owners" ??

river oracle
icy beacon
sacred mountain
#

I just want to program for a community

#

That isn't just a corrupt staff team

icy beacon
#

the staff team is basically the owner's friends who are completely incompetent in regards of anything administrative

sacred mountain
#

with the same skyblock, same bedwars, same skywars,

#

recreating hypixel etc

icy beacon
sacred mountain
#

I don't know if they followed up on it though

blazing robin
#

Hey guys, Is there anyway to deserialize itemstack fromItemstack::toSTaring? '

river oracle
#

Personally I'd just use ItemFactory but all you

#

?jd-s

undone axleBOT
blazing robin
#

ItemFactory ?

river oracle
#

https://hub.spigotmc.org/javadocs/spigot/org/bukkit/inventory/ItemStack.html#deserialize(java.util.Map)

remote swallow
#

why did you grave that

gilded forge
#

DARKNESS COMES

#

I MODIFIED DAMAGE SYSTEM AGAIN

#

hope no bug this time

blazing robin
tardy delta
#

yes

blazing robin
#

ItemStack{APPLE x 4, UNSPECIFIC_META:{meta-type=UNSPECIFIC, display-name={"italic":false,"color":"red","text":"test"}, custom-model-data=10005, internal=H4sIAAAAAAAA/xXHQQ7AIAgEwE0PjaWvJLAHD1Qi+n/TuY0AAumLUerO2XB1x53M/PN8GqxUI17btUbYHFnAATgjnbg4AAAA}}

#

When I saved my itemstack with itemstack.toString the data looks like this

river oracle
#

or you could use ItemStack#serialize ๐Ÿ˜ญ

blazing robin
#

oh

blazing robin
gilded forge
#

btw

#

Is there a better way to put custom kit data into the database?

#

Wouldn't it be nice if I converted the entire Inventory into a string and stored it in the database?

gilded forge
#

Thats why i m asking for a better way than this

#

๐Ÿ˜ญ

remote swallow
#

byte array

tardy delta
#

congrats you reinvented a string

shadow night
#

Lmao

tranquil glen
#

could someone help me figure out how to set a skull item meta to a head from a website?\

#

i want this one specifically

blazing ocean
#

check the command on that one

#
/give @p minecraft:player_head[minecraft:custom_name='{"text":"Black Question Mark","color":"gold","underlined":true,"bold":true,"italic":false}',minecraft:lore=['{"text":"Custom Head ID: 8767","color":"gray","italic":false}','{"text":"www.minecraft-heads.com","color":"blue","italic":false}'],profile={id:[I;682268746,544686284,-1914182079,-1376598889],properties:[{name:"textures",value:"eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNDZiYTYzMzQ0ZjQ5ZGQxYzRmNTQ4OGU5MjZiZjNkOWUyYjI5OTE2YTZjNTBkNjEwYmI0MGE1MjczZGM4YzgyIn19fQ=="}]}] 1
#

so you would have to create a game profile with those texture values

tranquil glen
#

I don't have access to a GameProfile object

#

do i need to add something to my pom.xml?

eternal night
#

spigot has a player profile API for this

tranquil glen
#

ohh cool

hollow vessel
#

Hi! I'm wondering if is it possible to display player with packets Spyglass effect?

cinder abyss
#

Guys, that's crazy, can we really register custom blocks (even crops) for server side since 1.21?```java
public static final Block ADAMANTIUM_ORE = registerBlock("adamantium_ore",
new ExperienceDroppingBlock(UniformIntProvider.create(2, 5), Blocks.STONE.getSettings().strength(2f)));

public static Block registerBlock(String name, Block block) {
return Registry.register(Registries.BLOCK, Identifier.of(Things.MOD_ID, name), block);
}```

#

everything use net.minecraft (no nmc)

blazing ocean
#

bro discovered vanilla

#

bro discovered registries

cinder abyss
blazing ocean
#

(net.minecraft.registry my beloved)

blazing ocean
undone axleBOT
worldly ingot
#

Yes, you can register them server side, but the client's gonna panic

cinder abyss
worldly ingot
#

Client has no clue what to do with it

cinder abyss
blazing ocean
#

client just goes to fuck itself

#

and dies

cinder abyss
#

I think

#

humm

blazing ocean
#

if you have a modded client

#

it might work

cinder abyss
#

just passing the custom block to the client as another block which is vanilla

blazing ocean
#

i haven't actually tested that out yet

cinder abyss
blazing ocean
#

one in a thousand chance

#

randomly occurs in server tick

cinder abyss
#

yeaaahhhh

tranquil glen
#

how do I get the GameProfile object?

#

it just had a red line under it for me lol

#

ohhh i need authlib

river oracle
#

if its for PlayerSkulls just use the PlayerProfile API

tranquil glen
#

the PlayerProfile API doesn't seem to have when I need

river oracle
#

it should have everything you need what are you trying to do?

tranquil glen
river oracle
#

you can do that with the PlayerProfile API

#

one second let me get the blog post

tranquil glen
#

okay

river oracle
#

Spigot 1.18.1 added the new PlayerProfiles class, which finally allows us to use custom heads without needing any reflection! You can obtain them as normal items, or actually place them down into the world. Iโ€™ll show you how both works: Creating a new PlayerProfile First, we gotta create a new PlayerProfile object. To do so,...

tranquil glen
#

cool! thank you so much

upper hazel
#

how unban oflinePlayer...

#

i not found methods for it

#

adress, setBan, etc

shadow night
#

banlist?

icy beacon
#

getBanList<PlayerProfile> or smth and then use offlinePlayer.getPlayerProfile().update() in the pardon() method (off the top of my head idk if this is all correct)

#

or if you are for some reason using a name ban list (which you shouldn't) it's analogous but even easier

upper hazel
#

Cannot resolve method 'pardon(CompletableFuture<PlayerProfile>)'

#

Bukkit.getBanList(BanList.Type.IP).pardon(offlinePlayer.getPlayerProfile().update());

icy beacon
#

join the update ig

#

or maybe you don't even need to update it

upper hazel
#

what

icy beacon
#

you either getPlayerProfile().update().join() or just getPlayerProfile()

#

istg every time you ask for help you just copy the code and not learn anything

upper hazel
#

method use " void pardon(@org.jetbrains.annotations.NotNull T t);" or @java.lang.Deprecated
void pardon(@org.jetbrains.annotations.NotNull java.lang.String s);

#

what the fuck this 't'

icy beacon
#

this is a generic.

upper hazel
#

i know

#

but were i can get this from ofline player

icy beacon
#

Bukkit.getBanList(BanList.Type.PROFILE)

#

the signature of BanList is BanList<T>

#

hence T will turn into a PlayerProfile

icy beacon
blazing ocean
#

spigot's banlist is so silly

icy beacon
#

i spin up my own ban system on my server

blazing ocean
#

same

jagged quail
#

@blazing ocean ur next

blazing ocean
#

???

jagged quail
#

:)

upper hazel
#

i not can find method what can give this "t" from profile

#

or from oflline player

#

i can ban only ONLINE player usage adress

#

but i need ban offline

icy beacon
#

what are you having fucking trouble with

river oracle
#

reminder that Bukkit#getOfflinePlayer can do a web request so be careful!!

icy beacon
#

update() probably also does (idk what it does, i've never once interacted with playerprofiles)

chrome beacon
#

Yeah it does

upper hazel
#

oh wait

icy beacon
upper hazel
#

i not has this

icy beacon
#

what version are you coding against

upper hazel
#

1.20.1

#

oh sorry

slender elbow
#

that won't work in java, if anything it'd be Bukkit.<PlayerProfile>getBanList(...)

blazing ocean
#

that's so silly

#

java moment

icy beacon
upper hazel
#

now this work thanks

#

this generics confused
me

icy beacon
#

skill issue

blazing ocean
#

zbll you are the rudest person in this channel ngl

#

like you're chill in all other channels

#

kekw

icy beacon
#

my mongodb just assumes a database name

#

that i don't provide anywhere

#

i've been trying to solve thjis for at least 3 hours

upper hazel
blazing ocean
#

stfu

#

now i'm rude too

icy beacon
#

if you so love java you could've figured out to maybe place the generics where they usually are in java signatures

icy beacon
worthy yarrow
#

I need trooper to spoon feed me some reflection tricks

upper hazel
worthy yarrow
#

Me too, mistakes cannot be made unless you want your fingers chopped off

upper hazel
icy beacon
icy beacon
#

how come i speak english significantly better thanb you

alpine urchin
slender elbow
#

zzzzzzz

blazing ocean
#

lmao

alpine urchin
#

iโ€™ve been reflecting on my time that i started reflection

worthy yarrow
blazing ocean
#

dfu is the solution to everything

#

have you tried using dfu

upper hazel
icy beacon
alpine urchin
#

thanb

worthy yarrow
blazing ocean
#

dfu

#

my love

#

datafixerupper

alpine urchin
#

whats coinsengine

#

idk what these things are

blazing ocean
#

the mojang serialization lib โค๏ธ

chrome beacon
#

Pure generic hell

worthy yarrow
#

CoinsEngine uses vault as its backend for custom currency management

alpine urchin
#

okay

worthy yarrow
#

So I was thinking maybe I can pull what I need from vault? But havenโ€™t figured that

alpine urchin
#

If you have the JAR you can also depend on it as an external jar

#

within Maven or Gradle

chrome beacon
#

^ install it to your local maven repo

alpine urchin
#

since you said it has no repo

upper hazel
chrome beacon
#

Ideally you'd just use vault

alpine urchin
#

yeah

worthy yarrow
#

Hold on give me like 3 mins Iโ€™ll show you guys

blazing ocean
chrome beacon
#

I mean the source

blazing ocean
#

o yeah it is

chrome beacon
#

The usage can be quite nice when you get it working

upper hazel
#

this kotlin?

blazing ocean
#

yea

upper hazel
#

Or

#

oh

icy beacon
#

Exception in thread "main" java.lang.IllegalArgumentException: databaseName can not be null
Bitch

chrome beacon
#

Time to go for a walk or smth

#

Take a break

icy beacon
#

12:39 am

alpine urchin
#

Who

icy beacon
#

i've been trying to get this working since maybe 7 pm

alpine urchin
#

oh

chrome beacon
#

Sleep

alpine urchin
#

ik the issue

#

oh gtg

icy beacon
#

for 4 entire hours this bitch was pulling environmental variables from a file that i didn't even provide to it

blazing ocean
icy beacon
#

and now that i've changed some names

icy beacon
#

THAT'S WHAT I'M SAYING?

alpine urchin
#

ik this issue

#

but no time rn

blazing ocean
#

o yeah that's dumb

alpine urchin
#

ur not gonna get mad?

#

lol

icy beacon
alpine urchin
#

seemed like you were throwing all kinds of words before lol

#

so idk

icy beacon
#

yeah when it was fucking stupid

#

this is just obvious attempt to make me mad

worthy yarrow
chrome beacon
#

Use vault

#

See if that works

icy beacon
#

wanna know the best part about this stacktrace

#

this is line 80

#

that's it

#

how in the flying fuck is it calling this error

alpine urchin
#

I love Java Reflection (random remark)

icy beacon
#

same

worthy yarrow
# chrome beacon See if that works

I'm not sure how to derive the custom currency tho, vault has a #getBanks method that returns a list of banks and I assume that's giving me the list of all currencies? If so then all this reflection is quite useless kek

alpine urchin
#

I remember some guy wanted an issue fixed in some closed source anticheat and I was able to fix it in a couple of lines

#

Best deal ever

worthy yarrow
#

Prolly should kek

worthy yarrow
#

Never had to do this before so sorry for the ping haha

ivory sleet
blazing ocean
#

that is true

ivory sleet
#

Well the interop is shit so :(

blazing ocean
#

??

#

yeah it can be

upper hazel
#

nevermind

blazing ocean
worthy yarrow
icy beacon
blazing ocean
ivory sleet
blazing ocean
#

so gl with that lol

worthy yarrow
#

You've never heard of vault???
Whatttttt

blazing ocean
ivory sleet
#

Its the spigot economy api thing

blazing ocean
#

idk i don't use pre-made plugins

upper hazel
blazing ocean
#

i just reinvent the wheel

upper hazel
#

what this

worthy yarrow
#

Con do you much about vault?

ivory sleet
#

I used it back long time ago

#

But im a bit too lazy to read up on all that, u mind restating ur issue?

icy beacon
worthy yarrow
#

Using reflection to get coinsEngine methods, but coinsEngine backend uses vault so perhaps it'd be easier/better to just use vault

icy beacon
ivory sleet
#

Why is there so much reflection ๐Ÿ˜ญ

worthy yarrow
#

CoinsEngine has no hook D:

ivory sleet
#

Oh noob plugin

icy beacon
#

reflection is love reflection is life

worthy yarrow
ivory sleet
#

well ru sure ur reflection works correctly even?

worthy yarrow
#

uh

#

no kek

#

The try/catches never print anything so I'm not 100% sure they're ever beeing invoked

ivory sleet
#

Maybe u just wanna debug that first and foremost

#

:,)

worthy yarrow
#

Yeah its bad

#

I mean I wasn't sure what else to do but Oliver just said install to local maven repo, I just don't know how

#

but bottom line would just be better to use vault

ivory sleet
#

so why ru not using vault?

worthy yarrow
#

As far as I can tell, I can only affect the regular money

ivory sleet
#

It has special money?

worthy yarrow
#

CoinsEngine gives server ops the ability to make custom currencies

#

Which in my case would be apples

#

I think perhaps getBanks could get me a playerbank that holds this currency?

ivory sleet
worthy yarrow
#

of coinsEngine yes

ivory sleet
worthy yarrow
# worthy yarrow

Also worth mentioning, these are vault methods not coinsEngine

ivory sleet
#

well I think u could just add the jar to ur compile time classpath

#

Like basically add it as a provided(maven) dependency (or compileOnly w gradle)

#

Since they have an api class

worthy yarrow
#

I have no clue how to do this kek but yeah I was thinking that'd be easier too, I was just hoping since they use vault for the backend I could just get what I need from vault

#

But from what I've seen of getBanks returning a list of strings... Idk if thats the name of the bank or the currency or what

worthy yarrow
#

My point was just that their backend uses vault so in theory it should be easier / simpler to just derive what I need from vault right?

twin venture
#

i think so yes

#

what are you trying to do again?

worthy yarrow
#

And this is only because CoinsEngine has no documentation for a proper hook

slender elbow
#

i mean idk if "easier", if anything using their specific apis will provide you more control, but using vault you can cater to more economy plugins rather than just that one specifically

worthy yarrow
#

Thatโ€™s kind of the point as well, something further down the line

twin venture
#

yeah use vault its better

worthy yarrow
#

Right now itโ€™s hardcoded to just handle a specific servers currencies

#

But Iโ€™ve been using vault for the regular Econ stuff but now they want their regular money transferable to their premium currency which is handled by CoinsEngine

#

My issue is just the fact I donโ€™t know how to use vault to get the premium currency

slender elbow
#

don't think vault has a concept of currencies

jovial orchid
#

?interaction

#

fk

echo basalt
#

?interact

#

maybe

#

?playerinteract

#

bruh

#

?interactevent

undone axleBOT
#

The PlayerInteractEvent may be called once per hand. If you only want code to be executed once, you can check the result of https://hub.spigotmc.org/javadocs/spigot/org/bukkit/event/player/PlayerInteractEvent.html#getHand(), then decide functionality.

For example, only executing code if the main hand was used:

@EventHandler
public void onPlayerInteract(PlayerInteractEvent event) {
    if (event.getHand() != EquipmentSlot.HAND) { // * if the hand used is NOT the main hand:
        return; // do not progress past this point  |
    }
    // provide functionality
}
blazing ocean
#

?interactevent

echo basalt
#

yay

undone axleBOT
#

The PlayerInteractEvent may be called once per hand. If you only want code to be executed once, you can check the result of https://hub.spigotmc.org/javadocs/spigot/org/bukkit/event/player/PlayerInteractEvent.html#getHand(), then decide functionality.

For example, only executing code if the main hand was used:

@EventHandler
public void onPlayerInteract(PlayerInteractEvent event) {
    if (event.getHand() != EquipmentSlot.HAND) { // * if the hand used is NOT the main hand:
        return; // do not progress past this point  |
    }
    // provide functionality
}
blazing ocean
#

fuck

worthy yarrow
robust ginkgo
#

How do I prevent custom item names from appearing in italics? It looked fine in 1.20.6.

worthy yarrow
#

Getbanks is in vault

#

Not coins engine, sorry

slender elbow
#

yes, which the economy plugin would have to implement

worthy yarrow
#

Oh

slender elbow
#

coinsengine does not support multiple banks

#

that's their impl of vault's econ api

#

and looking at the src it seems like you can configure one currency to be the "vault currency"

robust ginkgo
jovial orchid
#

is there any way to check if the player is clicking with its "mainhand"

#

iam getting dubble events

worthy yarrow
#

Right ok misunderstanding, well currently my reflection isnโ€™t working so gonna have to figure that

slender elbow
#

what do you need reflection for anyway

worthy yarrow
#

Since coins engine has no hook and I donโ€™t know how to do it any other way

slender elbow
#

you could install it in your maven local and depend on that artifact in your project

worthy yarrow
#

Thatโ€™s the one I gotta look up

slender elbow
#

seeing it's a maven project you could just mvn install to put it in local

#

well, assuming you don't need any extra dependencies in your local that it depends on :^)

tranquil glen
#

anyone willing to hop in the vc and help me figure out this stack trace? should be pretty simple

river oracle
#

?paste

undone axleBOT
river oracle
#

show the stacktrace

tranquil glen
#

well i know where the error is occuring, and i tried to fix it

worthy yarrow
tranquil glen
#

but i dont know why

tranquil glen
#

there shouldn't be anything null being passed through

river oracle
#

clearly there is though

tranquil glen
#

thats line 131

river oracle
#

getPlaceName is null

tranquil glen
#

shouldnt be

river oracle
#

but it is

tranquil glen
#

because the object i created has it explicitly in there

river oracle
#

nice

#

so its null

tranquil glen
slender elbow
#

you are calling setup itemmeta before setting the place name

robust ginkgo
#

not the method

dusty totem
#

Hey, Is this last version 1.19-R0.1-SNAPSHOT of bungeecord-api?

tranquil glen
#

i've tried the method and the property

#

neither work

#

i dont understand how it could be null

tranquil glen
#

OH

#

okay

river oracle
tranquil glen
#

wonderful

gentle inlet
#

Does anyone know what this error means I get this when shutting down my server with my plugin installed:

[22:14:38 WARN]: Exception in thread "Thread-8" java.lang.NoClassDefFoundError: org/h2/api/ErrorCode [22:14:38 WARN]: at org.h2.message.DbException.getJdbcSQLException(DbException.java:475) [22:14:38 WARN]: at org.h2.message.DbException.get(DbException.java:212) [22:14:38 WARN]: at org.h2.mvstore.db.Store.close(Store.java:402) [22:14:38 WARN]: at org.h2.engine.Database.closeOpenFilesAndUnlock(Database.java:1261) [22:14:38 WARN]: at org.h2.engine.Database.closeImpl(Database.java:1225) [22:14:38 WARN]: at org.h2.engine.Database.close(Database.java:1144) [22:14:38 WARN]: at org.h2.engine.OnExitDatabaseCloser.onShutdown(OnExitDatabaseCloser.java:85) [22:14:38 WARN]: at org.h2.engine.OnExitDatabaseCloser.run(OnExitDatabaseCloser.java:114) [22:14:38 WARN]: Caused by: java.lang.ClassNotFoundException: org.h2.api.ErrorCode [22:14:38 WARN]: at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:445) [22:14:38 WARN]: at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:592) [22:14:38 WARN]: at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:525) [22:14:38 WARN]: ... 8 more

digital nova
#

If i want to look through the NMS code to see what i need to use, would i just read the classfiles from the remapped jar, or is there a better way?

remote swallow
#

could use something like mache, control click nms classes or use control shift f it

hazy parrot
gentle inlet
#

I quite new btw

digital nova
#

uhhhhhhhhh if h2 is a library you use in your plugin, it should be present during runtime

sullen marlin
#

without seeing code I would guess you aren't closing your database onDisable

#

make sure to close it onDisable and wait for it to close

remote swallow
#

md does craftbukkit or spigot handle input scanning for spigot

gentle inlet
sullen marlin
#

onExitDatabaseCloser.onShutdown suggests to me its only closing because the server stopped, which is way too late (and improper)

#

if you don't have a database then what is H2 doing

hazy parrot
#

Do you have any other plugin

#

Aside from your own

vernal oasis
#

How can you get the action of using number key to hotbar swap from inventory to container?
like pressing 4 to take item from hotbar into a chest

sullen marlin
#

because spigot aint use or include H2 by itself

sullen marlin
remote swallow
#

ty

gentle inlet
#

Well my plugin just adds a simple thing if a item is named jonnite you can click it to do abilities which has a cooldown

digital nova
#

no like do you have any other plugons installed?

#

Because if you aren't using h2, what is?

sullen marlin
#

if you aren't using H2 then that exception isn't related to your plugin

gentle inlet
digital nova
#

ima guess and say its luckperms

#

considering they use h2

young knoll
#

Luckperms uses h2 by default

#

So probably

gentle inlet
#

So do I need to download something to stop the error or..

sullen marlin
#

sounds like a luckperms bug

vernal oasis
#

How can you get the action of using number key to hotbar swap from inventory to container?

Like pressing 4 in a chest to move an item from hotbar into a chest

young knoll
#

InventoryClickEvent

sullen marlin
digital nova
#

Also just to clarify, spigot has no API to deal with world storage right, that something i'd have to do with NMS unlike world gen or something of that regard

vernal oasis
#

Yeah I'm trying that, not working. Might be doing it wrong.

digital nova
#

I mean if you send the code if something is wrong it could be found

vernal oasis
#

I mean it's debug code of simple

int slot = e.getHotbarButton();
                p.sendMessage("hb: " + e.getHotbarButton());
                p.sendMessage("slot: " + slot);
young knoll
#

What is โ€œworld storageโ€

digital nova
#

How the world is saved to the disk

young knoll
#

What about it

digital nova
#

I mean i want to hook into world save and save it in my own format

#

so idk if i need to touch NMS to do that

#

can't find anything relavent in the spigot api but

hazy parrot
#

What's wrong with current world saving format

digital nova
#

Right so let me explain my usecase for this rq

#

Basically, i'm working on a plugin that will store the world in 16x16x16 cubes
This is because i'm trying to store an infinite height world, and the idea is at any given time, we can load or save slices on the y-axis of this world
While we could use multiple anvil worlds as slices, the issue is that we want slices to be arbitrary ranegs of y values, so using a custom world format to store cubes does the job
My goal here is to create a plugin that lets me save a world and load a world from this savefile format, with arguments specifying which range of y values i'm loading (anywhere from -64,320 to -1000,1000)
(The reason i need infinite height is because this is for a project where we build the earth in minecraft, so you can imagine default height limit is an issue)

vernal oasis
vernal oasis
sullen marlin
vernal oasis
#

uh, there any 1.20 eventdebuggers?

sullen marlin
#

I assume any would work

digital nova
#

I'm assuming i have to but if there is a chance i can avoid

young knoll
#

Pretty much

digital nova
#

ok yeah checks out

tranquil glen
remote swallow
#

can i question gooncraft

tranquil glen
#

lol

#

just the discord server name, not gooning

#

here's what an entry in the yml file looks like

digital nova
#

It is what it says lol

#

the tag at the top is not allowed

tranquil glen
#

Okay interesting

#

I think it's because I'm storing an object directly

digital nova
#

and idt it lets you customize the LoaderOptions

#

Probably just want to deal with yaml loading yourself in such a case

tranquil glen
#

yeahhhh ur right

sullen marlin
#

See ConfigurationSerializable

tranquil glen
#

i dont wanna do all that tho so i may just have to re-structure some of it

tranquil glen
#

as in, how i could use it

#

i see that it creates a map representation of an object

#

actually wait nvm i think i can figure this out

sullen marlin
#

The javadocs should cover it

digital nova
sullen marlin
#

You just put the fields you want in the map, and have a constructor which takes a map and reads it

tranquil glen
#

okay, could you possibly help me figure out how to implement it with this?

echo basalt
#

That static map ow

tranquil glen
#

๐Ÿ‘€

#

im learning

sullen marlin
#

Make a new LinkedHashMap, put the stuff you want to save in it, return

tranquil glen
#

yes but im not exactly understanding what the structure of the map would be

#

like

#

here one sec

echo basalt
#
Map.of(
  "name", this.name,
  "icon", this.icon,
  "location", this.location,
  ...
)
#

type deal

tranquil glen
#

ohhhhh

#

okay i see

digital nova
#

How does one get build-tools to output the build directory with all the craftbukkit files lol, i dosen't happen for me and i can't find a flag for it

vernal oasis
#

the InventoryClickEvent doesn't fire when you numkey an item from hotbar -> container, but does container -> hotbat...?

digital nova
#

I figured it out

#

i was looking in the target dir not the dir with the buildtools jar

young knoll
#

Is action bar the only suitable option for rendering stuff thatโ€™s anchored to the bottom of the players screen

echo basalt
#

Action bar is the "ideal" way for that

#

You could also use things like titles but meh

digital nova
#

Wait can NMS code (i'm changing the functionality of ServerLevel), call plugin methods or will it nuke itself

young knoll
digital nova
slender elbow
#

I mean that's kinda what events are for

#

the server calling plugins code

nova notch
#

Wait wait I read it wrong

drowsy helm
#

even still theres no other ui component thats anchored to the bottom

nova notch
#

Yes I realize

#

Whoops

vernal oasis
#

6 new lines then your text on the title trolley

nova notch
#

I don't think new lines work on titles

#

I wish

vernal oasis
#

empty string?

nova notch
#

Same as action bar, can't be vertically offset (idk about custom fonts tho haven't tried that)

vernal oasis
#

wait, how do you do action bar messages?
it's not p.sendActionBar("message") is it?

vernal oasis
young knoll
#

Yeah vertical offset isnโ€™t a problem, we have fonts

#

Bossbars would be good since you can have multiple, but they are too anchored

nova notch
#

You can use the sidebar to go slightly lower but not quite as low as the action bar, and it can have any amount of horizonal offset

#

It's kind of like in the middle

#

Other than that then I guess bossbar is the only other option

young knoll
#

Height isnโ€™t an issue, we have font ascent magic for that

#

The issue is where itโ€™s anchored

nova notch
#

Font ascent magic?

drowsy helm
#

Big Badguy

nova notch
#

You can change height on sidebar and stuff too?

young knoll
#

Yeah

nova notch
#

Do you have a link I can read?

#

I did not know this

vernal oasis
#

I just tried debugging, for 2 hours... I forgot to register the listener .-.

umbral ridge
#

That sucks

vernal oasis
#

Is there a way to get shield break event, or at least shield lower?

blazing ocean
#

always a bit of a pain

nova notch
#

idk my friend made it

#

ive heard its not very enjoyable though from him

blazing ocean
#

they're fun once you got them working

#

negative spaces and figuring them out is the hardest part

torn shuttle
#

there's no sonarlint equivalent that uses ai to autoimplement its own suggestions is there

torn shuttle
#

how do you use the scoreboard without making it display scores? I forgot

nova notch
#

uh

#

it was number format or some shit

#

oh nvm i couldnt figure it out so i just used commands...

#
Scoreboard scoreboard = p.getScoreboard();
Objective objective = scoreboard.getObjective("test");
if (objective == null) {
    objective = scoreboard.registerNewObjective("test", Criteria.DUMMY, Component.text("test"));
}
objective.getScore("test").resetScore();
for (int i = 0; i < 5; i++) {
   objective.getScore("test"+i).setScore(i);
}
objective.setDisplaySlot(DisplaySlot.SIDEBAR);
// IDK HOW TO DO THIS SHIT, INSTEAD USE COMMANDS
// scoreboard objectives modify [your objective] numberformat blank
objective.numberFormat(NumberFormat.noStyle());
p.setScoreboard(scoreboard);```
heres this if u wanna test it
torn shuttle
#

oh

#

guess they ended up adding something like that

#

neat

nova notch
#

that numberFormat did not work for me btw i was just messing around with it

#

see if you can get it to work

#

actually i just realized this may be paper oops

torn shuttle
#

seems like it it's not in the api as far as I can tell

nova notch
#

well there you go another reason to use paper ig

#

just use the command then?

buoyant viper
elder dune
#

This is probs going to be the most stupid question xD

But I'm currently making a plugin to where when the player mines
block with said Pickaxe it will insta put the item in too their invin and
stop the item from dropping on the floor. (This all works)

But my issue is how would I make it so if the players inventory is full
this (includes if say a stack of dirt is 64 but if its 63 its not full for that block)
will make the items drop on the floor instead.

pseudo hazel
#

inventory.addItem returns a map of items that didnt fit

mellow edge
#

so you wanna check if the slot is available for the mined block?

elder dune
# mellow edge ^^^^ https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/inventory/Inventory.htm...

So would something like this work


                            if (p.getInventory().isEmpty() == true){
                                //This grabs the item the user mined
                                Collection<ItemStack> drops = e.getBlock().getDrops();
                                //This gets the item dropped
                                for (ItemStack item : drops) {
                                    p.getInventory().addItem(item);
                                    e.setDropItems(false);
                                }
                                return;
                            }

                            if (p.getInventory().isEmpty() == false){
                                p.sendMessage(Main.color("&cInvintoy full"));
                                e.setDropItems(true);
                                return;
                            }```
dusty totem
#

Hey, I can't find proper repo for bungeecord-api package: 1.21-R0.1-SNAPSHOT it should be the net.md-5?

mellow edge
# elder dune So would something like this work ```java if (p.g...

isEmpty will return whether the whole inventory is empty, what you want to do is to call the method PlayerInventory#addItem, and get HashMap<Integer, ItemStack> and if its length is 1 (in your case) then the item couldn't be added to the players inventory, thus you want to drop it on the ground.

#

so:

Collection<ItemStack> drops = e.getBlock().getDrops();
for(ItemStack drop : drops) {
    HashMap<Integer, ItemStack> leftItems = player.addItem(drop);
    if(leftItems.size() == 1) //we should drop this item
}
tame wolf
#

Heya! How would I go about killing a dropped item?

mellow edge
#

either way, don't kill it. just listen to item drop event and clear the list of dropped items

dusty totem
tame wolf
sullen marlin
#

Entity#remove?

tame wolf
#

That kills the entity?

mellow edge
#

yea...

#

but why tho?

tame wolf
#

Because I need to kill the entity since if I use remove shulkers don't drop the items inside of them

mellow edge
#

so you want to kill the shulker or drops?

dusty totem
#

Is this one that you mentioned?

tame wolf
nova notch
#

Didn't you just say you wanted the items in the shulker to drop I'm confused

smoky anchor
eternal night
mellow edge
#

does anyone know the difference between Special Source and Special Source 2?

dusty totem
mellow edge
#

because SS2 is used to apply mappings and SS1 for access transformers

eternal night
elder dune
dusty totem
# eternal night yes, that method would be great for that

I guess I don't understand this description:
This is a client-side transfer - the host and port should not specify a BungeeCord backend server.For me, it means I should not use BungeeCord Host and Port, in other words, I should give Spigot IP and Port, or is it a misunderstanding?

eternal night
#

no "backend" is a spigot server

#

you should not have a client connect directly to a spigot server using that method

#

as that would skip the proxy and well, explosion

mellow edge
dusty totem
eternal night
#

Yea sure

dusty totem
eternal night
#

just input the host and port of a different proxy (not minecraft server) and you are good NODDERS

#

(or a MC server that is not managed by a proxy)

dusty totem
wet breach
#

there is no requirements for anything to actually use srv or pull such records

twin venture
#

do i need to make a InstantCreator for ItemStack if iam using gson? and redis?

#

cuz its not reading it

#

oh i see why its removed from the config after each restart

#

interesting ..

#

i try to make items serlizable idk what's wrong when ever a server restart it does not save it to the file ..

#

it should ..

#

it should send this no?

brittle geyser
#

how to use component in BookMeta

sullen marlin
#

BookMeta.spigot()....

twin venture
#

https://paste.md-5.net/sabeyefoze.js

i have a problem with something itemstacks is not being sent to redis ..

how the system works:

  • lobby server load the kits.yml , add kits into map
  • map is set to redis
    systemCheckProtocol.getProxyRedisProtocol().getState().set("kits",kitsmap);
    systemCheckProtocol.getProxyRedisProtocol().pushAll();

it sent all the data but not the itemstacks ..

tardy delta
#

are you really opening your redis connection again for every entry?

twin venture
#

the system is kind of complicated

vernal oasis
brittle geyser
real lagoon
#

org.bukkit.block.Crafter is a BlockState

#

Wtf, the message disappeared

remote swallow
brittle geyser
#
            int i = 0;
            TextComponent[] components = new TextComponent[pageSection.getKeys(false).size()];
            for (String pageKey : pageSection.getKeys(false)) {
                TextComponent component = new TextComponent(ColorUtil.process(pageSection.getString(pageKey + ".text", "ะคะฐะนะป config.yml ะฝะต ะฝะฐัั‚ั€ะพะตะฝ.")));
                component.setHoverEvent(new HoverEvent(HoverEvent.Action.valueOf(pageSection.getString(pageKey + ".hover-action", "SHOW_TEXT")),
                        new Text(ColorUtil.process(pageSection.getString(pageKey + ".hover-text", "ะคะฐะนะป config.yml ะฝะต ะฝะฐัั‚ั€ะพะตะฝ.")))));
                component.setClickEvent(new ClickEvent(ClickEvent.Action.valueOf(pageSection.getString(pageKey + ".click-action", "CHANGE_PAGE")),
                        ColorUtil.process(pageSection.getString(pageKey + ".click-text", "ะคะฐะนะป config.yml ะฝะต ะฝะฐัั‚ั€ะพะตะฝ."))));
                HologramUsingBook.getInstance().getLogger().info("Component: " + component);
                components[i++] = component;
            }
            meta.spigot().addPage(components);
remote swallow
#

is your meta book meta

brittle geyser
#

yes

short drift
#

It seems damage() adds knockback.

#

How can I not do that?

#

Even event.getPlayer().playHurtAnimation(1); seems to add knockback.

dusty totem
#

@wet breach @eternal night
I have exception on client side on redirecting.

real lagoon
tardy delta
#

"than I expected" lol

short drift
brittle geyser
#

?paste

undone axleBOT
magic peak
#

hey i have problems with my dynmap

#

its like broken

#

it will just not fullrender

brittle geyser
pseudo hazel
#

?notworking

undone axleBOT
#

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

short drift
#

The problem is the character is being pushed out of the barbed wire - causing less than than I would like.

pseudo hazel
#

thats quite a bit of knockback

real lagoon
short drift
#

that does nothing.

pseudo hazel
#

what happens when you jump straight into it from above

real lagoon
short drift
#

๐Ÿค”

#

I mean, I could set velocity to 0, but I'd really like to avoid having to do that.

pseudo hazel
#

does that work then?

short drift
#

I'm sure it would work.

#

But it's not a great solution.

pseudo hazel
#

but you havent tried uwu

short drift
#

No, I have not tried. But there's no reason to assume that it wouldn't work.

real lagoon
short drift
#

Might still have problems.

pseudo hazel
#

there is also no reason to assume that cancelling the knockback event doesnt work

real lagoon
short drift
pseudo hazel
#

yeah exactly

#

maybe print something to see if the event gets called at all

#

because it does not look like normal knockback

short drift
#

It should be completely normal knockback.

#

Caused by:
event.getPlayer().damage(1.0, DamageSource.builder(DamageType.GENERIC).build());

smoky anchor
#

It really does not look like knockback, more like you're teleporting player

short drift
#

No, I just give the player damage.

smoky anchor
#

Does commeting the damage call out not cause this ?
Just that one call.

short drift
#

It's cobweb. I'm detecting movement in it -> give player damage.

#

That's it.

smoky anchor
#

That's not answering my question really

short drift
#

Yes. Commenting it out will not give player damage then.

smoky anchor
#

I am fairly sure you're either doing something wrong, or spigot has a bug.
causing damage with the /damage command does not deal kb I believe, can't try rn

short drift
#

I don't know if it's "knockback", but what ever it is called, I don't like it. It's moving the player.

#

Same thing happens with normal damage sources like zombie attacking, though.

#

I thought it was normal. I haven't touched MC in 8 years.

smoky anchor
#

yes, mobs do deal KB with the damage

wet breach
#

fire doesn't give knockback

short drift
#

Also, doing:
event.getPlayer().playHurtAnimation(1);
Has the knockback.

wet breach
#

but still gives you the damage effect

short drift
#

I will try that.

pseudo hazel
#

does fire res not block it then?

#

i mean you can test just to see

wet breach
#

res?

quiet ice
#

resistance

smoky anchor
#

The KB should not be dealt if the DamageSource does not specify either a location or an entity tho.
At least that's how I believe vanilla works.

pseudo hazel
#

fire resistance

wet breach
#

believe resistance reduces the damage taken but I am not sure