Commit Graph

66 Commits

Author SHA1 Message Date
Pedro
ae512811db Add isSuffocating to Block and BlockState (#12445) 2025-04-25 10:48:24 +02:00
Nassim Jahnke
f00727c57e 1.21.5
Co-authored-by: Bjarne Koll <git@lynxplay.dev>
Co-authored-by: Jake Potrebic <jake.m.potrebic@gmail.com>
Co-authored-by: Lulu13022002 <41980282+Lulu13022002@users.noreply.github.com>
Co-authored-by: MiniDigger | Martin <admin@minidigger.dev>
Co-authored-by: Nassim Jahnke <nassim@njahnke.dev>
Co-authored-by: Noah van der Aa <ndvdaa@gmail.com>
Co-authored-by: Owen1212055 <23108066+Owen1212055@users.noreply.github.com>
Co-authored-by: Shane Freeder <theboyetronic@gmail.com>
Co-authored-by: Spottedleaf <Spottedleaf@users.noreply.github.com>
Co-authored-by: Tamion <70228790+notTamion@users.noreply.github.com>
Co-authored-by: Warrior <50800980+Warriorrrr@users.noreply.github.com>
2025-04-12 17:27:00 +02:00
Nassim Jahnke
9f00461456 Update a whole lot of deprecated annotations 2025-03-21 17:50:04 +01:00
masmc05
85d0040f57 [ci skip] Fix getTemperature javadocs (#11967)
In 1.15 spigot changed the behavior of all temperature methods to always return height adjusted temperature.
Correctly reflect this in the javadocs.
2025-01-14 13:42:34 +01:00
Owen1212055
763c827879 Block Ticking API 2021-12-26 13:23:52 -05:00
Jason Penilla
ffdfd64ea5 Add getComputedBiome API 2022-03-14 22:45:32 -07:00
Jake Potrebic
1de93777a5 Add hasCollision methods to various places 2021-11-04 11:50:35 -07:00
Jake Potrebic
bcd78c9bf2 Add Block#isValidTool
Deprecated for removal
2020-07-06 12:44:23 -07:00
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
Ineusia
72ab93ca8a Add Destroy Speed API
Co-authored-by: Jake Potrebic <jake.m.potrebic@gmail.com>
2020-10-26 11:37:48 -05: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
Jake Potrebic
1cf2aaef30 Improve Block#breakNaturally API
Adds bool param to trigger world particle effects

Adds bool param to trigger exp drops for blocks

Co-authored-by: William Blake Galbreath <Blake.Galbreath@GMail.com>
2020-01-02 12:25:16 -06:00
simpleauthority
d2e1163917 Add BlockSoundGroup interface
This PR adds the getSoundGroup() method in Block which returns a BlockSoundGroup
2019-05-28 03:41:28 -07:00
Aikar
2825ece820 Fix Spigot annotation mistakes
while some of these may of been true, they are extreme cases and cause
a ton of noise to plugin developers.

Use ApiStatus.Internal instead of Deprecated for actual internal API
that continues to have use (internally).

These do not help plugin developers if they bring moise noise than value.
2019-03-24 18:39:01 -04:00
Spottedleaf
8170ae9d64 Allow Blocks to be accessed via a long key
The key can be retrieved via methods Location#toBlockKey() and
Block#getBlockKey()

World provides lookup for blocks by long key via method World#getBlockAtKey(long)

The formatting for the key is as follows:

10 bit y|27 bit z|27 bit x

The y value is considered unsigned while z and x are considered two's complement

Y range: [0, 1023]
X, Z range: [-67 108 864, 67 108 863]
2018-08-14 21:42:10 -07:00
Aikar
8306cc5b4f 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
2017-11-06 21:10:01 -05:00
Zach Brown
0c37d20354 Fix upstream javadocs 2017-06-10 16:59:40 -05:00
Bukkit/Spigot
0023e5549a #1082: Add "since" to Deprecation annotations
By: DerFrZocker <derrieple@gmail.com>
2024-11-25 07:52:33 +11:00
Bukkit/Spigot
e17edb7785 #804: Added methods to get translation keys for materials, itemstacks and more
By: mfnalex <mfnalex@gmail.com>
2023-02-10 20:51:15 +11:00
Bukkit/Spigot
a959ba09e0 Clarify documentation of Block#getBreakSpeed
By: md_5 <git@md-5.net>
2022-01-22 08:56:42 +11:00
Bukkit/Spigot
d0acafa8d8 SPIGOT-6781: Add Block#canPlace
By: coll1234567 <joshl5324@gmail.com>
2021-11-23 18:49:11 +11:00
Bukkit/Spigot
6b0ff8582b #621: Add Block#getCollisionShape and associated API
By: konsolas <vincentyntang@gmail.com>
2021-06-14 08:32:51 +10:00
Bukkit/Spigot
34291f36d1 #623: Add Block#getBreakSpeed(Player)
By: konsolas <vincentyntang@gmail.com>
2021-06-14 08:27:32 +10:00
Bukkit/Spigot
b0c8a52b02 #601: Add Block#isPreferredTool
By: Flo0 <unconfigured@null.spigotmc.org>
2021-04-21 17:31:45 +10:00
Bukkit/Spigot
301266fe1b #526: Add Block#applyBoneMeal()
By: Parker Hawke <hawkeboyz2@hotmail.com>
2020-08-27 11:27:10 +10:00
Bukkit/Spigot
f8ce884be6 SPIGOT-5751: Clarify behaviour of block drop-related API methods
By: Lars Dormans <lars.dormans@live.nl>
2020-06-03 19:25:33 +10:00
Bukkit/Spigot
23efa7fb0c SPIGOT-5641: Add Block.getDrops(ItemStack, Entity)
By: md_5 <git@md-5.net>
2020-04-05 16:51:54 +10:00
Bukkit/Spigot
e9ae9842f0 Apply and enforce import ordering rules
By: md_5 <git@md-5.net>
2019-04-23 14:33:57 +10:00
Bukkit/Spigot
c240b58f66 Begin implementation of CheckStyle style checking
By: md_5 <git@md-5.net>
2019-04-23 14:00:20 +10:00
Bukkit/Spigot
416c865476 SPIGOT-2540: Add nullability annotations to entire Bukkit API
By: Darkyenus <darkyenus@gmail.com>
2019-03-13 17:42:57 +11:00
Bukkit/Spigot
3cde10ce1b SPIGOT-4605: Warn against hacking physics
By: md_5 <git@md-5.net>
2019-02-02 11:09:03 +11:00
Bukkit/Spigot
cf8cbb0713 Tweak Block.getTemperature to return actual block temperature
By: md_5 <git@md-5.net>
2018-12-19 10:53:02 +11:00
Bukkit/Spigot
8e65ec71cb SPIGOT-2151: Add support for getting simple bounding box of a block
By: Evoluseis <contact@evoluseis.me>
2018-12-17 19:16:46 -05:00
Bukkit/Spigot
55523cfcfc Add ray tracing and bounding box API
By: blablubbabc <lukas@wirsindwir.de>
2018-10-26 19:59:36 +11:00
Bukkit/Spigot
2deff0fecc Add Block#isPassable
By: blablubbabc <lukas@wirsindwir.de>
2018-10-12 01:03:01 +02:00
Bukkit/Spigot
7834e8bf08 Delete Block.setData byte methods from API
By: md_5 <git@md-5.net>
2018-07-18 16:54:32 +10:00
Bukkit/Spigot
767e4f6ccf Update to Minecraft 1.13-pre7
By: md_5 <git@md-5.net>
2018-07-15 10:00:00 +10:00
Bukkit/Spigot
34d9beba8f SPIGOT-204: Add way to set block type without using IDs or updating physics.
By: md_5 <git@md-5.net>
2014-12-22 19:47:50 +11:00
Bukkit/Spigot
b2d54f59bb Clean up the javadoc to pass java 8's doclint
By: Thinkofdeath <thinkofdeath@spigotmc.org>
2014-11-30 21:09:01 +00:00
Bukkit/Spigot
bb50f1a774 Pulling all pending Bukkit-JavaDoc changes
A special thanks goes to @aerouk for almost all of the changes found here.

By: Wesley Wolfe <weswolf@aol.com>
2013-12-15 01:07:43 -05:00
Bukkit/Spigot
f9bec6eadd Deprecate magic values
By: Wesley Wolfe <weswolf@aol.com>
2013-08-19 13:32:18 -05:00
Bukkit/Spigot
761a84cb1b Pulling all pending Bukkit-JavaDoc changes
By: Edmond Poon <sagaciouszzzz@gmail.com>
2013-04-02 00:11:22 -04:00
Bukkit/Spigot
c87e48bb00 Provide a faster way to get a location. Adds BUKKIT-3120
Currently when a plugin wants to get the location of something it calls
getLocation() which returns a new Location object. In some scenarios this
can cause enough object creation/destruction churn to be a significant
overhead. For this cases we add a method that updates a provided Location
object so there is no object creation done. This allows well written code
to work on several locations with only a single Location object getting
created.

Providing a more efficient way to set a location was also looked at but
the current solution is the fastest we can provide. You are not required
to create a new Location object every time you want to set something's
location so, with proper design, you can set locations with only a single
Location object being created.

By: Travis Watkins <amaranth@ubuntu.com>
2012-12-07 19:48:19 -06:00
Bukkit/Spigot
03af91781c Javadoc updates
Fixes BUKKIT-1653, Fixes BUKKIT-1383 and Fixes BUKKIT-1644

By: feildmaster <admin@feildmaster.com>
2012-06-03 05:40:54 -05:00
Bukkit/Spigot
9f6f624e1d [Bleeding] Add APIs for editing biome data. Addresses BUKKIT-1075
By: Mike Primm <mike@primmhome.com>
2012-03-04 10:40:27 -06:00
Bukkit/Spigot
15e2f69fa6 Adding/expanding documentation
By: Celtic Minstrel <celtic.minstrel.ca@some.place>
2012-02-26 12:13:30 -05:00
Bukkit/Spigot
dd1bee786b [Bleeding] Added a Metadata framework for Entities, Blocks, and Worlds
This metadata implementation has the following features:

- All metadata is lazy. Metadata values are not actually computed until another plugin requests them. Memory and CPU are conserved by not computing and storing unnecessary metadata values.

- All metadata is cached. Once a metadata value is computed its value is cached in the metadata store to prevent further unnecessary computation. An invalidation mechanism is provided to flush the cache and force recompilation of metadata values.

- All metadata is stored in basic data types. Convenience methods in the MetadataValue class allow for the conversion of metadata data types when possible. Restricting metadata to basic data types prevents the accidental linking of large object graphs into metadata. Metadata is persistent across the lifetime of the application and adding large object graphs would damage garbage collector performance.

- Metadata access is thread safe. Care has been taken to protect the internal data structures and access them in a thread safe manner.

- Metadata is exposed for all objects that descend from Entity, Block, and World. All Entity and World metadata is stored at the Server  level and all Block metadata is stored at the World level.

- Metadata is NOT keyed on references to original objects - instead metadata is keyed off of unique fields within those objects. Doing this allows metadata to exist for blocks that are in chunks not currently in memory. Additionally, Player objects are keyed off of player name so that Player metadata remains consistent between logins.

- Metadata convenience methods have been added to all Entities, Players, Blocks, BlockStates, and World allowing direct access to an individual instance's metadata.

- Players and OfflinePlayers share a single metadata store, allowing player metadata to be manipulated regardless of the player's current online status.

By: rmichela <deltahat@gmail.com>
2011-12-08 00:33:33 -05:00
Bukkit/Spigot
75fd934339 Deprecation cleanup.
By: Erik Broes <erikbroes@grum.nl>
2012-01-30 21:32:48 +01:00
Bukkit/Spigot
4ad64ea3f5 [Bleeding] Added Block.breakNaturally and Block.getDrops
By: Zeerix <zeerix@draig.de>
2012-01-12 03:08:31 +01:00
Bukkit/Spigot
94bc6ec0e6 [Bleeding] Added Block.getLightFromSky and getLightFromBlocks
By: Mike Primm <mike@primmhome.com>
2011-12-29 13:26:01 -06:00