#help-development
1 messages Β· Page 273 of 1
How can I remove path from yaml with YamlConfiguration?
it would be fine
set it to null
unfortunately it does not work for whole section, only for property
set to null
why giving a player items after teleporting him to another world doesn't show the items?
even player.updateInventory() didn't help
doesn't show or player doesn't have them?
it does
you just set the section to null
and saveConfig()
^
still on the hashing issue huh nuker? hahaha
yes
i just passed english exam
and now going home
to write my own hashmap
good luck and congrats π
Quick one, does the WorldLoadEvent also trigger when the server enables ?
?jd-s
sorry read that wrong
I remember I had to implement both
yes.
got skemed
but u need to make sure ur plugin enables pre - world load
by discord bot
using ur plugin.yml
@tall dragon , that is most likely the issue, thanks π
alr while i'm on a bus i'm gonna start coding map
Wait one sec, I thought you meant there is a PreWorldLoadEvent
no
So I guess I'm missing something
google plugin.yml
first result
you can make your plugin load before world loading
or after
The home of Spigot a high performance, no lag customized CraftBukkit Minecraft server API, and BungeeCord, the cloud server proxy.
Ah interesting, never knew that
well now ya do
Thanks again π
Yea, just saw it
there are lots of interesting params to set
Hello, i have a probleme with my compass script its my first plugin i tried all what i find in internt and nothing work i have this error
Will check that article a bit more
Hello, i have a probleme with my compass script its my first plugin i tried all what i find in internt and nothing work i have this error
[12:50:35 ERROR]: Could not pass event PlayerInteractEvent to Compass v1.0 org.bukkit.event.EventException: null at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:310) ~[server.jar:git-Spigot-21fe707-741a1bd] at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[server.jar:git-Spigot-21fe707-741a1bd] at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:502) [server.jar:git-Spigot-21fe707-741a1bd] at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:487) [server.jar:git-Spigot-21fe707-741a1bd] at org.bukkit.craftbukkit.v1_8_R3.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:228) [server.jar:git-Spigot-21fe707-741a1bd] at org.bukkit.craftbukkit.v1_8_R3.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:195) [server.jar:git-Spigot-21fe707-741a1bd] at org.bukkit.craftbukkit.v1_8_R3.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:191) [server.jar:git-Spigot-21fe707-741a1bd] at net.minecraft.server.v1_8_R3.PlayerConnection.a(PlayerConnection.java:717) [server.jar:git-Spigot-21fe707-741a1bd] at net.minecraft.server.v1_8_R3.PacketPlayInBlockPlace.a(PacketPlayInBlockPlace.java:52) [server.jar:git-Spigot-21fe707-741a1bd]
@cedar nest And the rest of it?
i doubt thats the whole exception indeed
It's not xd
Could not pass event PlayerInteractEvent to Compass v1.0 org.bukkit.event.EventException: null at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:310) ~[server.jar:git-Spigot-21fe707-741a1bd] at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[server.jar:git-Spigot-21fe707-741a1bd] at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:502) [server.jar:git-Spigot-21fe707-741a1bd] at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:487) [server.jar:git-Spigot-21fe707-741a1bd] at org.bukkit.craftbukkit.v1_8_R3.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:228) [server.jar:git-Spigot-21fe707-741a1bd] at org.bukkit.craftbukkit.v1_8_R3.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:195) [server.jar:git-Spigot-21fe707-741a1bd] at org.bukkit.craftbukkit.v1_8_R3.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:191) [server.jar:git-Spigot-21fe707-741a1bd] at net.minecraft.server.v1_8_R3.PlayerConnection.a(PlayerConnection.java:717) [server.jar:git-Spigot-21fe707-741a1bd] at net.minecraft.server.v1_8_R3.PacketPlayInBlockPlace.a(PacketPlayInBlockPlace.java:52) [server.jar:git-Spigot-21fe707-741a1bd] at net.minecraft.server.v1_8_R3.PacketPlayInBlockPlace.a(PacketPlayInBlockPlace.java:1) [server.jar:git-Spigot-21fe707-741a1bd] e
Further down
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_333]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_333]
at net.minecraft.server.v1_8_R3.SystemUtils.a(SourceFile:44) [server.jar:git-Spigot-21fe707-741a1bd]
at net.minecraft.server.v1_8_R3.MinecraftServer.B(MinecraftServer.java:715) [server.jar:git-Spigot-21fe707-741a1bd]
at net.minecraft.server.v1_8_R3.DedicatedServer.B(DedicatedServer.java:374) [server.jar:git-Spigot-21fe707-741a1bd]
at net.minecraft.server.v1_8_R3.MinecraftServer.A(MinecraftServer.java:654) [server.jar:git-Spigot-21fe707-741a1bd]
at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:557) [server.jar:git-Spigot-21fe707-741a1bd]
at java.lang.Thread.run(Thread.java:750) [?:1.8.0_333]
Caused by: java.lang.NoSuchMethodError: org.bukkit.inventory.PlayerInventory.getItemInMainHand()Lorg/bukkit/inventory/ItemStack;
at compass.handlers.CompassHandler.UseCompass(CompassHandler.java:83) ~[?:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_333]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_333]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_333]
at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_333]
at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:306) ~[server.jar:git-Spigot-21fe707-741a1bd]
... 18 more
yea
You're using 1.8 for atleast a 1.9 plugin
server is on 1.19.2?
Are you the dev?
plugin is for 1.19.2?
JDK is 17?
yes
@cedar nest , the version on which you build your plugin and the version of your server are not mathing
all work
i'm too lazy to read
Are you the dev?
yes
Stop being here if it all works thank you.
Lez go
i said all work just right click dont work calm down @rotund ravine
@cedar nest , you are using a different server jar for developing, and your server running
bruh
i just realized there is no Object in c++
and reflection is only in compile-time
time to figure out how to accept any type for key and value
no its the same server
It's a 1.9minimum api that you are using for the plugin.
Revert to a 1.8 api.
auto type?
?
i googled some shit
and it worked
well
maybe hashmap doesn't permit duplicates because it has Set under the hood?
which doesn't allow duplicates by itself
@tall dragon
entrySet
whats wrong with that
can you also do Entry entry("a", "b")
im confused with the new keyword, that allocates your object on the heap right?
and whats the diff with the normal constructor then?
like Entry entry() vs new Entry()
i know the second one returns a pointer
:o
I remember someone made a game in c++ and they developed their own reflection library
lemme find it
@fluid river
https://www.youtube.com/watch?v=aJt2POa9oCM
"it will all be worth it", i tell myself after fixing the 8th of 20 broken tests.
CODE: https://github.com/jdah/archimedes
TWITTER: https://twitter.com/jdah__
PATREON: https://www.patreon.com/jdah
GITHUB: https://github.com/jdah
EDITOR: NeoVim
CONFIGS: https://github.com/jdah/dotfiles
THEME: gruvbox
RESOURCES:
http://cppreference.com/
htt...
looks like a mess tbh
woah
atleast nested functions with multiple parameters work
he so cool
how do i stop a specific structure from generating in worlds?
wow i wouldve never thought about that
I don't think c++ support it the way java does
Yeah i read about them
There is alo boost::any() thing available
But idk what boost is
Gonna try it later
template <typename T, U>
struct Entry {
T key,
U value
}```maybe?
uhm so since the center of a minecraft player is between the 2 feet, which Z depth does it have?
in 3D space
ah <typename T, typename U> lol
I got a npe
thats the error ^^
And this is my code: https://paste.md-5.net/qisoyiraji.java
items must not have an item meta
hence the getItemMeta method is annotated with @Nullable
sure π
quick question about event priorities
if i want a event to happen after all the other plugins, I use HIGHEST priority correct?
(So lowest = first, highest = last)
If you only need the event and don't intend to make any changes you use Monitor
im using the block break event to give a reward so im checking if the event was cancelled priviously by others(like world guard and such)
by any chances u mean to cancel it right?
ANY change
so if im not intending to cancel it, just monitor
yes
@EventHandler(priority = EventPriority.MONITOR)
public void onBlockBreak(BlockBreakEvent event) {
if (!event.isCancelled()) {
// 10% chance
int rng = new Random().nextInt(0, 10);
if (rng == 1) {
// give reward to player.
}
}
}```
something like this then right?
How do I make it so that my command doesn't have this:
the player tab thing
I don't want that
return Collections.emptyList() as tabcompletion for that command
let your command class implement TabCompletor and override the method to return Collections.emptyList() when your args.length == 1 i believe
How to get all blocks inside a WorldGuard Region through WG API?
might be 0 too
thanks
and then do getCommand("set").setTabCompletor(new MycommandExecutor())
works thanks
nvm
I meant does like args.length < 1 mean there has to be the command or there has to be an extra argument
so args.length is 0, that means you just entered /set
thanks
command name is not included in the args
thank you
this is urgent please
generally if no one answers you, nobody can
well I'm just trying to get all chests in a world of 700x700
Β―_(γ)_/Β―
I use nametagedit except that in the last version, I don't know why but when the player leaves and rejoins it doesn't update these tags and he doesn't see those of others (you have to reload /nte) with the nametagedit api it would there be a way to fix this?
Should prolly go to the discord server for support for a plugin if it's really urgent
how do you send a message from the server only to the command sender (for like command syntax errors)
CommandSender#sendMessage?
oh lol
I guess that makes sense
real quick how do you grab the chatcolors
nvm figured it out
How to change tile.item.name in a string? According to the game language.
message.replace("%material%", ...);
set<Entry<K, V>>::iterator it;
I don't think it's possible with just bukkit api
?jd-s
So how can I do it? I did a lot of research and I couldn't find it.
maybe with textcomponent
maybe with nms
maybe replace it individually for every player
according to Player#getLocale() result
set<Entry<K, V>>::iterator it;```
shit is not working
bruh
typename set<Entry<K, V>>::iterator it;```
hello, can you help me please, i have a probleme with nametagedit π
?ask
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!
ok ok, I have a little problem with the last version of nametagedit, when I join the tags are not displayed I have to /nte reload which is a bit annoying
anyone know why its practically stopping execution after stream.collect(...)
it doesn't like u
show your pom.xml
if its correct but still doesnt work File -> Invalidate Caches might do something
hmm
must be it
tru
ima do it synchronously and check if it crashes the server lol
Cool now i need to define a sorting algorithm for set of objects of any type
how the heck am i supposed to sort them idk
i guess java uses hashCodes here
gonna go with random
lol
what are you doing lol
in both java and c++
coding Map on c++
brr
@fluid river Whatβs the complexity
i once found a good site which explains the map impl but i cant find it anymore
looks like O(n) lmao
it is
my function searching algorithm is O(n) too \π’
call it ArrayMap
class TrashMap
SetMap
ig
log n for set in worst case
n for get
and n for remove
would also be n for containsKey
and containsValue
i believe this explained it in java https://anmolsehgal.medium.com/java-hashmap-internal-implementation-21597e1efec3
cant find the original post
cuz i haven't figured out how to use hash for map
and c++ doesn't have hashCode() method
which is probably used to sort entrySet of a map
with some native shit
hashcode determines the bucket at which the entry is stored
an array of linkedlists basically
Does c++ not have maps?
a bucket is that linkedlist iirc
it does
it does
yeah cuz it uses chain hashing
i just can't figure out how u can have collision in a map
it's like
not possible
the only way is to literally try to add duplicate
wdym?
but hash fucntion is not about object duplicates
it's about generated hash duplicates
Huh?
Chain hashing
i forgot
in java if the hashcode returns twice the same thing, then equals is being used iirc
you can do it as an array of linked lists
or
(proper way)
you have a pointer next which is null by default
and when you have a collision, object with the same generated hash is getting pointed at in the first object's field
and like you have
first:
next = null
second appears
first:
next = second
and at the same time
second:
next = null
just a linked list?
it's more like having pointer inside your object itself
not initialising the list
which does the same thing
[] overloading \π
yes I just wrote something quickly
the thing is
won't work either
that would be handy for my functioncontext class
well
how do i add hash to the map i wrote
time to think
oh i guess i see
actually no
aren't map elements sorted like
0, 1, 2, 3?
not as 22, 76, 09, 29
can you even get map's element by number
i guess not
wdym the elements? are you assuming a map<K, int>?
entries*
in the list you have
List#get(0)
in map you only get by key
so the part with filled array slots is hidden from end-user
well now i guess i know how to make hashmap
i love c++
hiding like everything in java
tho hashmap still has O(n) in worst cases
cuz of chain hashing
the thing can easily turn to looping through a long linked list
because there were 999 collisions
so the linked list in slot is very long
while other array slots are empty
i believe the linked list turns into a tree when some threshold is exceeded
once read that
idk
probably not
chain hashing is chain hashing
lists should still be lists no matter what
tho how resizing hashmap would help with a giant linked list on index 2
you should also change your hashfunction to have better results
mmh
but, you can just avoid using hash functions
and use my map
π
with O(n) everytime
SMH
O(log n) on insert*
just have a map with n places that overwrites itself when reached
Guys help me, what could be the problem here?
@Override
public void onEntityDamage(EntityDamageEvent e) {
if (e.getEntity() instanceof Player) {
Player player = Bukkit.getPlayer(((Player) e.getEntity()).getName());
if (new Main().getGodList().getOrDefault(player.getName(), false)) {
// player.setHealth(e.getDamage());
e.setCancelled(true);
player.sendMessage("debug: damage cancelled");
}
}
}
@Override i guess
i once made a circular linked list and i kept getting stackoverflows \π
memory got skemed
this code is disgusting bruh
new Main()
why
you can just use instance...
\π€‘
The getPlaywr is wrong
Well somewhat wrong
maybe he is trollin
what even is a playwr
no
Eat a dogpoop @tardy delta I am on my phone. So thatβs why
oh my god
The new Main seems dangerous as that os prolly your JavaPlugin
Setting the health to damage is wrong
@EventHandler
public void onEntityDamage(EntityDamageEvent e) {
if (!(e.getEntity() instanceof Player player)) return;
if (mainInstance.getGodList().contains(player)) e.setCancelled(true);
}
}```
Cause it is. Just donβt do it and cancel the event
tho player.setInvulnerable() is a lot better
No haha
take NukerFalls free java lessons!
yes
This way another event can edit it obv
dont expose collections
if (!(e.getEntity() instanceof Player player)) return;
What do return on the end?
cuz if entity is not player you shouldn't go further?
Nothing
its fine to expose them as long as you deep copy them
no point to copy them either
Thanks for the help
Isnβt the JRE not distributed anymore?
it's now part of JDK
Yah as always
Yeah that was weird
I know it's not associated to this server, but I'm asking anyway. Can I install 64 bit on this?
Yes you can
Thanks
which is my motherboard in that photo?
We don't know. It's not in the photo
P8H61-M LX2 is this motherboard?
Material.AIR.isItem() is returning true ... Normal ? How can an air be obtained ???
last time when i tried installing 64 bit windows it told me that "app is not suitable for this pc"(something like that)
hi guys i have a question
I translated a plugin and I configured it but I have a problem. The message is "To accept the trade, do /trade accept" but I would like to be able to make a clickable message example: "(Player) wants to trade with you [ACCEPT] [DENY]
use bungee component builder to add click events
For supporting hex colors, can I just pass the full string to this method? Or do I still need RegEx to filter out the actual hex value from a message?
net.md_5.bungee.api.ChatColor.of("#FFFF") + "hello";
does it work if it's in an already existing plugin?
if youre not planning to edit the source code get help in #help-server
i dont think its possible through config strings tho
well it is but i dont think many plugins implement that
π thx
It's been out now for quite a while, I am really wondering how others tackle this
only the color
sec
second method processes a whole string and colourizes all hex and normal colors
Is there a reason why the ChatColor class was never adjusted to support it?
idk
Thank you for this
But you seem to use ChatColor.of()
What version are you using?
That method doesn't exist
its the md5 package thing or whatever its called
Nevermind ... I see it. Different import
not org.bukkit.ChatColor
I have a problem with my accents on my plugins, I put with NOTEPAD++ In UTF-8, but it still does not work
I have a new file in a different package and it can't seem to access my main class
I feel like I've tried everything
i was replying to someone but discord decided to show old messages
i was looking at my old code and i found this lol
if (sender.hasPermission("betterbedwars.stats.others")) {
e = " [player]";
}
else {
e = "";
}
sender.sendMessage("Β§eΒ§l/bw stats" + e);
i was so stupid
bruh
average premium obfuscated plugin original code
lmao
haha
like what?
classes with thousands of lines
what was it
screaming bedwars
its notlol
Help mee :/
accents?
Γͺ Γ§ Γ© Γ§ Γ¨ Γ’ ...
use \u00EA
Encoding ?
But how does he tell the difference between the different accents?
I am French so I use a lot of accent, to translate my plugins, I translate them manually but it makes me mistakes with my accents
Unicode escape characters is what youβre looking for
When are you loading the location
Make sure you aren't trying to load it before the world is loaded
Yeah
did you manage to fix this?
de.psjahn.skyweapon.mines.Mines.<init>(Mines.java:15) my guess is you are trying to access the yaml too early
default plugins load post world
you must be accessing the config before onEnable
how am I to know that? show your main class perhaps?
ifr you set a field for your config would do it
or a static field
if that is a Field, yes
]that would run at class initialization
as I said, if you set a Field to yoru config
is line 15 actually IN your onEnable?
Then stop wasting my time, its exactly as I told you
How to delay a piece of code? I have tried many ways, but they all didn't work. I use kotlin.
?scheduling
alright I will try again
Getting this error from my plugin
which stores playerNames and UUIDs into a MySQL DB
or warning* rather
plugin functions as normal tho
Did you actually read the error
thank you
lets see you provide, 0 code with an obvious bad design pattern, thats all I can really add
if somethings being added more than once to teh same key, you probably have faulty logic
brains not working, its 11pm for me
I'll probably go to sleep and it'll come quite obvious to me tomorrow
then sleep
yup
you might dream the solution
and wake up at 3am and fix it
not like I'm talking from experience pff
your table prevents duplicate entries
most likely because itβs a primary or unique key
ah right
remove the indexes and itβll fix itself
aight
nms can be run in async taks right?
Yes, you can remove the duplicate code from the switch
No
Spigot just calls nms code
And shouldn't be run async
Hence nms shouldn't
Some things can be done async tho
you can read a lot of data async
generally can't write it though
so when run things async, I just run a sync task if something needs to be written
Some of it can be abstracted into a method. Namely the _pickaxe and _axe.
Or they can be combined
If it's not safe to write to it async, why is it safe to read async?
Genuine question
I honestly do not know lmao
https://pastebin.com/r85M4S17 im trying to set a lot of blocks with no lag, this is all of my code for doing that and im trying to set blocks around a center location, it sort of works. when i run the command to start setting the blocks the server freezes for like 2 seconds then the blocks start to be set with no lag, how do i fix the lag at the start?
if youβre trying to set a lot of blocks you could try separating the task into smaller ones over an amount of ticks
thats what im doing
YamlConfiguration configuration = util.getConfiguration();``` this?
fuck
lmao
?workdistribution
thats literally what i copied
Possible
Log System.currentTimeMillis before and after loading the file
idk why that would lag ive used that thousands of times with no problems its not like im initializing it every loop
You're initializing it sync tho
Why read the config async?
Loading the config caches it to a map
You can read the config on the main thread
just read hte config on startup
was seeing if that would help
idk if you can even read configs async
[20:17:23 INFO]: time2: 1671913043896```
That's 2 seconds apart bro
ik idky why tf is doing that
never had a problem with it
private YamlConfiguration configuration;
public FileUtil(File file) {
this.file = file;
}
public YamlConfiguration getConfiguration() {
YamlConfiguration configuration = new YamlConfiguration();
try {
configuration.load(this.file);
} catch (IOException | InvalidConfigurationException e) {
e.printStackTrace();
}
this.configuration = configuration;
return configuration;
}
public File getFile() {
return file;
}
public void save() {
try {
this.configuration.save(this.file);
} catch (IOException e) {
e.printStackTrace();
}
}``` this is all it is
What's the file size
4.94mb
*mib
That's why
Configs aren't for that
how else would i do it
Worldedit schematics
the api for worldedit schematics is trash
Or serialize it your own way
would reading the file line by line be faster?
or yes we schematics
That's what bukkit configs do
But caches it all
if you make your own file type you can handle de/serialization and caching by yourself
I was looking into how nms sends chunks and its really efficient
Alternatively
Load the file async and when it's done loading async, start pasting sync
so just load the file async and the rest sync?
Yes
it worked ty
is there any way to turn the Location hashcode back to the locations cords
No
It's a hash
Hashing is 1 way
2 locations can havr the same hash
You can hash the xyz but you'll lose precision
thought so
what exists
also this might be a dumb question but is filesize based on how many lines there are or just quantity of text
Technically both?
New lines increase the size, but so does quantity of text.
If you're talking about uncompressed sizes anyways.
so
location: 5 6 7
vs
x: 5
y: 6
z: 7
would be same in terms of file size?
Remember that spaces increase the size
And there are lots of spaces in yaml
What you can do is store the data like x, y, z, type in every line
Basically csv
Oh but also blockstate
Or instead of type use the blockstate id from the global palette
But that's version specific
How can I show the second skin layer (DataWatcher)? I already tried a few things (see the codes below), but I always get kicked.```java
npc.getDataWatcher().set(new DataWatcherObject<>(16, DataWatcherRegistry.a), (byte)127)
npc.getDataWatcher().set( DataWatcherRegistry.a.a(16), (byte)127);
DataWatcher watcher = entityPlayer.getDataWatcher();
watcher.watch(10, (byte) 127);
connection.sendPacket(new PacketPlayOutEntityMetadata(entityPlayer.getId(), watcher, true));
DataWatcher dataWatcher = npc.getDataWatcher();
dataWatcher.set(new DataWatcherObject<>(16, DataWatcherRegistry.a), (byte) 0x01);
dataWatcher.set(new DataWatcherObject<>(16, DataWatcherRegistry.a), (byte) 0x02);
dataWatcher.set(new DataWatcherObject<>(16, DataWatcherRegistry.a), (byte) 0x04);
npc.getDataWatcher().set(new DataWatcherObject<>(16, DataWatcherRegistry.a), (byte)127);
to confirm, i can cast a BlockData / CraftBlockData object to a Directional object, some blocks can and some blocks can't do this but a sticky piston's BlockData should be able to get casted to a Directional object?
whats the best way to change the text above a players name where their name normally is?
Kist dp omstamcepf
Just do instanceof
you say it
uhh
I am young and I am hip and I wear my hat backwards so you don't see my thinning hairline
Money is the root of all evil
ikr xD
Be like MagmaGuy swole and broke
That way you're not evil and swole
money won't help you when your qt3.14 is stuck under a bus and you need to lift 500lbs to save them
I didn't even use a bus for like... 4 monhts...?
anyway it was some months ago last time I was on any bus
I haven't used the bus in about 16 years but that doesn't mean I can't find myself in a situation where I might have to deadlift one
I ain't even that strong to lift a bus
and I guess no "average" human can
that's a big fat L
Lifting only 41 kilograms being 156 centimeters long, and being 16 years old go BRRRR :)
reject mediocracy, lift above
you'll be the first one to go in the swole revolution
we're going to grab all of the manlets and throw them off a cliff
just blow into your thumb and swole up
ummm... doch?
I still gotta focus on school
focusing on school is for people who can't deadlift a school
Uhh sure
I always raise the bar of any education establishment I enter
But somehow I gotta fix my 1's in math
or else I will fail my year
and I don't want that
can't lift weights and can't lift grades, how am I not surprised
because I've already fucking had enough of the current school
Average Hungarian moment LMAO
we all hate school π€£
mostly if teachers are trash
and all they do is
STRIKE STRIKE STRIKE
and like
make classes only have like 2 or 3 students
xd
I don't know of a single country that doesn't have students that think the same thing
Finland π
afaik they have the best education
get some finished people in here, ask them what they think
Sure if I ever reach the age of 18 I can visit Finland .-.
I've been to the best schools and I've been to the worst schools, across multiple countries and spoken to many others and the experience has always been the same
I even hosted finish people who also said pretty much the same about their own education system
Sure...
yep its shit
specifically in america though
same was said of quebec when I was there
and I heard similar things from spain, france, iceland, finland, the UK, some places in south america, japan...
idk maybe they love it in africa
oh yeah china too
SK
thailand
I think that's it
wait no italy too
ngl if Africa really is that poor, I would actually love to get money to just escape those countries π₯΄
I mean... Living in Africa is probably not really good, and I really want anyone to live here, because it is probably hell, but sadly I can't do anything abbaout that.
Just a tip: DO NOT visit Hungary π
man I've met a lot of students from different places come to think of it
I also heard it ain't great in india
chinese schools seem awful
SChools? The whole country seeems to be awful
I had a student from china come and he talked about how nice schools in the US are compared to china
people in the US are unaware of how exceptionally above average the shit they have is
yep
the only positive thing I've ever heard from any high school from any country is just when they happen to get a teacher they like
otherwise either things are noticed for being negative or not noticed at all
in Hungary it somehow works like... "the class works like how the teacher teaches and behaves"
alias
if the teacher is bitch
the class is bitch
(or just the subject)
and that's the universal experience
ngl
this is 8th grade experience
π€£
UNIVERSITY IS NOWHERE TO EXISTS HERE
AAAAAA
f.e.
our chemistry teacher
is sure a bitch
and I know that she hates most of us
and all that is ok
but how she teaches
is not surely ok
can't, need to use a method that only Directional has
once she said "you're gonna get an 1 on how you behave"
ngl all I loved in this is the head-teacher's reaction π€£
(teachers here can't grade upon behavior)
teachers here can
I had a bitch teacher that gave me a 4/5 because she didn't like me
I had an average of like 93% which is a 5/5
Hello, Instead of teleporting the falling block, make it move from a to b at a certain speed?
Sorry for my lack of knowledge, I tried searching it but couldn't find a solution
Vectors
how to know when a certain method/class/enum and other stuff was added?
from the javadoc like
there is @since but i don't find anything
why will this not return true, even tho i have the sword with the same name?
public static boolean hasSwitcher(Player player) {
ItemStack switcher = new ItemStack(Material.WOOD_SWORD, 1);
ItemMeta im = switcher.getItemMeta();
im.setDisplayName("Β§dΒ§lSwitcher");
switcher.setItemMeta(im);
System.out.println(switcher); //Prints: ItemStack{WOOD_SWORD x 1, UNSPECIFIC_META:{meta-type=UNSPECIFIC, display-name=Β§dΒ§lSwitcher}}
System.out.println(player.getInventory().contains(switcher)); //Prints: False
System.out.println(player.getInventory().getItem(0)); //Prints: ItemStack{WOOD_SWORD x 1, UNSPECIFIC_META:{meta-type=UNSPECIFIC, display-name=Β§dΒ§lSwitcher}}
return player.getInventory().contains(switcher);
}
For some reason, this line of code is returning a list of length 0. I have no idea why.
final World world = Bukkit.getServer().getWorlds().get(0);
I have also tried this, but it does not work either
Bukkit.getWorlds().get(0);
Do they mean it errors because the list is empty?
Correct
If you're doing it in onEnable you need to make sure your plugin loads after the world's do
who knows...
in your plugin.yml do load: postworld
hello mike
Whats funny is I just figured out I need to getWorld in onEnable. I cannot call getWorld in a command for the first time and expect it to work
^
That's why I'm asking here...
itemstacks might still be not similar
try
player.getInventory().getItem(0).isSimilar(switcher);
and also don't instantiate new switcher every event
just create it in your class body as a field
and compare to it
Why not use pdc to know if the inventory contains a specific item?
whoknows
PersistentDataContainer
Is that on 1.8.9?
Okay
use PDC
comparing items by their name is a funny idea
also you should never hardcode the Β§ char
you should use the ChatColor class instead
lmao of course not, that's literally the oldest version anyone still uses. upgrade your server to latest and you'll be able to use actually useful API
1.8 is like 8 years old now
I'm having a brain fart right now and forgot what its called when you add arguments to already registered commands. I want to "add" and argument for the /is command from an external skyblock plugin but forgot what its called. Command something
Found it, PlayerCommandPreprocessEvent
that event is basically just like the ChatEvent, except that it only triggers for messages starting with /
celebrating 10 years, took 1.0-1.8 2 years 1.8-1.19 8 years???
?1.8
Too old! (Click the link to get the exact time)
1.8-1.13 is less time than 1.13-1.19
tru
1.8 should be dead, and I'm still upset that md fixed Log4shell for 1.8
he should have just let 1.8 users get rekd
I mean
people who use outdated software on purpose should expect not getting any fixes
imagine using windows vista and then complain when they get a rootkit
microsoft would just tell them "yeah well vista is end of life, why don't you go to win 11"
minecraft is literally the only game where people find it acceptable to use old versions
it makes no sense
1.8 should be completely dead
everyone who's not on 1.19 yet, should just get no support from anyone, end of the story
Is not on popurse, the problem is the fucking pvp
No one asked mojang to change the pvp
ARE YOU ARE BIT STUPID OR STH
1.8's pvp is basically just "spam clicking"
in 1.9 they added actual pvp
e.g. you have to click at the correct moment
in 1.8 you only had to "click click click click click click"
really ugly pvp tho
only fucking noobs, who are a bit stupid, prefer 1.8 pvp
everyone who has at least a bit of skill, thinks that 1.9+ pvp is way better
You wont "creer" me but when i used to play bedwars i used to change 1 mouse per year, because i stop them working because how many time i click them
And i wasnt those, who play 3-4 games and its all, i used to play around 3 hours per day
see? 1.8 pvp is simply just "who can click faster per second"
1.9 pvp requires people to actually think about timing and stuff
sure, all those 12 year old people are not smart enough for this yet, so that's why they prefer "spam clicking 1.8 pvp"
na, if Hypixel has 1.8 is not an issue that
hypixel uses 1.7
oh what a great idea
"if hitler killed 6 million jews, what's so bad about killing jews"
great argument
maybeeeeee
- hypixel is shit too?
- hypixel cannot afford to pay servers using recent versions
- they built all their source for 1.7.10 and cannot / doesnt want to upgrade, because upgrading would be expensive, to fix their shitty code
so yeah that's only 3 reasons. I could think of many more
anyway, saying, "because X uses Y" doesn't mean that Y is good
using that logic, I could also say that coal power plants are good
"well if coal plants wouldn't be good, why does <insert random country> use them?"
sorry verano, but this is a discussion you won't win
Happens the same with that shity old system which use Cobol, why dont they move it to another langs?
nobody ever said that cobol is good
same reason
So, why do you care about legacy versions, happen the same
"we got it working and don't wanna spend money on upgrading"
because that way, people are stuck on a 10 year old version
please answer this one question:
if you'd need surgery, would you rather get narcotics that are recent, or would you rather be put asleep by a bat and half liter of schnapps?
because that's how they did it 100 years ago
So if the issues are legacy versions, why dont they block using them tho?
Its all commerce
everyone's free to use 1.8, it's just stupid to do so
you can go 1.8 as much as you want, it's just stupid and ret4rded
The rule of business says, it doesn't matter how old your product is, as long as it makes a profit.
microsoft doesn't make any profit off 1.8 though
they only sell the latest version?
No, they sell their launcher, where you select wha to use!
have you ever seen microsoft advertising "Yeah pls go download this 10 year old version of our game"?
I haven't
1.8 pvp is shit
1.8 is shit
1.8 api is shit
people are supposed to use the latest version
always
well unless it just recently came out and people are afraid of bugs
but once the version is confirmed to work nicely, you are supposed to use it
I mean, if you still use minecraft 1.8, you probably also use php 5.6 and run windows vista
and use mysql 5.1
and you probably use eclipse version 1.3
and your desktop is running KDE 2 on debian 7
all of this is fine, but then do not expect ANY support from anyone
because all those software versions are outdated, have reached their end of life, and you are expected to only use those if you know what you're doing
but 99% of 1.8 users do not know what they are doing
hypixel knows their shit, that doesn't mean that anyone else does, though
and as said, hypixel doesn't even use 1.8
they use 1.7.10 or sth
the only reason why some servers still use 1.8 is that
- their users are too stupid to understad that there's more to PVP than just spam clicking
or - their servers suck so hard that they cannot run 1.13+ with 20 TPS
both is a skill issue. for #1 it's the users, and for #2 it's the admins
and that's just my 50 cents. I bet that there's more people who could mention additional things, but yeah
the only reason why buildtools still allows to build 1.8 is to stop people from downloading illegal versions from <weallKnowWhatWebsiteITalkabout>.org
I'm not writing because I want to see your whole argument to read it. As far as I can see your argument makes no sense, since it is your personal opinion and not so much the wholesale opinion (in general). And honestly, if something is used it has a reason and it's not because people are morons, far from it.
ofc my opinion is my personal opinion
And honestly, if something is used it has a reason
so Zyklon B also has a use case in your opinion lol
1.12 and 1.8 only have 6.7 % share in total
you are picking a very niche thing. Cobol is one of few languages actually designed for mainframe systems
also there is a particular thing about cobol that I had already discussed some time ago that cobol provides that no other language really does
yeah all banks still use cobol. but they don't do that because they think "yeah cobol is so nice", they do that because they cannot upgrade, because it would be too expensive to rewrite their whole internal system thingy
other then that cobol isn't really used outside of mainframes
and it's the same for minecraft
noone would ever say "Oh, I'm doing a new server now. Well, which version should I use? 1.19, which is supported? Oh no, I'd rather go for 1.8, which is outdated since 8 years lmao"
well also cobol guarantees accuracy with floating points that no other language does. But yes I agree with your statement, they are not using it because they like it. They use it because they can't upgrade or they do in fact rely on that accuracy
oh okay tbh I don't know about this floating point thing. But yeah, you probably got what I wanted to say
I still wonder why banks need accurate floats anyway π
I mean
why can't they just use integers or similar
nobody ever had 01.2815618526518625β¬ on their account
but yeah if I'd be the owner of "germany's largest bank", I also wouldn't invest 200 million into recoding the whole system if the current one still works
it just makes no sense that sometimes people open up a new MC server and then they still use 1.8
I mean, if they create a NEW ONE, then they should use the latest version, ffs
Cobol provides both fixed and floating point, where as almost all other languages only provide floating point. Also the way cobol calculates the decimal it doesn't just merely round like what would happen in other languages
this is important for something like a bank
fair enough
but that actually supports my point
banks use "outedated" languages because there's actually a reason to use it
minecraft servers however have no reason to use 1.8 instead of 1.19
exactly
@wet breach 1.20 is around the corner and md5 kinda told me that I could be the admin of the new community server a year ago. would you be willing to join our team? we'll basically just spin up a survival server where everyone on this discord can play
unless they can articulate a very specific reason for themselves to justify a need for the outdated system. Hypixel as is always the example, their justification is they just update the protocol and the relevant places they need. So 1.7/1.8 provided a perfect base code to start from as it didn't contain much
but they are also not coming here for help either
they already know they are on their own, hence they have their own dev team
Hypixel has literal 6 figure engineers rewriting stuff on a large scale
yeah but hypixel also has their own team of developers, they use much NMS and stuff, so that's not comparable to "<average new server owner who just downloads plugins from spigotmc.org>"
oh there is a going to be a new community server? We will actually have a use for spigotcraft channel again? lol
I knew there was a catch
spigotcraft is great as a snapshot server
we have to prepare everything BEFORE 1.20 gets released
I'm on vacay
how much time does that give us and what exactly needs preparing?
I'll try to summarize it up:
We need a server that does this:
Obviously you need a 1.8 style bedwars plugin using NMS
- New members can join, and they'll be shown the rules (ingame)
- Once they accept the rules, the get a random /tp to somewhere, where they can start their island
oh island I see
- We also wanna have some kinda livemap, e.g. dynmap or bluemap or anything
Noooo, not island
we'll be using a normal vanilla world
oh you mean isle
or that, idc
Anyway, it's supposed to be a server where ANYONE can join (on latest version only ofc, no viaversion shit or anything)
and how much is this going to cost me o.O
a bit of time
sure
ofc it's supposed to be free
it's going to be the "new spigotcraft" but with actual players lmao
was kind of expecting somewhere in there some kind of hint of needing money
nooooo nooo we don't money
like some people like to do π
I will be hosting it, I already got a server for that
in a way I was kind of hoping you would need me for a server or something lmao
the only thing we need are people are have time to set stuff up, configure all the plugins, and take care of bans in case people violate rules and stuff
we actually already have rules, and they are kinda easy:
- Don't be a jerk
that's basically it
i have time
alright I am in but I am basically only on for the weekends
for example, we decided that we will not install any protection plugins (unless the community decides otherwise)
other then me being on during work time for discord of course π
Based
we want to keep it as vanilla as possible
so no ability to lock chests or doors?
lockette would be ideal for such things
think I have the source for lockette somewhere
the current plan is to make it like vanilla, that means - if you have some precious loot that you wanna keep away from others, you are supposed to "hide" your chest somewhere
no worldguard, no towny, no coreprorect etc
anti xray will be used, paper has it builtin
we will be using paper
and md5 is in this?>
lemme find the email
probably be wise to have worldguard to at least protect the spawn area at minimum?
but yeah, md told me that I could do this
yeah sure
idk what the goals/plans are for the spawn area lmao
I mean I really don't care what it is used
but the general idea is that the whole "rest of the world" is unprotected, and if you wanna protect your stuff, you gotta do that in "vanilla means" instead of just using a plugin
I am a fan of basically pure vanilla
but maybe other people want to use some protection plugin. We'd do a vote and see how the community decides
me too
i like playing vanilla except i require loads of qol mods
we'd ofc install some plugins anyway, e.g. ChestSort. Because it only adds some nice things without changing vanilla in any way
there are somethings that are cool
I once built a 1k by 1k by 300 block castle once
because someone decided to plant their town directly next to mine and blocked me from claiming land in a certain direction
so I built this massive castle to tower over them
Anyway, we'll open this server to the public once 1.20 comes out. And as said, I'd need some admins. So yeah everyone who's interested, lemme know. I already asked frostalf, and Epic you are ofc also welcome
it took like 3 months for me to complete XD
and it had a moat and a draw bridge too π
I'll setup a github repo for the server in like 2-3 days, then I'll invite anyone who's interested to help out
perfect
we could have events on the server too
yep

