Commit graph

5508 commits

Author SHA1 Message Date
Aikar
40e2712d61 EndermanAttackPlayerEvent
Allow control over whether or not an enderman aggros a player.

This allows you to override/extend the pumpkin/stare logic.
2018-05-01 20:18:54 -04:00
0x22
952a6d631c Fix exploit that allowed colored signs to be created 2018-04-26 04:41:11 -04:00
Aikar
634b639098 Expand World.spawnParticle API and add Builder
Adds ability to control who receives it and who is the source/sender (vanish API)
the standard API is to send the packet to everyone in the world, which is ineffecient.
Adds an option to control the force mode of the particle.

This adds a new Builder API which is much friendlier to use.
2017-08-15 22:29:12 -04:00
Aikar
eeea3358ab Enderman.teleportRandomly()
Ability to trigger the vanilla "teleport randomly" mechanic of an enderman.
2018-04-30 13:29:44 -04:00
Aikar
b4ece1619f EndermanEscapeEvent
Fires an event anytime an enderman intends to teleport away from the player

You may cancel this, enabling ranged attacks to damage the enderman for example.
2018-04-30 13:15:55 -04:00
Brokkonaut
5a528af05e Configurable sprint interruption on attack
If the sprint interruption is disabled players continue sprinting when they attack entities.
2018-04-14 20:20:46 +02:00
Mark Vainomaa
4b7a93d5e1 Add openSign method to HumanEntity 2018-04-01 02:29:37 +03:00
Shane Freeder
ce2c1367af Flag to disable the channel limit
In some enviroments, the channel limit set by spigot can cause issues,
e.g. servers which allow and support the usage of mod packs.

provide an optional flag to disable this check, at your own risk.
2018-03-31 17:04:26 +01:00
Minecrell
0511551203 Call PaperServerListPingEvent for legacy pings 2017-10-11 19:30:51 +02:00
Minecrell
361fc3ab43 Make legacy ping handler more reliable
The Minecraft server often fails to respond to old ("legacy") pings
from old Minecraft versions using the protocol used before the switch
to Netty in Minecraft 1.7.

Due to packet fragmentation[1], we might not have all needed bytes
available when the LegacyPingHandler is called. In this case, it will
run into an error, remove the handler and continue using the modern
protocol.

This is unlikely to happen for the first two revisions of the legacy
ping protocol (used in Minecraft 1.5.x and older) since the request
consists of only one or two bytes, but happens frequently for the
last/third revision introduced in Minecraft 1.6.

It has much larger, variable packet sizes due to the inclusion of
the virtual host (the hostname/port used to connect to the server).

The solution[2] is simple: If we find more than two matching bytes,
we buffer the remaining bytes until we have enough to fully read and
respond to the request.

[1]: https://netty.io/wiki/user-guide-for-4.x.html#wiki-h3-11
[2]: https://netty.io/wiki/user-guide-for-4.x.html#wiki-h4-13
2017-10-11 18:22:50 +02:00
Aikar
a13afc05a6 Improved Async Task Scheduler
The Craft Scheduler still uses the primary thread for task scheduling.
This results in the main thread still having to do work as part of the
dispatching of async tasks.

If plugins make use of lots of async tasks, such as particle emitters
that want to keep the logic off the main thread, the main thread still
receives quite a bit of load from processing all of these queued tasks.

Additionally, resizing and managing the pending entries for all of
these asynchronous tasks takes up time on the main thread too.

This commit replaces the implementation of the scheduler when working
with asynchronous tasks, by forwarding calls to the new scheduler.

The Async Scheduler uses a single thread executor for "management" tasks.
The Management Thread is responsible for all adding and dispatching of
scheduled tasks.

The mainThreadHeartbeat will send a heartbeat task to the management thread
with the currentTick value, so that it can find which tasks to execute.

Scheduling of an async tasks also dispatches a management task, ensuring
that any Queue resizing operation occurs off of the main thread.

The async queue uses a complete separate PriorityQueue, ensuring that resize
operations are decoupled from the sync tasks queue.
2018-03-16 22:59:43 -04:00
Aikar
3f0a574e10 getPlayerUniqueId API
Gets the unique ID of the player currently known as the specified player name
In Offline Mode, will return an Offline UUID

This is a more performant way to obtain a UUID for a name than loading an OfflinePlayer
2018-03-22 01:40:24 -04:00
Aikar
d0d0b1a21e Player.setPlayerProfile API
This can be useful for changing name or skins after a player has logged in.

== AT ==
public-f net.minecraft.world.entity.player.Player gameProfile
2018-03-18 12:29:48 -04:00
Aikar
5fb78725e4 Add more fields to AsyncPreLoginEvent
Co-authored-by: Connor Linfoot <connorlinfoot@me.com>
Co-authored-by: MCMDEV <john-m.1@gmx.de>
2018-03-18 11:45:57 -04:00
Minecrell
ac0c06a72f Implement extended PaperServerListPingEvent 2017-10-11 15:56:26 +02:00
Aikar
a7bc7ca33a Disable Explicit Network Manager Flushing
This seems completely pointless, as packet dispatch uses .writeAndFlush.

Things seem to work fine without explicit flushing, but incase issues arise,
provide a System property to re-enable it using improved logic of doing the
flushing on the netty event loop, so it won't do the flush on the main thread.

Renable flushing by passing -Dpaper.explicit-flush=true
2018-03-11 14:13:33 -04:00
MiniDigger | Martin
b9319698ce Toggleable player crits 2018-03-10 00:50:24 +01:00
Aikar
4b38f09815 Tameable#getOwnerUniqueId API
This is faster if all you need is the UUID, as .getOwner() will cause
an OfflinePlayer to be loaded from disk.
2018-02-24 01:14:55 -05:00
Shane Freeder
794fc9799b Extend Player Interact cancellation
GUIs are opened on the client, meaning that the server cannot block them from opening,
However, it is possible to close these GUIs from the server.

Flower pots are also not updated on the client when interaction is cancelled, this patch
also resolves this.
2018-02-11 10:43:46 +00:00
Zach Brown
e3dd06b7c1 Add ArmorStand Item Meta
This is adds basic item meta for armor stands. It does not add all
possible metadata however.

There are armor, hand, and equipment types, as well as position data
that can also be added here. This initial addition should serve a
starting point for future additions in this area.

Fixes GH-559
2018-01-27 17:04:14 -05:00
BillyGalbreath
ec3ae43c82 Add PlayerAdvancementCriterionGrantEvent 2018-01-19 08:15:29 -06:00
Aikar
4f248b1b5b Fill Profile Property Events
Allows plugins to populate profile properties from local sources to avoid calls out to Mojang API
to fill in textures for example.

If Mojang API does need to be hit, event fire so you can get the results.

This is useful for implementing a ProfileCache for Player Skulls
2018-01-02 00:31:26 -05:00
Aikar
cad0c129c8 PreCreatureSpawnEvent
Adds an event to fire before an Entity is created, so that plugins that need to cancel
CreatureSpawnEvent can do so from this event instead.

Cancelling CreatureSpawnEvent rapidly causes a lot of garbage collection and CPU waste
as it's done after the Entity object has been fully created.

Mob Limiting plugins and blanket "ban this type of monster" plugins should use this event
instead and save a lot of server resources.

See: https://github.com/PaperMC/Paper/issues/917
2018-01-14 17:01:31 -05:00
Aikar
3620489699 Add setPlayerProfile API for Skulls
This allows you to create already filled textures on Skulls to avoid texture lookups
which commonly cause rate limit issues with Mojang API
2018-01-19 00:36:25 -05:00
Aikar
f249b1f39a PlayerNaturallySpawnCreaturesEvent
This event can be used for when you want to exclude a certain player
from triggering monster spawns on a server.

Also a highly more effecient way to blanket block spawns in a world
2018-01-14 17:36:02 -05:00
Aikar
b96c237fc4 Ability to apply mending to XP API
This allows plugins that give players the ability to apply the experience
points to the Item Mending formula, which will repair an item instead
of giving the player experience points.

Both an API To standalone mend, and apply mending logic to .giveExp has been added.

== AT ==
public net.minecraft.world.entity.ExperienceOrb durabilityToXp(I)I
public net.minecraft.world.entity.ExperienceOrb xpToDurability(I)I
2017-12-20 17:36:49 -05:00
Aikar
533b86c3fc PlayerPickupExperienceEvent
Allows plugins to cancel a player picking up an experience orb
2017-12-19 22:02:53 -05:00
Jason Penilla
ed76af5637 AsyncTabCompleteEvent
Let plugins be able to control tab completion of commands and chat async.

This will be useful for frameworks like ACF so we can define async safe completion handlers,
and avoid going to main for tab completions.

Especially useful if you need to query a database in order to obtain the results for tab
completion, such as offline players.

Also adds isCommand and getLocation to the sync TabCompleteEvent

Co-authored-by: Aikar <aikar@aikar.co>
2017-11-26 13:19:58 -05:00
Aikar
eb20b0b160 API to get a BlockState without a snapshot
This allows you to get a BlockState without creating a snapshot, operating
on the real tile entity.

This is useful for where performance is needed

also Avoid NPE during CraftBlockEntityState load if could not get TE

If Tile Entity was null, correct Sign to return empty lines instead of null
2017-11-06 21:08:22 -05:00
Shane Freeder
1d1c5a4493 use CB BlockState implementations for captured blocks
When modifying the world, CB will store a copy of the affected
blocks in order to restore their state in the case that the event
is cancelled. This change only modifies the collection of blocks
in the world by normal means, e.g. not during tree population,
as the potentially marginal overheads would serve no advantage.

CB was using a CraftBlockState for all blocks, which causes issues
should any block that uses information beyond a data ID would suffer
from missing information, e.g. Skulls.

By using CBs CraftBlock#getState(), we will maintain a proper copy of
the blockstate that will be valid for restoration, as opposed to dropping
information on restoration when the event is cancelled.
2017-11-16 12:12:41 +00:00
mezz
f1fd83ac7a Fix MC-117075: Block entity unload lag spike 2017-08-09 17:51:22 -05:00
killme
3ce6b37e05 Prevent logins from being processed when the player has disconnected 2017-11-12 19:40:01 +01:00
pkt77
540274bcf2 Add PlayerArmorChangeEvent 2017-11-10 23:46:34 -05:00
Brokkonaut
e0661a5f13 Send attack SoundEffects only to players who can see the attacker 2017-10-31 03:26:18 +01:00
Shane Freeder
2c11c3e2bb revert serverside behavior of keepalives
This patch intends to bump up the time that a client has to reply to the
server back to 30 seconds as per pre 1.12.2, which allowed clients
more than enough time to reply potentially allowing them to be less
tempermental due to lag spikes on the network thread, e.g. that caused
by plugins that are interacting with netty.

We also add a system property to allow people to tweak how long the server
will wait for a reply. There is a compromise here between lower and higher
values, lower values will mean that dead connections can be closed sooner,
whereas higher values will make this less sensitive to issues such as spikes
from networking or during connections flood of chunk packets on slower clients,
 at the cost of dead connections being kept open for longer.
2017-10-15 00:29:07 +01:00
Minecrell
8838089321 Expose client protocol version and virtual host 2017-10-10 18:45:20 +02:00
Shane Freeder
70e24c1b60 handle ServerboundKeepAlivePacket async
In 1.12.2, Mojang moved the processing of ServerboundKeepAlivePacket off the main
thread, while entirely correct for the server, this causes issues with
plugins which are expecting the PlayerQuitEvent on the main thread.

In order to counteract some bad behavior, we will post handling of the
disconnection to the main thread, but leave the actual processing of the packet
off the main thread.

also adding some additional logging in order to help work out what is causing
random disconnections for clients.
2017-10-05 01:54:07 +01:00
Zach Brown
8c951e13df Add PlayerJumpEvent 2017-09-28 17:21:44 -04:00
Riley Park
ebbb3ee8b5 Allow specifying a custom "authentication servers down" kick message 2017-08-17 16:08:20 -07:00
BillyGalbreath
d00d3df166 Reset spawner timer when spawner event is cancelled 2017-07-31 01:45:19 -05:00
BillyGalbreath
08aaee1b77 Ocelot despawns should honor nametags and leash 2017-07-31 01:54:40 -05:00
BillyGalbreath
c2f10d08a9 LivingEntity#setKiller
== AT ==
public net.minecraft.world.entity.LivingEntity lastHurtByPlayerTime
2017-07-31 01:49:48 -05:00
Kyle Wood
0dcb203960 Fix this stupid bullshit
Disable the 15 second sleep when the server jar hasn't been rebuilt within a period of time.

modified in order to prevent merge conflicts when Spigot changes/disables the warning,
and to provide some level of hint without being disruptive.
2017-08-06 17:17:53 -05:00
Aikar
2f6c221649 ProfileWhitelistVerifyEvent 2017-07-03 18:11:10 -05:00
Aikar
07e40cd7d4 Implement getI18NDisplayName
Gets the Display name as seen in the Client.
Currently the server only supports the English language. To override this,
You must replace the language file embedded in the server jar.
2016-05-04 23:59:38 -04:00
Aikar
11a5eaf367 ensureServerConversions API
This will take a Bukkit ItemStack and run it through any conversions a server process would perform on it,
to ensure it meets latest minecraft expectations.
2016-05-04 22:43:12 -04:00
Aikar
90c776d3aa Improve the Saddle API for Horses
Not all horses with Saddles have armor. This lets us break up the horses with saddles
and access their saddle state separately from an interface shared with Armor.
2016-12-10 16:24:06 -05:00
BillyGalbreath
760d9e300f Entity#fromMobSpawner() 2017-06-18 18:17:05 -05:00
Zach Brown
3edcdeaf22 Block player logins during server shutdown 2017-07-02 21:35:56 -05:00
Aikar
a229776460 Profile Lookup Events
Adds a Pre Lookup Event and a Post Lookup Event so that plugins may prefill in profile data, and cache the responses from
profiles that had to be looked up.
2017-06-17 17:00:32 -04:00
Aikar
aab7ec1655 Shoulder Entities Release API 2017-06-17 15:18:30 -04:00
Sweepyoface
551d6ee71e Add UnknownCommandEvent
Co-authored-by: Jake Potrebic <jake.m.potrebic@gmail.com>
2017-06-17 18:48:21 -04:00
Aikar
bb90110894 Basic PlayerProfile API
Establishes base extension of profile systems for future edits too

== AT ==
public org.bukkit.craftbukkit.profile.CraftProfileProperty
public org.bukkit.craftbukkit.profile.CraftPlayerTextures
public org.bukkit.craftbukkit.profile.CraftPlayerTextures copyFrom(Lorg/bukkit/profile/PlayerTextures;)V
public org.bukkit.craftbukkit.profile.CraftPlayerTextures rebuildPropertyIfDirty()V
public org.bukkit.craftbukkit.profile.CraftPlayerProfile toString(Lcom/mojang/authlib/properties/PropertyMap;)Ljava/lang/String;
public org.bukkit.craftbukkit.profile.CraftPlayerProfile getProperty(Ljava/lang/String;)Lcom/mojang/authlib/properties/Property;
public org.bukkit.craftbukkit.profile.CraftPlayerProfile setProperty(Ljava/lang/String;Lcom/mojang/authlib/properties/Property;)V
2018-01-15 22:11:48 -05:00
Spottedleaf
40654111d1 Do not submit profile lookups to worldgen threads
They block. On network I/O.

If enough tasks are submitted the server will eventually stall
out due to a sync load, as the worldgen threads will be
stalling on profile lookups.
2021-08-08 16:26:46 -07:00
BillyGalbreath
8eb7ab6946 PlayerAttemptPickupItemEvent 2017-06-11 16:30:30 -05:00
BillyGalbreath
eb52c5e2f2 PlayerPickupItemEvent#setFlyAtPlayer 2017-05-07 06:26:09 -05:00
BillyGalbreath
b41abcdb68 Item#canEntityPickup 2017-05-05 03:57:17 -05:00
Shane Freeder
918da37691 provide a configurable option to disable creeper lingering effect spawns 2017-06-11 21:01:18 +01:00
Riley Park
52c71f2edc Add configuration option to prevent player names from being suggested 2017-06-09 07:24:34 -07:00
Zach Brown
49fbdd7336 Add option to make parrots stay on shoulders despite movement
Makes parrots not fall off whenever the player changes height, or touches water, or gets hit by a passing leaf.
Instead, switches the behavior so that players have to sneak to make the birds leave.

I suspect Mojang may switch to this behavior before full release.

To be converted into a Paper-API event at some point in the future?

== AT ==
public net.minecraft.world.entity.player.Player removeEntitiesOnShoulder()V
2017-05-16 21:29:08 -05:00
Zach Brown
2f74bdb56b Properly handle async calls to restart the server
The watchdog thread calls the server restart function asynchronously. Prior to
this change, it attempted to do several non-safe operations from the watchdog
thread, rather than the main. Specifically, because of a separate upstream change,
it causes player entities to be ticked asynchronously, among other things.

