Commit Graph

224 Commits

Author SHA1 Message Date
kedor
3b3ae983e4 feat: add saving/loading advancements (#2257)
* implementing the saving and loading advancements for the different players

* fix format
2026-06-12 16:39:11 +02:00
Alexander Medvedev
b4a652c68c fix: ci 2026-06-12 06:58:14 +02:00
Alexander Medvedev
e47695d810 feat(bedrock): add item drops 2026-06-07 14:34:54 +02:00
Demetrius Kanios
2283048b9b feat(bedrock): Initial inventory setup (#2215)
* Initial asset prep, and `CItemRegistry` packet (vanilla; no Java fixes).

* Fix definition component NBTs.

* Packet fixes and dummy stick.

* Map actual player inventory & add stack UIDs

* Cleanup

* Update assets README
2026-06-07 07:59:06 +02:00
Alexander Medvedev
65bfbe89b9 feat: add packet receive and send events 2026-06-05 18:03:44 +02:00
Alexander Medvedev
e1967bed2b feat: bedrock & java cross play 2026-05-25 11:53:37 +02:00
Alexander Medvedev
3629f43dcc fix: disable cave carver for now
fixes some issues
2026-05-23 16:36:08 +02:00
Alexander Medvedev
3303bb7b97 chore(net): change get_string to get_str
changed return value from `String` to `Box<str>` which is smaller and makes more sense since we don't mutate packet data

String — 24 bytes (ptr + len + capacity)
Box<str> — 16 bytes (ptr + len)
2026-05-23 11:21:53 +02:00
Alexander Medvedev
bd544271e2 feat: more loot table work 2026-05-22 22:23:47 +02:00
Alexander Medvedev
d47ac2cd51 feat(loot-table): add luck 2026-05-21 22:20:00 +02:00
Alexander Medvedev
2fcc9bcf4a chore: enforce some more clippy lints
pumpkin contributors will love me :cap:
2026-05-20 22:27:54 +02:00
Alexander Medvedev
4a4b72c83c chore(plugin-api): extend entity api 2026-05-17 19:46:57 +02:00
Alexander Medvedev
35b91efd38 chore(pumpkin-nbt): add fuzzing & benches 2026-05-17 10:17:52 +02:00
Alexander Medvedev
e707b31752 ci: remove unused dep 2026-05-16 21:38:37 +02:00
Alexander Medvedev
aad2e477d9 fix: CI 3 (hopefully) 2026-05-16 12:50:09 +02:00
Alexander Medvedev
966fbec3d3 feat(plugin-api): add java/bedrock abstraction 2026-05-16 09:56:18 +02:00
Alexander Medvedev
5aafff35e8 feat: add bedrock forms 2026-05-15 18:24:28 +02:00
SomeYellowGuy
f383c88c76 feat(codec): implement Encode and Decode for some pumpkin-util items and convenience codec macros (#2111)
* added identifier codec

* added codec impls for `Vector2<T>` and `Vector3<T>`

* added codec impl for `BlockPos`

* added codec impls for `BlockBox` and `EulerAngle`

* fixed formatting and clippy

* added `BlockPos` test

* fixed clippy and formatting

* fixed codec mapping macros and started using them in tests

* fixed formatting
2026-05-15 08:45:49 +02:00
Demetrius Kanios
d5026cb55e feat(plugin-api): Integrate wasmtime_wasi_http (#2128)
Co-authored-by: Alexander Medvedev <lilalexmed@proton.me>
2026-05-14 18:19:37 +02:00
Alexander Medvedev
92abb1e44e chore: less awaits more fun 2026-05-14 12:28:43 +02:00
Alexander Medvedev
60bfdf62db Revert a55c42c83 2026-05-10 12:13:33 +02:00
Alexander Medvedev
c23c7c429d feat(chunk-gen): add mob spawn step 2026-05-09 20:59:34 +02:00
Alexander Medvedev
45867d33e2 feat(plugin-api): initial packet api 2026-05-08 21:42:37 +02:00
Alexander Medvedev
5c90387b02 refactor: move block entities from pumpkin-world -> pumpkin 2026-05-07 19:35:17 +02:00
Alexander Medvedev
63d39f46d4 feat: add enchanting table 2026-05-06 22:29:29 +02:00
Laptop59
04874d4420 feat(command): implement SNBT parser (#2088)
* initial commit

* split snbt into modules

* formatted

* clippy warnings fixed

* added more rules

* applied clippy fixes

* added even more rules

* fixed clippy errors

* made all the required rules

* added some integer tests

* fixed clippy errors part 2

* finish up the last integer tests

* added float tests and some basic string tests

* quoted string literals

* `bool` operation tests done

* operation and maps

* fixed conflicts

# Conflicts:
#	pumpkin-nbt/src/tag.rs

* fixed clippy errors

* added message to `todo!()`

* fixed `indexmap` dependency for `pumpkin-codegen`

* fixed `typos` errors

* removed usage of `peek_byte()` for consistency

* removed useless macro

* moved some parser functions into a trait

* new translation changes
2026-05-05 10:41:27 +02:00
Alexander Medvedev
f683de2bf8 feat: require plugin permissions confirmation 2026-05-02 18:24:52 +02:00
Demetrius Kanios
081e1d7e64 feat(bedrock): Update Bedrock support to 26.10 (#2067)
* Update Bedrock support to 26.10

Co-authored-by: A. Jakubiak <contact@jakubiak.fr>

* Fix key extraction for self-signed

* Restructure login to fix resource pack race condition

* Undo unrelated changes to blocks

* Fix relavent clippy warnings.

---------

Co-authored-by: A. Jakubiak <contact@jakubiak.fr>
2026-04-30 20:22:59 +02:00
Alexander Medvedev
a36240dd40 fix: height maps 2026-04-27 23:16:19 +02:00
Alexander Medvedev
7f21c3cfe2 feat(plugin-api): add some more events 2026-04-26 13:49:13 +02:00
Alexander Medvedev
95df70c448 perf: chunks should be faster now 2026-04-25 15:33:11 +02:00
SomeYellowGuy
513477d1cf fix(codec): replace codec and map codec structs with Encode and Decode traits and their field versions (#2051)
* removed codecs in favor of the `Encode` and `Decode` traits and their derivatives

* placed more exports in the `pumpkin-codecs` lib

* split primitives into their own folder and added some tests

* added `Either` support and added a simple test for it

* fixed linting for tests
2026-04-21 16:38:25 +02:00
Alexander Medvedev
85da55f9b3 fix: ci 2026-04-18 12:40:05 +02:00
Alexander Medvedev
a55c42c835 feat: add pnbt 2026-04-18 12:27:22 +02:00
Alexander Medvedev
9dd9754b4e chore: update linear format from v1 to v2 2026-04-18 08:35:48 +02:00
Alexander Medvedev
2b4e3bb332 chore(plugin-api): enable enable_method_chaining 2026-04-17 20:54:36 +02:00
Alexander Medvedev
e9423dcb9c chore: add encoder fuzzing
ofc nothing more :wink
2026-04-16 20:32:19 +02:00
Alexander Medvedev
7cc4854078 feat(plugin-api): add hot-reloading 2026-04-15 18:37:32 +02:00
Alexander Medvedev
b6ada28585 feat(plugin-api): added PlayerToggleFlightEvent 2026-04-14 21:45:00 +02:00
Alexander Medvedev
511318ae6b chore: chunk gen should be better now 2026-04-13 18:18:30 +02:00
Alexander Medvedev
2c338f468c feat: add dragon ai
not perfect, bit buggy, but it works overall
2026-04-12 19:10:14 +02:00
Alexander Medvedev
1d7c72ba5b fix: water swimming bug 2026-04-09 22:18:21 +02:00
Alexander Medvedev
82ce8e9633 chore: chunk gen just got a bit faster 2026-04-06 13:07:53 +02:00
SomeYellowGuy
c7cbf37cc2 feat(command): implement entity selectors and entity argument type for new command system (#1925)
* mostly added new entity selector and started entity argument type

# Conflicts:
#	pumpkin/src/command/argument_types/mod.rs

* mostly completed entity selectors

* added bounds and started entity selector parser

* implemented basic selector parsing

* implemented bounds parsing, added `EntitySelectorOption` and implemented more of the parser

* implemented `EntityArgumentType`'s parsing

* implemented entity selector options and used `bitflags`

* removed unnecessary unimplemented error type
2026-04-03 20:42:48 +02:00
ChocoDev
f1818ffc77 feat: use local time in console (#1956)
Co-authored-by: chocodev11 <chocodev11@users.noreply.github.com>
2026-04-03 19:09:23 +02:00
Alexander Medvedev
0656aec158 fix: some bugs 2026-04-03 18:35:34 +02:00
Alexander Medvedev
c15ebf181d chore: more plugin api work
also added bedrock fuzzing
2026-04-01 19:37:01 +02:00
kedor
a11f40a403 chore: move ItemStack from pumpkin_world to pumpkin_data (#1944) 2026-03-31 10:08:41 +02:00
ChocoDev
bb5033046b fix: offline player support for some command with usercache (#1793)
* add gameprofile that support offline player

* clippy

* bigass refactor select_players() and select_entities() + usercache.json

* formating

* enhance usercache.json

* better cursor on dispatch

* Update dependencies in Cargo.lock

Signed-off-by: ChocoDev <100467857+chocodev11@users.noreply.github.com>

* using chrono instead self-write

* remove unnecessary parse

* clippy

---------

Signed-off-by: ChocoDev <100467857+chocodev11@users.noreply.github.com>
Co-authored-by: chocodev11 <chocodev11@users.noreply.github.com>
2026-03-30 19:25:45 +02:00
SomeYellowGuy
6ac9b31f78 feat(codec): add either codecs (#1900)
* initial commit

# Conflicts:
#	Cargo.toml

# Conflicts:
#	Cargo.toml

* implemented more `DataResult` methods

* finished data result struct

* fixed clippy errors

* implemented `map_like` and more `dynamic_ops` methods

* finished most other `DynamicOps` methods

* Fixed doc in get_bytes

* added encoder and decoder files

* fixed some stuff and added primitive codecs

* added some primitive codecs (has errors for now)

* changed the "stream" ops methods

* reworked types of the coders and codecs, added list codecs

* added JSON ops

* fixed list codecs, added some doc test examples in `JsonOps`

* added lazy codecs

* added map encoders, decoders and struct builders

* actually added mapdecoder

* added encoder and decoder transformations

* fixed encoder and decoder transformations and added transformation functions and range codecs

* added field encoders and decoders and separated range codecs

* added field encoders and decoders and separated range codecs

* added BaseMapCodec and SimpleMapCodec

* added struct codecs and moved tests

* added `NbtOps`, unsigned number codec types, range codec tests, a struct test, detailed `Codec` documentation

* added optional field map codecs, the validator function and reworked struct builder functions

* added unbounded map and struct codec tests and reworked validated codecs

* did some visibility refactoring

* fixed some stuff and renamed unsigned number codecs

* fixed formatting

* fixed docs to reflect changes on renaming unsigned number codecs

* fixed validated test

* fixed doctest

* moved base_map_codec and fixed docs about codecs

* fixed some mistakes in the code

* fixed some more mistakes in the code and converted some `DataResult::error` calls to `DataResult::partial_error`

* fixed formatting

* fixed some incorrect docs

* removed `OnceLock`s in `MapCodec`s so they can be used more easily

* fixed transformer codec descriptions, added more `NbtOps` tests and fixed some `NbtOps` list methods

* fixed doctest

* added a method to allow creating a field using a `MapCodec` reference

* bifurcated `MapCodecCodec`s as well

* removed imports only for documentation and replaced them with intra-doc links

* added additional docs to `optional_field_with_default` and `lenient_optional_field_with_default` Codec methods for additional details on encoding

* renamed crate to `pumpkin-codecs` so that data fixing can be placed somewhere else not frequently used

* fixed invalid nbt tag for test

* reverted wrapping the tags for heterogeneous elements

* fixed a few more issues

* initial commit

# Conflicts:
#	Cargo.toml

* added `NbtOps`, unsigned number codec types, range codec tests, a struct test, detailed `Codec` documentation

* renamed crate to `pumpkin-codecs` so that data fixing can be placed somewhere else not frequently used

* added either codecs and either map codecs

* added a test and extra either methods

* added extra assertion

* removed this crate's `either` module in favor of the `either` crate

* fixed rebase

* fixed Cargo.lock

* removed old folder

* removed `DataResult` change
2026-03-30 16:52:57 +02:00