Commit graph

9324 commits

Author SHA1 Message Date
Aikar
0b52df89b3 Additional Block Material API's
Faster version for isSolid() that utilizes NMS's state for isSolid instead of the slower
process to do this in the Bukkit API

Adds API for buildable, replaceable, burnable too.
2020-12-30 17:27:27 -05:00
Jason Penilla
b3e72d20e1 Add TargetHitEvent API 2020-11-25 23:21:32 -08:00
Jake Potrebic
ff36991035 Added PlayerTradeEvent
[Amendment: Alexander <protonull@protonmail.com>]
PlayerTradeEvent is used for player purchases from villagers and wandering
traders, but not custom merchants created via Bukkit.createMerchant(). During
discussions in Discord it was decided that it'd be better to add a new event
that PlayerTradeEvent inherits from than change getVillager()'s annotation to
@Nullable, especially since that'd also infringe on the implication of the
event being about villager trades.
2020-07-02 16:10:10 -07:00
Jake Potrebic
3234f24141 Add OBSTRUCTED reason to BedEnterResult 2020-12-24 12:43:30 -08:00
Mark Vainomaa
b71dfe682d Expose LivingEntity hurt direction 2020-12-13 05:32:12 +02:00
ysl3000
c120a1ea13 Player Chunk Load/Unload Events 2020-10-05 21:24:45 +02:00
JRoy
cbfe48b1cc Add PlayerShearBlockEvent 2020-08-27 12:32:35 -04:00
Nassim Jahnke
a5f3b29310 More lightning API 2020-07-26 14:44:16 +02:00
Nassim Jahnke
60d243ecc4 Add PlayerItemCooldownEvent 2020-08-25 13:45:15 +02:00
Anrza
5fa4ae1e90 Add LivingEntity#clearActiveItem 2020-07-15 12:07:58 +02:00
Ineusia
72ab93ca8a Add Destroy Speed API
Co-authored-by: Jake Potrebic <jake.m.potrebic@gmail.com>
2020-10-26 11:37:48 -05:00
Mariell Hoversholm
7ee931eaf2 Add API for quit reason 2020-11-14 16:19:58 +01:00
Jake Potrebic
40ac3e15db Beacon API - custom effect ranges 2020-06-24 12:38:15 -06:00
Alfie Smith
dac5c6c48a Item no age & no player pickup 2020-11-07 01:20:27 +00:00
Mariell Hoversholm
9c8829553b Add ignore discounts API 2020-11-09 20:33:38 +01:00
oxygencraft
4226c7f7a4 Add getOfflinePlayerIfCached(String) 2020-10-25 18:35:58 +11:00
Trigary
a3a9180c51 Player elytra boost API 2020-04-14 12:06:14 +02:00
William Blake Galbreath
60a89bc804 Villager#resetOffers 2019-10-07 00:15:28 -05:00
William Blake Galbreath
63c427de11 Entity#isTicking 2020-10-03 21:39:07 -05:00
MeFisto94
64f9dff6ef Expose the Entity Counter to allow plugins to use valid and non-conflicting Entity Ids 2020-08-28 01:41:31 +02:00
JRoy
110071a0e6 Add additional open container api to HumanEntity 2020-08-26 02:11:58 -04:00
ysl3000
124e1f8619 Create HoverEvent from ItemStack Entity 2020-07-06 22:17:37 +02:00
Jake Potrebic
f610d0b477 Add methods to get translation keys
Co-authored-by: MeFisto94 <MeFisto94@users.noreply.github.com>
2020-08-11 19:17:46 +02:00
BillyGalbreath
a3e3ba54a0 Add more Evoker API 2020-08-23 15:22:44 +02:00
William Blake Galbreath
52ec2a9db1 Add playPickupItemAnimation to LivingEntity 2020-08-23 19:36:08 +02:00
BillyGalbreath
cbfa49ddb6 Add moon phase API 2020-08-23 16:32:03 +02:00
DigitalRegent
5df47beccf Brand support 2020-04-06 20:30:09 +02:00
Eearslya Sleiarion
3670ee6672 Add BellRingEvent
Add a new event, BellRingEvent, to trigger whenever a player rings a
village bell. Passes along the bell block and the player who rang it.
2019-06-24 21:27:39 -07:00
William Blake Galbreath
48046af5ef Add PrepareResultEvent / PrepareGrindstoneEvent
Adds a new event for all crafting stations that generate a result slot item

Anvil, Grindstone and Smithing now extend this event