This is dangerous.

This patch moves the old handling into a synchronous variant, for calls from the
restart command, and adds separate handling for async calls, such as those from
the watchdog thread.

When calling from the watchdog thread, we cannot assume the main thread is in a
tickable state; it may be completely deadlocked. In order to handle this, we mark
the server as stopping, in order to account for situations where the server should
complete a tick reasonbly soon, i.e. 99% of cases.

Should the server not enter a state where it is stopping within 10 seconds, We
will assume that the server has in fact deadlocked and will proceed to force
kill the server.

This modification does not force restart the server should we actually enter a
deadlocked state where the server is stopping, whereas this will in most cases
exit within a reasonable amount of time, to put a fixed limit on a process that
will have plugins and worlds saving to the disk has a high potential to result
in corruption/dataloss.
2017-05-12 23:34:11 -05:00
Aikar
5a81bf12ef Remove CraftScheduler Async Task Debugger
I have not once ever seen this system help debug a crash.
One report of a suspected memory leak with the system.

This adds additional overhead to asynchronous task dispatching
2017-02-05 00:04:04 -05:00
Aikar
d2f4d82ce2 Cap Entity Collisions
Limit a single entity to colliding a max of configurable times per tick.
This will alleviate issues where living entities are hoarded in 1x1 pens

This is not tied to the maxEntityCramming rule. Cramming will still apply
just as it does in Vanilla, but entity pushing logic will be capped.

You can set this to 0 to disable collisions.
2017-01-22 18:07:56 -05:00
Aikar
110bcadcdf ExperienceOrbs API for Reason/Source/Triggering player
Adds lots of information about why this orb exists.

Replaces isFromBottle() with logic that persists entity reloads too.
2017-12-19 16:31:46 -05:00
Aikar
aa6fe30766 Enforce Sync Player Saves
Saving players async is extremely dangerous. This will force it to main
the same way we handle async chunk loads.
2017-01-07 15:41:58 -05:00
Aikar
4ca188a20e Provide E/TE/Chunk count stat methods
Provides counts without the ineffeciency of using .getEntities().size()
which creates copy of the collections.
2017-01-07 15:24:46 -05:00
Aikar
2aa9d5bf18 PlayerTeleportEndGatewayEvent
Allows you to access the Gateway being used in a teleport event
Fix the offset used for player teleportation
2016-12-31 21:44:50 -05:00
Aikar
746f540e81 Firework API's
== AT ==
public net.minecraft.world.entity.projectile.FireworkRocketEntity attachedToEntity
2016-12-28 07:18:33 +01:00
Alfie Cleveland
26ff64cadc Properly fix item duplication bug
Credit to prplz for figuring out the real issue
2016-12-27 01:57:57 +00:00
Aikar
1c531f852f String based Action Bar API 2016-12-27 15:02:42 -05:00
Riley Park
e27e53d201 Add API methods to control if armor stands can move 2016-12-21 11:47:25 -06:00
Aikar
c28a11a1d8 Configurable Cartographer Treasure Maps
Allow configuring for cartographers to return the same map location

Also allow turning off treasure maps all together as they can eat up Map ID's
which are limited in quantity.
2016-12-20 15:26:27 -05:00
Aikar
63de7b1ff6 Bound Treasure Maps to World Border
Make it so a Treasure Map does not target a structure outside of the
World Border, where players are not even able to reach.

This also would help the case where a players close to the border, and one
that is outside happens to be closer, but unreachable, yet another reachable
one is in border that would of been missed.
2016-12-20 15:15:11 -05:00
Aikar
ddd1807ad5 Optimize Level.hasChunkAt(BlockPosition)Z
Reduce method invocations for World.isLoaded(BlockPosition)Z
2016-12-02 00:11:43 -05:00
Aikar
1f63668ee9 Prevent Pathfinding out of World Border
This prevents Entities from trying to run outside of the World Border

TODO: This doesn't prevent the pathfinder from using blocks outside the world border as nodes. We can fix this
by adding code to all overrides in:
    NodeEvaluator:
    public abstract BlockPathTypes getBlockPathType(BlockGetter world, int x, int y, int z);

to return BLOCKED if it is outside the world border.
2016-12-19 23:07:42 -05:00
Techcable
68a47b98c6 Add ProjectileCollideEvent
Deprecated now and replaced with ProjectileHitEvent
2016-12-16 21:25:39 -06:00
AlphaBlend
087a701e69 Add source to PlayerExpChangeEvent 2016-09-08 08:48:33 -07:00
willies952002
76de1e898e Allow Reloading of Command Aliases
Reload the aliases stored in commands.yml
2016-11-28 10:21:52 -05:00
Alfie Cleveland
3e9512a6fc Cache user authenticator threads 2016-11-25 13:22:40 +00:00
Zach Brown
b1018e6808 Filter bad block entity nbt data from falling blocks 2016-11-12 23:25:22 -06:00
AlphaBlend
472983f423 Add EntityZapEvent 2016-10-16 23:19:30 -07:00
Riley Park
8141041554 Configurable flying kick messages 2016-09-20 00:58:01 +00:00
Zach Brown
72bc20c589 Configurable packet in spam threshold 2016-09-11 14:30:57 -05:00
Alfie Cleveland
c7287dd5ee Optimise BlockState's hashCode/equals
These are singleton "single instance" objects. We can rely on
object identity checks safely.

Use a simpler optimized hashcode
2016-08-19 01:52:56 +01:00
Gabriele C
f7ae11f984 Add setting for proxy online mode status
TODO: Add isProxyOnlineMode check to Metrics
2016-08-05 01:03:08 +02:00
Zach Brown
a55727ff06 Don't lookup game profiles that have no UUID and no name 2016-07-16 19:11:17 -05:00
Aikar
d072c2d5fb Avoid blocking on Network Manager creation
Per Paper issue 294
2016-05-16 23:19:16 -04:00
Jake Potrebic
08698c4642 Fix global sound handling
* Only send global sounds to same world if limiting radius
* respect global sound events gamerule

Co-authored-by: Evan McCarthy <evanmccarthy@outlook.com>
Co-authored-by: lexikiq <noellekiq@gmail.com>
Co-authored-by: Aikar <aikar@aikar.co>
2016-05-31 22:53:50 -04:00
Martin Panzer
2a69b8dd1a Add server-name parameter 2016-05-28 16:54:03 +02:00
Martin Panzer
ef21fd4166 Faster redstone torch rapid clock removal
Only resize the the redstone torch list once, since resizing arrays / lists is costly
2016-05-23 12:12:37 +02:00
Zach Brown
bdd96190e0 Optional TNT doesn't move in water 2016-05-22 20:20:55 -05:00
Aikar
cda878cf64 Async GameProfileCache saving 2016-05-16 20:47:41 -04:00
Zach Brown
ba4eeb8a28 System property for disabling watchdoge 2016-05-12 23:02:58 -05:00
Aikar
07c767b6f4 LootTable API and replenishable lootables
Provides an API to control the loot table for an object.
Also provides a feature that any Lootable Inventory (Chests in Structures)
can automatically replenish after a given time.

This feature is good for long term worlds so that newer players
do not suffer with "Every chest has been looted"

== AT ==
public org.bukkit.craftbukkit.block.CraftBlockEntityState getTileEntity()Lnet/minecraft/world/level/block/entity/BlockEntity;
public org.bukkit.craftbukkit.block.CraftLootable setLootTable(Lorg/bukkit/loot/LootTable;J)V
public org.bukkit.craftbukkit.entity.CraftMinecartContainer setLootTable(Lorg/bukkit/loot/LootTable;J)V
2016-05-01 21:19:14 -04:00
Aikar
b8d05bbc27 Don't save empty scoreboard teams to scoreboard.dat 2016-05-07 23:33:08 -04:00
Aikar
6d39090450 remove null possibility for getServer singleton
to stop IDE complaining about potential NPE
2016-04-28 00:57:27 -04:00
Riley Park
217a52eaa8 Add ability to configure frosted_ice properties 2016-04-21 23:51:55 -07:00
Zach Brown
3532e55dab EntityRegainHealthEvent isFastRegen API
Don't even get me started
2016-04-22 01:43:11 -05:00
Aikar
b414f3d993 Configurable RCON IP address
For servers with multiple IP's, ability to bind to a specific interface.

== AT ==
public net.minecraft.server.dedicated.Settings getStringRaw(Ljava/lang/String;)Ljava/lang/String;
2016-04-16 00:39:33 -04:00
Riley Park
d743b03fb6 Add handshake event to allow plugins to handle client handshaking logic themselves 2016-04-13 20:21:38 -07:00
Aikar
a99426b5fe Configurable Player Collision 2016-04-13 02:10:49 -04:00
Zach Brown
3c1c4ab059 Option to use vanilla per-world scoreboard coloring on names
This change is basically a bandaid to fix CB's complete and utter lack
of support for vanilla scoreboard name modifications.

In the future, finding a way to merge the vanilla expectations in with
bukkit's concept of a display name would be preferable. There was a PR
for this on CB at one point but I can't find it. We may need to do this
ourselves at some point in the future.
2016-04-06 01:04:23 -05:00
Aikar
1056951a73 Optimize DataBits
Remove Debug checks as these are super hot and causing noticeable hits

Before: http://i.imgur.com/nQsMzAE.png
After: http://i.imgur.com/nJ46crB.png

Optimize redundant converting of static fields into an unsigned long each call by precomputing it in ctor
2016-04-05 21:38:58 -04:00
Aikar
55db966770 Fix Cancelling BlockPlaceEvent triggering physics 2016-04-03 17:48:50 -04:00
Aikar
eb76e508f5 Configurable random tick rates for blocks
A general purpose patch that includes config options for the tick rate
of a variety of blocks that are random ticked.

Co-authored-by: MrPowerGamerBR <git@mrpowergamerbr.com>
2016-04-03 16:28:17 -04:00
Jedediah Smith
e2263633d4 Add PlayerUseUnknownEntityEvent
Adds the PlayerUseUnknownEntityEvent to be used by plugins dealing with
virtual entities/entities that are not actually known to the server.

Co-authored-by: Nassim Jahnke <nassim@njahnke.dev>
2016-04-02 05:09:16 -04:00
Aikar
f9ef3612f7 Do not load chunks for Pathfinding 2016-03-31 19:17:58 -04:00
Antony Riley
db2502d732 Sanitise RegionFileCache and make configurable
RegionFileCache prior to this patch would close every single open region
file upon reaching a size of 256.
This patch modifies that behaviour so it closes the the least recently
used RegionFile.
The implementation uses a LinkedHashMap as an LRU cache (modified from HashMap).
The maximum size of the RegionFileCache is also made configurable.
2016-03-29 08:22:55 +03:00
Aikar
c801c5439d EntityPathfindEvent
Fires when an Entity decides to start moving to a location.
2016-03-28 21:22:26 -04:00
Aikar
e2accd8d62 Configurable Chunk Inhabited Time
Vanilla stores how long a chunk has been active on a server, and dynamically scales some
aspects of vanilla gameplay to this factor.

For people who want all chunks to be treated equally, you can chose a fixed value.

This allows to fine-tune vanilla gameplay.
2016-03-28 20:46:14 -04:00
Aikar
93bbce1c69 Entity AddTo/RemoveFrom World Events 2016-03-28 20:32:58 -04:00
Aikar
63fa3068c6 Only process BlockPhysicsEvent if a plugin has a listener
Saves on some object allocation and processing when no plugin listens to this
2016-03-28 19:55:45 -04:00
Zach Brown
b2671f4dd1 Configurable spawn chances for skeleton horses 2016-03-22 12:04:28 -05:00
Aikar
d989bc5d17 Use a Shared Random for Entities
Reduces memory usage and provides ensures more randomness, Especially since a lot of garbage entity objects get created.
2016-03-22 00:33:47 -04:00
Aikar
becb30e9e6 handle NaN health/absorb values and repair bad data 2015-09-27 01:18:02 -04:00
Jedediah Smith
54fe0287a2 Custom replacement for eaten items 2015-06-21 15:07:20 -04:00
Aikar
f54f356a35 Add World Util Methods
Methods that can be used for other patches to help improve logic.
2016-03-18 20:16:03 -04:00
Aikar
686b77345f Configurable Non Player Arrow Despawn Rate
Can set a much shorter despawn rate for arrows that players can not pick up.
2016-03-18 15:12:22 -04:00
Aikar
20b9d3de7b Handle Item Meta Inconsistencies
First, Enchantment order would blow away seeing 2 items as the same,
however the Client forces enchantment list in a certain order, as well
as does the /enchant command. Anvils can insert it into forced order,
causing 2 same items to be considered different.

This change makes unhandled NBT Tags and Enchantments use a sorted tree map,
so they will always be in a consistent order.

Additionally, the old enchantment API was never updated when ItemMeta
was added, resulting in 2 different ways to modify an items enchantments.

For consistency, the old API methods now forward to use the
ItemMeta API equivalents, and should deprecate the old API's.
2015-05-28 23:00:19 -04:00
Aikar
2a04d23940 Remove Metadata on reload
Metadata is not meant to persist reload as things break badly with non primitive types
This will remove metadata on reload so it does not crash everything if a plugin uses it.
2016-03-18 13:50:14 -04:00
William
acfd9a39a0 Allow Reloading of Custom Permissions
https://github.com/PaperMC/Paper/issues/49
2016-03-18 03:30:17 -04:00
Aikar
8a67ae1780 Default loading permissions.yml before plugins
Under previous behavior, plugins were not able to check if a player had a permission
if it was defined in permissions.yml. there is no clean way for a plugin to fix that either.

This will change the order so that by default, permissions.yml loads BEFORE plugins instead of after.

This gives plugins expected permission checks.

It also helps improve the expected logic, as servers should set the initial defaults, and then let plugins
modify that. Under the previous logic, plugins were unable (cleanly) override permissions.yml.

A config option has been added for those who depend on the previous behavior, but I don't expect that.
2016-03-18 13:17:38 -04:00
Jedediah Smith
f55b057ffb Complete resource pack API 2015-04-04 23:17:52 -04:00
mrapple
b465659461 Add methods for working with arrows stuck in living entities
Upstream added methods for this, original methods are now
deprecated
2012-11-25 13:43:39 -06:00
Aikar
5764c71185 Disable Scoreboards for non players by default
Entities collision is checking for scoreboards setting.
This is very heavy to do map lookups for every collision to check
this setting.

So avoid looking up scoreboards and short circuit to the "not on a team"
logic which is most likely to be true.
2016-03-08 23:25:45 -05:00
Joseph Hirschfeld
68979dd492 Add exception reporting event 2016-03-03 03:15:41 -06:00
Joseph Hirschfeld
1ae9ee1205 Add velocity warnings 2016-03-03 02:48:12 -06:00
Joseph Hirschfeld
1f86344458 Add configurable portal search radius 2016-03-03 02:46:17 -06:00
Techcable
eaf365a7b7 Player Tab List and Title APIs 2016-03-03 02:32:10 -06:00
Riley Park
f4a0ce454b Be a bit more informative in maxHealth exception 2016-03-03 02:18:39 -06:00
Riley Park
73251dc451 Expose server CommandMap 2016-03-03 02:15:57 -06:00
vemacs
886d8e6ac3 All chunks are slime spawn chunks toggle 2016-03-03 01:19:22 -06:00
Aikar
bcc07d07b6 Improve Player chat API handling
Properly split up the chat and command handling to reflect the server now
having separate packets for both, and the client always using the correct packet. Text
from a chat packet should never be parsed into a command, even if it starts with the `/`
character.

Add a missing async catcher and improve Spigot's async catcher error message.

== AT ==
public net.minecraft.server.network.ServerGamePacketListenerImpl isChatMessageIllegal(Ljava/lang/String;)Z

Co-authored-by: Jake Potrebic <jake.m.potrebic@gmail.com>
Co-authored-by: SoSeDiK <mrsosedik@gmail.com>
2016-03-03 01:17:12 -06:00
Aikar
b380d6445b Configurable Disabling Cat Chest Detection
Offers a gameplay feature to stop cats from blocking chests
2016-03-03 01:13:45 -06:00
Steve Anton
dd1cfc07db Fix spawn location event changing location
== AT ==
public net.minecraft.world.entity.Entity setRot(FF)V
2016-03-03 00:09:38 -06:00
Zach Brown
c8c53412a4 Disable spigot tick limiters 2016-03-02 23:45:17 -06:00
Techcable
da1b68adca Use UserCache for player heads 2016-03-02 23:42:37 -06:00
Sudzzy
5b0e06e8e8 Configurable container update tick rate 2016-03-02 23:34:44 -06:00
Byteflux
adb6c35b17 Add BeaconEffectEvent 2016-03-02 23:30:53 -06:00
Isaac Moore
c9cf82340d Use null Locale by default 2016-04-19 14:09:31 -05:00
Sudzzy
1ac857b531 Configurable mob spawner tick rate 2016-03-02 15:03:53 -06:00
Sudzzy
3816346f1c Disable ice and snow 2016-03-02 14:57:24 -06:00
Sudzzy
d75a64eff3 Disable thunder 2016-03-02 14:52:43 -06:00
Sudzzy
fb3f2c1b8e Disable explosion knockback 2016-03-02 14:48:03 -06:00
Byteflux
68603a72c5 Optimize explosions
The process of determining an entity's exposure from explosions can be
expensive when there are hundreds or more entities in range.

