Commit Graph

2658 Commits

Author SHA1 Message Date
Thinkofdeath
2642f9b344 SPIGOT-1068: Limit the number of patterns on banners 2015-07-23 20:50:53 +01:00
Xor Boole
3e9b5c93d6 Prevent an Entity from riding itself. 2015-07-20 16:18:08 +10:00
Antony Riley
87b9f46d72 SPIGOT-1060: Allow custom generators to use block ids > 127 with bytes. 2015-07-19 09:23:48 +10:00
md_5
09ddd9b35e SPIGOT-1051: CraftInventoryPlayer.setItem can cause NPE. 2015-07-18 12:43:33 +10:00
Antony Riley
bf4818b94a Fix ItemStack.isSimilar(CraftItemStack) when HideFlags are set. 2015-07-15 19:47:59 +03:00
md_5
b105298f2e Simplify getPlayerExact / try for exact match first in getPlayer. 2015-07-13 19:00:33 +10:00
md_5
65cd4d79fd Simplify OfflinePlayer.getPlayer() logic. 2015-07-13 18:54:08 +10:00
md_5
1f73bbb56a Simplify isOnline() logic. 2015-07-13 18:30:25 +10:00
Morphan1
2359f6fcb0 Implement ItemMergeEvent 2015-07-12 19:57:38 +10:00
Jofkos
a03743b3b4 Add basic sendTitle / resetTitle API.
More APIs to follow pending feedback of whether this is the preferred implementation. Methods marked as deprecated and subject to change, but work as is.
2015-07-10 16:24:02 +10:00
Thinkofdeath
f27339caf8 SPIGOT-977: Use vanilla's handling for command messages for vanilla commands
Fixes gamerules that control the output of those messages
2015-07-08 23:19:21 +01:00
BlackyPaw
e91aed81b3 SPIGOT-986: Default back to skull ID 0 (SKELETON) whenever an invalid ID is encountered instead of throwing an AssertionError 2015-06-28 08:44:27 +10:00
DoctorDark
d432434fd8 SPIGOT-980: Fix NPE when setting items of offline players 2015-06-27 15:48:22 +10:00
md_5
76c834a849 Clean up World.getPlayers().
Original idea from CyberTiger, PR #150
2015-06-27 15:46:19 +10:00
md_5
994b2aae3f SPIGOT-892: Set chicken egg baby age before adding it to world. 2015-06-21 09:20:07 +10:00
md_5
0dfb243c86 SPIGOT-436: Add accompanying getSpectatorTarget(). 2015-06-21 09:20:07 +10:00
Nathan Wolf
1880a9c0b6 SPIGOT-973: Add marker API to ArmorStand 2015-06-09 09:36:31 +10:00
md_5
f4ecc39ffc SPIGOT-436: Add spectator camera API. 2015-06-09 09:17:54 +10:00
Nathan Wolf
845336b511 Serialize full skull item profile data in internal blob 2015-06-07 20:31:01 +01:00
md_5
e8c64031b1 Update commands.yml headers 2015-06-01 19:23:31 +10:00
md_5
d33f0dd3ba Remove unused bukkit.yml options and update links / info. 2015-05-31 12:11:56 +10:00
Thinkofdeath
8c14eb49ef Handle a missed case with our vanilla permissions override 2015-05-30 00:06:18 +01:00
Matt
55202e1f99 Add ability to add a string to a scoreboard instead of a player 2015-05-29 19:36:14 +10:00
DemonWav
c637b933dc Send the packet for the correct container, rather than just the container that is active at the time. - SPIGOT-932 2015-05-28 17:19:36 +10:00
DemonWav
75f835c07a Send the set item packet to the client when an item is changed or added in a player's inventory - Addresses SPIGOT-883 2015-05-26 18:46:24 +10:00
md_5
25de1e6baf SPIGOT-769: Fix opening custom inventories. 2015-05-24 10:42:53 +10:00
Nathan Wolf
7bc9c08eb4 Default to BlockFace.SELF for null directions in getFacing 2015-05-24 09:25:02 +10:00
Thinkofdeath
a486600749 Update to 1.8.4 2015-05-17 10:32:59 +01:00
Matt
0a645a2726 Remove unneeded Java 1.5 Compat 2015-05-03 09:11:45 +10:00
Cory Redmond
7722428895 Add the ability for commandblocks to be sent messages via the API. 2015-04-19 09:15:15 +10:00
Thinkofdeath
8e5e4c189b SPIGOT-581: Allow for unhandled nbt tags to be serialized to yaml 2015-04-16 11:01:13 +01:00
Thinkofdeath
5b2764148d SPIGOT-798: Allow for CustomPotionEffects to be empty 2015-04-15 15:02:34 +01:00
Thinkofdeath
e4ca2af9c4 Strip events from book pages on signing 2015-04-14 10:28:34 +01:00
Thinkofdeath
a25c96eda7 SPIGOT-742: Throw an exception instead of passing null when the sender cannot be converted 2015-04-13 11:51:04 +01:00
Thinkofdeath
35d953bac8 Replace the two nextTickList sets with a single one that combines both
Should prevent them from going out of sync
2015-04-13 11:04:38 +01:00
Nathan Wolf
96c2c39245 Implement World.getNearbyEntities 2015-04-07 19:08:07 +10:00
Thinkofdeath
61ef214f91 Implement BlockStateMeta which allows creating and editting 1.8's blockEntityTag 2015-03-24 16:02:47 +00:00
Thinkofdeath
3fce0ec0f5 SPIGOT-729: Revert the entity slice move 2015-03-22 19:01:30 +00:00
Thinkofdeath
350cb9927e Update the rename markers 2015-03-19 21:29:33 +00:00
Thinkofdeath
234e60735c SPIGOT-716: Fix regenerating chunks 2015-03-17 21:17:56 +00:00
Thinkofdeath
30d751b362 Move the entity slice loading 2015-03-16 19:44:51 +00:00
Thinkofdeath
7f609b12b9 SPIGOT-705: Fix possible CME 2015-03-15 21:38:05 +00:00
md_5
6e0120a058 SPIGOT-323: Enchanting tables can no longer be force opened. (reverted from commit bbe75338c1) 2015-03-13 17:53:15 +11:00
md_5
bbe75338c1 SPIGOT-323: Enchanting tables can no longer be force opened. 2015-03-13 17:48:57 +11:00
Thinkofdeath
7f52bd6c95 Fix getActivePotionEffects ignoring the particles flag 2015-03-11 13:18:06 +00:00
Thinkofdeath
294d07dcc0 SPIGOT-678: Fix the particles flag being ignored in PotionMeta 2015-03-11 11:54:31 +00:00
Thinkofdeath
d8a9c7be42 Update to Minecraft 1.8.3 2015-03-04 09:48:58 +00:00
Thinkofdeath
3ee97a30eb SPIGOT-586: Fix a mistake in CraftMetaItem 2015-02-18 10:21:40 +00:00
md_5
726656b864 Fix hashcode / equals / formatting. 2015-02-15 12:54:18 +11:00
md_5
709f95833b API for setting/getting hideFlags. Implementation of the hideFlags to be saved in NBT. 2015-02-15 12:47:07 +11:00
FearThe1337
116514c162 Implement armor stand event. 2015-02-15 12:24:14 +11:00
BillyGalbreath
9648edfa61 Add alternatives for deprecated methods 2015-02-15 12:16:12 +11:00
Thinkofdeath
15e81cf551 SPIGOT-449: Fix the wrong caller being used in chain execute commands 2015-01-25 15:17:48 +00:00
Thinkofdeath
4b6df5adfe SPIGOT-456: Provide equals & hashCode methods for CraftObjective and CraftTeam 2015-01-25 14:39:20 +00:00
md_5
0d52f683db SPIGOT-469: Increment and print reload count. 2015-01-25 10:31:31 +11:00
BuildTools
17962f66ec SPIGOT-443: Synchronize access to HANDLED_TAGS as Spigot uses it async 2015-01-18 17:33:13 +00:00
Thinkofdeath
59dd2ddb9d SPIGOT-438: Correct CraftScoreboard.getObjective NPEing instead of returning null for missing objectives 2015-01-17 23:10:08 +00:00
md_5
00eba538b0 Fix mismatch between teams and player teams. 2015-01-17 19:59:16 +11:00
md_5
42ebec1f71 SPIGOT-242: Fix scoreboard API.
In particular don't maintain an internal list of state, as this gets out of whack when Minecraft adds or removes scoreboards / teams.
2015-01-17 09:41:52 +11:00
md_5
e6f9fd4dc7 isThundering should just reflect thunder state. 2015-01-13 20:42:33 +11:00
md_5
93e7b199bd Fix the CraftWorld weather methods duplicating events. 2015-01-13 20:40:23 +11:00
Hitoprl
5e6c347daa Fix SPIGOT-260: Item drops don't spill in correct place. 2015-01-11 09:46:54 +11:00
md_5
7658819130 Fix off by one in CraftRabbit. Fixes SPIGOT-392 2015-01-10 14:15:34 +11:00
md_5
4470462a54 SPIGOT-387: Remove redundant custom vehicle handling. 2015-01-09 16:59:40 +11:00
Thinkofdeath
5b92dc3d0a Whoops missed a file 2015-01-04 23:36:55 +00:00
Thinkofdeath
6ac32df219 Redirect execute through our command system and allow entities to be CommandSenders 2015-01-04 23:26:02 +00:00
md_5
dde25d45ef SPIGOT-323: Allow force creating enchant table containers. Usefullness is not guaranteed. 2015-01-05 10:05:01 +11:00
md_5
c99cdafd3f SPIGOT-323: Enchanting tables can no longer be force opened. (reverted from commit 9784338acf) 2015-01-05 10:00:26 +11:00
md_5
9784338acf SPIGOT-323: Enchanting tables can no longer be force opened. 2015-01-05 09:59:31 +11:00
md_5
e5c51c790f Actually return. 2015-01-05 09:25:27 +11:00
md_5
93efa5a803 "Fix" SPIGOT-349 - don't allow + or ! in path. 2015-01-05 09:24:44 +11:00
Xor Boole
e8e3ca29e2 Add null check before iterating over iterator. 2014-12-28 13:57:27 -04:00
Thinkofdeath
0a0d3aa5a7 SPIGOT-287: Fire a cancelled inventory open event for locked chests 2014-12-28 15:14:53 +00:00
Thinkofdeath
0e2396c22f Remove tile entity tags for signs and command blocks 2014-12-27 22:44:51 +00:00
Thinkofdeath
d51936efb4 SPIGOT-298: Fix book serialization 2014-12-27 12:13:28 +00:00
Thinkofdeath
306b233a40 SPIGOT-279: Fix all metadata being cleared for items that support blockEntityTag on material mis-match 2014-12-27 00:51:59 +00:00
Thinkofdeath
264d479fd8 SPIGOT-136, SPIGOT-267: Store pages as chat component to retain chat events unless a plugin touches them 2014-12-26 21:55:35 +00:00
FearThe137
2db3ea29a6 Implement Rabbit types. 2014-12-24 09:11:25 +11:00
md_5
6dfcbc61ab SPIGOT-204: Add way to set block type without using IDs or updating physics. 2014-12-22 19:48:02 +11:00
Thinkofdeath
40aaa31c49 Fix EntityEquipment for armor stands and redirect the getters/setters to use it 2014-12-21 23:26:42 +00:00
FearThe1337
53fc3cf74f Fix custom chunk generators. Fixes SPIGOT-193. 2014-12-21 17:38:42 +00:00
FearThe1337
89944c09c9 SPIGOT-231 and SPIGOT-229. Fix itemframe behaviour.
Confirmed fix for itemframes not showing up. Based on the code in
CraftPainting.
Besids this fix we now pass null itemstacks directly to the
EntityItemFrame to allow the removal of items in ItemFrames.
2014-12-21 09:59:45 +11:00
Fabian Faßbender
ce7dd34b5c aW() does re register Attributes which causes a IllegalArgumentException. This fixes it and sets the Guardian back to a normal Guardian without any problem. 2014-12-21 08:52:20 +11:00
Adam Thomas
606cf0eea4 Implement NameTag visibility API for Teams. 2014-12-18 21:27:46 +11:00
0x277F
dadb43af92 Use value from new potion effect particle visibility API. 2014-12-18 21:20:51 +11:00
FrozenBrain
618abf7a36 SPIGOT-228: Don't deserialize meta of written books twice 2014-12-18 09:47:10 +11:00
FearThe1337
6fab8fe51e SPIGOT-236 - fix notes playing wrongly.
Formula is from BlockNote (NMS), slightly formatted different to be smaller.
2014-12-18 09:47:10 +11:00
Thinkofdeath
20c65caae7 SPIGOT-210: Remove the exception when dropping a non-existant task
If the server crashes during chunk generation then the chunk would have never
been added to the executor, this caused a second exception to be thrown when
the server shutdown from the first exception
2014-12-16 10:53:29 +00:00
Thinkofdeath
6b061e2581 SPIGOT-152, SPIGOT-197: Add a system to handle new tags before an api is ready for them 2014-12-15 15:44:57 +00:00
Stefan
e1070b9fbb SPIGOT-206 Further checks and fixes for Hanging entities.
Adds an check for existing entities before selecting the location allowing
for hanging entities to be spawned in blocks where there already is an
hanging entity at the default rotation.
Fixes the CraftHanging setRotation function to use the new 1.8 logic.
2014-12-15 14:42:00 +00:00
Thinkofdeath
28f37a113c Fix entities freezing when a chunk is regenerated 2014-12-15 13:46:41 +00:00
TheCutter
07c2162118 Implement WorldBorder API 2014-12-14 10:02:33 +11:00
Stefan
01f0122a9e Fix the spawning of HangingEntities by picking the right direction
Related to SPIGOT-206.
Currently HangingEntities should be located next to the block they are
hanging on. With the direction set to the opposite of the block they
are hanging from.
This code is modified to find the correct direction.
2014-12-13 19:15:29 +01:00
Thinkofdeath
d5ede3bd6d Rework the vanilla link fix so that hover/click events aren't lost 2014-12-13 10:27:26 +00:00
Thinkofdeath
5f2a9eadde SPIGOT-199: Default to white instead of black for chat messages 2014-12-13 09:37:47 +00:00
Thinkofdeath
64157d1de5 SPIGOT-189: Remove ListenerWrapper in favour of just doing it in EntityPlayer 2014-12-12 19:27:37 +00:00
Thinkofdeath
54888dfafb Wrap player's ICommandListener so that our permission system can handle permission
for vanilla commands
2014-12-12 10:33:54 +00:00
Thinkofdeath
81db41b4d2 Ignore errors when parsing books and treat them as old books
In previous versions there was a mistake with book handled which
may leave books in a broken state, this tries to handle that
2014-12-12 09:46:31 +00:00
zreed
45be36a7b8 Update JLine
Later releases include the TerminalLineSettings patch. Also move call to AnsiConsole.systemInstall() to avoid patching AnsiWindowsTerminal.
2014-12-12 11:06:13 +11:00
FearThe1337
c13e6e69a2 Implement displayblocks for minecarts (SPIGOT-14). 2014-12-12 11:01:47 +11:00
TheCutter
fe8d20e376 using generator settings from WorldCreator to specify presets for FLAT or CUSTOMIZED world types 2014-12-12 11:00:41 +11:00
md_5
9fa497cd55 Add implementation of the elder Guardian API 2014-12-12 10:57:00 +11:00
Thinkofdeath
6575597292 Merge pull request #43 in SPIGOT/craftbukkit from ~FEARTHE1337/craftbukkit:perm to master
* commit '33af6fbbbf1c1a8fee3ecc8d4cf79b4a2ba17c16':
  Add the new minecraft command permission nodes.
