Commit Graph

368 Commits

Author SHA1 Message Date
jglrxavpok
3c0d351f15 Loot table support 2020-05-18 21:11:59 +02:00
Felix Cravic
c50030cd6b Allow for separate blocks in PlayerBlockBreakEvent 2020-05-17 15:52:49 +02:00
Felix Cravic
f588d1103f Fix cursor item dropping when drop event is cancelled 2020-05-17 11:44:34 +02:00
Felix Cravic
dff29a4717 Drop cursor item when closing inventory 2020-05-17 11:40:49 +02:00
Felix Cravic
47ca22c3d1 Fixed player item dropping, it does not consume the item anymore when the event is cancelled 2020-05-17 04:41:32 +02:00
Felix Cravic
7512cb8f03 Comments for StorageFolder and some utils method 2020-05-17 04:13:24 +02:00
Felix Cravic
4c889923f1 Added more TimeUnit (HOUR/MINUTE/SECOND) 2020-05-17 03:56:36 +02:00
Felix Cravic
2daccd9d9b Fix crash with empty recipe and made Instance constructors public 2020-05-17 03:22:42 +02:00
Felix Cravic
a63693b82b It is now possible to extends InstanceContainer/SharedInstance to make your own 2020-05-17 03:15:47 +02:00
Felix Cravic
ab71133b55 Fixed error relating to unloaded chunk in Entity#update 2020-05-17 01:42:07 +02:00
Felix Cravic
80f9122da1 Storage system improvement 2020-05-16 22:22:34 +02:00
Felix Cravic
fe7e56da8d Added StorageFolder#getOrDefault and some cleanup 2020-05-16 22:07:24 +02:00
Felix Cravic
fa4b083ab8 Added Data#hasKey and Data#getKeys 2020-05-16 21:57:46 +02:00
Felix Cravic
155efc0cff Added Sidebar#setTitle to change the title at any time 2020-05-16 19:55:22 +02:00
Felix Cravic
b97b75f13c Added a lot of comments 2020-05-15 18:03:28 +02:00
Felix Cravic
ee90f82969 Prevent memory leak when unloading chunks 2020-05-15 15:38:06 +02:00
Felix Cravic
4a287f82a6 Fixed ArmorEquipEvent calling 2020-05-14 18:59:01 +02:00
Felix Cravic
aeeb9f08a4 Added EntityVelocityEvent + minor refactoring 2020-05-14 18:57:44 +02:00
jglrxavpok
da0df5afe3 Fixed explosion packet 2020-05-14 16:56:44 +02:00
jglrxavpok
583077d556 Send explosion packet 2020-05-14 16:19:04 +02:00
jglrxavpok
1bcc0c9f5b Replace explosion blocks with air 2020-05-14 15:49:14 +02:00
jglrxavpok
6f281eef3b Shortcut to access held items 2020-05-14 15:46:29 +02:00
jglrxavpok
041f9ffb4d Instances can now create explosions 2020-05-14 15:33:36 +02:00
Felix Cravic
498384d2f4 Added permission level + option for a reduced debug screen 2020-05-13 18:43:54 +02:00
Felix Cravic
be0311a874 Added PlayerPreEatEvent for more customisation, separate the default eating time and the individual ones. Also a InventoryOpenEvent#setInventory to change the inventory to open 2020-05-12 18:40:04 +02:00
Felix Cravic
a1b427bf83 Added InventoryOpenEvent 2020-05-12 17:12:11 +02:00
Felix Cravic
4fa1d08fa5 End properly eat animation 2020-05-12 14:19:45 +02:00
Felix Cravic
37add239f8 Custom food animation delay + PlayerEatEvent 2020-05-12 14:12:17 +02:00
Felix Cravic
f5d4cba29d Making the ResponseDataConsumer optional 2020-05-10 19:39:25 +02:00
Lukas Mansour (Articdive)
df253238fc Added SLF4J and Log4J2 as logging platform. 2020-05-10 16:02:49 +02:00
Felix Cravic
de8ec680fb Added ItemEntity#isMergeable 2020-05-10 00:09:55 +02:00
Felix Cravic
889e9c5e2b ItemEntity can now be merged/stacked together 2020-05-09 21:50:48 +02:00
Felix Cravic
17856c36cf Fixed crash at player disconnection 2020-05-09 20:00:59 +02:00
Felix Cravic
f7badc021b WIP entities in unloaded chunk + PlayerChunkLoadEvent 2020-05-09 18:24:14 +02:00
Felix Cravic
39f0053ded Added PlayerChunkUnloadEvent 2020-05-09 04:05:57 +02:00
jglrxavpok
59c5bbdfe5 Send chunks to player when changing instance 2020-05-08 21:49:04 +02:00
Felix Cravic
a0a72cb6c7 WIP chunk biomes 2020-05-08 20:50:05 +02:00
jglrxavpok
5dd08cf19b Send different teleportIds for each packet 2020-05-08 18:42:04 +02:00
Felix Cravic
1d930ec021 Fixed event callbacks multiplication in PlayerSpawnEvent 2020-05-08 18:11:06 +02:00
jglrxavpok
8281f1c0fd Added isFirstSpawn() to PlayerSpawnEvent 2020-05-08 18:03:39 +02:00
jglrxavpok
9c5c6d9161 Fixed player not changing dimension properly 2020-05-08 17:46:29 +02:00
Felix Cravic
1bca86eb5d Direct return for StorageFolder#get and we can now store registered DataType type directly 2020-05-08 16:15:08 +02:00
Felix Cravic
3741b22484 Added EventHandler interface 2020-05-08 06:54:33 +02:00
jglrxavpok
0daae4d831 EntityTickEvent and tick counter in Entity 2020-05-07 16:00:52 +02:00
jglrxavpok
9d9c158af0 Added event callbacks to Instance, and organized events into packages 2020-05-07 15:46:21 +02:00
Felix Cravic
f6803f9c24 Fix ArmorEquipEvent for EntityCreature 2020-05-06 22:42:04 +02:00
Felix Cravic
59214b3b96 All LivingEntity can now have equipments + cleanup 2020-05-06 22:35:32 +02:00
Felix Cravic
201df39685 Allow for folder specific StorageSystem + added documentation 2020-05-05 23:46:36 +02:00
Felix Cravic
305bc78123 Added multiple kinds of instance update (per instance, per chunk, single-threaded) 2020-05-05 23:27:24 +02:00
TheMode
ca7e220543
Merge pull request #5 from Draycia/master
Replace minecraft-text with kyori-text
2020-05-05 21:06:44 +02:00
Felix Cravic
5de6888b59 Added EntityFireEvent and EntitySpawnEvent 2020-05-05 21:04:05 +02:00
jglrxavpok
0627d8d368 Reset fire state + remove now useless debug log 2020-05-05 18:40:58 +02:00
jglrxavpok
4f355f2a06 Forgot to apply fire damage and added sounds to damages 2020-05-05 18:30:19 +02:00
jglrxavpok
ca3295cc16 Fire duration for living entities 2020-05-05 17:59:57 +02:00
jglrxavpok
365c3edbdf Custom block contact behaviour + fix breaking of 0 hardness blocks not removing the block in survival, fixed players in survival not taking damage. 2020-05-05 15:55:21 +02:00
Felix Cravic
486cf989a1 Added primitives & string array data type 2020-05-04 21:53:15 +02:00
jglrxavpok
8b41c7550b Do not crash with a stack overflow when trying to change the block at 'blockPosition' in CustomBlock 2020-05-04 21:06:13 +02:00
Felix Cravic
cad5dfb8eb Added StorageFolder#getAndCloneData 2020-05-04 19:35:52 +02:00
Felix Cravic
7881e3ca76 Some comments and check added for synchronization purpose 2020-05-04 19:09:34 +02:00
Draycia
0fa05d5e6f Remove unused import in DisconnectPacket 2020-05-04 09:32:23 -07:00
Draycia
660cb7584a Add component support to actionbars and titles 2020-05-04 09:32:14 -07:00
Felix Cravic
14ef482f42 Added StorageFolder + fixes 2020-05-04 18:18:50 +02:00
Felix Cravic
57ad3397d1 Merge remote-tracking branch 'origin/master' 2020-05-04 18:15:51 +02:00
Felix Cravic
e866f79f10 Rewrite of the storage system (use of RocksDB by default) 2020-05-04 18:15:29 +02:00
Draycia
9308d5701d Add component support to Player#kick 2020-05-04 09:10:19 -07:00
Draycia
1c2620840f Add more component support to Player 2020-05-04 09:00:21 -07:00
Draycia
9e9e979104 Fix packets changed with text replacement 2020-05-04 01:01:12 -07:00
Draycia
5b97dde21f Merge remote-tracking branch 'upstream/master' 2020-05-03 23:55:44 -07:00
Draycia
6d45dc674d Fix item names and lore 2020-05-03 23:07:25 -07:00
jglrxavpok
edf2def4e4 hashCode and equals for BlockPosition 2020-05-04 00:09:40 +02:00
jglrxavpok
05acfdf59f New event for when an item is used on a block 2020-05-03 22:44:38 +02:00
jglrxavpok
c28b0364ba Hoping this un-breaks falling blocks 2020-05-03 16:19:41 +02:00
jglrxavpok
9779a77212 Non solid blocks should not count as solid 2020-05-03 16:15:35 +02:00
jglrxavpok
c79d4c7874 Rewrote physics once again. This time going through walls should be more difficult 2020-05-03 15:54:12 +02:00
Draycia
4ba85b4ff3 Temporarily fix inventories 2020-05-03 06:26:46 -07:00
Draycia
1b5bf59c26 Fix death messages 2020-05-03 06:00:53 -07:00
Felix Cravic
df1653b0f6 Allow to have "separate block" serialized properly 2020-05-03 14:46:44 +02:00
Draycia
ad4193d934 Fix player sendMessage methods 2020-05-03 05:17:32 -07:00
Draycia
5437fa90cc Remove old Chat methods
Note: I'm 100% certain things will break because of theee changes. I'll fix things as I find them broken. 10/10 strategy.
2020-05-03 05:05:43 -07:00
Draycia
83bb14d5a0 Use kyori/text instead of minecraft-text 2020-05-03 04:59:53 -07:00
Felix Cravic
7fd8362d6c ChunkPopulator fix by clearing data list 2020-05-02 23:48:01 +02:00
Felix Cravic
e7c26ab45e Added ChunkPopulator 2020-05-02 23:45:10 +02:00
jglrxavpok
1aefbca70a Entity Physics are behaving a bit better
Still possible to go through walls though
2020-05-02 23:34:09 +02:00
TheMode
69e7496fbb
Merge pull request #3 from Articdive/use-jnoise
Use JNoise instead of FastNoise
2020-05-02 23:18:43 +02:00
Lukas Mansour (Articdive)
9682246f4f Use JNoise instead of FastNoise 2020-05-02 23:16:41 +02:00
Felix Cravic
cd181929c6 Fix inventory click, proper separation between Inventory & PlayerInventory for events and conditions (+ InventoryPreClickEvent and InventoryClickEvent) 2020-05-02 18:45:34 +02:00
jglrxavpok
bfc3975750 Fixed y >= 128 serialization in chunks 2020-05-02 16:16:14 +02:00
jglrxavpok
2bd5b1786b Support for translations in text messages, only used by DamageTypes for the moment 2020-05-02 15:26:28 +02:00
jglrxavpok
e57addcbf7 Differentiate scheduled and general updates 2020-05-01 23:48:52 +02:00
jglrxavpok
4ca4631f8a Revert "Automatically set the new instance of an entity when adding it to an instance"
This reverts commit 2fd7f2b3
2020-05-01 23:38:56 +02:00
jglrxavpok
edbc189b98 Set lastUpdateTime on task creation, otherwise delayed task won't be delayed 2020-05-01 23:35:56 +02:00
jglrxavpok
2fd7f2b310 Automatically set the new instance of an entity when adding it to an instance 2020-05-01 23:32:25 +02:00
jglrxavpok
9b465830e0 Fixed custom block removal when breaking it 2020-05-01 23:18:32 +02:00
jglrxavpok
d96bf48eb2 Remove custom block when breaking it
Use Math.floor() to correct coordinates
2020-05-01 23:05:47 +02:00
jglrxavpok
f38d3718c3 Neighbor updates 2020-05-01 22:08:31 +02:00
jglrxavpok
08a32c4492 User-friendly update scheduling 2020-05-01 21:54:01 +02:00
jglrxavpok
feae9f1cd3 Resource gatherer to extract data from Minecraft's server jar instead of distributing our own 2020-05-01 21:29:34 +02:00
Felix Cravic
7980ee6ebb Fixed inventory held click & slot on InventoryCondition 2020-04-30 02:42:44 +02:00
Felix Cravic
4b3e3e8e65 An inventory can now have multiple InventoryCondition 2020-04-30 01:51:16 +02:00
jglrxavpok
1cb8166edd Actually fix issue direction issue with yaw < 0 2020-04-29 22:07:37 +02:00
jglrxavpok
9e7f05c311 Fix issue when finding direction with MathUtils when yaw < 0 2020-04-29 21:37:20 +02:00
Felix Cravic
7eee0c788f WIP Enchantments (de)serialization 2020-04-29 20:17:04 +02:00
Felix Cravic
0354a60635 Added Enchantment & PotionType enum + PlayerCommandEvent call 2020-04-29 19:23:47 +02:00
Felix Cravic
c2af4be2fa Can now define an inventory to open after closing another + added a bunch of inventory type 2020-04-29 17:27:58 +02:00
Felix Cravic
0782ee7fe5 Added the InventoryCloseEvent event 2020-04-29 12:11:13 +02:00
Felix Cravic
db1e108464 Fixed PlayerInventory craft result slot 2020-04-29 11:40:58 +02:00
jglrxavpok
2292261de7 Allow for a different visual block to be placed along a custom block 2020-04-29 00:42:18 +02:00
jglrxavpok
365cdf7818 Correct visual ID when overriding in PlayerBlockPlaceEvent 2020-04-29 00:20:20 +02:00
jglrxavpok
263713ab49 Custom block breaking and data creation now both have an instance and a position accessible 2020-04-29 00:12:59 +02:00
Felix Cravic
d49cfc2215 Deleted an useless register method 2020-04-28 23:56:24 +02:00
Felix Cravic
2473a1bbe6 Instance#refreshBlockId optimization 2020-04-28 23:43:37 +02:00
Felix Cravic
93f1b240da Merge remote-tracking branch 'origin/master' 2020-04-28 23:39:09 +02:00
Felix Cravic
d0c523f0e5 Added a way to change CustomBlock blockId just after placement + more BlockAlternative tools 2020-04-28 23:38:44 +02:00
jglrxavpok
483cf7aa88 Added opposite() convenience method to Direction 2020-04-28 22:45:44 +02:00
Felix Cravic
a06274f877 Cleanup + updated RedstonePlacementRule 2020-04-28 22:08:39 +02:00
jglrxavpok
54111ece6a Convenience method to find horizontal Direction based on yaw, easier block properties usage and PlayerBlockPlaceEvent now references the player placing the block 2020-04-28 21:52:06 +02:00
jglrxavpok
9b25f5d95b Allow server to be stopped cleanly 2020-04-28 19:23:02 +02:00
Felix Cravic
98875df389 Small tweaks 2020-04-28 19:22:47 +02:00
Felix Cravic
e022881554 Fixed inventory id generation 2020-04-28 18:55:09 +02:00
Felix Cravic
f5212e3bf6 Merge remote-tracking branch 'origin/master' 2020-04-28 18:16:13 +02:00
Felix Cravic
a4922e60fa Added InventoryData 2020-04-28 18:16:00 +02:00
jglrxavpok
85da9203b1 Custom blocks can block item interaction, prevents blocks being placed when opening containers 2020-04-28 18:12:06 +02:00
Felix Cravic
6d9ac0b35d CustomBlock#getBreakDelay is now optional 2020-04-28 17:58:34 +02:00
Felix Cravic
b128074c75 Reworked data management 2020-04-28 17:36:17 +02:00
Felix Cravic
08015586a0 Merge remote-tracking branch 'origin/master' 2020-04-28 17:11:35 +02:00
Felix Cravic
60cc562435 Changed DataType class and its implementation 2020-04-28 17:11:12 +02:00
jglrxavpok
b09db32ddc Send effects to players 2020-04-28 16:08:21 +02:00
Felix Cravic
03f4e19db3 Reduce needed map checks for InstanceContainer#setCustomBlock 2020-04-28 15:41:29 +02:00
Felix Cravic
8050708ecf Changed BlockPosition arg to CustomBlock#createData 2020-04-28 15:25:56 +02:00
jglrxavpok
f8f649852b Allow PlayerBlockPlaceEvent callbacks to change the block placed.
Can be used to place custom blocks in replacement of normal ones.
2020-04-28 13:47:41 +02:00
jglrxavpok
4c6d31fac1 Allow custom blocks to initialize their data on placement 2020-04-28 13:23:49 +02:00
Felix Cravic
f00bdc66bf Fixed ItemStackData#decode 2020-04-28 03:06:37 +02:00
Felix Cravic
e43325edd8 Added ItemStack data type 2020-04-28 03:02:29 +02:00
Felix Cravic
0946c8ce11 Moved the ResponseDataConsumer definition to MinecraftServer#start 2020-04-28 02:33:15 +02:00
jglrxavpok
7ea87b56c2 Wrong check in StatusRequestPacket, show actual error when running 2020-04-28 01:39:53 +02:00
Felix Cravic
48c4941813 We can now have multiple listeners 2020-04-28 01:20:11 +02:00
Felix Cravic
38abe55161 Added Block object to the CustomBlock constructor 2020-04-28 01:01:54 +02:00
Felix Cravic
f544f090ae Added SerializableData 2020-04-28 00:24:10 +02:00
Felix Cravic
754821f447 Fixed gamemode command (CommandBuilder update) 2020-04-27 23:36:22 +02:00
Felix Cravic
ce40627a36 Added CustomBlock#getCustomBlockId, it is now defined by the developer and not increased automatically by a counter 2020-04-27 23:13:17 +02:00
Felix Cravic
22511ca052 Added damage application verification 2020-04-27 23:03:21 +02:00
Felix Cravic
bf795c1442 Added EntityDamageEvent 2020-04-27 22:38:11 +02:00
jglrxavpok
bdab9bf71f Merge remote-tracking branch 'upstream/master'
# Conflicts:
#	src/main/java/net/minestom/server/entity/Player.java
2020-04-27 21:16:24 +02:00
jglrxavpok
7e3bc22bc4 Chat messages when player dies and cleaner damage types 2020-04-27 21:12:42 +02:00
jglrxavpok
6b77627d60 Implemented damage types and void below world 2020-04-27 20:33:08 +02:00
Felix Cravic
51811a5909 Added dimension support 2020-04-27 18:46:39 +02:00
Felix Cravic
26debd0d4b Optimization + fixed custom block placement 2020-04-26 20:41:58 +02:00
Felix Cravic
d4cf29c7a7 Less magic values 2020-04-26 19:17:04 +02:00
Felix Cravic
161e229985 Cleanup 2020-04-26 17:03:42 +02:00
Felix Cravic
1639a4947c Amazingly fast block getter 2020-04-26 16:51:00 +02:00