This patch adds a per-tick cache that is used for storing and retrieving
an entity's exposure during an explosion.
2016-03-02 11:59:48 -06:00
Iceee
e2ead8262e Fix lag from explosions processing dead entities 2016-03-02 01:39:52 -06:00
DoctorDark
b083157a8c Configurable end credits 2016-03-16 02:21:39 -05:00
Zach Brown
1fed104464 Add more entities to activation range ignore list 2016-03-02 00:32:25 -06:00
Zach Brown
188e3332d6 Check online mode before converting and renaming player data 2016-03-02 00:03:55 -06:00
Zach Brown
b8b1eef98c Configurable top of nether void damage
Co-authored-by: Jake Potrebic <jake.m.potrebic@gmail.com>
2016-03-01 23:58:50 -06:00
Aikar
0255317409 Prevent block entity and entity crashes 2016-03-01 23:52:34 -06:00
Byteflux
6212f523fa Entity Origin API 2016-03-01 23:45:08 -06:00
Zach Brown
3e1c79c850 Only refresh abilities if needed 2016-03-01 23:12:03 -06:00
Jedediah Smith
840b8a7bfa Player affects spawning API 2016-03-01 14:47:52 -06:00
Zach Brown
f41436f787 Expose server build information
Co-authored-by: Zach Brown <1254957+zachbr@users.noreply.github.com>
Co-authored-by: Kyle Wood <kyle@denwav.dev>
Co-authored-by: Mark Vainomaa <mikroskeem@mikroskeem.eu>
Co-authored-by: Riley Park <rileysebastianpark@gmail.com>
Co-authored-by: Jake Potrebic <jake.m.potrebic@gmail.com>
Co-authored-by: masmc05 <masmc05@gmail.com>
2016-03-01 14:32:43 -06:00
Byteflux
560b13ca08 Drop falling block and tnt entities at the specified height
Co-authored-by: Jake Potrebic <jake.m.potrebic@gmail.com>
2016-03-01 14:14:15 -06:00
Suddenly
a24a98199a Add configurable entity despawn distances 2016-03-01 13:51:54 -06:00
Zach Brown
92ffacc419 Allow nerfed mobs to jump 2016-03-01 13:24:16 -06:00
Zach Brown
c7125aaa48 Configurable fishing time ranges 2016-03-01 13:14:11 -06:00
Zach Brown
92ebed543f Configurable baby zombie movement speed 2016-03-01 13:09:16 -06:00
Zach Brown
097b7fd752 Configurable cactus bamboo and reed growth height
Bamboo - Both the minimum fully-grown height and the maximum are configurable
- Machine_Maker
2016-03-01 13:02:51 -06:00
MiniDigger | Martin
a4d805a4be Support components in ItemMeta 2020-06-06 18:13:42 +02:00
Jason Penilla
e92663406b Add command line option to load extra plugin jars not in the plugins folder
ex: java -jar paperclip.jar nogui -add-plugin=/path/to/plugin.jar -add-plugin=/path/to/another/plugin_jar.jar
2021-05-18 14:39:44 -07:00
Aikar
770ee3eebd Remove Spigot timings 2016-03-03 04:00:11 -06:00
Aikar
a371d5fefe Further improve server tick loop
Improves how the catchup buffer is handled, allowing it to roll both ways
increasing the effeciency of the thread sleep so it only will sleep once.

Also increases the buffer of the catchup to ensure server stays at 20 TPS unless extreme conditions

Previous implementation did not calculate TPS correctly.
Switch to a realistic rolling average and factor in std deviation as an extra reporting variable
2016-03-01 23:09:29 -06:00
Nassim Jahnke
fae673b95c Remap reflection calls in plugins using internals
Co-authored-by: Jason Penilla <11360596+jpenilla@users.noreply.github.com>
2022-10-30 23:47:26 +01:00
Zach Brown
4cd66b0305 Hook into CB plugin rewrites
Allows us to do fun stuff like rewrite the OBC util fastutil location to
our own relocation. Also lets us rewrite NMS calls for when we're
debugging in an IDE pre-relocate.
2018-10-03 20:09:18 -04:00
Jason Penilla
13e0a1a71e Plugin remapping
Co-authored-by: Nassim Jahnke <nassim@njahnke.dev>
2022-10-29 15:22:32 -07:00
Owen1212055
216388dfdf Paper Plugins
Co-authored-by: Micah Rao <micah.s.rao@gmail.com>
2022-07-06 23:00:31 -04:00
Zach Brown
329dfdabdc Paper Metrics
Removes Spigot's mcstats metrics in favor of a system using bStats

To disable for privacy or other reasons go to the bStats folder in your plugins folder
and edit the config.yml file present there.

Please keep in mind the data collected is anonymous and collection should have no
tangible effect on server performance. The data is used to allow the authors of
PaperMC to track version and platform usage so that we can make better management
decisions on behalf of the project.
2017-03-24 23:56:01 -05:00
Jason Penilla
bd7282c66d Paper command
Co-authored-by: Zach Brown <1254957+zachbr@users.noreply.github.com>
2016-02-29 21:02:09 -06:00
SirYwell
a0389538ec Rewrite LogEvents to contain the source jars in stack traces 2021-07-10 11:12:30 +02:00
Jason Penilla
34407fe880 Deobfuscate stacktraces in log messages, crash reports, and etc. 2021-06-20 18:19:09 -07:00
Jason Penilla
b0d7c2e971 Use AsyncAppender to keep logging IO off main thread 2021-08-12 04:46:41 -07:00
Minecrell
e36a7522b8 Improve Log4J Configuration / Plugin Loggers
Add full exceptions to log4j to not truncate stack traces

Disable logger prefix for various plugins bypassing the plugin logger

Some plugins bypass the plugin logger and add the plugin prefix
manually to the log message. Since they use other logger names
(e.g. qualified class names) these would now also appear in the
log. Disable the logger prefix for these plugins so the messages
show up correctly.
2017-09-23 21:07:20 +02:00
Minecrell
29788c758a Handle plugin prefixes using Log4J configuration
Display logger name in the console for all loggers except the
root logger, Bukkit's logger ("Minecraft") and Minecraft loggers.
Since plugins now use the plugin name as logger name this will
restore the plugin prefixes without having to prepend them manually
to the log messages.

Logger prefixes are shown by default for all loggers except for
the root logger, the Minecraft/Mojang loggers and the Bukkit loggers.
This may cause additional prefixes to be disabled for plugins bypassing
the plugin logger.
2017-09-21 16:14:55 +02:00
Minecrell
36723cdd60 Use TerminalConsoleAppender for console improvements
Rewrite console improvements (console colors, tab completion,
persistent input line, ...) using JLine 3.x and TerminalConsoleAppender.

Also uses the new ANSIComponentSerializer to serialize components when
logging them via the ComponentLogger, or when sending messages to the
console, for hex color support.

New features:
  - Support console colors for Vanilla commands
  - Add console colors for warnings and errors
  - Server can now be turned off safely using CTRL + C. JLine catches
    the signal and the implementation shuts down the server cleanly.
  - Support console colors and persistent input line when running in
    IntelliJ IDEA

Other changes:
  - Server starts 1-2 seconds faster thanks to optimizations in Log4j
    configuration

Co-Authored-By: Emilia Kond <emilia@rymiel.space>
2017-06-09 19:03:43 +02:00
Riley Park
66779f5c86 Adventure
== AT ==
public net.minecraft.network.chat.HoverEvent$ItemStackInfo item
public net.minecraft.network.chat.HoverEvent$ItemStackInfo count
public net.minecraft.network.chat.HoverEvent$ItemStackInfo components
public net.minecraft.network.chat.contents.TranslatableContents filterAllowedArguments(Ljava/lang/Object;)Lcom/mojang/serialization/DataResult;

Co-authored-by: zml <zml@stellardrift.ca>
Co-authored-by: Jake Potrebic <jake.m.potrebic@gmail.com>
2021-01-29 17:54:03 +01:00
Aikar
b01c811c2f MC Utils
== AT ==
public net.minecraft.server.level.ServerChunkCache mainThread
public net.minecraft.server.level.ServerLevel chunkSource
public org.bukkit.craftbukkit.inventory.CraftItemStack handle
public net.minecraft.server.level.ChunkMap getVisibleChunkIfPresent(J)Lnet/minecraft/server/level/ChunkHolder;
public net.minecraft.server.level.ServerChunkCache mainThreadProcessor
public net.minecraft.server.level.ServerChunkCache$MainThreadExecutor
public net.minecraft.world.level.chunk.LevelChunkSection states
2016-03-28 20:55:47 -04:00
Jake Potrebic
a82a09d198 CB fixes
* Missing Level -> LevelStem generic in StructureCheck
  Need to use the right for injectDatafixingContext (Spottedleaf)

* Fix summon_entity effect attempting to add incorrect entity (granny)

* Removed incorrect parent perm for `minecraft.debugstick.always` (Machine_Maker)

* Fixed method signature of Marker#addPassenger (Machine_Maker)

* Removed unneeded UOE in CustomWorldChunkManager (extends BiomeSource) (Machine_Maker)

* Honor Server#getLootTable method contract (Machine_Maker)

Co-authored-by: Spottedleaf <Spottedleaf@users.noreply.github.com>
2022-02-25 07:14:48 -08:00
Spottedleaf
41c27cbb9d ConcurrentUtil 2022-01-23 22:58:11 -08:00
Aikar
f829dcd46a MC Dev fixes 2016-03-30 19:36:20 -04:00
Jake Potrebic
769119f918 Paper config files
== AT ==
public org.spigotmc.SpigotWorldConfig getBoolean(Ljava/lang/String;Z)Z
public org.spigotmc.SpigotWorldConfig getDouble(Ljava/lang/String;)D
public org.spigotmc.SpigotWorldConfig getDouble(Ljava/lang/String;D)D
public org.spigotmc.SpigotWorldConfig getInt(Ljava/lang/String;)I
public org.spigotmc.SpigotWorldConfig getInt(Ljava/lang/String;I)I
public org.spigotmc.SpigotWorldConfig getList(Ljava/lang/String;Ljava/lang/Object;)Ljava/util/List;
public org.spigotmc.SpigotWorldConfig getString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
public net.minecraft.server.dedicated.DedicatedServerProperties reload(Lnet/minecraft/core/RegistryAccess;Ljava/util/Properties;Ljoptsimple/OptionSet;)Lnet/minecraft/server/dedicated/DedicatedServerProperties;
public net.minecraft.world.level.NaturalSpawner SPAWNING_CATEGORIES
2022-06-08 22:20:16 -07:00
Jake Potrebic
e954a5a260 Test changes
- configure mockito agent to address changes in newer java versions see https://openjdk.org/jeps/451

Co-authored-by: yannnicklamprecht <yannicklamprecht@live.de>
2023-02-13 14:14:56 -08:00
Zach Brown
bc10922ef3 Build system changes
== AT ==
public net.minecraft.server.packs.VanillaPackResourcesBuilder safeGetPath(Ljava/net/URI;)Ljava/nio/file/Path;

Co-authored-by: Jake Potrebic <jake.m.potrebic@gmail.com>
2016-02-29 20:40:33 -06:00
Kyle Wood
f161aac557 Remap fixes 2021-06-11 05:25:03 -05:00
Kyle Wood
94c4e1cbc0 Setup Gradle project
The pom.xml file is deleted in this patch so the patch will fail to
apply if there are changes made to it from upstream - thus notifying us
that changes were made.
2020-12-10 20:54:19 -08:00
CraftBukkit/Spigot
fd78d37b56 Removed unneeded files
By: Initial Source <noreply+automated@papermc.io>
2024-12-11 22:51:20 +01:00
CraftBukkit/Spigot
9940174241 Add unload-frozen-chunks option
By: md_5 <git@md-5.net>
2024-05-18 11:39:58 +10:00
CraftBukkit/Spigot
479ce445d6 Configurable Below Zero Generation
By: DerFrZocker <derrieple@gmail.com>
2021-11-28 12:09:29 +11:00
CraftBukkit/Spigot
7cfc37b17d Configurable Thunder Chance
By: md_5 <git@md-5.net>
2021-10-24 20:29:25 +11:00
CraftBukkit/Spigot
e81bcdf643 Allow Disabling Player Data Saving
By: Sander Knauff <sanderknauff@hotmail.com>
2020-11-07 18:23:42 +11:00
CraftBukkit/Spigot
76c24a1454 Add log-villager-deaths option
By: md_5 <git@md-5.net>
2019-12-14 10:26:52 +11:00
CraftBukkit/Spigot
9ef9823b3b Allow Reading Old Large Chunks
The size of chunks in the region format is overdetermined. In particular their size on disk is indicated by both a sector count in the header, and actual size in the body.
If their size would overflow the header field (>= 255 sectors), it can just be read directly from the body instead.

This code/concept was adapted from MinecraftForge.

By: md_5 <git@md-5.net>
2019-02-19 22:30:00 +11:00
CraftBukkit/Spigot
6fcc9cce6d Add creative mode NBT permissions
By: md_5 <git@md-5.net>
2019-02-25 19:26:56 +11:00
CraftBukkit/Spigot
d16d3c3548 Configurable Advancement Disabling
Allow disabling any (or all) inbuilt advancements with a configuration option.

By: md_5 <git@md-5.net>
2017-06-09 16:29:31 +10:00
CraftBukkit/Spigot
93fea68749 Clear Packet Queue on Disconnect
By: md_5 <git@md-5.net>
2015-07-22 19:04:37 +10:00
CraftBukkit/Spigot
c4f3fcfce9 Use Map for getPlayer(String) lookup.
By: md_5 <git@md-5.net>
2015-07-13 19:05:15 +10:00
CraftBukkit/Spigot
d0a65bc995 Allow Capping (Tile)Entity Tick Time.
This patch adds world configuration options for max-tick-time.entity / max-tick-time.tile which allows setting a hard cap on the amount of time (in milliseconds) that a tick can consume. The default values of 50ms each are very conservative and mean this feature will not activate until the server is well below 15tps (minimum). Values of 20ms each have been reported to provide a good performance increase, however I personally think 25ms for entities and 10-15ms for tiles would give even more significant gains, assuming that these things are not a large priority on your server.

For tiles there is very little tradeoff for this option, as tile ticks are based on wall time for most things, however for entities setting this option too low could lead to jerkiness / lag. The gain however is a faster and more responsive server to other actions such as blocks, chat, combat etc.

This feature was commisioned by Chunkr.

By: md_5 <git@md-5.net>
2015-02-20 21:39:31 +11:00
CraftBukkit/Spigot
49288f7f95 BungeeCord Chat API
By: md_5 <git@md-5.net>
2014-12-13 03:06:05 +01:00
CraftBukkit/Spigot
5ec1e1bc24 Configurable Hanging Tick
By: drXor <mcyoung@mit.edu>
2014-08-09 13:56:51 -04:00
CraftBukkit/Spigot
d7f3ba3df3 Limit TNT Detonations per tick
This gives a per-world control on how much TNT will be processed per-tick,
preventing a massive TNT detonation from lagging out the server.

By: Aikar <aikar@aikar.co>
2014-08-20 18:12:32 -04:00
CraftBukkit/Spigot
c34736a0d2 Make debug logging togglable.
By: Minecrell <dev@minecrell.net>
2014-08-17 12:42:53 +02:00
CraftBukkit/Spigot
f026f7905e Add Hunger Config Values
By: lazertester <austin.techhead@gmail.com>
2014-08-17 19:56:17 +10:00
CraftBukkit/Spigot
83699d54bf Plug WorldMap Memory Leak
By: md_5 <git@md-5.net>
2014-08-08 19:57:03 +10:00
CraftBukkit/Spigot
0098808c9e Allow Attribute Capping.
Apply some sensible defaults and allow server owners to customize the maximum values of selected common attributes.

By: md_5 <git@md-5.net>
2014-07-28 16:55:51 +10:00
CraftBukkit/Spigot
5b20d95920 Apply NBTReadLimiter to more things.
By: md_5 <git@md-5.net>
2014-07-27 20:46:04 +10:00
CraftBukkit/Spigot
f972379105 Make "moved too quickly" limit configurable
By: Jonas Konrad <me@yawk.at>
2014-07-22 15:59:01 +02:00
CraftBukkit/Spigot
7b951a7ec6 Make "moved wrongly" limit configurable
By: Jonas Konrad <me@yawk.at>
2014-07-04 23:03:13 +02:00
CraftBukkit/Spigot
0166f71409 Prevent a crash involving attributes
By: Thinkofdeath <thinkofdeath@spigotmc.org>
2014-07-19 19:54:41 +01:00
CraftBukkit/Spigot
6578ff97bb Add CommandLine EULA Flag
This flag contains the same message as eula.txt (albeit with proper grammar for 3rd person plural). By setting this flag you are agreeing to the terms listed in the message printed upon setting this flag, which are no different from those agreed to by any other method.

