remove some internal crates

This commit is contained in:
Alexander Medvedev 2025-07-11 14:23:14 +02:00
parent 9582e48fd4
commit b0cea38596
14 changed files with 215 additions and 255 deletions

7
Cargo.lock generated
View File

@ -1669,7 +1669,6 @@ version = "0.1.0-dev+1.21.7"
dependencies = [ dependencies = [
"async-trait", "async-trait",
"base64", "base64",
"bitflags",
"bytes", "bytes",
"crossbeam", "crossbeam",
"dhat", "dhat",
@ -1754,10 +1753,8 @@ dependencies = [
"log", "log",
"pumpkin-data", "pumpkin-data",
"pumpkin-protocol", "pumpkin-protocol",
"pumpkin-registry",
"pumpkin-util", "pumpkin-util",
"pumpkin-world", "pumpkin-world",
"rayon",
"thiserror", "thiserror",
"tokio", "tokio",
] ]
@ -1795,7 +1792,6 @@ dependencies = [
"bytes", "bytes",
"cfb8", "cfb8",
"flate2", "flate2",
"log",
"pumpkin-data", "pumpkin-data",
"pumpkin-macros", "pumpkin-macros",
"pumpkin-nbt", "pumpkin-nbt",
@ -1813,8 +1809,6 @@ name = "pumpkin-registry"
version = "0.1.0-dev+1.21.7" version = "0.1.0-dev+1.21.7"
dependencies = [ dependencies = [
"indexmap", "indexmap",
"pumpkin-data",
"pumpkin-nbt",
"pumpkin-protocol", "pumpkin-protocol",
"pumpkin-util", "pumpkin-util",
"serde", "serde",
@ -1857,7 +1851,6 @@ dependencies = [
"file-guard", "file-guard",
"flate2", "flate2",
"futures", "futures",
"indexmap",
"itertools 0.14.0", "itertools 0.14.0",
"log", "log",
"lru", "lru",

View File

@ -1,21 +0,0 @@
[package]
name = "pumpkin-fuzz"
version = "0.0.0"
publish = false
edition = "2024"
[package.metadata]
cargo-fuzz = true
[dependencies]
pumpkin = { path = "../"}
libfuzzer-sys = "0.4"
[[bin]]
name = "fuzz_target_1"
path = "fuzz_targets/fuzz_target_1.rs"
test = false
doc = false
bench = false

View File

@ -1,7 +0,0 @@
#![no_main]
use libfuzzer_sys::fuzz_target;
fuzz_target!(|data: &[u8]| {
// fuzzed code goes here
});

View File

@ -7,7 +7,7 @@ edition.workspace = true
proc-macro = true proc-macro = true
[dependencies] [dependencies]
syn = { version = "2.0", features = ["parsing", "printing", "proc-macro", "derive"] } syn = "2.0"
quote = "1.0" quote = "1.0"
proc-macro2 = "1.0" proc-macro2 = "1.0"
proc-macro-error2.workspace = true proc-macro-error2.workspace = true

View File

@ -9,7 +9,6 @@ phf = { version = "0.12.1", features = ["macros"] }
pumpkin-util = { path = "../pumpkin-util" } pumpkin-util = { path = "../pumpkin-util" }
serde.workspace = true serde.workspace = true
serde_json.workspace = true
[build-dependencies] [build-dependencies]
pumpkin-util = { path = "../pumpkin-util" } pumpkin-util = { path = "../pumpkin-util" }

View File

@ -9,11 +9,9 @@ pumpkin-protocol = { path = "../pumpkin-protocol" }
pumpkin-data = { path = "../pumpkin-data" } pumpkin-data = { path = "../pumpkin-data" }
pumpkin-world = { path = "../pumpkin-world" } pumpkin-world = { path = "../pumpkin-world" }
pumpkin-registry = {path = "../pumpkin-registry"}
pumpkin-util = { path = "../pumpkin-util" } pumpkin-util = { path = "../pumpkin-util" }
log.workspace = true log.workspace = true
rayon.workspace = true
tokio.workspace = true tokio.workspace = true
thiserror.workspace = true thiserror.workspace = true
async-trait.workspace = true async-trait.workspace = true

View File

@ -19,7 +19,6 @@ pumpkin-util = { path = "../pumpkin-util" }
uuid.workspace = true uuid.workspace = true
serde.workspace = true serde.workspace = true
thiserror.workspace = true thiserror.workspace = true
log.workspace = true
tokio.workspace = true tokio.workspace = true
bytes.workspace = true bytes.workspace = true

View File

@ -4,9 +4,7 @@ version.workspace = true
edition.workspace = true edition.workspace = true
[dependencies] [dependencies]
pumpkin-data = { path = "../pumpkin-data" }
pumpkin-protocol = { path = "../pumpkin-protocol" } pumpkin-protocol = { path = "../pumpkin-protocol" }
pumpkin-nbt = { path = "../pumpkin-nbt" }
pumpkin-util = { path = "../pumpkin-util" } pumpkin-util = { path = "../pumpkin-util" }
indexmap = { version = "2.10", features = ["serde"] } indexmap = { version = "2.10", features = ["serde"] }

View File

@ -38,7 +38,6 @@ ruzstd = "0.8.1"
itertools = "0.14.0" itertools = "0.14.0"
file-guard = "0.2" file-guard = "0.2"
indexmap = "2.10"
enum_dispatch = "0.3" enum_dispatch = "0.3"
derive-getters = "0.5.0" derive-getters = "0.5.0"

View File

@ -1,382 +1,382 @@
// Entity // Entity
pub static DATA_SHARED_FLAGS_ID: u8 = 0; pub const DATA_SHARED_FLAGS_ID: u8 = 0;
pub static DATA_AIR_SUPPLY_ID: u8 = 1; pub const DATA_AIR_SUPPLY_ID: u8 = 1;
pub static DATA_CUSTOM_NAME: u8 = 2; pub const DATA_CUSTOM_NAME: u8 = 2;
pub static DATA_CUSTOM_NAME_VISIBLE: u8 = 3; pub const DATA_CUSTOM_NAME_VISIBLE: u8 = 3;
pub static DATA_SILENT: u8 = 4; pub const DATA_SILENT: u8 = 4;
pub static DATA_NO_GRAVITY: u8 = 5; pub const DATA_NO_GRAVITY: u8 = 5;
pub static DATA_POSE: u8 = 6; pub const DATA_POSE: u8 = 6;
pub static DATA_TICKS_FROZEN: u8 = 7; pub const DATA_TICKS_FROZEN: u8 = 7;
// OminousItemSpawner // OminousItemSpawner
// DATA_ITEM // DATA_ITEM
pub static DATA_ITEM_OMINOUS_ITEM_SPAWNER: u8 = 8; pub const DATA_ITEM_OMINOUS_ITEM_SPAWNER: u8 = 8;
// LivingEntity // LivingEntity
pub static DATA_LIVING_ENTITY_FLAGS: u8 = 8; pub const DATA_LIVING_ENTITY_FLAGS: u8 = 8;
pub static DATA_HEALTH_ID: u8 = 9; pub const DATA_HEALTH_ID: u8 = 9;
pub static DATA_EFFECT_PARTICLES: u8 = 10; pub const DATA_EFFECT_PARTICLES: u8 = 10;
pub static DATA_EFFECT_AMBIENCE_ID: u8 = 11; pub const DATA_EFFECT_AMBIENCE_ID: u8 = 11;
pub static DATA_ARROW_COUNT_ID: u8 = 12; pub const DATA_ARROW_COUNT_ID: u8 = 12;
pub static DATA_STINGER_COUNT_ID: u8 = 13; pub const DATA_STINGER_COUNT_ID: u8 = 13;
pub static SLEEPING_POS_ID: u8 = 14; pub const SLEEPING_POS_ID: u8 = 14;
// Mob // Mob
pub static DATA_MOB_FLAGS_ID: u8 = 15; pub const DATA_MOB_FLAGS_ID: u8 = 15;
// PathfinderMob // PathfinderMob
// AgeableMob // AgeableMob
// DATA_BABY_ID // DATA_BABY_ID
pub static DATA_BABY_ID_AGEABLE_MOB: u8 = 16; pub const DATA_BABY_ID_AGEABLE_MOB: u8 = 16;
// Interaction // Interaction
// DATA_WIDTH_ID // DATA_WIDTH_ID
pub static DATA_WIDTH_ID_INTERACTION: u8 = 8; pub const DATA_WIDTH_ID_INTERACTION: u8 = 8;
// DATA_HEIGHT_ID // DATA_HEIGHT_ID
pub static DATA_HEIGHT_ID_INTERACTION: u8 = 9; pub const DATA_HEIGHT_ID_INTERACTION: u8 = 9;
pub static DATA_RESPONSE_ID: u8 = 10; pub const DATA_RESPONSE_ID: u8 = 10;
// Animal // Animal
// TamableAnimal // TamableAnimal
// DATA_FLAGS_ID // DATA_FLAGS_ID
pub static DATA_FLAGS_ID_TAMABLE_ANIMAL: u8 = 17; pub const DATA_FLAGS_ID_TAMABLE_ANIMAL: u8 = 17;
pub static DATA_OWNERUUID_ID: u8 = 18; pub const DATA_OWNERUUID_ID: u8 = 18;
// Display // Display
pub static DATA_TRANSFORMATION_INTERPOLATION_START_DELTA_TICKS_ID: u8 = 8; pub const DATA_TRANSFORMATION_INTERPOLATION_START_DELTA_TICKS_ID: u8 = 8;
pub static DATA_TRANSFORMATION_INTERPOLATION_DURATION_ID: u8 = 9; pub const DATA_TRANSFORMATION_INTERPOLATION_DURATION_ID: u8 = 9;
pub static DATA_POS_ROT_INTERPOLATION_DURATION_ID: u8 = 10; pub const DATA_POS_ROT_INTERPOLATION_DURATION_ID: u8 = 10;
pub static DATA_TRANSLATION_ID: u8 = 11; pub const DATA_TRANSLATION_ID: u8 = 11;
pub static DATA_SCALE_ID: u8 = 12; pub const DATA_SCALE_ID: u8 = 12;
pub static DATA_LEFT_ROTATION_ID: u8 = 13; pub const DATA_LEFT_ROTATION_ID: u8 = 13;
pub static DATA_RIGHT_ROTATION_ID: u8 = 14; pub const DATA_RIGHT_ROTATION_ID: u8 = 14;
pub static DATA_BILLBOARD_RENDER_CONSTRAINTS_ID: u8 = 15; pub const DATA_BILLBOARD_RENDER_CONSTRAINTS_ID: u8 = 15;
pub static DATA_BRIGHTNESS_OVERRIDE_ID: u8 = 16; pub const DATA_BRIGHTNESS_OVERRIDE_ID: u8 = 16;
pub static DATA_VIEW_RANGE_ID: u8 = 17; pub const DATA_VIEW_RANGE_ID: u8 = 17;
pub static DATA_SHADOW_RADIUS_ID: u8 = 18; pub const DATA_SHADOW_RADIUS_ID: u8 = 18;
pub static DATA_SHADOW_STRENGTH_ID: u8 = 19; pub const DATA_SHADOW_STRENGTH_ID: u8 = 19;
// DATA_WIDTH_ID // DATA_WIDTH_ID
pub static DATA_WIDTH_ID_DISPLAY: u8 = 20; pub const DATA_WIDTH_ID_DISPLAY: u8 = 20;
// DATA_HEIGHT_ID // DATA_HEIGHT_ID
pub static DATA_HEIGHT_ID_DISPLAY: u8 = 21; pub const DATA_HEIGHT_ID_DISPLAY: u8 = 21;
pub static DATA_GLOW_COLOR_OVERRIDE_ID: u8 = 22; pub const DATA_GLOW_COLOR_OVERRIDE_ID: u8 = 22;
// Display.BlockDisplay // Display.BlockDisplay
// DATA_BLOCK_STATE_ID // DATA_BLOCK_STATE_ID
pub static DATA_BLOCK_STATE_ID_DISPLAY_BLOCK_DISPLAY: u8 = 0; pub const DATA_BLOCK_STATE_ID_DISPLAY_BLOCK_DISPLAY: u8 = 0;
// Display.ItemDisplay // Display.ItemDisplay
pub static DATA_ITEM_STACK_ID: u8 = 0; pub const DATA_ITEM_STACK_ID: u8 = 0;
pub static DATA_ITEM_DISPLAY_ID: u8 = 1; pub const DATA_ITEM_DISPLAY_ID: u8 = 1;
// Display.TextDisplay // Display.TextDisplay
pub static DATA_TEXT_ID: u8 = 0; pub const DATA_TEXT_ID: u8 = 0;
pub static DATA_LINE_WIDTH_ID: u8 = 1; pub const DATA_LINE_WIDTH_ID: u8 = 1;
pub static DATA_BACKGROUND_COLOR_ID: u8 = 2; pub const DATA_BACKGROUND_COLOR_ID: u8 = 2;
pub static DATA_TEXT_OPACITY_ID: u8 = 3; pub const DATA_TEXT_OPACITY_ID: u8 = 3;
pub static DATA_STYLE_FLAGS_ID: u8 = 4; pub const DATA_STYLE_FLAGS_ID: u8 = 4;
// AgeableWaterCreature // AgeableWaterCreature
// Squid // Squid
// GlowSquid // GlowSquid
pub static DATA_DARK_TICKS_REMAINING: u8 = 17; pub const DATA_DARK_TICKS_REMAINING: u8 = 17;
// ExperienceOrb // ExperienceOrb
pub static DATA_VALUE: u8 = 8; pub const DATA_VALUE: u8 = 8;
// AreaEffectCloud // AreaEffectCloud
pub static DATA_RADIUS: u8 = 8; pub const DATA_RADIUS: u8 = 8;
pub static DATA_WAITING: u8 = 9; pub const DATA_WAITING: u8 = 9;
pub static DATA_PARTICLE: u8 = 10; pub const DATA_PARTICLE: u8 = 10;
// ArmorStand // ArmorStand
pub static DATA_CLIENT_FLAGS: u8 = 15; pub const DATA_CLIENT_FLAGS: u8 = 15;
pub static DATA_HEAD_POSE: u8 = 16; pub const DATA_HEAD_POSE: u8 = 16;
pub static DATA_BODY_POSE: u8 = 17; pub const DATA_BODY_POSE: u8 = 17;
pub static DATA_LEFT_ARM_POSE: u8 = 18; pub const DATA_LEFT_ARM_POSE: u8 = 18;
pub static DATA_RIGHT_ARM_POSE: u8 = 19; pub const DATA_RIGHT_ARM_POSE: u8 = 19;
pub static DATA_LEFT_LEG_POSE: u8 = 20; pub const DATA_LEFT_LEG_POSE: u8 = 20;
pub static DATA_RIGHT_LEG_POSE: u8 = 21; pub const DATA_RIGHT_LEG_POSE: u8 = 21;
// BlockAttachedEntity // BlockAttachedEntity
// HangingEntity // HangingEntity
// ItemFrame // ItemFrame
// DATA_ITEM // DATA_ITEM
pub static DATA_ITEM_ITEM_FRAME: u8 = 8; pub const DATA_ITEM_ITEM_FRAME: u8 = 8;
pub static DATA_ROTATION: u8 = 9; pub const DATA_ROTATION: u8 = 9;
// Painting // Painting
pub static DATA_PAINTING_VARIANT_ID: u8 = 8; pub const DATA_PAINTING_VARIANT_ID: u8 = 8;
// VehicleEntity // VehicleEntity
pub static DATA_ID_HURT: u8 = 8; pub const DATA_ID_HURT: u8 = 8;
pub static DATA_ID_HURTDIR: u8 = 9; pub const DATA_ID_HURTDIR: u8 = 9;
pub static DATA_ID_DAMAGE: u8 = 10; pub const DATA_ID_DAMAGE: u8 = 10;
// AbstractBoat // AbstractBoat
pub static DATA_ID_PADDLE_LEFT: u8 = 11; pub const DATA_ID_PADDLE_LEFT: u8 = 11;
pub static DATA_ID_PADDLE_RIGHT: u8 = 12; pub const DATA_ID_PADDLE_RIGHT: u8 = 12;
pub static DATA_ID_BUBBLE_TIME: u8 = 13; pub const DATA_ID_BUBBLE_TIME: u8 = 13;
// AbstractMinecart // AbstractMinecart
pub static DATA_ID_CUSTOM_DISPLAY_BLOCK: u8 = 11; pub const DATA_ID_CUSTOM_DISPLAY_BLOCK: u8 = 11;
pub static DATA_ID_DISPLAY_OFFSET: u8 = 12; pub const DATA_ID_DISPLAY_OFFSET: u8 = 12;
// MinecartFurnace // MinecartFurnace
pub static DATA_ID_FUEL: u8 = 13; pub const DATA_ID_FUEL: u8 = 13;
// MinecartCommandBlock // MinecartCommandBlock
pub static DATA_ID_COMMAND_NAME: u8 = 13; pub const DATA_ID_COMMAND_NAME: u8 = 13;
pub static DATA_ID_LAST_OUTPUT: u8 = 14; pub const DATA_ID_LAST_OUTPUT: u8 = 14;
// AmbientCreature // AmbientCreature
// Bat // Bat
// DATA_ID_FLAGS // DATA_ID_FLAGS
pub static DATA_ID_FLAGS_BAT: u8 = 16; pub const DATA_ID_FLAGS_BAT: u8 = 16;
// EndCrystal // EndCrystal
pub static DATA_BEAM_TARGET: u8 = 8; pub const DATA_BEAM_TARGET: u8 = 8;
pub static DATA_SHOW_BOTTOM: u8 = 9; pub const DATA_SHOW_BOTTOM: u8 = 9;
// EnderDragon // EnderDragon
pub static DATA_PHASE: u8 = 16; pub const DATA_PHASE: u8 = 16;
// Monster // Monster
// WitherBoss // WitherBoss
pub static DATA_TARGET_A: u8 = 16; pub const DATA_TARGET_A: u8 = 16;
pub static DATA_TARGET_B: u8 = 17; pub const DATA_TARGET_B: u8 = 17;
pub static DATA_TARGET_C: u8 = 18; pub const DATA_TARGET_C: u8 = 18;
pub static DATA_ID_INV: u8 = 19; pub const DATA_ID_INV: u8 = 19;
// Projectile // Projectile
// FishingHook // FishingHook
pub static DATA_HOOKED_ENTITY: u8 = 8; pub const DATA_HOOKED_ENTITY: u8 = 8;
pub static DATA_BITING: u8 = 9; pub const DATA_BITING: u8 = 9;
// EyeOfEnder // EyeOfEnder
// DATA_ITEM_STACK // DATA_ITEM_STACK
pub static DATA_ITEM_STACK_EYE_OF_ENDER: u8 = 8; pub const DATA_ITEM_STACK_EYE_OF_ENDER: u8 = 8;
// AbstractArrow // AbstractArrow
pub static ID_FLAGS: u8 = 8; pub const ID_FLAGS: u8 = 8;
pub static PIERCE_LEVEL: u8 = 9; pub const PIERCE_LEVEL: u8 = 9;
pub static IN_GROUND: u8 = 10; pub const IN_GROUND: u8 = 10;
// ThrownTrident // ThrownTrident
pub static ID_LOYALTY: u8 = 11; pub const ID_LOYALTY: u8 = 11;
pub static ID_FOIL: u8 = 12; pub const ID_FOIL: u8 = 12;
// Arrow // Arrow
pub static ID_EFFECT_COLOR: u8 = 11; pub const ID_EFFECT_COLOR: u8 = 11;
// AbstractHurtingProjectile // AbstractHurtingProjectile
// WitherSkull // WitherSkull
pub static DATA_DANGEROUS: u8 = 8; pub const DATA_DANGEROUS: u8 = 8;
// Fireball // Fireball
// DATA_ITEM_STACK // DATA_ITEM_STACK
pub static DATA_ITEM_STACK_FIREBALL: u8 = 8; pub const DATA_ITEM_STACK_FIREBALL: u8 = 8;
// FireworkRocketEntity // FireworkRocketEntity
pub static DATA_ID_FIREWORKS_ITEM: u8 = 8; pub const DATA_ID_FIREWORKS_ITEM: u8 = 8;
pub static DATA_ATTACHED_TO_TARGET: u8 = 9; pub const DATA_ATTACHED_TO_TARGET: u8 = 9;
pub static DATA_SHOT_AT_ANGLE: u8 = 10; pub const DATA_SHOT_AT_ANGLE: u8 = 10;
// ThrowableProjectile // ThrowableProjectile
// ThrowableItemProjectile // ThrowableItemProjectile
// DATA_ITEM_STACK // DATA_ITEM_STACK
pub static DATA_ITEM_STACK_THROWABLE_ITEM_PROJECTILE: u8 = 8; pub const DATA_ITEM_STACK_THROWABLE_ITEM_PROJECTILE: u8 = 8;
// FallingBlockEntity // FallingBlockEntity
pub static DATA_START_POS: u8 = 8; pub const DATA_START_POS: u8 = 8;
// PrimedTnt // PrimedTnt
pub static DATA_FUSE_ID: u8 = 8; pub const DATA_FUSE_ID: u8 = 8;
// DATA_BLOCK_STATE_ID // DATA_BLOCK_STATE_ID
pub static DATA_BLOCK_STATE_ID_PRIMED_TNT: u8 = 9; pub const DATA_BLOCK_STATE_ID_PRIMED_TNT: u8 = 9;
// ItemEntity // ItemEntity
// DATA_ITEM // DATA_ITEM
pub static DATA_ITEM_ITEM_ENTITY: u8 = 8; pub const DATA_ITEM_ITEM_ENTITY: u8 = 8;
// PatrollingMonster // PatrollingMonster
// Raider // Raider
pub static IS_CELEBRATING: u8 = 16; pub const IS_CELEBRATING: u8 = 16;
// Rabbit // Rabbit
// DATA_TYPE_ID // DATA_TYPE_ID
pub static DATA_TYPE_ID_RABBIT: u8 = 17; pub const DATA_TYPE_ID_RABBIT: u8 = 17;
// ShoulderRidingEntity // ShoulderRidingEntity
// Parrot // Parrot
// DATA_VARIANT_ID // DATA_VARIANT_ID
pub static DATA_VARIANT_ID_PARROT: u8 = 19; pub const DATA_VARIANT_ID_PARROT: u8 = 19;
// Turtle // Turtle
pub static HAS_EGG: u8 = 17; pub const HAS_EGG: u8 = 17;
pub static LAYING_EGG: u8 = 18; pub const LAYING_EGG: u8 = 18;
// WaterAnimal // WaterAnimal
// AbstractFish // AbstractFish
// FROM_BUCKET // FROM_BUCKET
pub static FROM_BUCKET_ABSTRACT_FISH: u8 = 16; pub const FROM_BUCKET_ABSTRACT_FISH: u8 = 16;
// Pufferfish // Pufferfish
pub static PUFF_STATE: u8 = 17; pub const PUFF_STATE: u8 = 17;
// AbstractGolem // AbstractGolem
// IronGolem // IronGolem
// DATA_FLAGS_ID // DATA_FLAGS_ID
pub static DATA_FLAGS_ID_IRON_GOLEM: u8 = 16; pub const DATA_FLAGS_ID_IRON_GOLEM: u8 = 16;
// Bee // Bee
// DATA_FLAGS_ID // DATA_FLAGS_ID
pub static DATA_FLAGS_ID_BEE: u8 = 17; pub const DATA_FLAGS_ID_BEE: u8 = 17;
// DATA_REMAINING_ANGER_TIME // DATA_REMAINING_ANGER_TIME
pub static DATA_REMAINING_ANGER_TIME_BEE: u8 = 18; pub const DATA_REMAINING_ANGER_TIME_BEE: u8 = 18;
// SnowGolem // SnowGolem
pub static DATA_PUMPKIN_ID: u8 = 16; pub const DATA_PUMPKIN_ID: u8 = 16;
// AbstractCow // AbstractCow
// Cow // Cow
// DATA_VARIANT_ID // DATA_VARIANT_ID
pub static DATA_VARIANT_ID_COW: u8 = 17; pub const DATA_VARIANT_ID_COW: u8 = 17;
// AbstractSchoolingFish // AbstractSchoolingFish
// Salmon // Salmon
// DATA_TYPE // DATA_TYPE
pub static DATA_TYPE_SALMON: u8 = 17; pub const DATA_TYPE_SALMON: u8 = 17;
// Cat // Cat
// DATA_VARIANT_ID // DATA_VARIANT_ID
pub static DATA_VARIANT_ID_CAT: u8 = 19; pub const DATA_VARIANT_ID_CAT: u8 = 19;
pub static IS_LYING: u8 = 20; pub const IS_LYING: u8 = 20;
pub static RELAX_STATE_ONE: u8 = 21; pub const RELAX_STATE_ONE: u8 = 21;
// DATA_COLLAR_COLOR // DATA_COLLAR_COLOR
pub static DATA_COLLAR_COLOR_CAT: u8 = 22; pub const DATA_COLLAR_COLOR_CAT: u8 = 22;
// PolarBear // PolarBear
pub static DATA_STANDING_ID: u8 = 17; pub const DATA_STANDING_ID: u8 = 17;
// TropicalFish // TropicalFish
// DATA_ID_TYPE_VARIANT // DATA_ID_TYPE_VARIANT
pub static DATA_ID_TYPE_VARIANT_TROPICAL_FISH: u8 = 17; pub const DATA_ID_TYPE_VARIANT_TROPICAL_FISH: u8 = 17;
// Fox // Fox
// DATA_TYPE_ID // DATA_TYPE_ID
pub static DATA_TYPE_ID_FOX: u8 = 17; pub const DATA_TYPE_ID_FOX: u8 = 17;
// DATA_FLAGS_ID // DATA_FLAGS_ID
pub static DATA_FLAGS_ID_FOX: u8 = 18; pub const DATA_FLAGS_ID_FOX: u8 = 18;
pub static DATA_TRUSTED_ID_0: u8 = 19; pub const DATA_TRUSTED_ID_0: u8 = 19;
pub static DATA_TRUSTED_ID_1: u8 = 20; pub const DATA_TRUSTED_ID_1: u8 = 20;
// Ocelot // Ocelot
pub static DATA_TRUSTING: u8 = 17; pub const DATA_TRUSTING: u8 = 17;
// Chicken // Chicken
// DATA_VARIANT_ID // DATA_VARIANT_ID
pub static DATA_VARIANT_ID_CHICKEN: u8 = 17; pub const DATA_VARIANT_ID_CHICKEN: u8 = 17;
// Panda // Panda
pub static UNHAPPY_COUNTER: u8 = 17; pub const UNHAPPY_COUNTER: u8 = 17;
pub static SNEEZE_COUNTER: u8 = 18; pub const SNEEZE_COUNTER: u8 = 18;
pub static EAT_COUNTER: u8 = 19; pub const EAT_COUNTER: u8 = 19;
pub static MAIN_GENE_ID: u8 = 20; pub const MAIN_GENE_ID: u8 = 20;
pub static HIDDEN_GENE_ID: u8 = 21; pub const HIDDEN_GENE_ID: u8 = 21;
// DATA_ID_FLAGS // DATA_ID_FLAGS
pub static DATA_ID_FLAGS_PANDA: u8 = 22; pub const DATA_ID_FLAGS_PANDA: u8 = 22;
// MushroomCow // MushroomCow
// DATA_TYPE // DATA_TYPE
pub static DATA_TYPE_MUSHROOM_COW: u8 = 17; pub const DATA_TYPE_MUSHROOM_COW: u8 = 17;
// Pig // Pig
// DATA_BOOST_TIME // DATA_BOOST_TIME
pub static DATA_BOOST_TIME_PIG: u8 = 17; pub const DATA_BOOST_TIME_PIG: u8 = 17;
// DATA_VARIANT_ID // DATA_VARIANT_ID
pub static DATA_VARIANT_ID_PIG: u8 = 18; pub const DATA_VARIANT_ID_PIG: u8 = 18;
// Dolphin // Dolphin
pub static GOT_FISH: u8 = 17; pub const GOT_FISH: u8 = 17;
pub static MOISTNESS_LEVEL: u8 = 18; pub const MOISTNESS_LEVEL: u8 = 18;
// Sniffer // Sniffer
pub static DATA_STATE: u8 = 17; pub const DATA_STATE: u8 = 17;
pub static DATA_DROP_SEED_AT_TICK: u8 = 18; pub const DATA_DROP_SEED_AT_TICK: u8 = 18;
// Allay // Allay
pub static DATA_DANCING: u8 = 16; pub const DATA_DANCING: u8 = 16;
pub static DATA_CAN_DUPLICATE: u8 = 17; pub const DATA_CAN_DUPLICATE: u8 = 17;
// Sheep // Sheep
pub static DATA_WOOL_ID: u8 = 17; pub const DATA_WOOL_ID: u8 = 17;
// AbstractHorse // AbstractHorse
// DATA_ID_FLAGS // DATA_ID_FLAGS
pub static DATA_ID_FLAGS_ABSTRACT_HORSE: u8 = 17; pub const DATA_ID_FLAGS_ABSTRACT_HORSE: u8 = 17;
// Camel // Camel
pub static DASH: u8 = 18; pub const DASH: u8 = 18;
pub static LAST_POSE_CHANGE_TICK: u8 = 19; pub const LAST_POSE_CHANGE_TICK: u8 = 19;
// Goat // Goat
pub static DATA_IS_SCREAMING_GOAT: u8 = 17; pub const DATA_IS_SCREAMING_GOAT: u8 = 17;
pub static DATA_HAS_LEFT_HORN: u8 = 18; pub const DATA_HAS_LEFT_HORN: u8 = 18;
pub static DATA_HAS_RIGHT_HORN: u8 = 19; pub const DATA_HAS_RIGHT_HORN: u8 = 19;
// Wolf // Wolf
pub static DATA_INTERESTED_ID: u8 = 19; pub const DATA_INTERESTED_ID: u8 = 19;
// DATA_COLLAR_COLOR // DATA_COLLAR_COLOR
pub static DATA_COLLAR_COLOR_WOLF: u8 = 20; pub const DATA_COLLAR_COLOR_WOLF: u8 = 20;
// DATA_REMAINING_ANGER_TIME // DATA_REMAINING_ANGER_TIME
pub static DATA_REMAINING_ANGER_TIME_WOLF: u8 = 21; pub const DATA_REMAINING_ANGER_TIME_WOLF: u8 = 21;
// DATA_VARIANT_ID // DATA_VARIANT_ID
pub static DATA_VARIANT_ID_WOLF: u8 = 22; pub const DATA_VARIANT_ID_WOLF: u8 = 22;
pub static DATA_SOUND_VARIANT_ID: u8 = 23; pub const DATA_SOUND_VARIANT_ID: u8 = 23;
// Frog // Frog
// DATA_VARIANT_ID // DATA_VARIANT_ID
pub static DATA_VARIANT_ID_FROG: u8 = 17; pub const DATA_VARIANT_ID_FROG: u8 = 17;
pub static DATA_TONGUE_TARGET_ID: u8 = 18; pub const DATA_TONGUE_TARGET_ID: u8 = 18;
// Horse // Horse
// DATA_ID_TYPE_VARIANT // DATA_ID_TYPE_VARIANT
pub static DATA_ID_TYPE_VARIANT_HORSE: u8 = 18; pub const DATA_ID_TYPE_VARIANT_HORSE: u8 = 18;
// AbstractChestedHorse // AbstractChestedHorse
pub static DATA_ID_CHEST: u8 = 18; pub const DATA_ID_CHEST: u8 = 18;
// Llama // Llama
pub static DATA_STRENGTH_ID: u8 = 19; pub const DATA_STRENGTH_ID: u8 = 19;
// DATA_VARIANT_ID // DATA_VARIANT_ID
pub static DATA_VARIANT_ID_LLAMA: u8 = 20; pub const DATA_VARIANT_ID_LLAMA: u8 = 20;
// Axolotl // Axolotl
pub static DATA_VARIANT: u8 = 17; pub const DATA_VARIANT: u8 = 17;
pub static DATA_PLAYING_DEAD: u8 = 18; pub const DATA_PLAYING_DEAD: u8 = 18;
// FROM_BUCKET // FROM_BUCKET
pub static FROM_BUCKET_AXOLOTL: u8 = 19; pub const FROM_BUCKET_AXOLOTL: u8 = 19;
// Armadillo // Armadillo
pub static ARMADILLO_STATE: u8 = 17; pub const ARMADILLO_STATE: u8 = 17;
// AbstractVillager // AbstractVillager
pub static DATA_UNHAPPY_COUNTER: u8 = 17; pub const DATA_UNHAPPY_COUNTER: u8 = 17;
// Villager // Villager
// DATA_VILLAGER_DATA // DATA_VILLAGER_DATA
pub static DATA_VILLAGER_DATA_VILLAGER: u8 = 18; pub const DATA_VILLAGER_DATA_VILLAGER: u8 = 18;
// Vex // Vex
// DATA_FLAGS_ID // DATA_FLAGS_ID
pub static DATA_FLAGS_ID_VEX: u8 = 16; pub const DATA_FLAGS_ID_VEX: u8 = 16;
// FlyingMob // FlyingMob
// Ghast // Ghast
pub static DATA_IS_CHARGING: u8 = 16; pub const DATA_IS_CHARGING: u8 = 16;
// Zoglin // Zoglin
// DATA_BABY_ID // DATA_BABY_ID
pub static DATA_BABY_ID_ZOGLIN: u8 = 16; pub const DATA_BABY_ID_ZOGLIN: u8 = 16;
// Zombie // Zombie
// DATA_BABY_ID // DATA_BABY_ID
pub static DATA_BABY_ID_ZOMBIE: u8 = 16; pub const DATA_BABY_ID_ZOMBIE: u8 = 16;
pub static DATA_SPECIAL_TYPE_ID: u8 = 17; pub const DATA_SPECIAL_TYPE_ID: u8 = 17;
pub static DATA_DROWNED_CONVERSION_ID: u8 = 18; pub const DATA_DROWNED_CONVERSION_ID: u8 = 18;
// Blaze // Blaze
// DATA_FLAGS_ID // DATA_FLAGS_ID
pub static DATA_FLAGS_ID_BLAZE: u8 = 16; pub const DATA_FLAGS_ID_BLAZE: u8 = 16;
// Guardian // Guardian
pub static DATA_ID_MOVING: u8 = 16; pub const DATA_ID_MOVING: u8 = 16;
pub static DATA_ID_ATTACK_TARGET: u8 = 17; pub const DATA_ID_ATTACK_TARGET: u8 = 17;
// Strider // Strider
// DATA_BOOST_TIME // DATA_BOOST_TIME
pub static DATA_BOOST_TIME_STRIDER: u8 = 17; pub const DATA_BOOST_TIME_STRIDER: u8 = 17;
pub static DATA_SUFFOCATING: u8 = 18; pub const DATA_SUFFOCATING: u8 = 18;
// Spider // Spider
// DATA_FLAGS_ID // DATA_FLAGS_ID
pub static DATA_FLAGS_ID_SPIDER: u8 = 16; pub const DATA_FLAGS_ID_SPIDER: u8 = 16;
// Phantom // Phantom
// ID_SIZE // ID_SIZE
pub static ID_SIZE_PHANTOM: u8 = 16; pub const ID_SIZE_PHANTOM: u8 = 16;
// AbstractSkeleton // AbstractSkeleton
// Skeleton // Skeleton
pub static DATA_STRAY_CONVERSION_ID: u8 = 16; pub const DATA_STRAY_CONVERSION_ID: u8 = 16;
// AbstractIllager // AbstractIllager
// SpellcasterIllager // SpellcasterIllager
pub static DATA_SPELL_CASTING_ID: u8 = 17; pub const DATA_SPELL_CASTING_ID: u8 = 17;
// Witch // Witch
pub static DATA_USING_ITEM: u8 = 17; pub const DATA_USING_ITEM: u8 = 17;
// Bogged // Bogged
pub static DATA_SHEARED: u8 = 16; pub const DATA_SHEARED: u8 = 16;
// Slime // Slime
// ID_SIZE // ID_SIZE
pub static ID_SIZE_SLIME: u8 = 16; pub const ID_SIZE_SLIME: u8 = 16;
// Creeper // Creeper
pub static DATA_SWELL_DIR: u8 = 16; pub const DATA_SWELL_DIR: u8 = 16;
pub static DATA_IS_POWERED: u8 = 17; pub const DATA_IS_POWERED: u8 = 17;
pub static DATA_IS_IGNITED: u8 = 18; pub const DATA_IS_IGNITED: u8 = 18;
// EnderMan // EnderMan
pub static DATA_CARRY_STATE: u8 = 16; pub const DATA_CARRY_STATE: u8 = 16;
pub static DATA_CREEPY: u8 = 17; pub const DATA_CREEPY: u8 = 17;
pub static DATA_STARED_AT: u8 = 18; pub const DATA_STARED_AT: u8 = 18;
// Pillager // Pillager
pub static IS_CHARGING_CROSSBOW: u8 = 17; pub const IS_CHARGING_CROSSBOW: u8 = 17;
// ZombieVillager // ZombieVillager
pub static DATA_CONVERTING_ID: u8 = 19; pub const DATA_CONVERTING_ID: u8 = 19;
// DATA_VILLAGER_DATA // DATA_VILLAGER_DATA
pub static DATA_VILLAGER_DATA_ZOMBIE_VILLAGER: u8 = 20; pub const DATA_VILLAGER_DATA_ZOMBIE_VILLAGER: u8 = 20;
// Shulker // Shulker
pub static DATA_ATTACH_FACE_ID: u8 = 16; pub const DATA_ATTACH_FACE_ID: u8 = 16;
pub static DATA_PEEK_ID: u8 = 17; pub const DATA_PEEK_ID: u8 = 17;
pub static DATA_COLOR_ID: u8 = 18; pub const DATA_COLOR_ID: u8 = 18;
// Creaking // Creaking
pub static CAN_MOVE: u8 = 16; pub const CAN_MOVE: u8 = 16;
pub static IS_ACTIVE: u8 = 17; pub const IS_ACTIVE: u8 = 17;
pub static IS_TEARING_DOWN: u8 = 18; pub const IS_TEARING_DOWN: u8 = 18;
pub static HOME_POS: u8 = 19; pub const HOME_POS: u8 = 19;
// AbstractPiglin // AbstractPiglin
// DATA_IMMUNE_TO_ZOMBIFICATION // DATA_IMMUNE_TO_ZOMBIFICATION
pub static DATA_IMMUNE_TO_ZOMBIFICATION_ABSTRACT_PIGLIN: u8 = 16; pub const DATA_IMMUNE_TO_ZOMBIFICATION_ABSTRACT_PIGLIN: u8 = 16;
// Piglin // Piglin
// DATA_BABY_ID // DATA_BABY_ID
pub static DATA_BABY_ID_PIGLIN: u8 = 17; pub const DATA_BABY_ID_PIGLIN: u8 = 17;
pub static DATA_IS_CHARGING_CROSSBOW: u8 = 18; pub const DATA_IS_CHARGING_CROSSBOW: u8 = 18;
pub static DATA_IS_DANCING: u8 = 19; pub const DATA_IS_DANCING: u8 = 19;
// Hoglin // Hoglin
// DATA_IMMUNE_TO_ZOMBIFICATION // DATA_IMMUNE_TO_ZOMBIFICATION
pub static DATA_IMMUNE_TO_ZOMBIFICATION_HOGLIN: u8 = 17; pub const DATA_IMMUNE_TO_ZOMBIFICATION_HOGLIN: u8 = 17;
// Warden // Warden
pub static CLIENT_ANGER_LEVEL: u8 = 16; pub const CLIENT_ANGER_LEVEL: u8 = 16;
// Player // Player
pub static DATA_PLAYER_ABSORPTION_ID: u8 = 15; pub const DATA_PLAYER_ABSORPTION_ID: u8 = 15;
pub static DATA_SCORE_ID: u8 = 16; pub const DATA_SCORE_ID: u8 = 16;
pub static DATA_PLAYER_MODE_CUSTOMISATION: u8 = 17; pub const DATA_PLAYER_MODE_CUSTOMISATION: u8 = 17;
pub static DATA_PLAYER_MAIN_HAND: u8 = 18; pub const DATA_PLAYER_MAIN_HAND: u8 = 18;
pub static DATA_SHOULDER_LEFT: u8 = 19; pub const DATA_SHOULDER_LEFT: u8 = 19;
pub static DATA_SHOULDER_RIGHT: u8 = 20; pub const DATA_SHOULDER_RIGHT: u8 = 20;

View File

@ -74,7 +74,6 @@ time = "0.3"
# plugins # plugins
libloading = "0.8" libloading = "0.8"
bitflags = "2.9.1"
rustc-hash = "2.1.1" rustc-hash = "2.1.1"
# Task handling # Task handling

View File

@ -76,6 +76,7 @@ impl BlockRegistry {
pub fn register<T: PumpkinBlock + BlockMetadata + 'static>(&mut self, block: T) { pub fn register<T: PumpkinBlock + BlockMetadata + 'static>(&mut self, block: T) {
let names = block.names(); let names = block.names();
let val = Arc::new(block); let val = Arc::new(block);
self.blocks.reserve(names.len());
for i in names { for i in names {
self.blocks.insert( self.blocks.insert(
block_properties::get_block(i.as_str()).unwrap(), block_properties::get_block(i.as_str()).unwrap(),
@ -87,6 +88,7 @@ impl BlockRegistry {
pub fn register_fluid<T: PumpkinFluid + BlockMetadata + 'static>(&mut self, fluid: T) { pub fn register_fluid<T: PumpkinFluid + BlockMetadata + 'static>(&mut self, fluid: T) {
let names = fluid.names(); let names = fluid.names();
let val = Arc::new(fluid); let val = Arc::new(fluid);
self.fluids.reserve(names.len());
for i in names { for i in names {
self.fluids self.fluids
.insert(fluid::get_fluid(i.as_str()).unwrap(), val.clone()); .insert(fluid::get_fluid(i.as_str()).unwrap(), val.clone());

View File

@ -17,6 +17,7 @@ pub struct ItemRegistry {
impl ItemRegistry { impl ItemRegistry {
pub fn register<T: PumpkinItem + ItemMetadata + 'static>(&mut self, item: T) { pub fn register<T: PumpkinItem + ItemMetadata + 'static>(&mut self, item: T) {
let val = Arc::new(item); let val = Arc::new(item);
self.items.reserve(T::ids().len());
for i in T::ids() { for i in T::ids() {
self.items.insert(Item::from_id(i).unwrap(), val.clone()); self.items.insert(Item::from_id(i).unwrap(), val.clone());
} }

View File

@ -41,7 +41,7 @@ impl GzipRollingLogger {
let mut file = File::open(format!("logs/{filename}"))?; let mut file = File::open(format!("logs/{filename}"))?;
let mut encoder = GzEncoder::new( let mut encoder = GzEncoder::new(
BufWriter::new(File::create(&new_filename)?), BufWriter::new(File::create(&new_filename)?),
flate2::Compression::default(), flate2::Compression::best(),
); );
println!("logs/{filename}"); println!("logs/{filename}");
std::io::copy(&mut file, &mut encoder)?; std::io::copy(&mut file, &mut encoder)?;
@ -90,7 +90,7 @@ impl GzipRollingLogger {
let mut file = File::open(format!("logs/{}", data.latest_filename))?; let mut file = File::open(format!("logs/{}", data.latest_filename))?;
let mut encoder = GzEncoder::new( let mut encoder = GzEncoder::new(
BufWriter::new(File::create(format!("logs/{new_filename}"))?), BufWriter::new(File::create(format!("logs/{new_filename}"))?),
flate2::Compression::default(), flate2::Compression::best(),
); );
std::io::copy(&mut file, &mut encoder)?; std::io::copy(&mut file, &mut encoder)?;
encoder.finish()?; encoder.finish()?;