2014-12-11 21:43:19 +01:00
FearThe1337
33af6fbbbf Add the new minecraft command permission nodes.
Previously bukkit ones were in bukkit. Moved to CraftBukkit with new prefixes.
2014-12-11 21:36:02 +01:00
Thinkofdeath
b13fd35165 Re-enable selectors for players and the console using vanilla commands 2014-12-11 20:05:48 +00:00
Thinkofdeath
84699b36a8 Rewrite book handling, Fixes SPIGOT-182 and part of SPIGOT-164 2014-12-11 19:38:09 +00:00
Thinkofdeath
14d69f1513 Remove old dev comments 2014-12-11 00:40:25 +00:00
Thinkofdeath
a6465002bf Add some missing Tile Entities 2014-12-07 13:38:16 +00:00
Thinkofdeath
44ea9d88c2 Add CraftMetaTileEntity, fixes the previously broken tests 2014-12-07 13:22:56 +00:00
Thinkofdeath
fb445e5337 Minor bug fixes 2014-12-07 12:18:50 +00:00
Thinkofdeath
c571bbe590 Disable some tests whilst issues with them are looked into 2014-12-07 11:50:45 +00:00
Thinkofdeath
6880e5277f Fix isEmpty and hashCode for CraftMetaItem 2014-12-07 11:42:37 +00:00
Thinkofdeath
6268eb5a3e Fix BlockEntityTag being stripped from items 2014-12-07 11:36:31 +00:00
Thinkofdeath
1227934d57 Make CraftMetaItem's attribute handling less strict on types 2014-12-07 10:48:14 +00:00
Thinkofdeath
cc2b09de09 Add basic support for executing commands from signs
TODO: Wrap the player in to allow for plugins to handle it better
2014-12-05 23:10:47 +00:00
zreed
9e04f2f765 Use PlayerList's UUID->EntityPlayer map in CraftServer.getPlayer(UUID) 2014-12-05 02:03:49 -05:00
Thinkofdeath
e2c4f20ed1 Serialize baseColor as a string 2014-12-04 10:10:24 +00:00
Thinkofdeath
2ba7357b4a Merge pull request #27 in SPIGOT/craftbukkit from ~AIKAR/craftbukkit:fixWorldSaveEvent to master
* commit '64492523a761fb37d2b73f4aad8b8041f7a30d83':
  Move WorldSaveEvent to proper location