This feature only exists for hosting companies and people who manage servers in bulk who wish to agree to the terms by setting a flag in a script.

By: md_5 <git@md-5.net>
2014-07-09 10:35:44 +10:00
CraftBukkit/Spigot
0076297721 Safer JSON Loading
By: Suddenly <suddenly@suddenly.coffee>
2014-07-08 09:44:18 +10:00
CraftBukkit/Spigot
c4d2bdfd85 Further Seed Customisation
Allow server admins that really want to to customise the seeds used in world generation even further.

By: md_5 <git@md-5.net>
2014-07-04 13:28:45 +10:00
CraftBukkit/Spigot
4a1b3a723a Better item validation
By: Thinkofdeath <thinkofdeath@spigotmc.org>
2014-07-02 23:35:51 +01:00
CraftBukkit/Spigot
804b118219 Limit block placement/interaction packets
By: Thinkofdeath <thinkofdeath@spigotmc.org>
2014-06-29 21:10:34 +01:00
CraftBukkit/Spigot
7bee9a20b3 Configurable save-on-stop-only for UserCache
By: drXor <mcyoungsota@gmail.com>
2014-05-23 18:05:10 -04:00
CraftBukkit/Spigot
7e097e5d53 Implement PlayerSpawnLocationEvent.
By: ninja <xninja@openmailbox.org>
2014-04-08 14:05:19 +02:00
CraftBukkit/Spigot
542b7a7eb1 Configurable UserCache cap
By: drXor <mcyoungsota@gmail.com>
2014-04-25 18:17:30 -04:00
CraftBukkit/Spigot
05f3042755 Fix race condition that could kill connections before they were initiated
Because NetworkManagers are registered before they get their channel in
channelActive, the ServerConnection would remove them sometimes because
it thought they were disconnected. This commit fixes this by introducing
a 'preparing' variable that is true while the NetworkManager is not
initialized. The ServerConnection does not remove NetworkManagers with
this flag.

By: Jonas Konrad <me@yawk.at>
2014-04-25 23:46:46 +02:00
CraftBukkit/Spigot
8b9d2faa11 Prevent NoClassDefError crash and notify on crash
By: David <dmck2b@gmail.com>
2014-04-21 12:43:08 +01:00
CraftBukkit/Spigot
f1087e18c1 Fix Player Banning
This issue stems from the fact that Bukkit's API only allows a UUID to be banned, but Minecraft requires both a UUID and name. To fix this we modify the code to require a UUID or a name, or both. The correct fix would be expanding the API to be able to provide a name, however this would require plugin changes.

By: md_5 <git@md-5.net>
2014-04-15 10:32:48 +10:00
CraftBukkit/Spigot
b7597142d3 Use Offline Player Data Once if Required.
If we are online mode and the only copy of player data we can find is the player's offline mode data, we will attempt a once off conversion by reading this data and then renaming the file so it won't be used again.

By: md_5 <git@md-5.net>
2014-04-13 14:41:23 +10:00
CraftBukkit/Spigot
c3318769cd Print Stack on InternalException
By: md_5 <git@md-5.net>
2014-04-13 09:00:59 +10:00
CraftBukkit/Spigot
88fc243cd1 Display 'Spigot' in client crashes, server lists and Mojang stats
By: Thinkofdeath <thethinkofdeath@gmail.com>
2014-04-11 11:16:34 +01:00
CraftBukkit/Spigot
1cb6ba6942 Configurable dragon death and wither spawn sounds
By: drXor <mcyoungsota@gmail.com>
2014-03-29 13:44:25 -04:00
CraftBukkit/Spigot
59b0d3d6b2 Implement Silenceable Lightning API
By: drXor <mcyoungsota@gmail.com>
2014-02-23 16:16:59 -04:00
CraftBukkit/Spigot
9c8d5eefd0 Allow vanilla commands to be the main version of a command
By: Thinkofdeath <thethinkofdeath@gmail.com>
2014-02-12 20:44:14 +00:00
CraftBukkit/Spigot
8440092f32 Add support for fetching hidden players
By: Tux <write@imaginarycode.com>
2014-02-09 14:03:03 -05:00
CraftBukkit/Spigot
c3ce457c08 Add Option to Silence CommandBlock Console
By: md_5 <git@md-5.net>
2014-02-09 14:39:01 +11:00
CraftBukkit/Spigot
ff6d4b2d90 Spam Filter Exclusions
By: md_5 <git@md-5.net>
2014-02-08 08:13:40 +00:00
CraftBukkit/Spigot
b26b6dadb0 Add Optional Tick Shuffling
This prevents players from 'gaming' the server, and strategically relogging to increase their position in the tick order.

By: md_5 <git@md-5.net>
2014-01-27 08:39:26 +11:00
CraftBukkit/Spigot
23c02d0942 Configurable Ping Sample Size
By: md_5 <git@md-5.net>
2014-01-26 21:48:34 +11:00
CraftBukkit/Spigot
cd82f21617 Highly Optimized Tick Loop
By: md_5 <git@md-5.net>
2017-01-26 21:50:51 +00:00
CraftBukkit/Spigot
68214fb1a0 Allow toggling of ZombiePigmen spawning in portal blocks
By: Dmck2b <dmck2b+github@gmail.com>
2014-01-20 20:18:23 +00:00
CraftBukkit/Spigot
bfc73d87f0 Catch stalling on corrupted map data / NBT arrays.
By: md_5 <git@md-5.net>
2014-01-20 13:44:07 +11:00
CraftBukkit/Spigot
1f67404bb9 Allow statistics to be disabled/forced
By: Thinkofdeath <thethinkofdeath@gmail.com>
2014-01-07 15:56:26 +00:00
CraftBukkit/Spigot
fc81df77cf Add Option to Nerf Mobs from Spawners
By: md_5 <git@md-5.net>
2014-02-02 16:55:46 +00:00
CraftBukkit/Spigot
efce291f2e Save ticks lived to nbttag
By: DerFlash <bte@freenet.de>
2013-07-09 00:11:12 +02:00
CraftBukkit/Spigot
cbf16b353d Configurable Amount of Netty Threads
This brings back the option that the Spigot version of netty saw. By default Netty will try and use cores*2 threads, however if running multiple servers on the same machine, this can be too many threads. Additionally some people have 16 core servers. If 32 Netty threads are allowed in this setup, then the lock contention, and thus blocking between threads becomes much greater, leading to decreased performance.

By: md_5 <git@md-5.net>
2013-12-13 11:58:58 +11:00
CraftBukkit/Spigot
0abc9c4cd1 Allow Disabling Zombie Villager Aggression
Ability to configure if Zombies will be aggressive towards Villagers.

By: Dylan Xaldin <Puremin0rez515@gmail.com>
2013-12-12 18:05:03 -06:00
CraftBukkit/Spigot
3d4c222263 BungeeCord Support
* Provides support for IP forwarding via BungeeCord.
* Treats Bungee as Online Mode.

By: md_5 <git@md-5.net>
2014-04-12 21:23:58 +10:00
CraftBukkit/Spigot
496995ccaa Watchdog Thread.
By: md_5 <git@md-5.net>
2014-08-05 17:20:19 +01:00
CraftBukkit/Spigot
29a8c7f4b3 Arrow Despawn Rate
By: md_5 <git@md-5.net>
2013-10-14 19:20:10 +11:00
CraftBukkit/Spigot
9e02bc055b Implement respawn API.
By: ninja- <xninja@openmailbox.org>
2013-10-08 14:34:49 +02:00
CraftBukkit/Spigot
a702945c70 Prevent Ghost Players Caused by Plugins
Check if the player is still connected after firing event. Fixes BUKKIT-4327

By: Alex Ciuba <alexciuba@gmail.com>
2013-06-11 15:23:03 -04:00
CraftBukkit/Spigot
b934e29ae6 Disallow Interaction With Self
By: md_5 <git@md-5.net>
2013-06-28 19:52:54 +10:00
CraftBukkit/Spigot
1904e973f2 Properly Close Inventories
Properly close inventories when unloading and switching worlds.

By: md_5 <git@md-5.net>
2013-06-27 17:26:09 +10:00
CraftBukkit/Spigot
55148a3f2c Configurable Messages
By: md_5 <git@md-5.net>
2013-06-21 19:21:58 +10:00
CraftBukkit/Spigot
cabf908e4c Allow Disabling of Command TabComplete
By: md_5 <git@md-5.net>
2013-06-21 18:05:54 +10:00
CraftBukkit/Spigot
0eed728812 Allow Disabling of Command Logging
By: md_5 <git@md-5.net>
2013-06-21 18:01:29 +10:00
CraftBukkit/Spigot
135df938cc Hopper Customisations
Allows editing hopper cooldowns and amount transferred per tick.

By: erocs <github@erocs.org>
2013-09-08 12:06:15 -07:00
CraftBukkit/Spigot
831bf8fb7e Entity Tracking Ranges
This will let you configure how far to track entities in range from players, so that the entity does not render on the client if out of this range.
This has multiple benefits:

1) Less bandwidth. Not sending update packets for entities that are not even close to a player, or even close enough to clearly see.
2) Less lag by maps in item frames - Default range is 160 blocks... Many players can track that item frame and cause lag and not even see it.
3) Less lag in general - Less work for the server to do
4) Less client lag - Not trying to render distant item frames and paintings and entities will reduce entity count on the client, which is major for shop/town worlds which may use tons of item frames.

By: Aikar <aikar@aikar.co>
2013-02-20 11:58:47 -05:00
CraftBukkit/Spigot
94ccdc0d40 Metrics
By: md_5 <git@md-5.net>
2013-02-23 08:58:35 +11:00
CraftBukkit/Spigot
28c8009a16 Entity Activation Range
This feature gives 3 new configurable ranges that if an entity of the matching type is outside of this radius of any player, will tick at 5% of its normal rate.

This will drastically cut down on tick timings for entities that are not in range of a user to actually be "used".
This change can have dramatic impact on gameplay if configured too low. Balance according to your servers desired gameplay.

By: Aikar <aikar@aikar.co>
2024-11-02 18:16:11 +11:00
CraftBukkit/Spigot
54a84c6c79 Item Despawn Rate
By: md_5 <git@md-5.net>
2013-09-22 19:10:53 +10:00
CraftBukkit/Spigot
19bfb10583 Fix Mob Spawning Relative to View Distance
Changes the mob spawning algorithm to properly account for view distance and the range around players.

Needs better documentation.

By: md_5 <git@md-5.net>
2013-06-21 17:29:54 +10:00
CraftBukkit/Spigot
78524cb95e Spigot Timings
Overhauls the Timings System adding performance tracking all around the Minecraft Server

By: Aikar <aikar@aikar.co>
2013-01-10 00:18:11 -05:00
CraftBukkit/Spigot
127d8c1595 View Distance
This commit allows the user to select per world view distances.

By: md_5 <git@md-5.net>
2013-03-23 09:52:41 +11:00
CraftBukkit/Spigot
5240271410 Async Operation Catching
Catch and throw an exception when a potentially unsafe operation occurs on a thread other than the main server thread.

By: md_5 <git@md-5.net>
2014-03-25 16:10:01 +11:00
CraftBukkit/Spigot
973f52a650 Merge tweaks and configuration
This allows the merging of Experience orbs, as well as the configuration of the merge radius of items. Additionally it refactors the merge algorithm to be a better experience for players.

By: md_5 <git@md-5.net>
2013-03-23 09:46:33 +11:00
CraftBukkit/Spigot
df403168ff Crop Growth Rates
Allows configuring the growth rates of crops as a percentage of their normal growth rate.

By: md_5 <git@md-5.net>
2016-03-07 22:14:13 +11:00
CraftBukkit/Spigot
cba0d1f1ec Spigot Configuration
Provides the basic infrastructure to load and save the Spigot configuration file, spigot.yml

By: md_5 <git@md-5.net>
2013-07-07 09:32:53 +10:00
CraftBukkit/Spigot
6b0bae2fb6 Skeleton API Implementations
This contains the basic, empty implementations for some Spigot-API extensions. They are included early in the patching progress so that compilation will still succeed midway despite the APIs only being provided by subsequent patches.

By: md_5 <git@md-5.net>
2013-06-02 15:10:56 +10:00
CraftBukkit/Spigot
02380b2f27 POM Changes
Basic changes to the build system which mark the artifact as Spigot, and the necessary code changes to ensure proper functionality. Also disables the auto updater provided by CraftBukkit as it is useless to us.

