Commit Graph

305 Commits

Author SHA1 Message Date
Jake Potrebic
c2b061d759 Improve item default attribute API 2021-05-08 15:01:54 -07:00
Jake Potrebic
121534e841 ItemStack repair check API 2021-05-15 22:11:11 -07:00
Jake Potrebic
80878ac918 More World API 2020-07-07 10:52:34 -07:00
Nassim Jahnke
85a8224261 Expose protocol version 2021-03-26 11:23:17 +01:00
Jake Potrebic
d0185eb56e Expand world key API 2021-01-06 00:34:04 -08:00
Jake Potrebic
239e7a6b37 Add RegistryAccess for managing Registries
RegistryAccess is independant from CraftServer and
doesn't require one to be created allowing the
org.bukkit.Registry class to be loaded earlier.

== AT ==
public net.minecraft.server.RegistryLayer STATIC_ACCESS
2023-02-27 18:28:39 -08:00
Jake Potrebic
84581d0c6b Add missing default perms for commands 2020-11-16 12:01:52 -08:00
Jason Penilla
9ac98063a0 Fix client lag on advancement loading
When new advancements are added via the UnsafeValues#loadAdvancement
API, it triggers a full datapack reload when this is not necessary. The
advancement is already loaded directly into the advancement registry,
and the point of saving the advancement to the Bukkit datapack seems to
be for persistence. By removing the call to reload datapacks when an
advancement is loaded, the client no longer completely freezes up when
adding a new advancement.
To ensure the client still receives the updated advancement data, we
manually reload the advancement data for all players, which
normally takes place as a part of the datapack reloading.
2020-10-31 11:49:01 -07:00
MeFisto94
73b101005b Expose the Entity Counter to allow plugins to use valid and non-conflicting Entity Ids 2020-08-28 01:41:26 +02:00
mbax
0a7b472bee Fix regex mistake in CB NBT int deserialization
The existing regex is too open and allows for the absence of any actual
number data, detecting an NBT entry of just the letter "i" in upper or
lower case. This causes a single-character NBT entry to be processed as
an integer ending in "i", passing an empty String to to Integer.parseInt,
triggering an exception in loading the item.

This commit forces numbers to be present prior to the ending "i"
letter.
2020-08-17 12:17:37 -04:00
Aikar
23ae9d3c49 Improve Legacy Component serialization size
Don't constantly send format: false for all formatting options when parent already
has it false
2020-06-28 19:08:41 -04:00
Mariell Hoversholm
2a6962e59e Add permission for command blocks 2020-05-16 10:05:30 +02:00
Mariell Hoversholm
f749992207 Add Raw Byte ItemStack Serialization
Serializes using NBT which is safer for server data migrations than bukkits format.
2020-04-30 16:56:54 +02: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
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
Aikar
770ee3eebd Remove Spigot timings 2016-03-03 04:00:11 -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
Owen1212055
216388dfdf Paper Plugins
Co-authored-by: Micah Rao <micah.s.rao@gmail.com>
2022-07-06 23:00:31 -04: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
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
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
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
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
5381ea78f7 Update to Minecraft 1.21.4
By: md_5 <git@md-5.net>
2024-12-04 03:20:00 +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
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
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
1236b98371 Update to Minecraft 1.21.3
By: md_5 <git@md-5.net>
2024-10-24 06:15:00 +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
2a98825ddf #1493: Improve reroute performance and add some tests
By: DerFrZocker <derrieple@gmail.com>
2024-10-15 21:05:19 +11: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
921fbc5f60 Update to Minecraft 1.21.1
By: md_5 <git@md-5.net>
2024-08-09 07:00:00 +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
9d6d5d8dc5 SPIGOT-7820: Enum changes - duplicate method name
By: DerFrZocker <derrieple@gmail.com>
2024-07-08 07:01:03 +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
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
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
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
d2d0972bc3 #1414: Convert InventoryView to interface
By: Miles Holder <mwholder2005@gmail.com>
2024-06-16 08:47:38 +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
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