2014-12-03 20:37:32 +01:00
Aikar
64492523a7 Move WorldSaveEvent to proper location
calling CraftWorld.save() currently does not call WorldSaveEvent, and WorldSaveEvent could fire on worlds that have saving disabled.

New location will always fire during a world save and only during an actual save.
2014-12-03 14:35:33 -05:00
Thinkofdeath
200ae2b6ac Fix a issue with skulls that have a blank owner 2014-12-03 19:04:19 +00:00
Thinkofdeath
4c02ffcaf3 Merge pull request #5 in SPIGOT/craftbukkit from ~DMCK2B/craftbukkit:feature/implementDepthStrider to master
* commit 'cce45591f624c915e87ce132b508adf8e0d7961b':
  Implement the Depth Strider enchantment for the API
2014-12-03 17:41:27 +01:00
Fabian Faßbender
497a7b4cfb Add ANVIL and BEACON custom inventories. Also handle a few special cases for inventory sizes 2014-12-03 16:20:55 +00:00
Thinkofdeath
8110f51b50 Minor formatting fixes 2014-12-03 11:08:35 +00:00
Thinkofdeath
a972ddfc74 Missed a case 2014-12-02 23:57:29 +00:00
Thinkofdeath
1613d09138 Don't wrap the y coordinate in World.getBlockAt 2014-12-02 23:54:38 +00:00
BuildTools
351edbf4e5 Fix CraftMetaBanner serialization. 2014-12-02 15:29:04 +01:00
Thinkofdeath
275603d37a Merge pull request #21 in SPIGOT/craftbukkit from ~GENAZT/craftbukkit:bugfix/SPIGOT-93 to master
* commit '7371301edb1c44ab9153e1fba3722ba2f4e3c411':
  Forgot that i work in Bukkit... Screw sun conventions
  Implementation for the new rotation values. Fixes SPIGOT-93