By: md_5 <git@md-5.net>
2013-07-02 13:07:39 +10:00
CraftBukkit/Spigot
30e4583dbe Remap CraftBukkit to Mojang+Yarn Mappings
By: Initial Source <noreply+automated@papermc.io>
2024-12-11 22:26:55 +01:00
CraftBukkit/Spigot
a265d64138 Move CraftBukkit per-file patches
By: Initial <noreply+automated@papermc.io>
2024-12-11 22:26:36 +01:00
CraftBukkit/Spigot
a4de181b77 SPIGOT-7975: Fix issue with Pale Sapling growing
By: Doc <nachito94@msn.com>
2024-12-03 22:41:12 -03:00
CraftBukkit/Spigot
6d16e47300 SPIGOT-7974: Fix Crash for Creaking Heart Block particle
By: Doc <nachito94@msn.com>
2024-12-03 21:52:01 -03:00
CraftBukkit/Spigot
5381ea78f7 Update to Minecraft 1.21.4
By: md_5 <git@md-5.net>
2024-12-04 03:20:00 +11:00
CraftBukkit/Spigot
267ae64dd6 Remove outdated build delay
By: md_5 <git@md-5.net>
2024-12-04 03:16:22 +11:00
CraftBukkit/Spigot
20071139d1 SPIGOT-7971: NotSerializableException on serialize CraftUseCooldownComponent
By: md_5 <git@md-5.net>
2024-12-01 09:52:58 +11:00
CraftBukkit/Spigot
61ca2bcfef SPIGOT-7968: ProjectileHitEvent not trigerred when arrow hits entity
By: md_5 <git@md-5.net>
2024-11-30 15:16:28 +11:00
CraftBukkit/Spigot
9850cb85dd SPIGOT-7970: World#getMaxHeight() returning incorrect value
By: md_5 <git@md-5.net>
2024-11-30 15:12:42 +11:00
CraftBukkit/Spigot
7d62830284 SPIGOT-7965: Unknown TransformReason for Hoglins
By: md_5 <git@md-5.net>
2024-11-27 07:08:14 +11:00
CraftBukkit/Spigot
b06cbec171 SPIGOT-7966: Some trees do not generate with #generateTree
By: md_5 <git@md-5.net>
2024-11-27 07:00:57 +11:00
CraftBukkit/Spigot
a11ca51ee1 #1515: Add a Class reader and Class node argument provider
By: DerFrZocker <derrieple@gmail.com>
2024-11-25 07:35:28 +11:00
CraftBukkit/Spigot
eba2b1e948 #1514: Add a test case for ClassTraverser
By: DerFrZocker <derrieple@gmail.com>
2024-11-25 07:35:18 +11:00
CraftBukkit/Spigot
4992aa1b5d Fix Inventory#addItem not respecting max stack size
By: md_5 <git@md-5.net>
2024-11-24 11:06:35 +11:00
CraftBukkit/Spigot
f642133483 #1490: Add method to get Advancement requirements
By: Nothixal <nothixal@gmail.com>
2024-11-23 21:25:14 +11:00
CraftBukkit/Spigot
4487df57e1 #1512: Test Art class based on specific values instead of the implementation, to better catch implementation changes
By: DerFrZocker <derrieple@gmail.com>
2024-11-23 21:14:14 +11:00
CraftBukkit/Spigot
5a6e315a79 #1503: Simplify CAS loop to getAndSet
By: sunmisc <jolyjdia@gmail.com>
2024-11-23 21:12:04 +11:00
CraftBukkit/Spigot
0f66e39e46 Make BlockDataMeta#setBlockData hide unspecified states
By: md_5 <git@md-5.net>
2024-11-23 21:08:50 +11:00
CraftBukkit/Spigot
8f7a88cc91 SPIGOT-7960: Fix inconsistency between natural item drop coordinates
By: md_5 <git@md-5.net>
2024-11-20 21:42:05 +11:00
CraftBukkit/Spigot
b3b4fd1c4b SPIGOT-7960: Improve natural item drop methods
By: md_5 <git@md-5.net>
2024-11-19 20:16:47 +11:00
CraftBukkit/Spigot
c7707ece4c SPIGOT-7957: Fix setTarget method for Breeze
By: Doc <nachito94@msn.com>
2024-11-17 11:22:36 +11:00
CraftBukkit/Spigot
ac56ea8d83 SPIGOT-7955: Failure teleporting players between worlds using Player#teleport() when player has attribute modifiers
By: md_5 <git@md-5.net>
2024-11-12 20:51:01 +11:00
CraftBukkit/Spigot
a768ea0ddf SPIGOT-7953: Item cooldown must be greater than 0
By: md_5 <git@md-5.net>
2024-11-12 20:37:58 +11:00
CraftBukkit/Spigot
475a5576bc Increase outdated build delay
By: md_5 <git@md-5.net>
2024-11-10 21:20:09 +11:00
CraftBukkit/Spigot
bbe0572877 SPIGOT-7946: API for server pause when empty seconds
By: md_5 <git@md-5.net>
2024-11-06 20:38:09 +11:00
CraftBukkit/Spigot
0df40ed8d9 SPIGOT-7947: addPassenger doesn't work if the vehicle is a player
By: md_5 <git@md-5.net>
2024-11-06 20:27:44 +11:00
CraftBukkit/Spigot
30af9c34dd SPIGOT-7949: Registering a new scoreboard objective with an empty display name throws a NPE
By: md_5 <git@md-5.net>
2024-11-06 20:22:58 +11:00
CraftBukkit/Spigot
b9a4bb1cd1 SPIGOT-7948: Bukkit#dispatchCommand uses the wrong CommandListenerWrapper for Players
By: md_5 <git@md-5.net>
2024-11-06 20:20:36 +11:00
CraftBukkit/Spigot
d27615dcaf SPIGOT-7931: Fix sync in Anvil View when result item is taken
By: Doc <nachito94@msn.com>
2024-11-05 14:12:23 +11:00
CraftBukkit/Spigot
8fc0f462c0 SPIGOT-7945: Bukkit#dispatchCommand throws UnsupportedOperationException
By: md_5 <git@md-5.net>
2024-11-04 07:25:07 +11:00
CraftBukkit/Spigot
83f48fb3c6 SPIGOT-7933: Improve custom Minecart max speed
By: md_5 <git@md-5.net>
2024-11-03 09:22:20 +11:00
CraftBukkit/Spigot
82bd6be3e1 SPIGOT-7940: Recipe book errors after reload
By: md_5 <git@md-5.net>
2024-11-02 17:55:34 +11:00
CraftBukkit/Spigot
d580602ebb SPIGOT-7937: Cannot spawn minecart during world generation with minecart_improvements enabled
By: md_5 <git@md-5.net>
2024-11-02 17:40:23 +11:00
CraftBukkit/Spigot
c162fedc16 SPIGOT-7941: Fix resistance over 4 amplify causing issues in damage
By: Doc <nachito94@msn.com>
2024-11-02 16:53:39 +11:00
CraftBukkit/Spigot
aefa65b696 #1504: Make Art an interface
By: DerFrZocker <derrieple@gmail.com>
2024-11-02 11:00:13 +11:00
CraftBukkit/Spigot
42ebf1afa4 #1502: Make Sound an interface
By: DerFrZocker <derrieple@gmail.com>
2024-11-02 11:00:08 +11:00
CraftBukkit/Spigot
7b903b41cb #1501: Make Biome an interface
By: DerFrZocker <derrieple@gmail.com>
2024-11-01 08:05:35 +11:00
CraftBukkit/Spigot
2960bff05e #1500: Rename implementation for Vault State methods
By: Doc <nachito94@msn.com>
2024-10-29 06:43:27 +11:00
CraftBukkit/Spigot
af6f2c9b41 #1499: Make Fluid an interface and add missing entry
By: DerFrZocker <derrieple@gmail.com>
2024-10-29 06:43:20 +11:00
CraftBukkit/Spigot
08c83835f3 #1498: Make Attribute an interface and align names with the new minecraft ones
By: DerFrZocker <derrieple@gmail.com>
2024-10-29 06:43:14 +11:00
CraftBukkit/Spigot
228b3effa4 SPIGOT-7928: ExactChoice acts as MaterialChoice
By: md_5 <git@md-5.net>
2024-10-27 07:40:05 +11:00
CraftBukkit/Spigot
a15be74be3 SPIGOT-7929: Error when setting EquippableComponent
By: md_5 <git@md-5.net>
2024-10-27 07:33:54 +11:00
CraftBukkit/Spigot
2a202c520e SPIGOT-7930: Fix spawning entities with SummonEntityEffect
By: md_5 <git@md-5.net>
2024-10-27 07:30:49 +11:00
CraftBukkit/Spigot
762b4f15ca #1497: Move boat field rename entries to below key renaming, so that keys are also renamed
By: DerFrZocker <derrieple@gmail.com>
2024-10-27 07:27:35 +11:00
CraftBukkit/Spigot
54caf1484d #1496: Use correct Fluid class on Tags type check
By: DerFrZocker <derrieple@gmail.com>
2024-10-27 07:26:23 +11:00
CraftBukkit/Spigot
91ffa532ba SPIGOT-7923: Fix Dispenser logic to avoid firing empty projectiles
By: Doc <nachito94@msn.com>
2024-10-26 07:29:49 +11:00
CraftBukkit/Spigot
4aea0978fb Add PlayerInputEvent
By: md_5 <git@md-5.net>
2024-10-24 20:42:30 +11:00
CraftBukkit/Spigot
e1673f9708 #1494: TreeType - add missing pale oak trees
By: shanebeee <shanebolenback@me.com>
2024-10-24 07:07:57 +11:00
CraftBukkit/Spigot
0821d18951 SPIGOT-7924: Registering a ShapelessRecipe throws an IndexOutOfBoundsException
By: md_5 <git@md-5.net>
2024-10-24 06:53:07 +11:00
CraftBukkit/Spigot
1236b98371 Update to Minecraft 1.21.3
By: md_5 <git@md-5.net>
2024-10-24 06:15:00 +11:00
CraftBukkit/Spigot
adbb925fc4 SPIGOT-7922: ExactChoice recipe fails to be added
By: md_5 <git@md-5.net>
2024-10-23 19:38:39 +11:00
CraftBukkit/Spigot
cd2a2a27ff SPIGOT-7919: Add API to access current player input
By: md_5 <git@md-5.net>
2024-10-23 08:04:17 +11:00
CraftBukkit/Spigot
d6c970b00b SPIGOT-7918: Make error message clearer for slot types not present in player inventories
By: md_5 <git@md-5.net>
2024-10-23 07:30:39 +11:00
CraftBukkit/Spigot
a24f08778b SPIGOT-7920: Expose enderpearls of Player
By: md_5 <git@md-5.net>
2024-10-23 07:20:07 +11:00
CraftBukkit/Spigot
d3a23f42c3 Update to Minecraft 1.21.2
By: md_5 <git@md-5.net>
2024-10-23 02:15:00 +11:00
CraftBukkit/Spigot
2c4beb962b Remove outdated build delay
By: md_5 <git@md-5.net>
2024-10-23 02:00:00 +11:00
CraftBukkit/Spigot
2a98825ddf #1493: Improve reroute performance and add some tests
By: DerFrZocker <derrieple@gmail.com>
2024-10-15 21:05:19 +11:00
CraftBukkit/Spigot
8484d46297 Add support for Java 23
By: md_5 <git@md-5.net>
2024-10-14 19:57:04 +11:00
CraftBukkit/Spigot
c8344ab49d SPIGOT-7915: Fix World#getKeepSpawnInMemory() using Spawn Radius rather than Spawn Chunk Radius
By: Doc <nachito94@msn.com>
2024-10-10 07:56:26 +11:00
CraftBukkit/Spigot
7be855108f Fix HIDE_ENCHANTS flag in items without enchantments
By: Doc <nachito94@msn.com>
2024-10-07 14:16:09 -03:00
CraftBukkit/Spigot
f77cb8d6c2 Bump asm to 9.7.1 and re-add ClassReader to ClassWriter
By: DerFrZocker <derrieple@gmail.com>
2024-10-06 14:38:13 +02:00
CraftBukkit/Spigot
adf5fecbbb #1487: Add specific getTopInventory methods for InventoryView derivatives
By: Miles Holder <mwholder@proton.me>
2024-10-06 18:45:12 +11:00
CraftBukkit/Spigot
d7d206b995 SPIGOT-7907, #1484: Improve merchant recipe item matching behavior to more closely align with older versions
Before the update for MC 1.20.5 (item components), merchant recipes
would accept items with additional NBT tags. Since 1.20.5, merchant
recipes created via the Bukkit API no longer accept additional
components.

This changes which component types we pick for merchant recipes created
via the API to more closely match the behavior from before the MC 1.20.5
update, i.e. ignore any empty / default components again.

By: blablubbabc <lukas@wirsindwir.de>
2024-10-06 18:32:00 +11:00
CraftBukkit/Spigot
54c12bdb6e SPIGOT-7909: Always set HIDE_ENCHANTS flag to item if flag is set
By: md_5 <git@md-5.net>
2024-10-06 18:25:07 +11:00
CraftBukkit/Spigot
bad69bdc04 Increase outdated build delay
By: md_5 <git@md-5.net>
2024-10-06 18:18:22 +11:00
CraftBukkit/Spigot
8fc133212d SPIGOT-7910: Fix launching breeze wind charge from API and improve dispenser launch API
By: md_5 <git@md-5.net>
2024-09-29 10:29:39 +10:00
CraftBukkit/Spigot
08fdfd6434 SPIGOT-7856, #1483: End platform not dropping items after replacing blocks
By: Miles Holder <mwholder@proton.me>
2024-09-27 12:57:36 +10:00
CraftBukkit/Spigot
2c7ce2505b SPIGOT-7780, #1482: Cannot edit chunks during unload event
Run all chunk unload events before the call to updateHighestAllowedStatus.

By: blablubbabc <lukas@wirsindwir.de>
2024-09-27 08:46:44 +10:00
CraftBukkit/Spigot
074c4c011e SPIGOT-7902, #1477: Fix CraftMetaPotion#hasCustomEffects() does not check if customEffects (List) is empty
By: James Perry <beanp02@yahoo.com>
2024-09-27 08:35:25 +10:00
CraftBukkit/Spigot
060be9b96a Implement base methods for tags
By: md_5 <git@md-5.net>
2024-09-27 08:28:45 +10:00
CraftBukkit/Spigot
0278929667 Improve Registry#getOrThrow messages
By: md_5 <git@md-5.net>
2024-09-27 08:21:32 +10:00
CraftBukkit/Spigot
eb72b9d8a3 #1475: Add tests for Minecraft registry <-> Bukkit fields
By: DerFrZocker <derrieple@gmail.com>
2024-09-27 08:15:18 +10:00
CraftBukkit/Spigot
8b1426d818 SPIGOT-7908: Mark junit-platform-suite-engine as test scope
By: 2008Choco <hawkeboyz2@hotmail.com>
2024-09-27 08:07:51 +10:00
CraftBukkit/Spigot
fbf9dd80d4 #1473: Change tests to use suites, to run tests in different environments and feature flags
By: DerFrZocker <derrieple@gmail.com>
2024-09-26 20:01:56 +10:00
CraftBukkit/Spigot
18f63085bb #1481: Fix BeaconView#set[X]Effect(null)
By: Miles Holder <mwholder@proton.me>
2024-09-25 07:52:14 +10:00
CraftBukkit/Spigot
98e7025512 #1480: Fix PerMaterialTest#isEdible test running for legacy materials
By: DerFrZocker <derrieple@gmail.com>
2024-09-20 07:23:06 +10:00
CraftBukkit/Spigot
52e03b47a2 #1479: Use custom #isBlock method in legacy init instead of the one in Material, since it relies on legacy being init
By: DerFrZocker <derrieple@gmail.com>
2024-09-20 07:17:47 +10:00
CraftBukkit/Spigot
c98b18d4a2 SPIGOT-7904: Fix NPE for PlayerItemBreakEvent
By: Doc <nachito94@msn.com>
2024-09-19 06:45:18 +10:00
CraftBukkit/Spigot
c33c116001 Fix missing hasJukeboxPlayable
By: md_5 <git@md-5.net>
2024-09-17 21:09:21 +10:00
CraftBukkit/Spigot
5f1cd5748b SPIGOT-7881: CTRL+Pick Block saves position data into item
By: md_5 <git@md-5.net>
2024-09-15 17:17:10 +10:00
CraftBukkit/Spigot
4b1526b609 SPIGOT-7899: Smithing recipes don't require inputs
By: md_5 <git@md-5.net>
2024-09-15 16:50:24 +10:00
CraftBukkit/Spigot
5bc6a90535 SPIGOT-7894: NPE when sending tile entity update
By: md_5 <git@md-5.net>
2024-09-09 21:04:38 +10:00
CraftBukkit/Spigot
b7359583f2 SPIGOT-7895: PlayerItemBreakEvent not firing
By: md_5 <git@md-5.net>
2024-09-09 20:57:37 +10:00
CraftBukkit/Spigot
deb7197a64 SPIGOT-7875: Fix PlayerItemConsumeEvent cancellation causing client-side desync
By: Doc <nachito94@msn.com>
2024-09-07 19:35:16 +10:00
CraftBukkit/Spigot
616ec5f700 SPIGOT-7891: Can't remove second ingredient of MerchantRecipe
By: md_5 <git@md-5.net>
2024-09-07 18:57:55 +10:00
CraftBukkit/Spigot
fbea3cdc0c #1458: Add MenuType API
By: Miles Holder <mwholder2005@gmail.com>
2024-09-07 18:52:00 +10:00
CraftBukkit/Spigot
ac5e815b3e SPIGOT-7867: Merchant instanceof AbstractVillager always returns false
By: Miles Holder <mwholder2005@gmail.com>
2024-09-07 18:14:09 +10:00
CraftBukkit/Spigot
7657f347d2 #1468: Expand riptiding API
By: ShreyasAyyengar <shreyas.ayyengar@gmail.com>
2024-09-07 18:08:13 +10:00
CraftBukkit/Spigot
106225f127 Ignore checks in CraftPlayerProfile for ResolvableProfile used in profile components
By: Doc <nachito94@msn.com>
2024-08-31 10:25:23 -04:00
CraftBukkit/Spigot
3919314de0 SPIGOT-7889: Fix tool component deserialisation without speed and/or correct-for-drops
By: md_5 <git@md-5.net>
2024-08-31 08:49:31 +10:00
CraftBukkit/Spigot
b133887b85 SPIGOT-7882, #1467: Fix conversion of name in Profile Component to empty if it is missing
By: Doc <nachito94@msn.com>
2024-08-31 08:40:57 +10:00
CraftBukkit/Spigot
b2a28c54bb SPIGOT-7887: Remove duplicate ProjectileHitEvent for fireballs
By: md_5 <git@md-5.net>
2024-08-29 07:23:29 +10:00
CraftBukkit/Spigot
ab921984fc SPIGOT-7878: Server#getLootTable does not return null on invalid loot table
By: md_5 <git@md-5.net>
2024-08-24 08:02:44 +10:00
CraftBukkit/Spigot
0916d51f5d SPIGOT-7876: Can't kick player or disconnect player in PlayerLoginEvent when checking for cookies
By: md_5 <git@md-5.net>
2024-08-24 07:51:55 +10:00
CraftBukkit/Spigot
84f1d558c3 #1465: Add FireworkMeta#hasPower
By: Doc <nachito94@msn.com>
2024-08-24 07:44:52 +10:00
CraftBukkit/Spigot
51e69e6788 SPIGOT-7873: Add powered state for skulls
By: md_5 <git@md-5.net>
2024-08-24 07:42:35 +10:00
CraftBukkit/Spigot
0b4a111361 Improve minecart movement
By: md_5 <git@md-5.net>
2024-08-24 07:42:35 +10:00
CraftBukkit/Spigot
7eb7761ca0 SPIGOT-7872: Fix crash with event-modified teleports
By: md_5 <git@md-5.net>
2024-08-17 08:40:13 +10:00
CraftBukkit/Spigot
9f0a790b3d SPIGOT-7868, #1463: Fix default and max power in FireworkMeta
By: Doc <nachito94@msn.com>
2024-08-17 08:37:46 +10:00
CraftBukkit/Spigot
71695536dd SPIGOT-7783, SPIGOT-7784, #1460: Add Trial Vault & Spawner event API
By: ShreyasAyyengar <shreyas.ayyengar@gmail.com>
2024-08-13 20:50:04 +10:00
CraftBukkit/Spigot
3a8b574f16 #1462: Fix broken links and minor improvement for checkstyle.xml
By: Doc <nachito94@msn.com>
2024-08-12 21:26:49 +10:00
CraftBukkit/Spigot
921fbc5f60 Update to Minecraft 1.21.1
By: md_5 <git@md-5.net>
2024-08-09 07:00:00 +10:00
CraftBukkit/Spigot
59b86b9837 SPIGOT-7857: Improve ItemMeta block data deserialization
By: blablubbabc <lukas@wirsindwir.de>
2024-08-08 07:44:52 +10:00
CraftBukkit/Spigot
8c7a0e888f SPIGOT-7857: Fix spurious internal NBT tag when deserializing BlockStateMeta
By: md_5 <git@md-5.net>
2024-08-06 19:07:10 +10:00
CraftBukkit/Spigot
2f0c34a2cf SPIGOT-7855: Fire does not spread or burn blocks
By: md_5 <git@md-5.net>
2024-08-05 17:28:37 +10:00
CraftBukkit/Spigot
3fb8f4b1d1 SPIGOT-7853: AnvilInventory#getRepairCost() always returns 0
By: Miles Holder <mwholder2005@gmail.com>
2024-07-30 07:11:55 +10:00
CraftBukkit/Spigot
9a7508c3ab #1450: Add CrafterCraftEvent
By: ploppyperson <nathat890@outlook.com>
Also-by: md_5 <git@md-5.net>
2024-07-30 07:07:10 +10:00
CraftBukkit/Spigot
8317d4c799 SPIGOT-5731: PortalCreateEvent#getEntity returns null for nether portals ignited by flint and steel
By: md_5 <git@md-5.net>
2024-07-28 08:54:10 +10:00
CraftBukkit/Spigot
1a0dce328a #1456: Fix inverted logic in CraftCrafterView#setSlotDisabled
By: Miles Holder <mwholder2005@gmail.com>
2024-07-28 08:34:00 +10:00
CraftBukkit/Spigot
57bb408920 SPIGOT-7850: Add API for Bogged shear state
By: md_5 <git@md-5.net>
2024-07-27 10:28:37 +10:00
CraftBukkit/Spigot
d2745c6491 SPIGOT-7837: Support data pack banner patterns
By: Doc <nachito94@msn.com>
2024-07-27 10:14:41 +10:00
CraftBukkit/Spigot
bfad1aa117 #1431: Add API for InventoryView derivatives
By: Miles Holder <mwholder2005@gmail.com>
2024-07-27 10:01:29 +10:00
CraftBukkit/Spigot
7fae51f18d SPIGOT-7849: Fix FoodComponent serialize with "using-converts-to" using null
By: Doc <nachito94@msn.com>
2024-07-26 07:25:02 +10:00
CraftBukkit/Spigot
983dd759e8 Don't rely on tags for CraftItemMetas
By: md_5 <git@md-5.net>
2024-07-24 19:40:55 +10:00
CraftBukkit/Spigot
af7b1e8dec SPIGOT-7846: Fix ItemMeta for hanging signs
By: md_5 <git@md-5.net>
2024-07-24 19:40:50 +10:00
CraftBukkit/Spigot
5454e3684d Remove redundant clone in Dropper InventoryMoveItemEvent
By: md_5 <git@md-5.net>
2024-07-20 11:31:34 +10:00
CraftBukkit/Spigot
cf07a707a1 SPIGOT-7817: Call InventoryMoveItemEvent for Crafters
By: ploppyperson <nathat890@outlook.com>
2024-07-20 11:31:30 +10:00
CraftBukkit/Spigot
b9c7f251e4 SPIGOT-7839: Remove redundant Java version checks
By: md_5 <git@md-5.net>
2024-07-20 10:20:27 +10:00
CraftBukkit/Spigot
60eec22bd3 SPIGOT-7809: Add ShieldMeta and fix setting shield base colours
By: Doc <nachito94@msn.com>
Also-by: md_5 <git@md-5.net>
2024-07-20 10:15:22 +10:00
CraftBukkit/Spigot
58a0878879 SPIGOT-7831: Add CreatureSpawnEvent.SpawnReason#POTION_EFFECT
By: Doc <nachito94@msn.com>
2024-07-16 19:53:08 +10:00
CraftBukkit/Spigot
92c33ca0c7 Increase outdated build delay
By: md_5 <git@md-5.net>
2024-07-15 20:06:23 +10:00
CraftBukkit/Spigot
71bc2b07ed SPIGOT-7827: Sync EntityPortalEvent with PlayerPortalEvent since non-players can now create portals
By: md_5 <git@md-5.net>
2024-07-10 19:43:43 +10:00
CraftBukkit/Spigot
4377eb6edb SPIGOT-7823: Suspicious sand and gravel material are not marked as having gravity correctly
By: md_5 <git@md-5.net>
2024-07-10 18:50:13 +10:00
CraftBukkit/Spigot
9d6d5d8dc5 SPIGOT-7820: Enum changes - duplicate method name
By: DerFrZocker <derrieple@gmail.com>
2024-07-08 07:01:03 +10:00
CraftBukkit/Spigot
d86a8b483e SPIGOT-7813: Material#isInteractable() always returns false
By: md_5 <git@md-5.net>
2024-07-07 09:24:47 +10:00
CraftBukkit/Spigot
d7c74a442e SPIGOT-7806: Handle both loot and inventory item drop behaviour in PlayerDeathEvent
By: Doc <nachito94@msn.com>
2024-07-06 17:25:39 +10:00
CraftBukkit/Spigot
b6655d093f SPIGOT-7799, #1436: Expose explosion world interaction in EntityExplodeEvent and BlockExplodeEvent
By: antiPerson <nathat890@outlook.com>
2024-07-06 17:19:45 +10:00
CraftBukkit/Spigot
41b8d833db #1424: Trial changing a small number of inner enums to classes/interfaces to better support custom values
This PR is a subset of the enum PR #931 and is designed as a low impact
trial run of the design and backwards compatibility to inform
subsequent development.

