Commit Graph

419 Commits

Author SHA1 Message Date
Jake Potrebic
e259cfeb72 Fix upstreams block state factories
Sometimes, blocks are changed and then logic is called before the associated
tile entity is removed. When this happens, the factories were relying on the
block at the position, not the tile entity. This change prioritizes using the
tile entity type to determine the block state factory and falls back on
the material type of the block at that location.

== AT ==
public net.minecraft.world.level.block.entity.BlockEntityType validBlocks
2021-10-06 20:50:48 -07:00
Jake Potrebic
26d0751f8e Add hasCollision methods to various places
== AT ==
public net.minecraft.world.level.block.state.BlockBehaviour hasCollision
2021-11-04 11:50:40 -07:00
Jake Potrebic
94732f8599 More CommandBlock API 2021-09-23 10:40:09 -07:00
Jason Penilla
4919926f51 Fix return value of Block#applyBoneMeal always being false 2021-06-28 18:16:52 -07:00
LemonCaramel
cd9caecbde More Lidded Block API 2021-05-23 17:49:51 +09:00
Owen1212055
f24aec2051 Add EntityBlockStorage#clearEntities() 2021-04-05 18:12:29 -04:00
Jake Potrebic
53ea19c9bd Add Block#isValidTool 2020-07-06 12:44:31 -07:00
Aikar
119c616ab9 Additional Block Material API
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 19:43:01 -05:00
Ineusia
c068010b34 Add Destroy Speed API
Co-authored-by: Jake Potrebic <jake.m.potrebic@gmail.com>
2020-10-26 11:48:06 -05:00
Jake Potrebic
5b1f73e2dc Beacon API - custom effect ranges 2020-06-24 12:39:08 -06:00
Spottedleaf
f24af9bc9c Optimise getType calls
Remove the map lookup for converting from Block->Bukkit Material
2020-06-03 11:37:13 -07:00
miclebrick
74de6853f4 Cache block data strings 2018-12-06 19:52:50 -05:00
Jake Potrebic
97620482eb Add methods to get translation keys
== AT ==
public org.bukkit.craftbukkit.inventory.CraftMetaFirework
public org.bukkit.craftbukkit.inventory.CraftMetaFirework power
public org.bukkit.craftbukkit.inventory.CraftMetaFirework getNBT(Lorg/bukkit/FireworkEffect$Type;)Lnet/minecraft/world/item/component/FireworkExplosion$Shape;

Co-authored-by: MeFisto94 <MeFisto94@users.noreply.github.com>
2020-08-11 19:16:09 +02:00
Jake Potrebic
2ce266b657 Improve Block#breakNaturally API
Adds bool parameter to play world effect on block break

Adds bool parameter to drop xp from blocks

Fixes fluid-logged blocks not leaving fluid behind if
broken

Handles special cases for ice and turtle eggs

== AT ==
public net.minecraft.world.level.block.TurtleEggBlock decreaseEggs(Lnet/minecraft/world/level/Level;Lnet/minecraft/core/BlockPos;Lnet/minecraft/world/level/block/state/BlockState;)V

Co-authored-by: William Blake Galbreath <Blake.Galbreath@GMail.com>
2020-01-02 12:25:07 -06:00
Spottedleaf
dee5102404 Show blockstate location if we failed to read it 2019-06-15 10:28:25 -07:00
simpleauthority
ab02b04a98 Implement CraftBlockSoundGroup 2019-05-28 03:48:51 -07:00
William Blake Galbreath
b68af3dfa1 Mob Spawner API Enhancements
== AT ==
public net.minecraft.world.level.BaseSpawner isNearPlayer(Lnet/minecraft/world/level/Level;Lnet/minecraft/core/BlockPos;)Z
public net.minecraft.world.level.BaseSpawner delay(Lnet/minecraft/world/level/Level;Lnet/minecraft/core/BlockPos;)V
public net.minecraft.world.level.BaseSpawner setNextSpawnData(Lnet/minecraft/world/level/Level;Lnet/minecraft/core/BlockPos;Lnet/minecraft/world/level/SpawnData;)V
2019-04-19 12:41:13 -05:00
Tassu
4bea989f34 Implement furnace cook speed multiplier API
Fixed an issue where a furnace's cook-speed multiplier rounds down
to the nearest Integer when updating its current cook time.

== AT ==
public net.minecraft.world.level.block.entity.AbstractFurnaceBlockEntity getTotalCookTime(Lnet/minecraft/server/level/ServerLevel;Lnet/minecraft/world/level/block/entity/AbstractFurnaceBlockEntity;)I

Co-authored-by: Eric Su <ericsu@alumni.usc.edu>
2018-09-13 08:45:21 +03:00
miclebrick
68e76b43b8 Optimize CraftBlockData Creation
Avoids a hashmap lookup by cacheing a reference to the CraftBlockData
and cloning it when one is needed.
2018-08-23 11:45:32 -04: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
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
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
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
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
5381ea78f7 Update to Minecraft 1.21.4
By: md_5 <git@md-5.net>
2024-12-04 03:20:00 +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
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
d3a23f42c3 Update to Minecraft 1.21.2
By: md_5 <git@md-5.net>
2024-10-23 02:15:00 +11: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
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
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
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
d2745c6491 SPIGOT-7837: Support data pack banner patterns
By: Doc <nachito94@msn.com>
2024-07-27 10:14:41 +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
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
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
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
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
eed041d629 Update to Minecraft 1.21
By: md_5 <git@md-5.net>
2024-06-14 01:05:00 +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
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
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
cd194c870f Fix incorrect Vault implementation
By: md_5 <git@md-5.net>
2024-04-25 10:31:36 +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
83028e946f SPIGOT-7629: Fix loading banner patterns
By: md_5 <git@md-5.net>
2024-04-25 07:45:19 +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
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
39994359d1 Fix copying BlockStates with fields (eg, Banner)
By: md_5 <git@md-5.net>
2024-03-06 06:57:15 +11:00