2014-12-02 13:23:46 +01:00
Thinkofdeath
733e4290d8 [Slightly breaking] setType(Id) will not longer reuse the previous data value
of the block and instead reset the the data value to the block's default
2014-12-02 12:03:02 +00:00
Thinkofdeath
b58808d54d Fix tree related crashes due to lazy BlockState updating 2014-12-02 11:51:49 +00:00
Fabian Faßbender
7371301edb Forgot that i work in Bukkit... Screw sun conventions 2014-12-02 00:20:31 +01:00
Fabian Faßbender
0d5693dec5 Implementation for the new rotation values. Fixes SPIGOT-93 2014-12-02 00:13:25 +01:00
Adam Thomas
cc9b479fe6 Fix show player 2014-11-30 20:12:54 +00:00
Thinkofdeath
22df292258 Add a somewhat hacky fix for plugins converting between book types 2014-11-30 15:06:14 +00:00
Thinkofdeath
6eb0c79271 Fix Chunk.getTileEntities() (Fixes SPIGOT-62) 2014-11-30 12:15:56 +00:00
Thinkofdeath
20207a0124 Correct the return value of getPlayerListName 2014-11-30 10:30:32 +00:00
Fabian Faßbender
b08f233fe1 Rewrite the level.dat properly. This fixes SPIGOT-46 2014-11-29 20:33:33 +01:00
Mike Primm
4692204921 SPIGOT-30: Fix restoring of WorldData when loading worlds 2014-11-29 09:34:54 -06:00
Suddenly
cce45591f6 Implement the Depth Strider enchantment for the API 2014-11-29 15:13:43 +00:00
Thinkofdeath
f498585ecc Ignore invalid blocks in ChunkSnapshots 2014-11-29 15:05:28 +00:00
Mike Primm
dd33bcf6a5 Fix chunk snapshot generation (needed for Dynmap) 2014-11-28 18:30:59 -06:00
Thinkofdeath
585a827dcd Fix setAge and related methods 2014-11-29 00:17:45 +00:00
Thinkofdeath
923b375d8e Fix missed case in CraftBlock 2014-11-29 00:14:46 +00:00
Thinkofdeath
2575b3f9c0 Remove extra color codes at the start from converted json chat 2014-11-28 19:59:41 +00:00
Thinkofdeath
24557bc2b3 Update to Minecraft 1.8
For more information please see http://www.spigotmc.org/
2014-11-28 17:16:30 +11:00
bendude56
a4805dbd77 Allow teleportation of entities on vehicles. Fixes BUKKIT-4210
Up until Minecraft version 1.5 it was not possible to teleport entities
within vehicles. With the 1.5 update came the change in the Minecraft
teleportation logic to dismount before teleporting the entity, if
applicable.