Additional plugin compatibility features may be available by setting
`settings.compatibility.enum-compatibility-mode` to `true` in
`bukkit.yml`.

By: DerFrZocker <derrieple@gmail.com>
2024-07-06 17:14:22 +10:00
CraftBukkit/Spigot
f59f0d1c9b SPIGOT-7815: Consider EntityDamageEvent status for Wolf armor damage
By: Doc <nachito94@msn.com>
2024-07-06 08:33:12 +10:00
CraftBukkit/Spigot
76326aa5f8 SPIGOT-7814: Call PlayerShearEntityEvent for Bogged
By: Doc <nachito94@msn.com>
2024-07-04 20:48:21 +10:00
CraftBukkit/Spigot
3c20906a6b Fix wolf armor not dropping from use of shears
By: md_5 <git@md-5.net>
2024-07-04 07:13:33 +10:00
CraftBukkit/Spigot
7288f31c8d SPIGOT-7812: Revert "SPIGOT-7809: Restore shield/banner conversion for base colours"
This reverts commit 09b9a2110e.

By: md_5 <git@md-5.net>
2024-07-04 07:01:08 +10:00
CraftBukkit/Spigot
80c81ef1ae SPIGOT-7811: Enchantments are applied on sweeping attack even if damage event is cancelled
By: md_5 <git@md-5.net>
2024-07-03 20:27:36 +10:00
CraftBukkit/Spigot
376a4220bf SPIGOT-7808: Fix implementation of Enchantment#getName() for bad name return
By: Doc <nachito94@msn.com>
2024-07-03 20:21:17 +10:00
CraftBukkit/Spigot
09b9a2110e SPIGOT-7809: Restore shield/banner conversion for base colours
By: md_5 <git@md-5.net>
2024-07-03 20:21:13 +10:00
CraftBukkit/Spigot
292255a36a SPIGOT-7805: Fix jukebox deserialization
By: blablubbabc <lukas@wirsindwir.de>
2024-07-01 07:08:06 +10:00
CraftBukkit/Spigot
bc75f0bcb5 SPIGOT-7804: Fix written book serialization
* Account for null/missing values when deserializing the 'resolved' and
  'generation' fields.
* Serialize the book pages as JSON strings.
* Avoid redundant conversion from strings to components to JSON and back to
  components during deserialization.
  Add CraftChatMessage.fromJSONOrString that accepts a maxLength argument
  and remove the no longer used fromJSONOrStringToJSON, fromStringToJSON,
  and fromJSONComponent helper methods.

By: blablubbabc <lukas@wirsindwir.de>
2024-06-30 16:27:23 +10:00
CraftBukkit/Spigot
8821aa372c SPIGOT-7800, SPIGOT-7801: Keep vanilla behaviour for items dropped on player death
By: Doc <nachito94@msn.com>
2024-06-29 14:03:10 +10:00
CraftBukkit/Spigot
5f8cff3bb5 #1429: Implement TrialSpawnerSpawnEvent
By: Doc <nachito94@msn.com>
2024-06-28 07:06:36 +10:00
CraftBukkit/Spigot
820bc6423d #1354: Improve spawner API and add API for Trial Spawners
By: coll1234567 <joshl5324@gmail.com>
2024-06-28 07:06:20 +10:00
CraftBukkit/Spigot
c59410cfbc Increase outdated build delay
By: md_5 <git@md-5.net>
2024-06-26 07:00:34 +10:00
CraftBukkit/Spigot
2426828552 SPIGOT-7794: Cancelling InventoryItemMoveEvent destroys items
By: md_5 <git@md-5.net>
2024-06-24 20:30:28 +10:00
CraftBukkit/Spigot
0d64e2be4b SPIGOT-7796: Kickplayer newlines not working
By: md_5 <git@md-5.net>
2024-06-24 06:33:02 +10:00
CraftBukkit/Spigot
d8b3812655 SPIGOT-7795: Fix damage/stats ignore the invulnerable damage time
By: Doc <nachito94@msn.com>
2024-06-23 13:32:25 -04:00
CraftBukkit/Spigot
5d025bbee8 Improve cross-world teleportation handling
By: md_5 <git@md-5.net>
2024-06-23 16:45:29 +10:00
CraftBukkit/Spigot
477394d314 #1433: HumanEntity#openInventory(InventoryView) should only support views belonging to the player
By: Miles Holder <mwholder2005@gmail.com>
2024-06-22 18:48:51 +10:00
CraftBukkit/Spigot
aef018b9c4 SPIGOT-7732: Issue with the "hurt()" method of EntityLiving and invulnerable time
By: LoliColleen <76620594+LoliColleen@users.noreply.github.com>
2024-06-22 18:46:41 +10:00
CraftBukkit/Spigot
7667932681 SPIGOT-7791: Skull BlockState with null profile causes NullPointerException
By: md_5 <git@md-5.net>
2024-06-22 11:42:15 +10:00
CraftBukkit/Spigot
7e7632f81a SPIGOT-7785: Teleporting a player at the right moment can mess up vanilla teleportation
By: md_5 <git@md-5.net>
2024-06-22 10:08:46 +10:00
CraftBukkit/Spigot
97750e6387 SPIGOT-7772: Include hidden / non-sampled players in player count
By: md_5 <git@md-5.net>
2024-06-22 08:07:02 +10:00
CraftBukkit/Spigot
542f38bbd0 SPIGOT-7790: Server crashes after bee nest is forced to update
By: md_5 <git@md-5.net>
2024-06-22 07:42:29 +10:00
CraftBukkit/Spigot
d67f71f3f4 SPIGOT-7788: The healing power of friendship advancement is never granted
By: md_5 <git@md-5.net>
2024-06-21 07:37:52 +10:00
CraftBukkit/Spigot
2f1800fa2e SPIGOT-7789: Fix NPE in CraftMetaFirework applyToItem
By: blablubbabc <lukas@wirsindwir.de>
2024-06-20 07:04:11 +10:00
CraftBukkit/Spigot
be0055d2a0 #1429: Add CreatureSpawnEvent.SpawnReason#TRIAL_SPAWNER
By: Doc <nachito94@msn.com>
2024-06-19 19:18:47 +10:00
CraftBukkit/Spigot
85ae59a767 SPIGOT-7777: Speed attribute stays after death; missing EntityPotionEffectEvent call
By: md_5 <git@md-5.net>
2024-06-19 07:10:02 +10:00
CraftBukkit/Spigot
1128edadb2 #1428: Expose Creeper igniter
By: Doc <nachito94@msn.com>
2024-06-19 06:48:33 +10:00
CraftBukkit/Spigot
e43f607e6a #1425: Fix bytecode transformation taking care of class-to-interface compatibility.
By: Jannyboy11 <Jannyboy11@gmail.com>
2024-06-18 19:19:15 +10:00
CraftBukkit/Spigot
ac95e0b210 SPIGOT-7770: Fix certain shaped recipes not registering
By: 2008Choco <hawkeboyz2@hotmail.com>
2024-06-18 19:06:07 +10:00
CraftBukkit/Spigot
5f8b82d6cc #1426: Deprecate more unused methods in UnsafeValues
By: 2008Choco <hawkeboyz2@hotmail.com>
2024-06-17 20:56:19 +10:00
CraftBukkit/Spigot
8537c328d0 SPIGOT-7771: Material.getDefaultAttributes always returns an empty map
By: md_5 <git@md-5.net>
2024-06-17 19:44:14 +10:00
CraftBukkit/Spigot
9707379cfa Use expanded interaction ranges for traced interact events
By: md_5 <git@md-5.net>
2024-06-16 18:39:52 +10:00
CraftBukkit/Spigot
d2d0972bc3 #1414: Convert InventoryView to interface
By: Miles Holder <mwholder2005@gmail.com>
2024-06-16 08:47:38 +10:00
CraftBukkit/Spigot
6af115230a Fix Implementation for DamageSource#isIndirect for internal custom causing entity
By: Doc <nachito94@msn.com>
2024-06-15 12:47:45 -04:00
CraftBukkit/Spigot
199310d0bd SPIGOT-7761: Ender pearl does not damage or spawn endermites
By: md_5 <git@md-5.net>
2024-06-15 18:47:12 +10:00
CraftBukkit/Spigot
7feadbf2ee SPIGOT-7759: Chunk not there when requested in ChunkUnloadEvent
By: md_5 <git@md-5.net>
2024-06-15 16:47:43 +10:00
CraftBukkit/Spigot
9f79c6f74e Remove unused import
By: md_5 <git@md-5.net>
2024-06-15 12:52:01 +10:00
CraftBukkit/Spigot
3e98b1bcbe SPIGOT-7757: Cannot set item in Stonecutter Inventory
By: md_5 <git@md-5.net>
2024-06-15 12:48:38 +10:00
CraftBukkit/Spigot
85df4599c9 Move deserialized removed unhandled tags to dedicated removedTags
By: md_5 <git@md-5.net>
2024-06-15 10:09:35 +10:00
CraftBukkit/Spigot
87c3fdad31 Fix potential mutability issue with CraftMetaItem copy constructor
By: md_5 <git@md-5.net>
2024-06-15 07:03:03 +10:00
CraftBukkit/Spigot
1e6fb15514 SPIGOT-7741: Vanilla ItemComponent in commands can't remove components
By: md_5 <git@md-5.net>
2024-06-15 07:03:03 +10:00
CraftBukkit/Spigot
26f44f56c1 #1284: Move ItemType <-> ItemMeta linking to a centralized place
By: DerFrZocker <derrieple@gmail.com>
2024-06-15 06:53:46 +10:00
CraftBukkit/Spigot
c985be99a6 #1420: Fix DirectEntity and CausingEntity Damager for Creepers ignited by Player
By: Doc <nachito94@msn.com>
2024-06-15 06:47:48 +10:00
CraftBukkit/Spigot
17fc7c0926 SPIGOT-7751: Fix crash caused by arrows from trial spawners
By: Jishuna <joshl5324@gmail.com>
2024-06-14 10:14:27 -04:00
CraftBukkit/Spigot
3e0c06d5c6 SPIGOT-7747: Mob head is not dropped when mob was blown up by a charged creeper
By: md_5 <git@md-5.net>
2024-06-14 19:14:35 +10:00
CraftBukkit/Spigot
df2a17df77 SPIGOT-7746: Server Crashing when Players Getting into End Portals
By: md_5 <git@md-5.net>
2024-06-14 19:03:14 +10:00
CraftBukkit/Spigot
8a61d81e90 SPIGOT-7744: Fix exception for shooting projectiles with flame enchantment
By: Doc <nachito94@msn.com>
2024-06-13 21:38:40 -04:00
CraftBukkit/Spigot
1498e34f2c SPIGOT-7744: Fix crash when shooting arrows in creative mode
By: Doc <nachito94@msn.com>
2024-06-13 20:53:57 -04:00
CraftBukkit/Spigot
b7c0614c58 Fix player items not dropping on death
By: md_5 <git@md-5.net>
2024-06-14 07:18:22 +10:00
CraftBukkit/Spigot
9c115e8fae Implement DamageCause#CAMPFIRE and minor improvement in exception for Unhandled block damage
By: Doc <nachito94@msn.com>
2024-06-13 12:23:28 -04:00
CraftBukkit/Spigot
eed041d629 Update to Minecraft 1.21
By: md_5 <git@md-5.net>
2024-06-14 01:05:00 +10:00
CraftBukkit/Spigot
7c6204e1a9 Remove outdated build delay
By: md_5 <git@md-5.net>
2024-06-14 01:00:00 +10:00
CraftBukkit/Spigot
1ded727925 SPIGOT-7737: Add separate TreeType.MEGA_PINE
By: md_5 <git@md-5.net>
2024-06-11 21:04:56 +10:00
CraftBukkit/Spigot
92a9fb31be Fix spawn egg equality check and copy constructor
By: md_5 <git@md-5.net>
2024-06-11 06:59:14 +10:00
CraftBukkit/Spigot
cd2a1a6d7e Fix spawn eggs with no entity creating invalid stacks and disconnect creative clients
Example: /give @s minecraft:cat_spawn_egg[minecraft:max_stack_size=1,minecraft:max_damage=100,minecraft:damage=10] 1