Grindstone is a backwards compat from a previous PrepareGrindstoneEvent
2020-07-03 11:58:56 -05:00
William Blake Galbreath
6c89cc29e4 Add entity liquid API 2020-07-02 18:11:33 -05:00
Jake Potrebic
e034549a33 added 2 new TargetReasons for 1.16 mob behavior 2020-07-03 15:05:54 -07:00
MiniDigger | Martin
53d5aca783 Support components in ItemMeta 2020-06-06 18:13:16 +02:00
LordKorea
20c3b04159 Add and implement PlayerRecipeBookClickEvent 2020-05-11 22:38:10 -04:00
Phoenix616
78acda62f2 Inventory getHolder method without block snapshot 2020-06-10 23:55:16 +01:00
JRoy
5b74f31a52 Potential bed API
Adds a new method to fetch the location of a player's bed without generating any sync loads.

getPotentialBedLocation - Gets the last known location of a player's bed. This does not preform any check if the bed is still valid and does not load any chunks.
2020-05-10 23:06:41 -04:00
Aikar
0d8c3dc008 Block Enderpearl Travel Exploit
Players are able to use alt accounts and enderpearls to travel
long distances utilizing the pearls in unloaded chunks and loading
the chunk later when convenient.

This disables that by not saving the thrower when the chunk is unloaded.

This is mainly useful for survival servers that do not allow freeform teleporting.

Note: Currently removed as enderpearls are ticked as long as their owner is online in 1.21.2.
Might be worth to re-add once an option to disable the above vanilla mechanic is added, to
fully prevent enderpearl travel exploits.

== AT ==
public net.minecraft.world.entity.projectile.Projectile ownerUUID
2018-04-30 17:15:26 -04:00
Jason Penilla
cf7a1191a9 Allow using old ender pearl behavior
When enabled, ender pearls will not load chunks and will save to the world instead of the player.

== AT ==
public net.minecraft.world.entity.projectile.Projectile cachedOwner
2024-10-27 12:36:53 -07:00
Jason Penilla
21f51ebd74 Avoid issues with certain tasks not processing during sleep
Execute processQueue tasks during sleep: needed for console tab completions, pre join event, etc.

Upstream has set precedent that the bukkit scheduler will still tick during sleep, which avoids some problems
with plugins not accounting for the new sleep feature, but can still lead to others. Because of this we have disabled
sleep by default, which avoids the problem and makes it more obvious to check if this is the cause of issues when
enabled. We also unload chunks during sleep to prevent memory leaks caused by plugin chunk loads.
2024-10-27 14:18:28 -07:00
Riley Park
855db272b1 Bundle spark 2024-07-16 14:55:23 -07:00
Spottedleaf
29e03d0439 Add startup flag to disable gamerule limits
-DPaper.DisableGameRuleLimits=true will disable gamerule limits

== AT ==
public net.minecraft.server.level.ChunkLevel ENTITY_TICKING_LEVEL
2024-10-25 14:20:40 -07:00
Jason Penilla
1218a52ac9 Fix CraftWorld#isChunkGenerated
The upstream implementation is returning true for non-full chunks.
2024-06-18 12:43:06 -07:00
Flo0
35f6f25e78 API for checking sent chunks 2024-04-08 16:43:16 +02:00
Shane Freeder
8f7365707a Always send Banner patterns to the client
The mojang client will not remove patterns from a Banner when none
are sent inside of an update packet, given that this is not an expected
flow for them, this is not all too surprising. So, we shall resort to always
sending the patterns over the network for update packets.
2024-10-20 18:23:59 +01:00
Nassim Jahnke
3d14e7af19 Separate dimensiondata executor 2024-11-28 10:35:58 +01:00
Spottedleaf
7ec2cf09a3 Add proper async player disconnections
Blocking can cause performance problems
2024-10-16 06:41:32 -07:00
Doc
e95dccb515 Add AnvilView#bypassEnchantmentLevelRestriction
Anvils, by default, limit applied enchantment levels to their respective
maximum level. The added API enables plugins to disable this behaviour,
allowing enchantments that are overleveled to be applied via the anvil.
2024-10-06 16:46:36 -03:00
Lulu13022002
f207099765 Add Offline PDC API 2022-07-09 17:28:42 +02:00
Axionize
66e26ebe48 Void damage configuration API 2024-09-29 14:20:42 -07:00
Mariell Hoversholm
411498e394 Add PlayerInsertLecternBookEvent 2024-09-29 16:21:26 +02:00
Jake Potrebic
5b0133e675 Call bucket events for cauldrons 2022-01-16 10:13:33 -08:00