Commit Graph

3291 Commits

Author SHA1 Message Date
TheMode
edaec0cb6d Fix double click inside player inventory 2021-06-27 05:44:24 +02:00
TheMode
b541ef4a74 Simplify block implementation 2021-06-26 20:23:56 +02:00
TheMode
4f4afbbe6d Merge branch 'master' into new-block-api
# Conflicts:
#	src/main/java/net/minestom/server/instance/Chunk.java
#	src/main/java/net/minestom/server/instance/Instance.java
2021-06-26 20:09:47 +02:00
TheMode
fbf8ddefce Add Tag#SNBT write support 2021-06-26 19:52:35 +02:00
TheMode
5ddfff22f2 Add Tag#NBT write support 2021-06-26 19:44:35 +02:00
BuildTools
efbb2b6338 Marker Armor Stands no longer prevent block placement 2021-06-26 19:47:29 +08:00
BuildTools
eb4d29628e Create MarkerHologram.java, modify Hologram.java to support subclasses overriding metadata easily 2021-06-26 19:39:53 +08:00
TheMode
bf44625730 Add experimental tags 2021-06-26 05:08:33 +02:00
TheMode
60042effba Merge remote-tracking branch 'origin/master' 2021-06-26 00:31:13 +02:00
TheMode
76bec54254 Add more TagHandler implementations 2021-06-26 00:31:04 +02:00
TheMode
3c04da9ae9 Add dummy block handler 2021-06-25 19:10:41 +02:00
TheMode
74073f13b5 Use classes instead of interfaces for BlockHandler type 2021-06-25 19:00:50 +02:00
BuildTools
e69c02f46d Change other usages of PacketUtils#sendGroupedPacket to use new convenience method 2021-06-25 20:41:54 +08:00
BuildTools
07a2b37f35 Add Javadoc 2021-06-25 20:34:19 +08:00
BuildTools
d84964d55b Add sendGroupedPacket convenience method to PacketGroupingAudience 2021-06-25 20:32:13 +08:00
TheMode
6526a2658a Replace netty to jdk thread local random 2021-06-25 06:45:02 +02:00
TheMode
5d8c9cbd23 Fix chunk border freeze by not sending UnloadChunkPacket 2021-06-24 23:40:09 +02:00
TheMode
b155fb6720 Micro-optimization for BlockLoader 2021-06-24 23:13:31 +02:00
TheMode
778dda08d6 Add more information about block tag<->nbt 2021-06-24 23:02:40 +02:00
TheMode
4ef056dfed Fix block comparison in placement rules 2021-06-24 20:59:58 +02:00
TheMode
f2300714eb Temporarily fix block placement 2021-06-24 20:53:33 +02:00
TheMode
b49ccadadc Save blocks nbt without handler 2021-06-24 16:16:41 +02:00
TheMode
8ff7eed45c Ensure that the block entity has nbt 2021-06-24 16:13:00 +02:00
TheMode
faa7c512af Support block nbt without handler 2021-06-24 16:06:11 +02:00
TheMode
ddba34712e Call BlockHandler#onInteract 2021-06-23 22:39:17 +02:00
TheMode
78898bfa9b Simplify pathfinding block 2021-06-23 22:24:40 +02:00
TheMode
48b1aa90db Improve BlockHanlder placement listener 2021-06-23 20:18:34 +02:00
TheMode
af9e102ec1 Add documentation to Block 2021-06-23 18:29:19 +02:00
TheMode
aa2347bf9c Remove BlockProperty.java 2021-06-23 17:54:34 +02:00
TheMode
4bbd89f78d Rename BlockImpl 2021-06-23 17:41:46 +02:00
TheMode
10ca44bfd8 Update BlockConstants 2021-06-23 17:39:21 +02:00
TheMode
33300e978c Reduce lighting issues 2021-06-23 15:52:27 +02:00
TheMode
1ae057428b Remove unused methods 2021-06-23 15:25:05 +02:00
TheMode
408e80799e Fix Block#withProperty 2021-06-23 14:13:28 +02:00
TheMode
804f11c87b Potentially fix explosion packet 2021-06-23 02:20:51 +02:00
TheMode
77ef11ef30 Rename destroySpeed to hardness 2021-06-23 01:53:04 +02:00
TheMode
1ba1a336b1 Fix block destroy listener 2021-06-23 00:37:11 +02:00
TheMode
e3942e68d3 Fix block destruction 2021-06-22 23:55:27 +02:00
TheMode
2b89fa1527 Add Placement/Destroy implementation for player 2021-06-22 23:51:01 +02:00
TheMode
22ba15f390 Add Unmodifiable annotation 2021-06-22 23:31:07 +02:00
TheMode
f17355a972 Cleanup 2021-06-22 23:26:12 +02:00
TheMode
eca380a3a4 use world coord to save block entities 2021-06-22 23:14:26 +02:00
TheMode
9e6b3d5ac9 Add support for block entity loading (from anvil) 2021-06-22 22:59:25 +02:00
TheMode
eeb8f3fd65 Update to latest block file 2021-06-22 22:38:36 +02:00
TheMode
a255abf0dd Move nbt cache into block implementation 2021-06-22 19:07:44 +02:00
TheMode
d365373775 Keep get prefix when a parameter is required 2021-06-22 18:46:16 +02:00
TheMode
58ec228f70 Reuse block properties parsing 2021-06-22 18:43:48 +02:00
TheMode
f0a73f25eb Potentially fix lighting 2021-06-22 18:32:46 +02:00
TheMode
a641c2415a Fix block index computation 2021-06-22 18:28:52 +02:00
TheMode
5f2b3df20e Support for tile entities saving (BlockHandler) 2021-06-22 18:02:50 +02:00
TheMode
fc6e147919 Cache blocks nbt 2021-06-22 17:28:12 +02:00
TheMode
62a7de49dc Merge branch 'master' into new-block-api 2021-06-22 14:14:50 +02:00
TheMode
3b6b1e9859 Improve block indexing 2021-06-22 14:13:51 +02:00
TheMode
f183c76afa Fix npe when reading block tag 2021-06-22 14:06:28 +02:00
TheMode
0f02be4b2b Add tag api to CommandSender 2021-06-22 13:30:47 +02:00
TheMode
2b817e5590 Merge branch 'master' into new-block-api
# Conflicts:
#	src/main/java/net/minestom/server/tag/Tag.java
2021-06-22 03:09:02 +02:00
TheMode
43c2b48b68 Add backward compatible method 2021-06-22 03:05:22 +02:00
TheMode
b5c7106f9b Use the tag api inside Entity, deprecate DataContainer 2021-06-22 02:56:00 +02:00
TheMode
a9086e83f2 Improve tag API 2021-06-22 02:51:04 +02:00
TheMode
3ded16f6e5 Fix negative sections 2021-06-22 00:11:47 +02:00
TheMode
2af150c1f0 Forget anvil chunk after load 2021-06-21 21:33:37 +02:00
TheMode
66145a53c6 Add generic to Tag#NBT 2021-06-21 20:34:34 +02:00
TheMode
36e2c2b78a Remove legacy chunk serialization code 2021-06-21 20:07:22 +02:00
TheMode
735ea152f9 Initial light support 2021-06-21 16:32:46 +02:00
TheMode
d27b1ff1a4 Merge branch 'master' into new-block-api
# Conflicts:
#	src/main/java/net/minestom/server/instance/InstanceContainer.java
#	src/main/java/net/minestom/server/listener/BlockPlacementListener.java
#	src/main/java/net/minestom/server/listener/PlayerDiggingListener.java
2021-06-21 15:27:55 +02:00
TheMode
1f2dc0cd9f Add some inline packet initialization 2021-06-21 15:01:50 +02:00
TheMode
8a2f68812c Cleanup demo servers 2021-06-21 00:14:28 +02:00
TheMode
e79b5ce41d Fix exception when forgetting ] 2021-06-20 23:54:00 +02:00
TheMode
c2270f8922 Merge branch 'master' into new-block-api 2021-06-20 23:52:08 +02:00
TheMode
e635e29a16 Replace guava cache to caffeine 2021-06-20 22:32:06 +02:00
TheMode
c90bae063a Update netty 2021-06-20 22:19:03 +02:00
TheMode
14afa0fbf4 Less google 2021-06-20 22:06:19 +02:00
TheMode
0be2addbd8 Remove most unnecessary uses of google common 2021-06-20 22:03:14 +02:00
TheMode
4db3b9317d Replace google Beta annotation to jetbrains ApiStatus.Experimental 2021-06-20 21:48:07 +02:00
TheMode
887c567c78 Fast exit if no world folder is available 2021-06-20 21:23:18 +02:00
TheMode
3bb5801ec7 Merge branch 'master' into new-block-api 2021-06-20 21:00:39 +02:00
TheMode
1e9046d792 Remove velocity compression library 2021-06-20 20:59:53 +02:00
TheMode
94923c4b3a Nothing 2021-06-20 20:50:54 +02:00
TheMode
8bc9bc7de5 Rename StorageChunkLoader 2021-06-20 20:46:57 +02:00
TheMode
08ce627db7 Remove rocksdb 2021-06-20 20:43:57 +02:00
TheMode
3bdc842393 Default to minecraft namespace 2021-06-20 20:33:39 +02:00
TheMode
94ee21a02a Initial anvil saving support 2021-06-20 20:28:43 +02:00
TheMode
fc14d01e78 Initial anvil support 2021-06-20 20:12:07 +02:00
TheMode
31a7413531
Merge pull request #334 from Project-Cepi/safe-missing-extension
Ensure proper error when extension.json is missing
2021-06-20 18:30:05 +02:00
TheMode
602472fc65 Pos improvements 2021-06-20 18:27:58 +02:00
TheMode
13a64c7315 Merge branch 'master' into new-block-api 2021-06-20 18:16:42 +02:00
TheMode
f4f4a63860 Replace deprecated serializer 2021-06-20 18:05:46 +02:00
TheMode
a2f828986d Add RelativeLocation#fromView 2021-06-20 17:40:37 +02:00
TheMode
ab9e16dfe7 Add Vec#apply 2021-06-20 14:56:00 +02:00
TheMode
5a01c041cf Remove duplicate method, trust escape analysis to prevent unnecessary allocations 2021-06-20 14:42:46 +02:00
TheMode
5f2b06ffe7 Rename to Vec 2021-06-20 03:43:18 +02:00
LeoDog896
4b4c3cda32 Ensure proper error when extension.json is missing 2021-06-19 18:12:56 -04:00
TheMode
62146352a1 Add Coordinate simple impl 2021-06-19 22:43:59 +02:00
TheMode
b9114ef5fe Initial discussion commit 2021-06-19 21:43:43 +02:00
TheMode
f040f882e5 remove redundant allocation 2021-06-19 21:04:02 +02:00
TheMode
0d96ad5483 Use namespace object instead of string inside block registry 2021-06-19 21:02:47 +02:00
TheMode
106125319a Remove get prefixes for protocol objects to be more record-friendly 2021-06-19 21:01:54 +02:00
TheMode
15cfea6f9a Fix ResourcePackSendPacket 2021-06-19 17:44:11 +02:00
TheMode
123f0bec04 Intern property map values 2021-06-19 16:45:09 +02:00
TheMode
61bd28b298 Reduce property map allocation 2021-06-19 16:12:36 +02:00
TheMode
06ebb14991 Merge branch 'master' into new-block-api 2021-06-18 20:36:32 +02:00
TheMode
787162bbe2 Fix Eventlistener#of not ignoring cancelled events 2021-06-18 18:24:35 +02:00
TheMode
d7fd079288 Reuse palette code 2021-06-18 14:50:10 +02:00
TheMode
7032645c63 Cleanup 2021-06-18 14:43:14 +02:00
TheMode
e25f521253 BlockHandler tick support 2021-06-18 14:36:03 +02:00
TheMode
e913170575 Remove unused code 2021-06-18 11:52:10 +02:00
TheMode
2dc4673b4f Properties map should never be null 2021-06-18 11:46:09 +02:00
TheMode
e3fdadb564 Remove wrong hasTag impl 2021-06-18 03:57:23 +02:00
TheMode
41cb35782e Reduce implementation code 2021-06-18 03:44:15 +02:00
TheMode
e002890a91 Deprecate #addPlayerInitialization 2021-06-18 03:21:03 +02:00
TheMode
c0c19a1e44 Fix block change packet 2021-06-17 15:59:48 +02:00
TheMode
26b9ebc3f5 Fix compile 2021-06-17 15:57:10 +02:00
TheMode
6e0598c16a Remove custom break delay code 2021-06-17 15:50:28 +02:00
TheMode
b978eba0fd Palette cleanup 2021-06-17 15:37:38 +02:00
TheMode
ddae239e30 Rename onTouch 2021-06-17 15:11:19 +02:00
TheMode
b612f3c257 Add block entity getter 2021-06-17 15:02:54 +02:00
TheMode
894b1a68a7 Make BlockHandler more flexible and future-proof for incoming amber language features 2021-06-17 14:34:55 +02:00
TheMode
de22a76e9f Merge branch 'master' into new-block-api
# Conflicts:
#	build.gradle
2021-06-17 13:58:01 +02:00
LeoDog896
ad83849f91 Fix entity compile error 2021-06-16 15:55:21 -04:00
TheMode
fd5f45adcd Remove unused method 2021-06-16 21:46:13 +02:00
LeoDog896
b8c1e72e4a Remove deprecated DynamicWords 2021-06-16 15:37:33 -04:00
TheMode
12848a08f2 Cache recurrent values 2021-06-16 18:11:42 +02:00
TheMode
3e4a99a80c Add default impl for hasTag 2021-06-16 16:51:44 +02:00
TheMode
d1babd25dc Fix ItemEntity physics 2021-06-16 15:50:54 +02:00
TheMode
f41733e338
Merge pull request #326 from Project-Cepi/remove-deprecated-entity-classes
Refactor and remove classes from entity package.
2021-06-16 15:46:22 +02:00
LeoDog896
c11662c3ed Remove errored import 2021-06-16 09:45:21 -04:00
TheMode
85d4fd83f4
Merge pull request #327 from Minestom/bossbar-removal
Remove legacy boss bars
2021-06-16 15:40:02 +02:00
LeoDog896
97ebf6923e Fix boat listener 2021-06-16 09:39:55 -04:00
LeoDog896
9e23085c34 Refactor and remove classes 2021-06-16 09:17:13 -04:00
TheMode
2b5b11a483 Cleanup 2021-06-16 15:08:07 +02:00
TheMode
a4b99c60dc Fix property parsing 2021-06-16 14:49:56 +02:00
TheMode
9c97302a06 Add demo SetBlockCommand 2021-06-16 14:39:11 +02:00
TheMode
65e4aad416 Add pure annotations 2021-06-16 14:08:02 +02:00
TheMode
34b7133f17 Reduce subclass impl 2021-06-16 14:04:22 +02:00
TheMode
84f22a6ed4 Replace float to double 2021-06-16 12:26:27 +02:00
Articdive
925c2d6090
NamespaceID should be compatible with other Key Implementations. 2021-06-16 09:53:01 +02:00
TheMode
0bdc84558f Optimize block getter 2021-06-16 01:01:27 +02:00
TheMode
235100e87b Small cleanup 2021-06-16 00:46:39 +02:00
TheMode
2d57235198 Remove legacy methods 2021-06-16 00:33:25 +02:00
TheMode
3324fd1e21 Fix BlockTest immutability 2021-06-16 00:19:36 +02:00
Kieran Wallbanks
5abf71e323 Remove legacy boss bars 2021-06-15 14:26:24 +01:00
Kieran Wallbanks
dd82635c6f Don't lazily initialise pointers 2021-06-15 14:06:56 +01:00
Kieran Wallbanks
58e108bd37 Fix deprecated API usages 2021-06-15 13:19:49 +01:00
Kieran Wallbanks
0ba27939d9 Implement new sound changes 2021-06-15 13:19:48 +01:00
Kieran Wallbanks
e5ca8d992e Create providers for Adventure serializers 2021-06-15 13:19:36 +01:00
Kieran Wallbanks
ee1ca5e03b Deprecate AdventureSerializer 2021-06-15 13:19:36 +01:00
Kieran Wallbanks
e532f16735 Fix default locale 2021-06-15 13:19:36 +01:00
Kieran Wallbanks
b1f72faa67 Implement pointer feature 2021-06-15 13:19:36 +01:00
Kieran Wallbanks
e7e0d4cb0d Implement Sound.Source.Provider 2021-06-15 13:19:36 +01:00
TheMode
a83482efb8 Improve memory usage 2021-06-15 13:45:23 +02:00
TheMode
65f92bf071 No need for block properties file 2021-06-15 11:20:05 +02:00
TheMode
df38061c6b Inline condition 2021-06-15 02:54:03 +02:00
TheMode
0c0b387345 Use a for-each loop, and prevent iterator allocation when empty 2021-06-15 02:29:58 +02:00
TheMode
051fbcb34b Potentially fix map packet 2021-06-14 22:01:12 +02:00
TheMode
27f30fa394 Remove a few magic metadata indexes 2021-06-14 21:49:16 +02:00
TheMode
679030e75b Add BlockEvent 2021-06-14 15:30:05 +02:00
TheMode
a70fe174bf Fix rebase 2021-06-14 15:26:16 +02:00
TheMode
63004cf4ba Merge branch 'master' into new-block-api
# Conflicts:
#	src/main/java/net/minestom/server/event/player/PlayerBlockBreakEvent.java
#	src/main/java/net/minestom/server/event/player/PlayerBlockInteractEvent.java
#	src/main/java/net/minestom/server/event/player/PlayerBlockPlaceEvent.java
#	src/main/java/net/minestom/server/event/player/PlayerStartDiggingEvent.java
#	src/main/java/net/minestom/server/instance/Instance.java
#	src/main/java/net/minestom/server/instance/InstanceContainer.java
#	src/main/java/net/minestom/server/listener/BlockPlacementListener.java
#	src/main/java/net/minestom/server/listener/PlayerDiggingListener.java
#	src/test/java/demo/PlayerInit.java
2021-06-14 15:22:54 +02:00
TheMode
6315bd5c61 Add try-catch for EventNode condition 2021-06-14 14:42:10 +02:00
TheMode
9c77ab267e Rework Block implementation (BlockTest) 2021-06-14 13:31:14 +02:00
TheMode
f2bf27c86e Fix rebase 2021-06-14 00:18:53 +02:00
TheMode
eadb32eba3 Merge branch 'master' into event-api 2021-06-14 00:17:42 +02:00
TheMode
911c983957 Merge branch 'master' into event-api
# Conflicts:
#	src/main/java/net/minestom/server/entity/Player.java
#	src/main/java/net/minestom/server/event/player/UpdateTagListEvent.java
#	src/main/java/net/minestom/server/instance/Chunk.java
2021-06-14 00:11:41 +02:00
TheMode
adba6c3d40 WIP block loading 2021-06-14 00:07:51 +02:00
TheMode
af61c77a26
Merge pull request #319 from Minestom/resource_gatherer_java
Resource gatherer fixes
2021-06-13 14:58:49 +02:00
TheMode
6cd3952fb5
Merge pull request #316 from thiccaxe/server-list-ping-update
Updated Server List Ping
2021-06-13 14:58:05 +02:00
TheMode
b464b637a4 BlockHandler default impl 2021-06-13 13:41:01 +02:00
TheMode
c312bf59fc Revamp tag api 2021-06-13 13:38:26 +02:00
TheMode
d6a2a5b316 Added CampfireHandler demo 2021-06-12 19:17:50 +02:00
TheMode
54b6868b2e Comments 2021-06-12 16:02:35 +02:00
Matt Worzala
a84bc7be46
add stderr print 2021-06-12 09:29:00 -04:00
Matt Worzala
831dd6d610
use java home for resource gatherer. Should cause the same jdk to be used for resource gatherer and work if you dont have java in the path. 2021-06-12 09:17:18 -04:00
Matt Worzala
e5076832b1
Change to have an actual option which can be changed before startup 2021-06-12 09:07:09 -04:00
TheMode
342554cb36 Remove BlockHandler#drag 2021-06-12 15:06:52 +02:00
TheMode
ab51b50072 Use per-block handler 2021-06-12 13:57:59 +02:00
TheMode
a2bd0f7906 end line 2021-06-12 13:52:44 +02:00
TheMode
94e92741c8 Reuse chunk code 2021-06-12 13:37:37 +02:00
TheMode
1b31a81619 Fix single-section chunk packet 2021-06-12 10:46:50 +02:00
TheMode
3b14fe12a3 Proper naming for Section/Palette 2021-06-12 10:39:44 +02:00
thiccaxe
6ff5f7e93c Fix Grammar in ResponseData 2021-06-11 23:08:57 -07:00
Matt Worzala
8529249b85
Add option to start server without terminal enabled 2021-06-11 20:03:16 -04:00
thiccaxe
7641b8a75d Updated Server List Ping
Added playersHidden field to ResponseData; shows "???" in Vanilla.
Added event for ping/pong packet
2021-06-11 13:54:52 -07:00
TheMode
f95b6121fe Cleanup 2021-06-11 21:57:51 +02:00
Articdive
f3f854feaa
Fix TagsPacket 2021-06-11 21:55:30 +02:00
TheMode
9dffc7658c Added registry loader 2021-06-11 20:13:20 +02:00
TheMode
08684d075a Temporarily remove tags packet 2021-06-11 18:53:35 +02:00
TheMode
099b031875 Registry should use a JsonObject 2021-06-11 18:05:21 +02:00
TheMode
4ec59b4bc9 Temporarily fix block count 2021-06-11 17:55:47 +02:00
TheMode
9bf57b8c13 Remove unused fields 2021-06-11 17:52:52 +02:00
Articdive
1a67ab806a
Update BlockGenerator and add the 1.17 blocks. 2021-06-11 17:47:26 +02:00
TheMode
7a76040457 Cleanup 2021-06-11 17:38:45 +02:00
TheMode
7079225045 Remove BlockData.java 2021-06-11 17:33:18 +02:00
TheMode
64907ebb34 Added some properties to BlockEntry 2021-06-11 17:23:38 +02:00
TheMode
a1fac0f5cb Add Block.registry 2021-06-11 17:00:26 +02:00
TheMode
70aad159b9 Add BlockEntry 2021-06-11 16:50:37 +02:00
TheMode
70cd3891cf Added WIP Registry 2021-06-11 16:48:00 +02:00
TheMode
82eec1072c Create ProtocolObject 2021-06-11 16:45:01 +02:00
TheMode
35baf1e772 Remove unsafe prefix from Chunk#setBlock 2021-06-11 16:40:37 +02:00
TheMode
7f8120a334 Rebase 2021-06-11 16:37:07 +02:00
TheMode
457ef9df17 Merge branch 'master' into new-block-api
# Conflicts:
#	src/autogenerated/java/net/minestom/server/instance/block/Block.java
#	src/main/java/net/minestom/server/MinecraftServer.java
#	src/main/java/net/minestom/server/entity/Player.java
#	src/main/java/net/minestom/server/entity/pathfinding/PFBlockDescription.java
#	src/main/java/net/minestom/server/entity/pathfinding/PFBlockObject.java
#	src/main/java/net/minestom/server/instance/Chunk.java
#	src/main/java/net/minestom/server/instance/palette/PaletteStorage.java
#	src/main/java/net/minestom/server/network/packet/server/play/ChunkDataPacket.java
#	src/main/java/net/minestom/server/network/packet/server/play/TagsPacket.java
2021-06-11 16:31:01 +02:00