By: md_5 <git@md-5.net>
2024-06-10 14:06:38 +10:00
CraftBukkit/Spigot
b365899587 SPIGOT-7736: Creative spawn egg use loses components
By: md_5 <git@md-5.net>
2024-06-10 14:06:36 +10:00
CraftBukkit/Spigot
9db084c279 SPIGOT-7731: Spawn eggs cannot have damage
By: Doc <nachito94@msn.com>
2024-06-10 14:06:34 +10:00
CraftBukkit/Spigot
95f120b7ff SPIGOT-7735: Fix serialization of player heads with note block sound
By: blablubbabc <lukas@wirsindwir.de>
2024-06-10 08:35:53 +10:00
CraftBukkit/Spigot
bf2a69e0fc SPIGOT-7734: Can't register a custom advancement using unsafe()
By: md_5 <git@md-5.net>
2024-06-09 11:12:13 +10:00
CraftBukkit/Spigot
cd4487372e #1413: Add force option to Player#spawnParticle
By: Jishuna <joshl5324@gmail.com>
2024-06-08 09:11:27 +10:00
CraftBukkit/Spigot
0ebd5b0b0d SPIGOT-7680: Per-world weather command
By: md_5 <git@md-5.net>
2024-06-08 09:08:09 +10:00
CraftBukkit/Spigot
00cc0753d7 #1409: Add methods to get players seeing specific chunks
By: MetallicGoat <the.great.metallic.goat@gmail.com>
2024-06-08 09:03:44 +10:00
CraftBukkit/Spigot
65929a6d22 #1412: Fix shipwreck loot tables not being set for BlockTransformers
By: Lauriichan <lauriichan@playuniverse.org>
2024-06-05 07:17:32 +10:00
CraftBukkit/Spigot
6d2082bf75 #1360: Add Material#isCompostable and Material#getCompostChance
By: mfnalex <mfnalex@jeff-media.com>
2024-06-05 07:15:52 +10:00
CraftBukkit/Spigot
d267f74a0b SPIGOT-7676: Enforce locale parameter in toLowerCase and toUpperCase method calls and always use root locale
By: DerFrZocker <derrieple@gmail.com>
2024-06-03 07:18:17 +10:00
CraftBukkit/Spigot
4b6edd3c82 Increase outdated build delay
By: md_5 <git@md-5.net>
2024-06-02 08:58:26 +10:00
CraftBukkit/Spigot
764529d82b SPIGOT-7675: Fix FoodComponent config deserialization
Be more lenient when converting floating point numbers during config
deserialization of item data.

By: blablubbabc <lukas@wirsindwir.de>
2024-05-31 07:14:09 +10:00
CraftBukkit/Spigot
79d9816660 #1406: Fix incorrect assumption of Fireball having constant speed
By: DerFrZocker <derrieple@gmail.com>
2024-05-29 06:56:42 +10:00
CraftBukkit/Spigot
4691102616 #1405: Add a tool component to ItemMeta
By: 2008Choco <hawkeboyz2@hotmail.com>
Also-by: md_5 <git@md-5.net>
2024-05-29 06:53:59 +10:00
CraftBukkit/Spigot
3433d3f5b7 #1404: Add PotionEffectTypeCategory to distinguish between beneficial and harmful effects
By: 2008Choco <hawkeboyz2@hotmail.com>
2024-05-29 06:50:08 +10:00
CraftBukkit/Spigot
402878b8cd #1403, SPIGOT-4288, SPIGOT-6202: Add material rerouting in preparation for the switch to ItemType and BlockType
This also moves the conversion from and to legacy material to the method
calls of legacy plugins, and no longer allows them directly in the
server.

This has the side effect of fixing some legacy plugin issues, such as
SPIGOT-4288, SPIGOT-6161. Also fixes legacy items sometimes not stacking
in inventory when using addItem, a client disconnect when using legacy
items in recipes and probably some more.

By: DerFrZocker <derrieple@gmail.com>
2024-05-29 06:48:55 +10:00
CraftBukkit/Spigot
c955ea1663 #1401: Add a config option to accept old keys in registry get calls
By: DerFrZocker <derrieple@gmail.com>
2024-05-29 06:45:14 +10:00
CraftBukkit/Spigot
6f5d01226e #1402: Fix ChunkSnapshot#isSectionEmpty() is always false
By: MetallicGoat <the.great.metallic.goat@gmail.com>
2024-05-23 21:14:56 +10:00
CraftBukkit/Spigot
60c7d83e00 SPIGOT-7668: Move NONE Registry updater to FieldRename to avoid some class loader issues
By: DerFrZocker <derrieple@gmail.com>
2024-05-19 21:35:46 +02:00
CraftBukkit/Spigot
04a297608d #1399: Fix regression preventing positive .setDamage value from causing knockback for 0 damage events
By: LoliColleen <76620594+LoliColleen@users.noreply.github.com>
2024-05-14 21:32:40 +10:00
CraftBukkit/Spigot
575f106abd Increase outdated build delay
By: md_5 <git@md-5.net>
2024-05-13 21:21:16 +10:00
CraftBukkit/Spigot
850e49f268 SPIGOT-7664: Item meta should prevail over block states
By: md_5 <git@md-5.net>
2024-05-10 19:33:23 +10:00
CraftBukkit/Spigot
317917800c SPIGOT-7666: Fix access to llama and horse special slot
By: md_5 <git@md-5.net>
2024-05-10 19:23:01 +10:00
CraftBukkit/Spigot
54f230de84 SPIGOT-7665: Fix ThrownPotion#getEffects() implementation only bringing custom effects
By: Doc <nachito94@msn.com>
2024-05-10 19:09:20 +10:00
CraftBukkit/Spigot
17b4c0d7a3 Restore null page behaviour of signed books even though not strictly allowed by API
By: md_5 <git@md-5.net>
2024-05-10 19:08:54 +10:00
CraftBukkit/Spigot
e01dc013f7 Fix regression listening to minecraft:brand custom payloads
By: md_5 <git@md-5.net>
2024-05-08 07:34:19 +10:00
CraftBukkit/Spigot
06b53d8386 Fix unnecessary and potential not thread-safe chat visibility check
By: md_5 <git@md-5.net>
2024-05-07 21:40:57 +10:00
CraftBukkit/Spigot
38d4a335ea Remove unused imports
By: md_5 <git@md-5.net>
2024-05-06 20:30:27 +10:00
CraftBukkit/Spigot
f89c0d3ad7 #1397: Add ItemMeta#getAsComponentString()
By: 2008Choco <hawkeboyz2@hotmail.com>
2024-05-06 20:23:39 +10:00
CraftBukkit/Spigot
f323d82f21 Largely restore deprecated PotionData API
By: md_5 <git@md-5.net>
2024-05-05 20:45:48 +10:00
CraftBukkit/Spigot
8f55ed539f #1275: Add internal ItemType and BlockType, delegate Material methods to them
By: Jishuna <joshl5324@gmail.com>
Also-by: Bjarne Koll <lynxplay101@gmail.com>
Also-by: DerFrZocker <derrieple@gmail.com>
Also-by: md_5 <git@md-5.net>
2024-05-05 10:08:54 +10:00
CraftBukkit/Spigot
b4e6cc4dce SPIGOT-1166, SPIGOT-7647: Expose Damager BlockState in EntityDamageByBlockEvent
By: Doc <nachito94@msn.com>
2024-05-05 09:34:57 +10:00
CraftBukkit/Spigot
7aa4984347 SPIGOT-6993: Allow #setVelocity to change the speed of a fireball and add a note to #setDirection about it
By: DerFrZocker <derrieple@gmail.com>
2024-05-04 19:34:27 +10:00
CraftBukkit/Spigot
4951fa2dd1 Support both entity_data and bucket_entity_data on axolotl/fish buckets
By: md_5 <git@md-5.net>
2024-05-04 14:25:29 +10:00
CraftBukkit/Spigot
fb2cd0f8e3 Fix custom direct BlockState being not correctly set in DamageSource
By: Doc <nachito94@msn.com>
2024-05-03 21:58:56 -04:00
CraftBukkit/Spigot
9bf6a88788 SPIGOT-7659: TropicalFishBucketMeta should use BUCKET_ENTITY_DATA
By: md_5 <git@md-5.net>
2024-05-04 08:49:06 +10:00
CraftBukkit/Spigot
acdb83379e #1393: Improve field rename handling and centralize conversion between bukkit and string more
By: DerFrZocker <derrieple@gmail.com>
2024-05-04 08:19:07 +10:00
CraftBukkit/Spigot
f91094ddfd SPIGOT-7650: Add DamageSource for EntityDeathEvent and PlayerDeathEvent
By: Doc <nachito94@msn.com>
2024-05-04 08:16:00 +10:00
CraftBukkit/Spigot
066665a979 #1390: Improve internal handling of damage sources
By: Doc <nachito94@msn.com>
2024-05-04 08:15:51 +10:00
CraftBukkit/Spigot
f01e218606 SPIGOT-7657: Error when loading angry entities
By: md_5 <git@md-5.net>
2024-05-03 19:06:46 +10:00
CraftBukkit/Spigot
c604cac551 SPIGOT-7652: Remove remap for SPELL_MOB_AMBIENT which no longer exists
By: md_5 <git@md-5.net>
2024-05-02 21:26:08 +10:00
CraftBukkit/Spigot
de3b4d1800 SPIGOT-7654: ItemStack#isSimilar does not work with empty BlockStateMeta
By: md_5 <git@md-5.net>
2024-05-02 21:22:32 +10:00
CraftBukkit/Spigot
54dd884d80 SPIGOT-7655: ItemMeta#addItemFlags(ItemFlag.HIDE_ATTRIBUTES) not working when no attribute modifiers set
By: md_5 <git@md-5.net>
2024-05-02 21:00:12 +10:00
CraftBukkit/Spigot
23b13ad11a SPIGOT-7653: Update ApiVersion.CURRENT with latest version and include tests
By: Doc <nachito94@msn.com>
2024-05-02 07:00:16 +10:00
CraftBukkit/Spigot
f13c8f9203 SPIGOT-7649: Allow /setworldspawn command in all worlds again
By: md_5 <git@md-5.net>
2024-04-30 06:41:46 +10:00
CraftBukkit/Spigot
b563a66078 #1389: Fix incorrect damager entity for projectile damage events
By: Doc <nachito94@msn.com>
2024-04-30 06:28:56 +10:00
CraftBukkit/Spigot
897584d94f Update to Minecraft 1.20.6
By: md_5 <git@md-5.net>
2024-04-30 06:15:00 +10:00
CraftBukkit/Spigot
a78a169340 SPIGOT-7617: Add BlockExplodeEvent#getExplodedBlockState()
By: 2008Choco <hawkeboyz2@hotmail.com>
2024-04-29 20:08:56 +10:00
CraftBukkit/Spigot
1390477e34 SPIGOT-7646: Don't duplicate PDC in customTag / retain old values
By: md_5 <git@md-5.net>
2024-04-29 07:38:24 +10:00
CraftBukkit/Spigot
4ae8689c1b SPIGOT-7644: Fix ItemMeta#getAsString
By: md_5 <git@md-5.net>
2024-04-28 07:41:53 +10:00
CraftBukkit/Spigot
0222693862 SPIGOT-7615: PlayerLeashEntityEvent cancelled eats lead
By: DerFrZocker <derrieple@gmail.com>
2024-04-28 07:27:19 +10:00
CraftBukkit/Spigot
44c4305918 Do not remove leash knot if leasing to an existing leash knot gets cancelled
By: DerFrZocker <derrieple@gmail.com>
2024-04-28 07:27:18 +10:00
CraftBukkit/Spigot
6041b5c6b5 SPIGOT-7643: Fix inverted leash event cancelled usage and remove leash knot if no entity gets leashed
By: DerFrZocker <derrieple@gmail.com>
2024-04-28 07:27:16 +10:00
CraftBukkit/Spigot
9963078a80 SPIGOT-7640: Abnormal jumping height of wind charge
By: DerFrZocker <derrieple@gmail.com>
2024-04-27 11:02:53 +02:00
CraftBukkit/Spigot
d220a7c580 SPIGOT-7639: Incoming plugin channels not working
By: md_5 <git@md-5.net>
2024-04-27 15:37:13 +10:00
CraftBukkit/Spigot
6dc63e45f2 Open a direct connection instead of pinging mojang server to check if it is reachable
By: DerFrZocker <derrieple@gmail.com>
2024-04-26 09:16:58 +02:00
CraftBukkit/Spigot
5602bd9758 SPIGOT-7365: DamageCause blocked by shield should trigger invulnerableTime
By: LoliColleen <76620594+LoliColleen@users.noreply.github.com>
2024-04-26 16:03:46 +10:00
CraftBukkit/Spigot
a3b76ef171 Fix item placement
By: md_5 <git@md-5.net>
2024-04-25 18:18:59 +10:00
CraftBukkit/Spigot
18cee9d332 SPIGOT-7633: Clearer error message for missing particle data
By: md_5 <git@md-5.net>
2024-04-25 16:38:33 +10:00
CraftBukkit/Spigot
8a69fc5946 SPIGOT-7634: Armadillo updates infrequently
By: md_5 <git@md-5.net>
2024-04-25 16:30:34 +10:00
CraftBukkit/Spigot
b6c483ce92 Fix unit tests always seeing Mojang server as unavailable
By: md_5 <git@md-5.net>
2024-04-25 16:26:03 +10:00
CraftBukkit/Spigot
2f65b80661 SPIGOT-7636: Fix clearing ItemMeta
By: md_5 <git@md-5.net>
2024-04-25 16:15:01 +10:00
CraftBukkit/Spigot
b031cef198 SPIGOT-7635: Fix Player#transfer and cookie methods
By: md_5 <git@md-5.net>
2024-04-25 15:31:25 +10:00
CraftBukkit/Spigot
cd194c870f Fix incorrect Vault implementation
By: md_5 <git@md-5.net>
2024-04-25 10:31:36 +10:00
CraftBukkit/Spigot
befdb98f9c Update Maven plugins/versions
By: md_5 <git@md-5.net>
2024-04-25 10:27:52 +10:00
CraftBukkit/Spigot
715508e0dd SPIGOT-7632: Control middle clicking chest does not copy contents
By: md_5 <git@md-5.net>
2024-04-25 08:41:39 +10:00
CraftBukkit/Spigot
660079166f Use regular compiler seeing as ECJ doesn't support Java 21 JRE
By: md_5 <git@md-5.net>
2024-04-25 07:49:55 +10:00
CraftBukkit/Spigot
59e1a3ad42 Revert "BUILDTOOLS-676: Downgrade Maven compiler version"
This reverts commit 65d9b916a9.

By: md_5 <git@md-5.net>
2024-04-25 07:49:55 +10:00
CraftBukkit/Spigot
8da4819249 SPIGOT-7355: More field renames and fixes
- Rename MapCursor Types to match their Minecraft names
- SPIGOT-7355: Rename ItemFlag#HIDE_POTION_EFFECTS to better reflect its function
- Fix Attribute rename (CraftBukkit only)
- Add rename routing validation (CraftBukkit only)

