chore: update bug report template
This commit is contained in:
parent
27d485a934
commit
a2263c55cc
2
.github/FUNDING.yml
vendored
2
.github/FUNDING.yml
vendored
@ -1,3 +1,3 @@
|
|||||||
# These are supported funding model platforms
|
# These are supported funding model platforms
|
||||||
|
|
||||||
github: [ Snowiiii ]
|
custom: ["https://pumpkinmc.org/donate/"]
|
||||||
65
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
65
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
@ -1,50 +1,61 @@
|
|||||||
name: "Bug report"
|
name: "Bug Report"
|
||||||
description: "Create a bug report to help us improve"
|
description: "File a bug report to help us improve"
|
||||||
labels: ["bug"]
|
labels: ["bug"]
|
||||||
assignees: Snowiiii
|
assignees: ["Snowiiii"]
|
||||||
body:
|
body:
|
||||||
- type: checkboxes
|
- type: checkboxes
|
||||||
id: duplicate
|
id: duplicate
|
||||||
attributes:
|
attributes:
|
||||||
label: "I've searched existing issues and couldn't find a duplicate."
|
label: "Before Submitting"
|
||||||
description: "I confirm this is not a duplicate."
|
|
||||||
options:
|
options:
|
||||||
- label: "I confirm this is not a duplicate."
|
- label: "I have searched existing issues and confirmed this is not a duplicate."
|
||||||
required: true
|
required: true
|
||||||
- type: input
|
|
||||||
id: os
|
- type: dropdown
|
||||||
|
id: edition
|
||||||
attributes:
|
attributes:
|
||||||
label: Operating System
|
label: "Minecraft Edition"
|
||||||
description: "What operating system are you using?"
|
description: "Which edition of Minecraft does this bug affect?"
|
||||||
placeholder: "Example: macOS Big Sur"
|
options:
|
||||||
|
- "Java Edition"
|
||||||
|
- "Bedrock Edition"
|
||||||
|
- "Both / Crossplay"
|
||||||
validations:
|
validations:
|
||||||
required: true
|
required: true
|
||||||
|
|
||||||
- type: input
|
- type: input
|
||||||
id: version
|
id: version
|
||||||
attributes:
|
attributes:
|
||||||
label: "Server Software Version/Commit"
|
label: "Server Version / Commit"
|
||||||
description: "What Server Software Version/Commit are you using?. (Tip: Use the /pumpkin command)"
|
description: "Provide your server version (Tip: Run `/pumpkin`)."
|
||||||
placeholder: "Example: 1.0.0/39b4cb3"
|
placeholder: "e.g., 1.0.0/39b4cb3"
|
||||||
validations:
|
validations:
|
||||||
required: true
|
required: true
|
||||||
- type: textarea
|
|
||||||
id: what-happened
|
- type: input
|
||||||
|
id: os
|
||||||
attributes:
|
attributes:
|
||||||
label: "What happened?"
|
label: "Operating System"
|
||||||
description: "A clear and concise description of what the bug is."
|
placeholder: "e.g., Windows 11, Ubuntu 22.04, macOS"
|
||||||
validations:
|
validations:
|
||||||
required: true
|
required: true
|
||||||
|
|
||||||
|
- type: textarea
|
||||||
|
id: description
|
||||||
|
attributes:
|
||||||
|
label: "Bug Description & Expected Behavior"
|
||||||
|
description: "What is currently happening, and what did you expect to happen instead?"
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
|
||||||
- type: textarea
|
- type: textarea
|
||||||
id: to-reproduce
|
id: to-reproduce
|
||||||
attributes:
|
attributes:
|
||||||
label: "To Reproduce"
|
label: "Steps to Reproduce"
|
||||||
description: "Steps to reproduce the behavior"
|
description: "Please provide a clear, step-by-step list to replicate the issue."
|
||||||
validations:
|
placeholder: |
|
||||||
required: true
|
1. Go to...
|
||||||
- type: textarea
|
2. Click on...
|
||||||
id: expected-behavior
|
3. See error...
|
||||||
attributes:
|
|
||||||
label: "Expected behavior"
|
|
||||||
description: "A clear and concise description of what you expected to happen."
|
|
||||||
validations:
|
validations:
|
||||||
required: true
|
required: true
|
||||||
3
.github/PULL_REQUEST_TEMPLATE.md
vendored
3
.github/PULL_REQUEST_TEMPLATE.md
vendored
@ -1,4 +1,5 @@
|
|||||||
<!-- Empty or bad Descriptions are not welcome, Don't waste my time -->
|
<!-- Follow the Conventional Commits spec: <https://www.conventionalcommits.org/en/v1.0.0/> -->
|
||||||
|
<!-- Empty or bad descriptions are not welcome. Don't waste my time -->
|
||||||
|
|
||||||
## Description
|
## Description
|
||||||
|
|
||||||
|
|||||||
32
Cargo.lock
generated
32
Cargo.lock
generated
@ -93,9 +93,9 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "async-compression"
|
name = "async-compression"
|
||||||
version = "0.4.42"
|
version = "0.4.43"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "e79b3f8a79cccc2898f31920fc69f304859b3bd567490f75ebf51ae1c792a9ac"
|
checksum = "3976abdc8fe7d1133d43d304afd42abdf5bc3e1319d263d223bde07b5efc4be8"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"compression-codecs",
|
"compression-codecs",
|
||||||
"compression-core",
|
"compression-core",
|
||||||
@ -268,7 +268,7 @@ dependencies = [
|
|||||||
"cap-primitives",
|
"cap-primitives",
|
||||||
"cap-std",
|
"cap-std",
|
||||||
"io-lifetimes 3.0.1",
|
"io-lifetimes 3.0.1",
|
||||||
"windows-sys 0.61.2",
|
"windows-sys 0.60.2",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -285,7 +285,7 @@ dependencies = [
|
|||||||
"maybe-owned",
|
"maybe-owned",
|
||||||
"rustix",
|
"rustix",
|
||||||
"rustix-linux-procfs",
|
"rustix-linux-procfs",
|
||||||
"windows-sys 0.61.2",
|
"windows-sys 0.60.2",
|
||||||
"winx",
|
"winx",
|
||||||
]
|
]
|
||||||
|
|
||||||
@ -450,7 +450,7 @@ version = "3.1.1"
|
|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "faf9468729b8cbcea668e36183cb69d317348c2e08e994829fb56ebfdfbaac34"
|
checksum = "faf9468729b8cbcea668e36183cb69d317348c2e08e994829fb56ebfdfbaac34"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"windows-sys 0.61.2",
|
"windows-sys 0.52.0",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -1106,7 +1106,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|||||||
checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb"
|
checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"libc",
|
"libc",
|
||||||
"windows-sys 0.61.2",
|
"windows-sys 0.52.0",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -2093,7 +2093,7 @@ version = "0.50.3"
|
|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "7957b9740744892f114936ab4a57b3f487491bbeafaf8083688b16841a4240e5"
|
checksum = "7957b9740744892f114936ab4a57b3f487491bbeafaf8083688b16841a4240e5"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"windows-sys 0.61.2",
|
"windows-sys 0.59.0",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -3018,7 +3018,7 @@ dependencies = [
|
|||||||
"errno",
|
"errno",
|
||||||
"libc",
|
"libc",
|
||||||
"linux-raw-sys",
|
"linux-raw-sys",
|
||||||
"windows-sys 0.61.2",
|
"windows-sys 0.52.0",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -3093,9 +3093,9 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "ruzstd"
|
name = "ruzstd"
|
||||||
version = "0.8.3"
|
version = "0.9.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "a7c1c839d570d835527c9a5e4db7cb2198683a988cb9d7293fc8674e6bd58fc8"
|
checksum = "a252f5e20f038fe7b4ea53e073e65398d652c864cc162fc77c56c2f13717b888"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "same-file"
|
name = "same-file"
|
||||||
@ -3331,7 +3331,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|||||||
checksum = "c3d1e2c7f27f8d4cb10542a02c49005dbd6e93095799d6f3be745fae9f8fedd4"
|
checksum = "c3d1e2c7f27f8d4cb10542a02c49005dbd6e93095799d6f3be745fae9f8fedd4"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"libc",
|
"libc",
|
||||||
"windows-sys 0.61.2",
|
"windows-sys 0.60.2",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -3445,7 +3445,7 @@ dependencies = [
|
|||||||
"fastrand",
|
"fastrand",
|
||||||
"once_cell",
|
"once_cell",
|
||||||
"rustix",
|
"rustix",
|
||||||
"windows-sys 0.61.2",
|
"windows-sys 0.52.0",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -3577,13 +3577,13 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "tokio-macros"
|
name = "tokio-macros"
|
||||||
version = "2.7.1"
|
version = "2.7.2"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "6328af13490e73a9b4694030fafd93f8c8c6a9dede33e821c3fc63eddf8042ba"
|
checksum = "78773a2a397f451582ce068015985c33193cf6dea8b74d2a639fe457b2f07b0e"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"proc-macro2",
|
"proc-macro2",
|
||||||
"quote",
|
"quote",
|
||||||
"syn 2.0.119",
|
"syn 3.0.3",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -4411,7 +4411,7 @@ version = "0.1.11"
|
|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22"
|
checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"windows-sys 0.61.2",
|
"windows-sys 0.52.0",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
|
|||||||
@ -118,7 +118,7 @@ serde_json = { version = "1.0", default-features = false, features = ["std"] }
|
|||||||
tempfile = { version = "3.27.0", default-features = false }
|
tempfile = { version = "3.27.0", default-features = false }
|
||||||
proc-macro-error2 = { version = "2", default-features = false }
|
proc-macro-error2 = { version = "2", default-features = false }
|
||||||
aes = { version = "0.9", default-features = false }
|
aes = { version = "0.9", default-features = false }
|
||||||
async-compression = { version = "0.4.42", default-features = false }
|
async-compression = { version = "0.4.43", default-features = false }
|
||||||
base64 = { version = "0.23.0", default-features = false, features = ["std"] }
|
base64 = { version = "0.23.0", default-features = false, features = ["std"] }
|
||||||
bitflags = { version = "2.13.1", default-features = false, features = ["std"] }
|
bitflags = { version = "2.13.1", default-features = false, features = ["std"] }
|
||||||
cesu8 = { version = "1.1", default-features = false }
|
cesu8 = { version = "1.1", default-features = false }
|
||||||
@ -164,7 +164,7 @@ rsa = { version = "=0.10.0-rc.18", default-features = false, features = ["std",
|
|||||||
cipher = { version = "0.5.2", default-features = false }
|
cipher = { version = "0.5.2", default-features = false }
|
||||||
rustc-hash = { version = "2.1.3", default-features = false, features = ["std"] }
|
rustc-hash = { version = "2.1.3", default-features = false, features = ["std"] }
|
||||||
rustyline = { version = "18.0.1", default-features = false, features = ["with-file-history"] }
|
rustyline = { version = "18.0.1", default-features = false, features = ["with-file-history"] }
|
||||||
ruzstd = { version = "0.8.3", default-features = false, features = ["std"] }
|
ruzstd = { version = "0.9.0", default-features = false, features = ["std"] }
|
||||||
sha1 = { version = "=0.11.0", default-features = false, features = ["oid"] }
|
sha1 = { version = "=0.11.0", default-features = false, features = ["oid"] }
|
||||||
sha2 = { version = "=0.11.0", default-features = false, features = ["oid"] }
|
sha2 = { version = "=0.11.0", default-features = false, features = ["oid"] }
|
||||||
signature = { version = "3.0.0", default-features = false, features = ["std"] }
|
signature = { version = "3.0.0", default-features = false, features = ["std"] }
|
||||||
|
|||||||
@ -29,7 +29,7 @@ static SEED_UNIQUIFIER: AtomicU64 = AtomicU64::new(8682522807148012u64);
|
|||||||
/// A 64-bit seed value suitable for initializing random number generators.
|
/// A 64-bit seed value suitable for initializing random number generators.
|
||||||
pub fn get_seed() -> u64 {
|
pub fn get_seed() -> u64 {
|
||||||
let seed = SEED_UNIQUIFIER
|
let seed = SEED_UNIQUIFIER
|
||||||
.fetch_update(Ordering::Relaxed, Ordering::Relaxed, |val| {
|
.try_update(Ordering::Relaxed, Ordering::Relaxed, |val| {
|
||||||
Some(val.wrapping_mul(1181783497276652981u64))
|
Some(val.wrapping_mul(1181783497276652981u64))
|
||||||
})
|
})
|
||||||
.unwrap();
|
.unwrap();
|
||||||
|
|||||||
@ -306,11 +306,10 @@ impl JigsawPlacement {
|
|||||||
let delta_y = source_jigsaw_local_y - target_jigsaw_local_y
|
let delta_y = source_jigsaw_local_y - target_jigsaw_local_y
|
||||||
+ source_facing.to_vector().y;
|
+ source_facing.to_vector().y;
|
||||||
|
|
||||||
let target_box_y;
|
|
||||||
let mut source_jigsaw_base_height = i32::MIN;
|
let mut source_jigsaw_base_height = i32::MIN;
|
||||||
|
|
||||||
if source_rigid && target_rigid {
|
let target_box_y = if source_rigid && target_rigid {
|
||||||
target_box_y = source_box.min.y + delta_y;
|
source_box.min.y + delta_y
|
||||||
} else {
|
} else {
|
||||||
if source_jigsaw_base_height == i32::MIN {
|
if source_jigsaw_base_height == i32::MIN {
|
||||||
source_jigsaw_base_height =
|
source_jigsaw_base_height =
|
||||||
@ -328,9 +327,8 @@ impl JigsawPlacement {
|
|||||||
source_jigsaw_pos.0.y
|
source_jigsaw_pos.0.y
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
target_box_y =
|
source_jigsaw_base_height - target_jigsaw_local_y
|
||||||
source_jigsaw_base_height - target_jigsaw_local_y;
|
};
|
||||||
}
|
|
||||||
|
|
||||||
let raw_target_pos = BlockPos::new(
|
let raw_target_pos = BlockPos::new(
|
||||||
target_jigsaw_pos.0.x - target_jigsaw_local_pos.x,
|
target_jigsaw_pos.0.x - target_jigsaw_local_pos.x,
|
||||||
|
|||||||
@ -25,7 +25,7 @@ fn ring_bell(position: BlockPos, world: &Arc<World>, hit_direction: Option<Horiz
|
|||||||
let (block, state_id) = world.get_block_and_state_id(&position);
|
let (block, state_id) = world.get_block_and_state_id(&position);
|
||||||
|
|
||||||
let props = BellLikeProperties::from_state_id(state_id, block);
|
let props = BellLikeProperties::from_state_id(state_id, block);
|
||||||
let direction = hit_direction.map_or(props.facing, |direction3| direction3);
|
let direction = hit_direction.unwrap_or(props.facing);
|
||||||
|
|
||||||
if let Some(block_entity) = world.get_block_entity(&position)
|
if let Some(block_entity) = world.get_block_entity(&position)
|
||||||
&& let Some(be) = block_entity.as_any().downcast_ref::<BellBlockEntity>()
|
&& let Some(be) = block_entity.as_any().downcast_ref::<BellBlockEntity>()
|
||||||
|
|||||||
@ -53,9 +53,8 @@ impl BlockBehaviour for RedstoneWireBlock {
|
|||||||
Box::pin(async move {
|
Box::pin(async move {
|
||||||
let mut wire = RedstoneWireProperties::from_state_id(args.state_id, args.block);
|
let mut wire = RedstoneWireProperties::from_state_id(args.state_id, args.block);
|
||||||
let old_state = wire;
|
let old_state = wire;
|
||||||
let new_side: WireConnection;
|
|
||||||
|
|
||||||
match args.direction {
|
let new_side: WireConnection = match args.direction {
|
||||||
BlockDirection::Up => {
|
BlockDirection::Up => {
|
||||||
return args.state_id;
|
return args.state_id;
|
||||||
}
|
}
|
||||||
@ -67,24 +66,24 @@ impl BlockBehaviour for RedstoneWireBlock {
|
|||||||
BlockDirection::North => {
|
BlockDirection::North => {
|
||||||
let side = get_side(args.world, args.position, BlockDirection::North).await;
|
let side = get_side(args.world, args.position, BlockDirection::North).await;
|
||||||
wire.north = side.to_north();
|
wire.north = side.to_north();
|
||||||
new_side = side;
|
side
|
||||||
}
|
}
|
||||||
BlockDirection::South => {
|
BlockDirection::South => {
|
||||||
let side = get_side(args.world, args.position, BlockDirection::South).await;
|
let side = get_side(args.world, args.position, BlockDirection::South).await;
|
||||||
wire.south = side.to_south();
|
wire.south = side.to_south();
|
||||||
new_side = side;
|
side
|
||||||
}
|
}
|
||||||
BlockDirection::East => {
|
BlockDirection::East => {
|
||||||
let side = get_side(args.world, args.position, BlockDirection::East).await;
|
let side = get_side(args.world, args.position, BlockDirection::East).await;
|
||||||
wire.east = side.to_east();
|
wire.east = side.to_east();
|
||||||
new_side = side;
|
side
|
||||||
}
|
}
|
||||||
BlockDirection::West => {
|
BlockDirection::West => {
|
||||||
let side = get_side(args.world, args.position, BlockDirection::West).await;
|
let side = get_side(args.world, args.position, BlockDirection::West).await;
|
||||||
wire.west = side.to_west();
|
wire.west = side.to_west();
|
||||||
new_side = side;
|
side
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
|
|
||||||
wire = get_regulated_sides(wire, args.world, args.position).await;
|
wire = get_regulated_sides(wire, args.world, args.position).await;
|
||||||
wire.power = calculate_power(args.world, args.position).await;
|
wire.power = calculate_power(args.world, args.position).await;
|
||||||
|
|||||||
@ -451,7 +451,7 @@ macro_rules! impl_block_entity_for_cooking {
|
|||||||
}
|
}
|
||||||
} else if !self.is_burning() && self.get_cooking_time_spent() > 0 {
|
} else if !self.is_burning() && self.get_cooking_time_spent() > 0 {
|
||||||
self.cooking_time_spent
|
self.cooking_time_spent
|
||||||
.fetch_update(Ordering::Acquire, Ordering::Acquire, |v| {
|
.try_update(Ordering::Acquire, Ordering::Acquire, |v| {
|
||||||
Some(
|
Some(
|
||||||
v.saturating_sub(2)
|
v.saturating_sub(2)
|
||||||
.min(self.cooking_total_time.load(Ordering::Acquire)),
|
.min(self.cooking_total_time.load(Ordering::Acquire)),
|
||||||
|
|||||||
@ -238,7 +238,7 @@ impl ItemEntity {
|
|||||||
|
|
||||||
fn decrement_pickup_delay(&self) {
|
fn decrement_pickup_delay(&self) {
|
||||||
self.pickup_delay
|
self.pickup_delay
|
||||||
.fetch_update(Ordering::Relaxed, Ordering::Relaxed, |val| {
|
.try_update(Ordering::Relaxed, Ordering::Relaxed, |val| {
|
||||||
Some(val.saturating_sub(1))
|
Some(val.saturating_sub(1))
|
||||||
})
|
})
|
||||||
.ok();
|
.ok();
|
||||||
|
|||||||
@ -61,9 +61,9 @@ impl ShulkerBulletEntity {
|
|||||||
// Position at the center of the shulker's bounding box
|
// Position at the center of the shulker's bounding box
|
||||||
let bb = owner.bounding_box.load();
|
let bb = owner.bounding_box.load();
|
||||||
let origin = Vector3::new(
|
let origin = Vector3::new(
|
||||||
(bb.min.x + bb.max.x) * 0.5,
|
f64::midpoint(bb.min.x, bb.max.x),
|
||||||
(bb.min.y + bb.max.y) * 0.5,
|
f64::midpoint(bb.min.y, bb.max.y),
|
||||||
(bb.min.z + bb.max.z) * 0.5,
|
f64::midpoint(bb.min.z, bb.max.z),
|
||||||
);
|
);
|
||||||
|
|
||||||
let entity = Entity::from_uuid(
|
let entity = Entity::from_uuid(
|
||||||
|
|||||||
@ -186,9 +186,8 @@ pub fn stop_or_exit_server() {
|
|||||||
if SERVER_IS_STOPPING.load(Ordering::Acquire) {
|
if SERVER_IS_STOPPING.load(Ordering::Acquire) {
|
||||||
// Server is already stopping, so we forcefully exit.
|
// Server is already stopping, so we forcefully exit.
|
||||||
exit(SERVER_EXIT_CODE.load(Ordering::Acquire));
|
exit(SERVER_EXIT_CODE.load(Ordering::Acquire));
|
||||||
} else {
|
|
||||||
stop_server();
|
|
||||||
}
|
}
|
||||||
|
stop_server();
|
||||||
}
|
}
|
||||||
|
|
||||||
fn resolve_some<T: Future, D, F: FnOnce(D) -> T>(
|
fn resolve_some<T: Future, D, F: FnOnce(D) -> T>(
|
||||||
|
|||||||
@ -155,15 +155,14 @@ impl CustomBossbars {
|
|||||||
}
|
}
|
||||||
|
|
||||||
let ratio = f64::from(value) / f64::from(max_value);
|
let ratio = f64::from(value) / f64::from(max_value);
|
||||||
let health: f32;
|
|
||||||
|
|
||||||
if ratio < 0.0 {
|
let health: f32 = if ratio < 0.0 {
|
||||||
health = 0.0;
|
0.0
|
||||||
} else if ratio > 1.0 {
|
} else if ratio > 1.0 {
|
||||||
health = 1.0;
|
1.0
|
||||||
} else {
|
} else {
|
||||||
health = ratio as f32;
|
ratio as f32
|
||||||
}
|
};
|
||||||
|
|
||||||
bossbar.value = value;
|
bossbar.value = value;
|
||||||
bossbar.max = max_value;
|
bossbar.max = max_value;
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user