This commit ammends the existing CraftBukkit logic for rejecting
teleportation for entities in vehicles to permit the action. Due to this
change, CraftBukkit is now in-line with Minecraft 1.5 teleportation logic.
2014-08-17 11:49:27 -06:00
Jerom van der Sar
80e8f2ab87 Implement ability to keep items on death via plugins. Adds BUKKIT-5724
When a player dies their inventory is normally scattered over the the area
in which they died. Plugins should be able to modify this behaviour by
defining whether or not the player's inventory will be dropped on the ground or waiting for the player when they eventually respawn.

This commit implements the methods included in the Bukkit half for the new
behaviour by acting upon the boolean flag. The boolean flag is tested
prior to clearing the inventory as well as prior to dropping the items on
the ground. If the flag is true (indicating "keep inventory"), the items
are not removed from the player's inventory and are not dropped on the
ground.
2014-08-17 11:41:40 -06:00
Starbuck Johnson
3626720d53 Modify the invalid item set to permit command blocks. Fixes BUKKIT-4342
When using a "vanilla" Minecraft server using the "pick block" key on a
command block yields the invoker with a command block within their
inventory while in creative mode. Implications of the invalid items set
containing the command block also include having a "ghost" item that
cannot be placed due to it not actually existing.

This commit resolves the problem and brings Craftbukkit closer to vanilla
behaviour by removing the command block item ID, 137, from the invalid
items set.
2014-08-17 11:23:28 -06:00
myiume
4507cec090 Fix PlayerFishEvent not correctly cancelling. Fixes BUKKIT-5396
Prior to this commit cancelling the PlayerFishEvent would cause various
states of the fishing routine to be incorrectly or wrongly fired. This
incorrect behaviour was due to the miscommunication between the server and
client regarding the fishing state. When the event was cancelled, the
bobber entity was removed and caused the client to incorrectly determine
what the "next state" was to logically be.

This commit resolves the issue by ensuring the client is made aware of the
correct changes at the correct time regarding the bobber entity, therefore
keeping the logical steps of "fishing" proper and in-tact.
2014-08-17 00:17:02 -06:00
Wesley Wolfe
b3e83b00fc Implement deprecated methods. Adds BUKKIT-5752 2014-08-07 19:35:16 -05:00
Wesley Wolfe
1f0c791444 Use sensible AssertionError instead of ambiguous RuntimeException 2014-08-07 19:29:35 -05:00