By: DerFrZocker <derrieple@gmail.com>
2024-04-25 07:49:44 +10:00
CraftBukkit/Spigot
83028e946f SPIGOT-7629: Fix loading banner patterns
By: md_5 <git@md-5.net>
2024-04-25 07:45:19 +10:00
CraftBukkit/Spigot
42b7bb16d3 Fix equality of deserialized display names
By: md_5 <git@md-5.net>
2024-04-25 07:26:05 +10:00
CraftBukkit/Spigot
d195996997 SPIGOT-7631: Fix deserialisation of BlockStateMeta
By: md_5 <git@md-5.net>
2024-04-25 07:26:03 +10:00
CraftBukkit/Spigot
b458583b23 SPIGOT-7630: Fix crash saving unticked leashed entities
By: md_5 <git@md-5.net>
2024-04-25 06:51:14 +10:00
CraftBukkit/Spigot
2c37043b7f #1384: Disable certain PlayerProfile tests, if Mojang's services or internet are not available
By: DerFrZocker <derrieple@gmail.com>
2024-04-24 18:12:31 +10:00
CraftBukkit/Spigot
4862893bef SPIGOT-7626: sendSignChange() has no effect
By: md_5 <git@md-5.net>
2024-04-24 18:10:39 +10:00
CraftBukkit/Spigot
e190aa6b33 SPIGOT-7625: ItemStack with lore cannot be serialized in 1.20.5
By: DerFrZocker <derrieple@gmail.com>
2024-04-24 17:53:14 +10:00
CraftBukkit/Spigot
ad5b07669d SPIGOT-7620: Fix server crash when hoppers transfer items to double chests
By: 2008Choco <hawkeboyz2@hotmail.com>
2024-04-24 11:19:05 +10:00
CraftBukkit/Spigot
65d9b916a9 BUILDTOOLS-676: Downgrade Maven compiler version
By: md_5 <git@md-5.net>
2024-04-24 11:05:47 +10:00
CraftBukkit/Spigot
86b52ff618 SPIGOT-7621: Fix empty strings in item lore
By: md_5 <git@md-5.net>
2024-04-24 08:12:08 +10:00
CraftBukkit/Spigot
6686458555 SPIGOT-7622: Fix error with Player#sendSignChange
By: md_5 <git@md-5.net>
2024-04-24 08:12:04 +10:00
CraftBukkit/Spigot
92ed83cf5c SPIGOT-7618: Fix custom world generators
By: md_5 <git@md-5.net>
2024-04-24 07:44:05 +10:00
CraftBukkit/Spigot
a45c5c5316 Fix cosmetic typo in exception message
By: md_5 <git@md-5.net>
2024-04-24 04:27:08 +10:00
CraftBukkit/Spigot
347f0eff78 #1380: Change wolf variant from enum to interface
By: DerFrZocker <derrieple@gmail.com>
2024-04-24 04:22:03 +10:00
CraftBukkit/Spigot
f7de208151 #1379: Rename FoodMeta#get/setSaturationModifier() to #get/setSaturation()
By: 2008Choco <hawkeboyz2@hotmail.com>
2024-04-24 02:32:48 +10:00
CraftBukkit/Spigot
85591014c5 #1378: Add methods to convert between an entity and a SNBT string
By: Jishuna <joshl5324@gmail.com>
2024-04-24 01:15:00 +10:00
CraftBukkit/Spigot
760899464e SPIGOT-5336: Field name parity with Minecraft keys
By: DerFrZocker <derrieple@gmail.com>
2024-04-24 01:15:00 +10:00
CraftBukkit/Spigot
d122883f57 #1328: Rename CraftArrow to CraftAbstractArrow and CraftTippedArrow to CraftArrow to better reflect Bukkit's names
By: DerFrZocker <derrieple@gmail.com>
2024-04-24 01:15:00 +10:00
CraftBukkit/Spigot
1b0447274f #1357: Remove legacy Particle values
By: DerFrZocker <derrieple@gmail.com>
2024-04-24 01:15:00 +10:00
CraftBukkit/Spigot
65bc2541a3 Update to Minecraft 1.20.5
By: md_5 <git@md-5.net>
2024-04-24 01:15:00 +10:00
CraftBukkit/Spigot
4deda9501f Remove outdated build delay
By: md_5 <git@md-5.net>
2024-04-24 01:00:00 +10:00
CraftBukkit/Spigot
e6730f6daf SPIGOT-7613: Don't respect mobGriefing gamerule in World#createExplosion() without source entity
By: 2008Choco <hawkeboyz2@hotmail.com>
2024-04-17 19:13:29 +10:00
CraftBukkit/Spigot
f127f9030d #1363: Add API to copy BlockState to a new Location
By: lbenav8095 <lubensaico@gmail.com>
2024-04-07 12:22:10 +10:00
CraftBukkit/Spigot
f2f79d2380 #1367: Add more Conduit API
By: 2008Choco <hawkeboyz2@hotmail.com>
2024-04-07 12:05:25 +10:00
CraftBukkit/Spigot
d54bcadd91 SPIGOT-6705: Re-print tab completion "Display all" message in console, when another message is being logged
By: DerFrZocker <derrieple@gmail.com>
2024-04-07 11:54:28 +10:00
CraftBukkit/Spigot
84d43ef379 #1362: Include Creeper igniter in causing entity for damage events
By: Doc <nachito94@msn.com>
2024-04-07 11:49:28 +10:00
CraftBukkit/Spigot
779b5137f8 #1369: Add World#getIntersectingChunks(BoundingBox)
By: Flo0 <flo.roma@web.de>
2024-04-01 09:43:49 +11:00
CraftBukkit/Spigot
3f9e7c4e39 Move getItemInUse up to LivingEntity
By: md_5 <git@md-5.net>
2024-03-30 12:54:26 +11:00
CraftBukkit/Spigot
dd0e55721d #1331: Add access to current item's remaining ticks
By: gIsForGravity <gavin.f.tantleff@gmail.com>
2024-03-30 12:54:20 +11:00
CraftBukkit/Spigot
064114e718 SPIGOT-7601: Add AbstractArrow#getItem
By: md_5 <git@md-5.net>
2024-03-30 12:17:57 +11:00
CraftBukkit/Spigot
7afeda6ff8 SPIGOT-7602: Allow opening in-world horse and related inventories
By: md_5 <git@md-5.net>
2024-03-30 12:08:32 +11:00
CraftBukkit/Spigot
0ae1e62bfc SPIGOT-7608: Allow empty lists to morph to any PDT list
The minecraft serialisation logic for ListTag updates the type byte of
the list tag during writing to match either the first element in the
list or 0, if said list tag is empty.
As such, list content type information cannot be carried through a
write/read process, e.g. chunk load/unload or a creative client updating
the item.

The recently introduced persistent data type collections for lists hence
can also not enforce a specific list content type if the found list is
empty, which it currently attempts to do.
As such, a call to PersistentDataContainer#has would also yield false
for any empty list as the lists type byte would be 0.

The faulty behaviour has been fixed by considering an empty list in the
persistent data container to match any list type.
This change, while technically breaking the #has check, is needed and
reasonable as the #has check for this is currently broken in the first
place as described above.

By: Bjarne Koll <lynxplay101@gmail.com>
2024-03-30 10:46:03 +11:00
CraftBukkit/Spigot
e0274e7202 Add support for Java 22
By: md_5 <git@md-5.net>
2024-03-29 21:23:37 +11:00
CraftBukkit/Spigot
0223e7ff73 SPIGOT-7604: Revert "SPIGOT-7365: DamageCause blocked by shield should trigger invulnerableTime"
This reverts commit 13b4e915a0.

By: md_5 <git@md-5.net>
2024-03-20 20:31:48 +11:00
CraftBukkit/Spigot
13b4e915a0 SPIGOT-7365: DamageCause blocked by shield should trigger invulnerableTime
By: LoliColleen <76620594+LoliColleen@users.noreply.github.com>
2024-03-17 11:39:04 +11:00
CraftBukkit/Spigot
434aec3832 #1361: Add more translation keys
By: Miles Holder <mwholder2005@gmail.com>
2024-03-17 10:26:55 +11:00
CraftBukkit/Spigot
d76a8e373b SPIGOT-7600: EntityChangeBlockEvent is not fired for frog eggs
By: md_5 <git@md-5.net>
2024-03-11 15:09:39 +11:00
CraftBukkit/Spigot
4624f313ca SPIGOT-7593: Fix sapling growth physics / client-side updates
By: md_5 <git@md-5.net>
2024-03-11 15:03:33 +11:00
CraftBukkit/Spigot
db29270cd0 #1366: Expose riptide velocity to PlayerRiptideEvent
By: 2008Choco <hawkeboyz2@hotmail.com>
2024-03-10 09:27:44 +11:00
CraftBukkit/Spigot
064818a555 SPIGOT-7587: Remove fixes for now-resolved MC-142590 and MC-109346
By: Doc <nachito94@msn.com>
2024-03-10 09:20:54 +11:00
CraftBukkit/Spigot
39994359d1 Fix copying BlockStates with fields (eg, Banner)
By: md_5 <git@md-5.net>
2024-03-06 06:57:15 +11:00
CraftBukkit/Spigot
6864ed6fba Fix Camel not standing up when hurt
By: md_5 <git@md-5.net>
2024-03-03 11:30:57 +11:00
CraftBukkit/Spigot
e24cb644a8 Increase outdated build delay
By: md_5 <git@md-5.net>
2024-02-29 06:49:54 +11:00
CraftBukkit/Spigot
95d69a6375 SPIGOT-7589 Fix NullPointerException when bans expire
By: Doc <nachito94@msn.com>
2024-02-22 19:55:53 +11:00
CraftBukkit/Spigot
64cd2b148a SPIGOT-336, SPIGOT-3366, SPIGOT-5768, SPIGOT-6409, SPIGOT-6861, #1008: Add EntityRemoveEvent
By: DerFrZocker <derrieple@gmail.com>
2024-02-21 20:55:34 +11:00
CraftBukkit/Spigot
6dc11b5d28 SPIGOT-7565: Throw a more descriptive error message when a developer tries to spawn an entity from a CraftBukkit class
By: DerFrZocker <derrieple@gmail.com>
2024-02-17 14:04:58 +11:00
CraftBukkit/Spigot
3cfdcf8a3e SPIGOT-7417, #1343: Add Sign#getTargetSide and Sign#getAllowedEditor
By: Jishuna <joshl5324@gmail.com>
2024-02-17 14:02:38 +11:00
CraftBukkit/Spigot
219db06f85 Fix accidentally renamed internal damage method
By: md_5 <git@md-5.net>
2024-02-11 09:58:07 +11:00
CraftBukkit/Spigot
49b5ee78bb SPIGOT-7300, #1180: Add new DamageSource API providing enhanced information about entity damage
By: Doc <nachito94@msn.com>
2024-02-11 09:54:25 +11:00
CraftBukkit/Spigot
db4af65c2e SPIGOT-7581: Fix typo in BlockMushroom
By: md_5 <git@md-5.net>
2024-02-09 19:00:25 +11:00
CraftBukkit/Spigot
684554a642 SPIGOT-7576, #1347: Add methods in MushroomCow to change stew effects
By: Doc <nachito94@msn.com>
2024-02-08 22:54:51 +11:00
CraftBukkit/Spigot
b5ff47182d #1259: Add Server#isLoggingIPs to get log-ips configuration
By: Doc <nachito94@msn.com>
2024-02-07 07:09:34 +11:00
CraftBukkit/Spigot
c434d05d57 Improve support for per-world game rules
By: md_5 <git@md-5.net>
2024-02-04 10:54:20 +11:00
CraftBukkit/Spigot
497c50463c #1348: Add Player methods for client-side potion effects
By: Jishuna <joshl5324@gmail.com>
2024-02-04 10:10:30 +11:00
CraftBukkit/Spigot
49c217ec31 #1335: Add API for in-world structures
By: coll1234567 <joshl5324@gmail.com>
2024-02-04 10:04:35 +11:00
CraftBukkit/Spigot
f85f51fcf0 SPIGOT-7577: Make CraftWindCharge#explode discard the entity
By: Doc <nachito94@msn.com>
2024-02-04 09:57:17 +11:00
CraftBukkit/Spigot
b4d633f7df Fix Crafter maximum stack size
By: md_5 <git@md-5.net>
2024-02-03 13:52:43 +11:00
CraftBukkit/Spigot
4fde00f8dc SPIGOT-7530, #1314: Improve Resource Pack API with new 1.20.3 functionality
By: md_5 <git@md-5.net>
2024-01-31 22:02:45 +11:00
CraftBukkit/Spigot
4a1ae2fa02 SPIGOT-3071, #1345: Add entity spawn method with spawn reason
By: DerFrZocker <derrieple@gmail.com>
2024-01-31 20:08:05 +11:00
CraftBukkit/Spigot
9c58e790bc #1353: Fix Structure#place not working as documented with 0 palette
By: Jishuna <joshl5324@gmail.com>
2024-01-31 20:01:58 +11:00
CraftBukkit/Spigot
c094bcbac2 SPIGOT-6911, #1349: Change max book length in CraftMetaBook
By: DerFrZocker <derrieple@gmail.com>
2024-01-31 19:59:28 +11:00
CraftBukkit/Spigot
aca2bf97bb SPIGOT-7572: Bee nests generated without bees
By: DerFrZocker <derrieple@gmail.com>
2024-01-27 14:59:22 +11:00
CraftBukkit/Spigot
7b15562116 SPIGOT-5553, #1336: Add EntityKnockbackEvent
By: Jishuna <joshl5324@gmail.com>
2024-01-27 14:53:41 +11:00
CraftBukkit/Spigot
67ab2cd516 SPIGOT-7568: Call EntityChangeBlockEvent for DecoratedPot
By: Doc <nachito94@msn.com>
2024-01-24 21:49:24 +11:00
CraftBukkit/Spigot
f5b984c8a0 SPIGOT-7575: SuspiciousStewMeta creates invalid PotionEffect data
By: Doc <nachito94@msn.com>
2024-01-24 21:45:52 +11:00
CraftBukkit/Spigot
d7095f8578 #1340: Centralize the conversion from and to Minecraft / Bukkit registry items even more and add a test case for them
By: DerFrZocker <derrieple@gmail.com>
2024-01-22 20:36:36 +11:00
CraftBukkit/Spigot
e6b4a5f109 #1338: Introduce getRespawnLocation as a replacement for getBedSpawnLocation
By: Nothixal <nothixal@gmail.com>
2024-01-22 20:27:09 +11:00
CraftBukkit/Spigot
5165e97c74 SPIGOT-7570: PrepareItemCraftEvent#isRepair() always returns false
By: md_5 <git@md-5.net>
2024-01-18 22:19:05 +11:00
CraftBukkit/Spigot
f4f370e55e #1337: Add DragonBattle#setPreviouslyKilled
By: DaFeist <56165444+dafeist-github@users.noreply.github.com>
2024-01-17 18:23:36 +11:00
CraftBukkit/Spigot
753db7f2fc SPIGOT-6921, #1330: Add methods to remove all enchantments on an ItemStack
By: Nothixal <nothixal@gmail.com>
2024-01-16 07:38:55 +11:00
CraftBukkit/Spigot
7581cde32e #1333: Add BlockData#copyTo
By: Jishuna <joshl5324@gmail.com>
2024-01-15 20:33:17 +11:00
CraftBukkit/Spigot
e216f2ef2d #1329: Add method to get an offline player's location
By: Nothixal <nothixal@gmail.com>
2024-01-15 20:30:41 +11:00
CraftBukkit/Spigot
93df3d859c #1327: Add methods to place structures with block/entity transformers
By: Jishuna <joshl5324@gmail.com>
2024-01-10 18:44:31 +11:00
CraftBukkit/Spigot
48a803d3ec SPIGOT-7567: SpawnReason for SNOWMAN is reported as BUILD_IRONGOLEM
By: md_5 <git@md-5.net>
2024-01-09 19:29:52 +11:00
CraftBukkit/Spigot
eb6041d8f8 Add EntityMountEvent and EntityDismount Event
Adapted from Spigot commit ab1e1a2a5a.

By: md_5 <git@md-5.net>
2024-01-07 08:59:55 +11:00
CraftBukkit/Spigot
d63f71fcde #1183: Better handle lambda expression and renaming of classes in Commodore
By: DerFrZocker <derrieple@gmail.com>
2024-01-06 16:15:23 +11:00
CraftBukkit/Spigot
8f59d4abd3 Reformat Commodore.java
By: md_5 <git@md-5.net>
2024-01-06 16:15:21 +11:00
CraftBukkit/Spigot
19e69bb8fc #1324: Improve ItemFactory#enchantItem consistency
By: Miles Holder <mwholder2005@gmail.com>
2024-01-06 16:07:58 +11:00
CraftBukkit/Spigot
8cd8851498 #1295: Define native persistent data types for lists
By: Bjarne Koll <lynxplay101@gmail.com>
2024-01-06 16:03:58 +11:00
CraftBukkit/Spigot
71ca5a7bdf SPIGOT-7562: Fix Score#getScore and Score#isScoreSet
By: md_5 <git@md-5.net>
2024-01-05 14:18:13 +11:00
CraftBukkit/Spigot
5e82782283 Only fetch an online UUID in online mode
The previous code would get an online UUID even in offline mode that
breaks plugins if the player joins.

Example: You want to store data for player "Test" who never joined. An
online UUID is created and you save it using that UUID.

The player Test joins with an offline UUID but that will not match the
online UUID of the saved data.

Adapted from Spigot commit 25b673fd7e418e21eb445a9e39d51baa0c0ab8b6

By: Maxim Van de Wynckel <maxim_vdw@hotmail.com>
2023-12-31 10:46:30 +11:00
CraftBukkit/Spigot
b92cff8a2d Fire PreLogin events even in offline mode
Adapted from Spigot commit 61400aa00c

By: md_5 <git@md-5.net>
2023-12-30 07:48:39 +11:00
CraftBukkit/Spigot
d15575db91 #1325: Use CraftBlockType and CraftItemType instead of CraftMagicNumbers to convert between minecraft and bukkit block / item representation
By: DerFrZocker <derrieple@gmail.com>
2023-12-29 08:36:38 +11:00