feildmaster
161ab5edc6
Implement API for Sound, and playing the sounds for Worlds and Players. Adds BUKKIT-1430, BUKKIT-1226 and BUKKIT-2019
2012-08-21 19:13:19 -05:00
Travis Watkins
ccc760d629
Use a dynamic pool size for the iterator cache
...
Many codepaths only end up with one iterator being used at a time and
most of the rest only get up to two being used so using a static pool of
three is wasteful. This also allows us to efficiently handle cases that
exceed 3 iterators in use. Overall this dramatically increases the hit rate
and results in less iterators being created.
2012-08-20 18:44:07 -05:00
feildmaster
e7e643d83a
Implement API to retrieve and open EnderChests. Adds BUKKIT-2016
2012-08-20 16:00:53 -05:00
Mike Primm
627cf2ef8b
[Bleeding] Remove redundant chunkList from ChunkProviderServer
...
This ArrayList duplicates part of the functionality of the much more
efficient chunk map so can be removed as the map can be used in the few
places this was needed.
2012-08-19 09:51:00 -05:00
Travis Watkins
97ac0a3f14
Add LongObjectHashMap and LongHashSet
...
Replace uses of LongHashtable and LongHashset with new implementations.
Remove EntryBase, LongBaseHashtable, LongHashset, and LongHashtable as they
are no longer used.
LongObjectHashMap does not use Entry or EntryBase classes internally for
storage so has much lower object churn and greater performance. LongHashSet
is not as much of performance win for our use case but for general use is
up to seventeen times faster than the old implementation and is in fact
faster than alternatives from "high performance" java libraries. This is
being added so that if someone tries to use it in the future in a place
unrelated to its current use they don't accidentally end up with something
slower than the Java collections HashSet implementation.
2012-08-19 09:51:00 -05:00
Travis Watkins
858d36efc9
Add iterator cache to UnsafeList and use it in hotspots
...
Adds a specialized iterator for the list and a pool of iterators to avoid
object churn. Also optimizes the clear() method to reduce object creation.
2012-08-19 09:50:57 -05:00
Mike Primm
5254993510
Fix issues with chunk saving. Fixes BUKKIT-2158, BUKKIT-2018 and BUKKIT-2229
2012-08-19 08:36:47 -04:00
Wesley Wolfe
cacfc71b46
Add more detailed CrashReport for CraftBukkit. Addresses BUKKIT-2319
2012-08-17 23:18:22 -05:00
feildmaster
fc35d000e4
Use correct SlotType's for merchants. Fixes BUKKIT-2257
2012-08-15 06:00:55 -05:00
feildmaster
b059962a5c
Implement methods for spawning FallingBlocks and add various FallingBlock methods. Adds BUKKIT-2282
2012-08-14 07:38:23 -05:00
feildmaster
aa92f0e313
Update CreatureSpawner.setSpawnedType(EntityType) to 1.3
...
They can spawn any valid entities now. What is a "valid" entity? A "valid" entity is an EntityType with a non-null getName(). (for example: PRIMED_TNT, FALLING_BLOCK)
2012-08-12 14:11:36 -05:00
Wesley Wolfe
342f9c3bd3
Implement player speed API. Addresses BUKKIT-2205
2012-08-10 00:00:04 -05:00
Wesley Wolfe
2bb7a5f94d
Implement new deprecated warning state configuration option
2012-08-06 23:52:49 -05:00
Travis Watkins
a574ec54cc
Put forceChunkLoad back to its original value.
2012-08-05 20:03:12 -05:00
Wesley Wolfe
02d6703da7
Implement new AsyncPlayerChatEvent. Addresses BUKKIT-2064
...
Added two utility collections for use with PlayerChatEvents allowing lazier
initialization of events and less need to synchronize against the player
list.
Provided a hidden queue system for similar logic to pre-1.3 chat. When a
plugin is listening for the deprecated PlayerChatEvent, all chat will be
delayed to be mirror executed from the main thread. All developers are
encouraged to immediately update to the developmental Bukkit chat API as a
minimum transition for server stability.
Additionally, changes were required to bring thread-safety to the flow
logic. CopyOnWriteArrayList is the only viable means to produce thread
safety with minimal diff; using a sane pre-implemented collection would
require reworking of sections of NMS logic.
As a minor change, implemented expected functionality for
PlayerCommandPreProcessEvent. Setting the player should now change the
player executing the command.
2012-08-03 23:44:45 -05:00
Mike Primm
c711827e94
Fix mapping of ChunkSection nibble data to snapshot. Fixes BUKKIT-1977
2012-08-02 21:45:54 -05:00
Luke Granger-Brown
35a3d701a9
Add trailing / to BukkitDL URLs. Fixes BUKKIT-2015.
...
Also adds CraftBukkit version number to user agent when communicating with
BukkitDL.
2012-08-02 21:38:32 -05:00
feildmaster
a43d621c01
Update CraftBukkit to Minecraft 1.3.1
2012-08-02 04:58:50 -05:00
feildmaster
46125dc6cf
Implement getExpToLevel method. Fixes BUKKIT-1906
2012-07-11 17:14:07 -05:00
Mike Primm
08740d7f91
[Bleeding] Include chunk biome data for refresh chunk. Fixes BUKKIT-1166
2012-07-08 19:11:51 -05:00
feildmaster
dba9349ed4
Factor invulnerableTicks into getNoDamageTicks. Fixes BUKKIT-1324
2012-07-04 15:12:29 -05:00
feildmaster
d7272f42ef
Implement getMotd, and reload the motd. Adds BUKKIT-1799
2012-07-03 18:00:37 -05:00
feildmaster
00efc8c464
Apply setLastDamageCause after processing events and the event has not been canceled. Fixes BUKKIT-1881
...
This allows previous causes to be available during the event, as well as making the damage cause a valid one. If EntityDamageEvent is canceled, then it's not the last DamageCause.
Also prevents setting DamageCause involuntarily through construction.
2012-07-02 22:22:03 -05:00
feildmaster
e4e994f710
Treat ComplexParts as proxies for setLastDamageCause. Fixes BUKKIT-1821
2012-07-02 22:22:03 -05:00
feildmaster
0a0d5ebf20
Clean entity.damage functions. Fixes BUKKIT-1822
2012-07-02 22:22:03 -05:00
Wesley Wolfe
ff09ff07f9
Fix deprecated spawnCreature. Fixes BUKKIT-1880
2012-07-02 15:36:49 -05:00
Travis Watkins
a21f038fc3
Mark entities as invalid when they get despawned. Addresses BUKKIT-810
2012-06-28 19:34:31 -05:00
TomyLobo
412b7eaa12
Implement LivingEntity.hasLineOfSight. Addresses BUKKIT-1255
2012-06-23 10:48:08 -05:00
V10lator
ea4d3662be
Deprecate spawnCreature and add spawnEntity. Addresses BUKKIT-1168
2012-06-23 10:18:50 -05:00
feildmaster
568fae2e86
Trigger EntityBlockChangeEvent for Silverfish. Adds BUKKIT-1560 and BUKKIT-1593
2012-06-23 06:42:08 -05:00
Wesley Wolfe
57763845d0
Implement plugin channel events. Addresses BUKKIT-1844
2012-06-21 02:39:59 -05:00
Travis Ralston
9f37f70527
Fire PlayerItemBreakEvent. Addresses BUKKIT-1600
2012-06-21 01:10:30 -05:00
Ammar Askar
8bc42ba8c9
Clear animal owner when untamed. Fixes BUKKIT-1482
2012-06-20 12:45:17 -05:00
H31IX
0095add08c
Add query-plugins setting. Addresses BUKKIT-1781
2012-06-20 12:40:12 -05:00
Jeff Wardian
ae98a6f051
Changes '/whitelist list' to ignore comments. Addresses BUKKIT-1804
2012-06-14 23:33:21 -05:00
Jeff Wardian
ae94a3308d
Preserve whitelist ordering. Addresses BUKKIT-1805
2012-06-14 23:33:13 -05:00
obnoxint
e35f6f2526
Fire NotePlayEvent. Fixes BUKKIT-1779
2012-06-14 20:58:57 -05:00
Wesley Wolfe
ed6d4c7759
Support asynchronous events; Addresses BUKKIT-1212
2012-06-13 23:00:46 -05:00
Wesley Wolfe
478654351a
Check world before checking distance. Fixes BUKKIT-1792
2012-06-12 16:37:47 -04:00
feildmaster
f15785669a
Launch fireballs at eye location. Fixes BUKKIT-1155
2012-06-03 05:34:58 -05:00
Travis Watkins
13fcb9e371
Make log-strip-color a simple flag instead of a boolean.
2012-06-02 14:43:38 -05:00
Travis Watkins
70c91c161e
Resize UnsafeList to initial capacity when cleared and implement clone.
2012-06-01 13:03:59 -05:00
Wesley Wolfe
266212f9f8
Fix bold states while printing; Fixes BUKKIT-1716
2012-05-26 15:32:38 -05:00
Wesley Wolfe
25cfdfa05e
Change mapping of Gold from yellow bold to yellow; Addresses BUKKIT-1717
2012-05-26 15:27:55 -05:00
Wesley Wolfe
5d3c8bfaa4
Removed AnimalTamer cache, fixes BUKKIT-1628
2012-05-24 23:02:02 -05:00
Wesley Wolfe
c43012ef1c
Fixed broken hashCode()
2012-05-24 23:01:33 -05:00
Travis Watkins
c1bc0df718
Add in checks for potential NPEs. Fixes BUKKIT-1706 and BUKKIT-1590.
2012-05-24 19:12:56 -05:00
Score_Under
0f984dd9a5
Re-implement World.getTemperature and World.getHumidity
2012-05-23 04:02:15 -05:00
Travis Watkins
3ee75ab6d3
Replace TextWrapper with simple newline splitting. Fixes BUKKIT-1662
...
TextWrapper used to try to ensure a message would wrap correctly on the
client by counting the width of the characters in pixels and wrapping
before hitting that limit. This was needed because the client would lose
color information when wrapping and could not handle long lines of text.
Now that both of these problems are solved in the client we can replace
TextWrapper with simple code to split the message into multiple packets on
newlines and ensure chat colors carry across to the new packet.
2012-05-16 23:47:14 -05:00
feildmaster
1d361c2f48
Fix block place protection using a larger radius. Fixes BUKKIT-1617
2012-05-16 18:43:44 -05:00
Travis Watkins
4c8f6f2caa
Add option to strip color codes from server.log file
2012-05-16 13:21:23 -05:00
EdGruberman
31d488a386
Update to jline 2. Fixes BUKKIT-717
...
JLine 2 allows for better color matching in the console and support for
colors in console on Windows. Hopefully provides better performance as well.
2012-05-15 23:27:51 -05:00
feildmaster
2f976705be
Revert "Fix potential NPE in vanish API. Fixes BUKKIT-1541"
...
This reverts commit ebf121800bd3161e4af0f6d9229ccb39c31fc278.
If the handle ever becomes null we need to know about it so we can debug it further.
2012-04-27 12:48:40 -05:00
feildmaster
99aeb32d0d
Remove Player cache and edit CraftPlayer.equals to account for EntityID. Fixes BUKKIT-1541 and Addresses BUKKIT-761
2012-04-27 12:33:40 -05:00
Travis Watkins
73ae279e8d
Update players when potion effects are moved from them. Fixes BUKKIT-789
2012-04-24 21:58:35 -04:00
Travis Watkins
9c12dc0ef8
Fix potential NPE in vanish API. Fixes BUKKIT-1541
2012-04-24 21:57:54 -04:00
feildmaster
0220c1ff74
Remove legacy Chunk cache. Fixes BUKKIT-1400
2012-04-24 15:06:11 -05:00
EvilSeph
e61a316815
We build for Java 1.5.
2012-04-23 23:05:57 -04:00
Travis Watkins
edfc8ba92f
Add per-world spawn limits with fallback to server-wide bukkit.yml settings.
...
Fixes BUKKIT-1565
2012-04-23 22:54:43 -04:00
Travis Watkins
b7376e0865
Avoid doing unnecessary range checks when we're looping from start to end.
...
Make EntityLiving call AI logic every tick again.
Rework PathfinderGoalSelector logic.
Adds UnsafeList for use in places where we use ArrayList and know we won't
get index out of range errors. Added usage to World's tickEntities, Chunk's
entitySlices to speed up searching for entities, and to PathfinderGoalSelector
to speed up dealing with AI goals.
Reworked logic in PathfinderGoalSelector with help from fullwall. This code
no longer uses an extra ArrayList for setting up goals and only updates which
goals should be run every other time it is called.
Removed only calling PathfinderGoalSelector every other tick from EntityLiving
as we now only setup new goals every other tick. This ensures existing goals
run every tick to properly update mob movement.
2012-04-23 21:52:08 -04:00
Wesley Wolfe
2e646d2809
Made permissions.yml registration easier; Addresses BUKKIT-1499
...
The permissions.yml now behaves similar to a plugin.yml
2012-04-15 13:24:38 -05:00
feildmaster
748ebae550
Properly call EntityDeathEvent for mobs. Fixes BUKKIT-1519
2012-04-15 09:16:43 -05:00
feildmaster
1dcb39074d
Persist PlayerDeathEvent values. Fixes BUKKIT-1521
2012-04-14 00:30:39 -05:00
feildmaster
52d9473e6b
SpawnRadius should only apply to main world. Fixes BUKKIT-1427
2012-04-02 16:40:45 -05:00
feildmaster
a963880bd8
Add BlockRedstoneEvent to Redstone Lamps, Addresses BUKKIT-1431
2012-04-02 14:11:02 -05:00
feildmaster
058bd748b6
Fixed interacting with Air returning a false block.
2012-04-01 05:10:31 -05:00
feildmaster
c8d4a7c835
Fixed breaking at world height in creative. Fixes BUKKIT-997
2012-03-31 19:21:29 -05:00
Warren Loo
c100e20d60
Reverting the Drop API for now, we need to re-evalute this as it is causing too many issues and blocking releases.
...
This reverts commits:
- d2d03afc8854394aeefb40ea5ebf224c8032b19f
- 6245746e91123dd8ef70e5f15b7cdfc7e36d8e8c
- 41fae5c613e9e69a8f6bdf33b23bb09d7f407433
- c34bdecab42cf4098054a5ea43e1c2958d44ae92
- d7445084ac9a90fa0b66d8b050b8d0d2a062eaf3
- 6a6ed2e6ae2328a8a791bcc6857c44dc6c6a7030
- a783bc4dc95da8e26c673abe48fad96b550aba28
- cb50fd68766df8e07631ba5be85759f8257e8068
- 34dfff2ad5c407c712b2783f02960aac5e8649f2
- f33b513820de987b49a4338e85df80968217a601
- 5fd9fdfde055e6eb6a83db246d009b69377b7c94
- 2795b116f40d06551fbb7b96d1963c0ddbeac384
2012-03-27 20:04:26 -04:00
feildmaster
c16bf07e85
[Bleeding] Allow CraftItem to be backed by non-EntityItems. Fixes BUKKIT-1351
2012-03-26 16:36:31 -04:00
feildmaster
9d0ea52021
[Bleeding] Fixed potions throwing double events. Fixes BUKKIT-1332
2012-03-26 16:05:38 -04:00
feildmaster
80db22b643
Refactor code to be more efficient.
2012-03-25 19:46:55 -04:00
feildmaster
c30e339af6
[Bleeding] Fixed item duping in certain occasions. Fixes BUKKIT-1310
2012-03-25 18:57:27 -04:00
feildmaster
9c7ffb6d3c
[Bleeding] Fixed blocks dropping when BlockBreakEvent is canceled. Fixes BUKKIT-1299
2012-03-23 14:51:05 -04:00
Nathan Adams
942c1c6a3e
Fixed incorrect assigning to isFlying when toggling setAllowedFlight(false)
2012-03-23 14:41:53 +00:00
feildmaster
40e0962735
Seriously fix natural drops. Fixes BUKKIT-1297 and fixes BUKKIT-1295
2012-03-23 07:18:20 -04:00
EvilSeph
ff22e4e341
Really fixed Block.breakNaturally(). Fixes BUKKIT-1295
2012-03-23 03:21:20 -04:00
EvilSeph
b60a6743ed
Fixed Block.breakNaturally(). Fixes BUKKIT-1295
2012-03-23 02:37:38 -04:00
feildmaster
52ecd60e61
[Bleeding] Add a check for illegal blocks. Addresses BUKKIT-1278. Needs more investigation.
2012-03-22 21:04:06 -04:00
EvilSeph
724b82626a
Reverted to original TextWrapper. Might re-investigate after the RB. Fixes BUKKIT-1275
2012-03-22 19:22:35 -04:00
Nathan Adams
904cf388b4
Re-added TextWrapper, and fixed chat length issues (at cost of it looking not so nice sometimes!) This fixes BUKKIT-1275
2012-03-22 23:03:02 +00:00
Nathan Adams
8fb141bfa0
Implemented new player flight methods. This implements BUKKIT-1281. This also fixes BUKKIT-1146.
2012-03-22 22:04:13 +00:00
EvilSeph
c2cdeac09b
Added configurable Connection Throttle. Addresses BUKKIT-1274
2012-03-22 16:56:15 -04:00
Nathan Adams
dda37aa18c
Nuked TextWrapper. We don't need you anymore, old friend :(
2012-03-22 20:49:05 +00:00
Nathan Adams
9d09e7d016
Updated to Minecraft version 1.2.4. Updated version string to 1.2.4-R0.1.
2012-03-22 20:39:39 +00:00
rmichela
0a925ff067
[Bleeding] Added support for custom index help topics in help.yml. Addresses BUKKIT-1263
2012-03-22 00:50:10 -04:00
rmichela
eb3c092ef8
[Bleeding] Added option to completely disable all automatic help topic generation by adding "All" to the ignore-plugins list in help.yml. Addresses BUKKIT-1264
2012-03-22 00:50:09 -04:00
zml2008
31b1bc02ca
[Bleeding] Fixed a StackOverflowError with command alias handling for Help. Addresses BUKKIT-1253
2012-03-22 00:50:09 -04:00
zml2008
8aee4c3f56
[Bleeding] Added support for all TreeType entries to CraftWorld.generateTree(). Addresses BUKKIT-1161
2012-03-21 20:32:17 -04:00
aPunch
169c2ee8cb
[Bleeding] Added Ageable interface for Villagers and Animals to extend. Addresses BUKKIT-1232
2012-03-21 16:05:07 -04:00
Celtic Minstrel
5ba8928041
[Bleeding] Added getting and setting drops to all appropriate events. Fixes BUKKIT-397 and fixes BUKKIT-1252
...
- Allows drops in creative mode by adding items to the getDrops() list
- Contents of containers are not reported
- Contents of storage minecarts are not reported
2012-03-21 12:42:51 -04:00
Celtic Minstrel
784aa3b602
[Bleeding] Fix the openInventory methods for custom inventories. Fixes BUKKIT-1248
...
Details:
- The attributes of custom inventory views are no longer ignored
- Enchanting or crafting inventories no longer ignore the passed inventory and open a new one
- Inventories associated with tile entities no longer raise a class cast exception if there was no associated tile entity
- InventoryOpenEvent and InventoryCloseEvent (if they already had some other inventory open) now fire in all cases
- If for any reason the inventory failed to open, the method now returns null instead of returned the previous inventory they had open (or the default inventory, if none)
2012-03-20 21:31:42 -04:00
Celtic Minstrel
93732e21bc
[Bleeding] Fixed NullPointerException in InventoryView.setCursor() if you tried to empty the cursor by setting it to null. Fixes BUKKIT-1043
2012-03-20 20:45:26 -04:00
Celtic Minstrel
288662bfae
[Bleeding] Fix some return types that could lead to ArrayStoreException
2012-03-20 20:43:12 -04:00
Celtic Minstrel
4bcbe2d235
[Bleeding] Add Chest.getBlockInventory() for convenience; this always returns a single chest inventory. Addresses BUKKIT-1247
2012-03-20 19:41:35 -04:00
Celtic Minstrel
cd9779196b
[Bleeding] Add iterator() with starting index. Addresses BUKKIT-1246
2012-03-20 19:40:44 -04:00
aPunch
ea60181a87
[Bleeding] Added way to get/set if Iron Golem was player created. Addresses BUKKIT-1229
2012-03-20 05:13:36 -04:00
Wesley Wolfe
68b98d4c8f
[Bleeding] Implement ExpBottleEvent; Addresses BUKKIT-888
2012-03-20 03:24:57 -04:00
Celtic Minstrel
71a51b024b
Reverted invalid clone. Fixes BUKKIT-1198
2012-03-16 17:10:42 -04:00
rmichela
82fab5b2d5
[Bleeding] Moved HelpTopicComparator to Bukkit.jar. Addresses BUKKIT-1193
2012-03-16 03:49:36 -04:00
rmichela
4589e943f6
[Bleeding] Added support for color codes in help.yml. Addresses BUKKIT-1191
2012-03-16 03:12:48 -04:00
rmichela
46429c6cb9
[Bleeding] Implemented the command-topics-in-master-index option in help.yml. Addresses BUKKIT-1189
...
When false, help topics that start with a slash are omitted from the mater index.
2012-03-16 03:10:25 -04:00
rmichela
f87e053c66
[Bleeding] Added automatically generated plugin-level sub-indexes to the master help index. Addresses BUKKIT-1180
2012-03-16 02:48:19 -04:00
rmichela
184faf1f29
[Bleeding] Added option to remove entire plugins from the help index using the help.yml file. Addresses BUKKIT-1178
2012-03-16 02:44:05 -04:00
Celtic Minstrel
241cf1c664
[Bleeding] Allow custom inventory views to change their type to BREWING or ENCHANTING, and also allow them to change their title and size. Fixes BUKKIT-1190
2012-03-15 23:54:00 -04:00
Celtic Minstrel
5c8fd4995f
[Bleeding] Implemented Inventory.{get,set}MaxStackSize(). Addresses BUKKIT-1076
...
- Custom inventories also respect this setting now.
2012-03-15 22:44:10 -04:00
Celtic Minstrel
66e067f373
[Bleeding] Make InventoryView.setItem(-999, item) drop the item on the ground by default.
2012-03-15 22:26:27 -04:00
Celtic Minstrel
83265005f6
[Bleeding] Made ItemStack constructors not default to an amount of 0. Fixes BUKKIT-610
2012-03-15 22:17:09 -04:00
Celtic Minstrel
76cc488402
[Bleeding] DoubleChestInventory.getHolder() no longer returns null. Addresses BUKKIT-995
2012-03-15 22:13:46 -04:00
Celtic Minstrel
f27427ad19
Fix some improper item cloning instances that would have dropped enchantments
2012-03-15 21:47:37 -04:00
Wesley Wolfe
77ceb0002c
Fix losing enchants from stacked items in custom inventories
2012-03-15 21:47:29 -04:00
Celtic Minstrel
92f771a022
[Bleeding] Implemented ProjectileLaunchEvent. Addresses BUKKIT-284
2012-03-15 07:18:59 -04:00
md_5
c90a7a52e7
[Bleeding] Fixed maxStack being incorrectly set to 0 in custom craft inventories. Fixes BUKKIT-1181
2012-03-15 05:30:44 -04:00
feildmaster
4503167283
Fixed EntityDamageByEntityEvent to call for every attackable entity. Fixes BUKKIT-1129, Fixes BUKKIT-1054 and Fixes BUKKIT-147.
2012-03-15 05:11:48 -04:00
zml2008
868eaf571c
[Bleeding] Call a LAVA BlockIgniteEvent in another place in BlockStationary. Fixes BUKKIT-970
...
Also adds CraftEventFactory.callEvent(Event), which returns the event called. Currently only used for n.m.s.BlockStationary's lava
BlockIgniteEvent calls.
2012-03-15 00:33:55 -04:00
Celtic Minstrel
f219f0efe9
Implemented Enchantment.conflictsWith(). Addresses BUKKIT-1159
2012-03-13 22:23:33 -04:00
Celtic Minstrel
28c1f571d2
[Bleeding] Added Player.isBlocking(). Addresses BUKKIT-858
2012-03-13 19:43:07 -04:00
feildmaster
06b814fd7e
[Bleeding] Added EntityBreakDoorEvent. Fixes BUKKIT-1134
2012-03-11 16:31:11 -04:00
rmichela
8ddd2f0566
[Bleeding] Help index now identifies itself as "Help: Index" rather than "Help: null"
2012-03-11 03:49:27 -04:00
EvilSeph
c84af98ccd
Made World.refreshChunk() refresh the chunk, thanks zerg960! Fixes BUKKIT-1014
2012-03-11 03:38:29 -04:00
feildmaster
4545336fdf
Only remove blocks when golem is successfully spawned. Fixes BUKKIT-1094
2012-03-11 01:30:16 -05:00
Kevin Ingersoll
49ff166d15
Fixed potential packet loss issue with vanish API. Fixes BUKKIT-1125
2012-03-10 23:19:15 -05:00
Mike Primm
bdd2139c78
[Bleeding] Add getWorldType() and getGenerateStructures() to CraftServer. Fixes BUKKIT-855
2012-03-10 18:36:28 -05:00
rmichela
996832ff6c
[Bleeding] Added support for amending help topic visibility permissions in help.yml. Addresses BUKKIT-1113
2012-03-10 18:36:27 -05:00
rmichela
a8b2c6d04e
[Bleeding] Implemented command aliases in help. Addresses BUKKIT-1028
2012-03-10 17:56:20 -05:00
rmichela
03ce67c38c
[Bleeding] Moved DefaultHelpTopic and GenericCommandHelpTopic to public bukkit api.
2012-03-10 17:56:07 -05:00
rmichela
378424a1a1
[Bleeding] Added support for linking custom CommandExecutor types to a HelpTopicFactory. Fixes BUKKIT-1027
2012-03-10 17:55:44 -05:00
EvilSeph
f534863552
Make setting slots to AIR set them to null. Addresses BUKKIT-1043
2012-03-10 15:54:10 -05:00
feildmaster
77ef051095
[Bleeding] Added new target events. Fixes BUKKIT-935
2012-03-10 02:08:33 -05:00
EvilSeph
d1dd96f560
Made Chunk.getEntities() account for the world height increase. Fixes BUKKIT-1059
2012-03-09 13:09:15 -05:00
EvilSeph
45cf927446
(Re)restricted the nether to 128 world height. Fixes BUKKIT-976
2012-03-09 12:08:59 -05:00
Mike Primm
97669f8d90
[Bleeding] Add updated interfaces for custom chunk generation. Addresses BUKKIT-874
2012-03-09 11:46:06 -05:00
Mike Primm
a029f32ccd
[Bleeding] Add APIs for editing biome data, fix existing code to use persistent biome data. Addresses BUKKIT-1075
2012-03-08 01:53:06 -05:00
rmichela
b5e92871eb
[Bleeding] Added ConversationAbandonedEvent and supporting infrastructure. Whenever a conversation exits, the ConversationAbandonedEvent is triggered with details about how the conversation ended and what, if anything caused it to end. Fixes BUKKIT-986
2012-03-08 01:29:49 -05:00
Tahg
2ff8a8749f
Fixed copy error in DoubleChest's inventory
2012-03-05 15:28:59 -05:00
Eric Stokes
2feb2ea124
Fix worlds loading improperly. Fixes BUKKIT-991
...
This patch fixes an incorrect path being passed to the WorldLoaderListener. It expects the world container, then checks convertable on the name.
2012-03-03 21:04:31 -05:00
Wesley Wolfe
c6273810a1
[Bleeding] Fixed crafting enchanted items, fixes BUKKIT-602
2012-03-02 21:10:39 -05:00
Nathan Adams
ec35500c63
Implemented Villager API for getting/setting Profession. This adds BUKKIT-887
2012-03-03 01:58:40 +00:00
Nathan Adams
20c8ae59fc
Slightly changed the Auto Updater error for when it can't find the current version
2012-03-03 01:22:43 +00:00
Nathan Adams
ede443234e
Minor optimization getting chest inventories
2012-03-02 20:05:23 +00:00
Nathan Adams
88149dc439
Fixed chest.getInventory for double chests, thanks to Acrobot. This fixes BUKKIT-901
2012-03-02 20:03:21 +00:00
Mike Primm
c51c895cd8
Implemented snapshot support for 1.2.
2012-03-02 00:47:21 -05:00
Tahg
eddefa6c50
Preserve data if possible when dropping Items from entities. Partial solution for BUKKIT-15
2012-03-01 23:02:59 -05:00
Mike Primm
82f2a2e773
World height related fixes - 128 -> 256. Addresses BUKKIT-889
2012-03-01 20:13:28 -05:00
Nathan Adams
f1f9802ded
Implemented new 1.2 entities - this fixes BUKKIT-872 and BUKKIT-885
2012-03-01 18:03:14 +00:00
Nathan Adams
eb934c760d
Made the auto-update-checker suggest channels to server administrators if they're upgrading past their preferred channel.
2012-03-01 16:04:18 +00:00
Nathan Adams
a5be079797
Fixed compile issues with StructureGrowDelegate not implementing the new isEmpty method
2012-03-01 15:38:34 +00:00
Nathan Adams
543c4879fe
Updated CraftBukkit to 1.2
2012-03-01 14:38:31 +00:00
Nathan Adams
a726f6de3e
Potentially fixed inventory issues. This (should) fix issue BUKKIT-860
2012-03-01 13:35:36 +00:00
EvilSeph
a53afd313e
We build for 1.5.
2012-03-01 04:48:04 -05:00
rmichela
1161de3f63
[Bleeding] Added Conversations API. Addresses BUKKIT-864
2012-03-01 04:33:59 -05:00
rmichela
818a61040e
[Bleeding] Added Help API. Addresses BUKKIT-863
2012-03-01 04:33:58 -05:00
Erik Broes
33ba9f0a2f
Updated to rename revision 02
2012-03-01 01:12:41 +00:00
Celtic Minstrel
8524ff8ef7
Fix for Java 1.5
2012-02-29 15:37:35 -05:00
Celtic Minstrel
0842bab48b
[Bleeding] Implementation of inventory framework. Addresses BUKKIT-856
...
See the corresponding Bukkit commit for details.
Implementation details:
- Any packets that include an itemstack will send air stacks as null; maybe this will even eliminate the client crash that occurs if the client receives an air stack
- Better handling of null itemstacks in general (ie less converting them to air stacks)
- Inventory.setContents() can now take an array smaller than the inventory without error
- Player.updateInventory() should now correctly update the result slot in a crafting inventory
Some small credit goes to Afforess (initial implementation of openInventory() methods) and Drakia (initial implementation of InventoryOpenEvent and InventoryCloseEvent).
2012-02-29 15:19:07 -05:00
Celtic Minstrel
d20091e64c
Implementation of richer playEffect methods. Addresses BUKKIT-857
2012-02-29 14:59:27 -05:00
ZNickq
bf01e93ab6
Added EntityTargetEvent for Experience Orbs, happens when it starts moving towards a human entity! Addresses BUKKIT-820
2012-02-29 14:45:18 -05:00
TomyLobo
53e4a034f4
Moved getVehicle, leaveVehicle and isInsideVehicle from CraftLivingEntity to CraftEntity. Addresses BUKKIT-811
2012-02-29 13:30:46 -05:00
rmichela
1394926e53
[Bleeding] Implement Metadata framework for Entities, Blocks, and Worlds
2012-02-29 19:21:25 +01:00
Wesley Wolfe
403f874784
[Bleeding] Fix generics. Addresses BUKKIT-844
2012-02-29 12:15:31 -05:00
Travis Watkins
257fd16242
Added plugin-profiling setting to bukkit.yml.
2012-02-29 10:00:49 -05:00
TomyLobo
92dfb2500b
Adjusted CraftBukkit to work with the entity event convenience patch in Bukkit. Addresses BUKKIT-809
2012-02-29 00:12:26 -05:00
TomyLobo
dcf016822d
Fixed sneaking eye height. Addresses BUKKIT-808
2012-02-27 20:16:25 -05:00
Olof Larsson
f70f99d1a0
Fixed CraftOfflinePlayer.getLastPlayed() returning the wrong result. Addresses BUKKIT-847
2012-02-27 20:16:11 -05:00
EdGruberman
397f25aa24
Added plugin loading log entry
2012-02-26 15:46:07 -05:00
Sam Wilson
cc2e721ffc
Implement PortalCreateEvent reason codes. Addresses BUKKIT-833
...
This commit modifies the construction of PortalCreateEvents to specify
a reason for the event. Reasons are either:
1. FIRE: the portal is being created because a player set fire to an
obsidian frame.
2. DESTINATION: the portal is being created as a destination for an existing portal.
2012-02-26 15:20:09 -05:00
TomyLobo
f2d9d4174f
CraftSign changes. Addresses BUKKIT-824
...
- Removed the useless world field.
- Made it so changes to a CraftSign (which is a Block*State*) no longer reflect into the world without calling sign.update().
2012-02-26 12:15:00 -05:00
Wesley Wolfe
078e2511a5
[Bleeding] Override not applicable
2012-02-23 21:33:51 -05:00
Zeerix
7a49e29b55
[Bleeding] Undo changes to the tree WorldGenerators.
...
- All StructureGrowEvent handling for these is in BlockSapling now, using a BlockChangeDelegate to collect the data.
- Moved StructureGrowDelegate into a separate class
2012-02-23 18:27:23 -05:00
Feildmaster
796d4a8a74
[Bleeding] Fixed setTotalExp, any experience update bugs and removed Deprecated Methods. Fixes BUKKIT-798 and fixes BUKKIT-797
2012-02-23 18:27:22 -05:00
Feildmaster
d7f6d2d929
[Bleeding] Use player.getItemInHand(), instead of a new ItemStack. Addresses BUKKIT-767
2012-02-23 18:27:22 -05:00
aPunch
036b5c3956
[Bleeding] Added launchProjectile.
...
Use launchProjectile in place of individual throwSnowball, throwEgg, and shootArrow methods.
2012-02-23 15:07:41 -05:00
Celtic Minstrel
af51313ffb
[Bleeding] Added EntityType to replace CreatureType.
2012-02-22 22:06:29 -05:00
Feildmaster
7792156fb2
[Bleeding] Added BlockGrowEvent. Addresses BUKKIT-104
2012-02-22 21:46:45 -05:00
Celtic Minstrel
326091c130
[Bleeding] Recipe API improvements and fixes. Addresses BUKKIT-738 and BUKKIT-624
...
Add a recipe iterator to make it possible to retrieve and remove recipes (BUKKIT-738), and updated the recipe classes to not clip the data to 127 (BUKKIT-624)
2012-02-21 04:24:24 -05:00
Wesley Wolfe
39048be430
[Bleeding] Cleanup clone method.
2012-02-20 05:49:48 -05:00
Feildmaster
1922672f14
[Bleeding] Fire EntityDamageByEntityEvent for EnderCrystal. Fixes BUKKIT-776
2012-02-19 01:06:38 -05:00
Feildmaster
b06719dd03
[Bleeding] Moved projectile EntityDamageByEntityEvent's to event factory. Addresses BUKKIT-775
2012-02-19 01:05:11 -05:00
Mike Primm
5316c43a82
Add getEntitesByClass(Class<T>), getEntitiesByClasses(Class<?>...), deprecate getEntitiesByClass(Class<T>...)
2012-02-18 16:34:53 -05:00
Erik Broes
137880b727
Deprecation cleanup.
2012-02-18 13:06:12 -05:00
Nathan Adams
3b634b14f6
Fixed NPE when running a custom build of CraftBukkit. This fixes issue #BUKKIT-765
2012-02-18 14:06:21 +00:00
Nathan Adams
d057ee1e07
Don't print stacktraces on DLB fetching errors. And because I forgot last commit; this adds BUKKIT-760
2012-02-17 00:09:56 +00:00
Nathan Adams
236cfed616
Added a built-in update checker. See http://wiki.bukkit.org/Bukkit.yml#auto-updater for new bukkit.yml options.
2012-02-16 22:32:17 +00:00
Mushroom Hostage
7076ef9de6
Use createNMSItemStack on CraftingManager recipe registration. Fixes BUKKIT-602
2012-02-13 00:44:58 -05:00
fullwall
f52665348e
[Bleeding] Added Potions API. Fixes BUKKIT-389
2012-02-10 17:41:13 -05:00
EvilSeph
63b9ed9ab4
Added configurable animal and monster ticks per spawn setting.
2012-02-10 12:16:06 -05:00
Travis Watkins
7ff8c17568
[Bleeding] Make sure we don't keep stale references to vanished players.
2012-02-09 22:03:43 -05:00
EvilSeph
54e45b7d66
Prevent the Vanish API from sending unnecessary packets.
2012-02-03 05:12:54 -05:00
Travis Watkins
37c8868532
[Bleeding] Implemented Vanish API.
...
Remove players that cannot see a player from their EntityTrackerEntry and only
send user list updates to players who can see the player they reference.
2012-02-03 03:34:03 -05:00
EvilSeph
028cbb8fe9
Removed MONSTER CreatureType.
2012-02-03 02:42:40 -05:00
Eric Stokes
3a419481ea
Added 'generate-structure' setting support and WorldCreator property.
...
Fixes BUKKIT-655 and BUKKIT-592
2012-01-29 13:07:44 -05:00
EvilSeph
f1a35effb0
Added useExactLoginLocation(). Closes BUKKIT-145
...
useExactLoginLocation() looks for settings.use-exact-login-location within bukkit.yml.
If true, we will bypass Vanilla's behaviour of checking for collisions and moving the player if needed when they login.
If false, we will continue to follow Vanilla's behaviour and move players that 'collide' with objects when they login.
2012-01-29 12:33:05 -05:00
Erik Broes
3173b68bbe
Filter null/AIR from items dropped on death. Fixes: BUKKIT-653
2012-01-29 13:37:32 +01:00
EvilSeph
bb730f0ee7
Cleanup.
2012-01-27 18:23:58 -05:00
Sam Wilson
e92bdab57a
Fixed CraftLivingEntity.damage when the entity is an EntityComplex.
...
Fixes BUKKIT-589: if you call damage on an instance of EnderDragon, no damage
is done.
Reason for bug: damage calls Entity.damageEntity. But EntityComplex
overrides damageEntity to do nothing.
Fix: CraftComplexLiving should call EntityComplex.e instead of
Entity.damageEntity. e is the method that actually does damage to an
instance of EntityComplex.
2012-01-24 04:10:47 -05:00
Zeerix
872dad5540
[Bleeding] Implemented PotionSplashEvent. Closes BUKKIT-307
2012-01-24 02:12:41 -05:00
EvilSeph
4f02563c63
Reverted changes to getItem(). Will be reimplemented after RB.
2012-01-20 14:52:32 -05:00
EvilSeph
1bbeec1f75
Accounted for NMS getItem() returning null in recent commit.
2012-01-20 11:46:24 -05:00
EvilSeph
76d7a1ce1d
Properly handle null and air items. Fixes BUKKIT-435 and BUKKIT-550
...
We'll probably want to implement an ItemStack.EMPTY and return that
instead of NULL in the near future.
2012-01-20 05:40:10 -05:00
Tahg
4b0f819af2
Updated timing code for new event system
2012-01-19 18:50:39 -05:00
Nathan Adams
28fcbec3b1
Prevent re-use of internal world dimension IDs. This fixes BUKKIT-448. Thanks to snowleo for the PR.
2012-01-19 16:10:52 +00:00
Nathan Adams
b0f29b1755
Throw PlayerLevelChangeEvent and PlayerExpChangeEvent events. Thanks to feildmaster for the PR.
2012-01-19 16:07:18 +00:00
Nathan Adams
1f1c9c0d4b
Correctly take in ChatColor length when limiting player list size. This should fix BUKKIT-571
2012-01-19 15:10:00 +00:00
Erik Broes
112e0816b9
Actually close the inventory on a *cross*-world teleport.
2012-01-17 22:50:18 +01:00
Erik Broes
f5f268f939
Implement Player.setBedSpawnLocation(Location). Thanks md_5
2012-01-17 22:35:31 +01:00
Mike Primm
b22e727cda
[Bleeding] Make BaseBiome to Biome mapping faster, detect missing mapping in future updates
2012-01-17 19:51:33 +01:00
Zeerix
bcf6440bc4
[Bleeding] Implement EntityShootBowEvent. Thanks Zeerix.
2012-01-17 19:51:06 +01:00
Erik Broes
edbb7358fc
[Bleeding] Implementation of the brewing stand.
2012-01-17 19:50:29 +01:00
Erik Broes
1d4a9e1df5
[Bleeding] Make sure to close any open inventory windows before teleporting. Thanks md_5.
2012-01-17 19:49:52 +01:00
Zeerix
1d04305cea
[Bleeding] Added event calls for healing and harming by potions
2012-01-17 19:49:11 +01:00
Zeerix
2cc70bb055
[Bleeding] Implemented Block.breakNaturally and Block.getDrops
2012-01-17 19:48:44 +01:00
Mike Primm
fb1cfea89e
[Bleeding] Implemented Block.getLightFromSky() and Block.getLightFromBlocks()
2012-01-17 19:45:23 +01:00
Mike Primm
f7585e552d
[Bleeding] Implemented World.getEntitiesByClass(Class<T>... classes)
2012-01-17 19:44:35 +01:00
Erik Broes
29096577b6
[Bleeding] Implement animal breeding API changes.
2012-01-17 19:44:11 +01:00
Nathan Adams
d3b4375d31
Fixed LongHashset incorrectly using read lock for popAll, and made it use write lock. This fixes BUKKIT-509
2012-01-15 18:49:16 +00:00
Nathan Adams
95a72d1c59
Implemented World.getWorldType
2012-01-15 17:44:15 +00:00
Nathan Adams
65f30fd99d
Dragons now throw events when creating portals
2012-01-15 12:01:11 +00:00
Nathan Adams
a753ee587d
Implemented allowFlight methods. Thanks to Qala for the PR.
2012-01-15 10:56:09 +00:00
Erik Broes
6d49b11338
Made World.playEffect a bit more efficient. Thanks mintplant for the PR.
2012-01-15 11:42:40 +01:00
Erik Broes
9c1534336c
Fix broadcasting to people without permission. Fixes BUKKIT-464. Thanks grandwazir for the PR.
2012-01-15 11:32:00 +01:00
Erik Broes
d7cec38c38
Adding the option to suppress overload warnings as a bukkit.yml option. Thanks oloflarsson for the PR.
2012-01-15 11:11:41 +01:00
Erik Broes
a4ce846d07
Fix formatting.
2012-01-15 10:54:57 +01:00
Nathan Adams
2ab160e484
Implemented new PlayerDeathEvent methods for exp setting
2012-01-14 18:08:27 +00:00
Nathan Adams
548ccabe2f
Fixed .createWorld not respecting container folder 100%. Thanks to plleg for the PR.
2012-01-14 17:50:31 +00:00
Nathan Adams
366d310186
Added .equals and .hashcode to CraftBlockState
2012-01-14 17:47:15 +00:00
Nathan Adams
657f458ba7
Player.setPlayerListName no longer counts colors towards the 16-char limit. Thanks to an (unfortunately old) PR by ZachBora.
2012-01-14 17:42:18 +00:00
Nathan Adams
d73c29aad7
Implemented entity.playEffect. Thanks to main--
2012-01-14 17:36:47 +00:00
Feildmaster
6cc56b8c2c
Added ItemDespawnEvent
2012-01-14 17:03:38 +00:00
Nathan Adams
52c526f313
Small optimization in EntityPlayer by caching the hashcode. Thanks to a very old PR by Belphemur. In addition, changed and slightly improved the hashcode formula for entities
2012-01-14 15:01:44 +00:00
Nathan Adams
77a12d4dce
Correct casting for creature target typechecking
2012-01-14 14:49:41 +00:00
Nathan Adams
e6bb19f63a
Fixed any chance of creatures .getTarget throwing a class cast exception - thanks to an old PR by garbagemule!
2012-01-14 14:45:56 +00:00
Nathan Adams
d5438c30b9
Fixed block.getBiome returning null in new 1.1 biomes. This fixes BUKKIT-496
2012-01-14 13:14:14 +00:00
Nathan Adams
3ee8a2372c
Additional commit to fix #BUKKIT-24
2012-01-14 12:46:23 +00:00
Nathan Adams
9ac06e7720
Fixed informing players of supported Plugin Channels
2012-01-14 01:46:22 +00:00
md-5
4dc2065f54
Undo commit cc60920 to allow for proper integration with the new Bukkit enum values
2012-01-14 11:14:43 +11:00
Nathan Adams
b4f215e913
Implemented new Plugin Message API - see http://dinnerbone.com/blog/2012/01/13/minecraft-plugin-channels-messaging/
2012-01-13 08:53:39 +00:00
md-5
d8052a63ed
Fix NPE involving WorldTypes when using CraftServer.createWorld(WorldCreator creator)
2012-01-13 07:33:57 +01:00
Erik Broes
7219d4dd85
Updated to Minecraft 1.1
2012-01-12 23:10:13 +01:00
Nathan Adams
897551e39e
Update to mc-dev rename revision 01
2012-01-12 15:27:39 +00:00
Andrew Ardill
483a619e8a
FIX: CraftServer.getOfflinePlayers was not converting set->array well.
...
An incorrect method was being used to convert from Set<OfflinePlayer>
to OfflinePlayer[].
Relates to BUKIT-404
2012-01-02 10:25:43 +11:00
Andrew Ardill
60a2d12250
CraftItemStack: Make sure this.item is not null when cloning.
...
Fixes BUKKIT-424
2011-12-29 22:44:58 +11:00
Andrew Ardill
fb8a45b648
Teach CraftServer.getOfflinePlayers to also give all online players.
...
This method is most useful when it gives all the players who have ever
logged on to the server. Previously, it was not distinguishing between
players who had previously logged on, and were currently logged in,
and those who had previously looged on and were not currently logged in.
A distinction was made, however, between those currently logged in,
but who had not logged in previously.
This commit ensures that all players who have ever logged in (and are
listed as either logged in, or they have a player .dat file) will be
returned by the mentioned method.
Fixes BUKKIT-404
2011-12-27 16:48:09 +11:00
Erik Broes
834c420257
Update for cleanup in Bukkit
2011-12-25 15:35:12 +01:00
Nathan Adams
246d07482b
Fixed world.getHighestBlockYAt(x,z) returning 0 for existing but not loaded chunks. This fixes BUKKIT-327. Thanks for dredhorse for the pull request!
2011-12-19 16:30:26 +00:00
Nathan Adams
3648fb571d
Make rcon .sendMessage each write on a new line. This fixes BUKKIT-353. Thanks to ks07 for the pull req.
2011-12-19 16:22:59 +00:00
Andrew Ardill
1c6adc1587
Fix error when cloning enchanted ItemStacks.
...
The existing method for cloning a Bukkit ItemStack fails to correctly copy
the underlying enchantments. Fix this by overriding .clone() in
CraftItemStack, cloning the underlying nms ItemStack correctly.
Fixes BUKKIT-360
2011-12-20 00:30:54 +11:00
Nathan Adams
52faa415ef
Fixed clients not seeing EXP update immediately after using .setTotalExp and level methods
2011-12-12 19:44:57 +00:00
Nathan Adams
b653ce3c1c
Implemented (offline)player date methods
2011-12-12 17:39:52 +00:00
Nathan Adams
91ff0b059d
Made OfflinePlayer and Player share the same .equals and .hashcode
2011-12-12 15:34:49 +00:00
Andrew Ardill
82965eb10f
Stop converting ItemStack to nms ItemStack by hand
...
This should fix many issues with enchantments being lost, as the method used takes care of enchantments.
Additionally, use the new nms ItemStack constructor in places where appropriate.
Fixes (at least part of) BUKKIT-7. Need to identify any further places to fix.
2011-12-13 01:46:55 +11:00
Andrew Ardill
d7d48d8229
Teach CraftWorld.spawn how to spawn a Giant
...
Fixes BUKKIT-235
2011-12-12 14:36:13 +11:00