mirror of
https://github.com/PaperMC/Paper.git
synced 2025-12-05 13:04:44 +01:00
Add back AttackRange defaults instance
This commit is contained in:
parent
226b6c6d8e
commit
2030c42420
@ -0,0 +1,24 @@
|
||||
--- a/net/minecraft/world/item/component/AttackRange.java
|
||||
+++ b/net/minecraft/world/item/component/AttackRange.java
|
||||
@@ -25,14 +_,15 @@
|
||||
import net.minecraft.world.phys.Vec3;
|
||||
|
||||
public record AttackRange(float minRange, float maxRange, float minCreativeRange, float maxCreativeRange, float hitboxMargin, float mobFactor) {
|
||||
+ public static final AttackRange CODEC_DEFAULT = new AttackRange(0.0F, 3.0F, 0.0F, 5.0F, 0.3F, 1.0F); // Paper - add back defaults instance
|
||||
public static final Codec<AttackRange> CODEC = RecordCodecBuilder.create(
|
||||
instance -> instance.group(
|
||||
- ExtraCodecs.floatRange(0.0F, 64.0F).optionalFieldOf("min_reach", 0.0F).forGetter(AttackRange::minRange),
|
||||
- ExtraCodecs.floatRange(0.0F, 64.0F).optionalFieldOf("max_reach", 3.0F).forGetter(AttackRange::maxRange),
|
||||
- ExtraCodecs.floatRange(0.0F, 64.0F).optionalFieldOf("min_creative_reach", 0.0F).forGetter(AttackRange::minCreativeRange),
|
||||
- ExtraCodecs.floatRange(0.0F, 64.0F).optionalFieldOf("max_creative_reach", 5.0F).forGetter(AttackRange::maxCreativeRange),
|
||||
- ExtraCodecs.floatRange(0.0F, 1.0F).optionalFieldOf("hitbox_margin", 0.3F).forGetter(AttackRange::hitboxMargin),
|
||||
- Codec.floatRange(0.0F, 2.0F).optionalFieldOf("mob_factor", 1.0F).forGetter(AttackRange::mobFactor)
|
||||
+ ExtraCodecs.floatRange(0.0F, 64.0F).optionalFieldOf("min_reach", 0.0F).forGetter(AttackRange::minRange), // Paper - diff on change: used in CODEC_DEFAULT above
|
||||
+ ExtraCodecs.floatRange(0.0F, 64.0F).optionalFieldOf("max_reach", 3.0F).forGetter(AttackRange::maxRange), // Paper - diff on change: used in CODEC_DEFAULT above
|
||||
+ ExtraCodecs.floatRange(0.0F, 64.0F).optionalFieldOf("min_creative_reach", 0.0F).forGetter(AttackRange::minCreativeRange), // Paper - diff on change: used in CODEC_DEFAULT above
|
||||
+ ExtraCodecs.floatRange(0.0F, 64.0F).optionalFieldOf("max_creative_reach", 5.0F).forGetter(AttackRange::maxCreativeRange), // Paper - diff on change: used in CODEC_DEFAULT above
|
||||
+ ExtraCodecs.floatRange(0.0F, 1.0F).optionalFieldOf("hitbox_margin", 0.3F).forGetter(AttackRange::hitboxMargin), // Paper - diff on change: used in CODEC_DEFAULT above
|
||||
+ Codec.floatRange(0.0F, 2.0F).optionalFieldOf("mob_factor", 1.0F).forGetter(AttackRange::mobFactor) // Paper - diff on change: used in CODEC_DEFAULT above
|
||||
)
|
||||
.apply(instance, AttackRange::new)
|
||||
);
|
||||
@ -2,7 +2,6 @@ package io.papermc.paper.datacomponent.item;
|
||||
|
||||
import com.google.common.base.Preconditions;
|
||||
import org.bukkit.craftbukkit.util.Handleable;
|
||||
import org.jetbrains.annotations.Range;
|
||||
|
||||
public record PaperAttackRange(
|
||||
net.minecraft.world.item.component.AttackRange impl
|
||||
@ -45,12 +44,12 @@ public record PaperAttackRange(
|
||||
|
||||
static final class BuilderImpl implements AttackRange.Builder {
|
||||
|
||||
private float minReach = -1;
|
||||
private float maxReach = -1;
|
||||
private float minCreativeReach = -1;
|
||||
private float maxCreativeReach = -1;
|
||||
private float hitboxMargin = -1;
|
||||
private float mobFactor = -1;
|
||||
private float minReach = net.minecraft.world.item.component.AttackRange.CODEC_DEFAULT.minRange();
|
||||
private float maxReach = net.minecraft.world.item.component.AttackRange.CODEC_DEFAULT.maxRange();
|
||||
private float minCreativeReach = net.minecraft.world.item.component.AttackRange.CODEC_DEFAULT.minCreativeRange();
|
||||
private float maxCreativeReach = net.minecraft.world.item.component.AttackRange.CODEC_DEFAULT.maxCreativeRange();
|
||||
private float hitboxMargin = net.minecraft.world.item.component.AttackRange.CODEC_DEFAULT.hitboxMargin();
|
||||
private float mobFactor = net.minecraft.world.item.component.AttackRange.CODEC_DEFAULT.mobFactor();
|
||||
|
||||
@Override
|
||||
public AttackRange.Builder minReach(final float minReach) {
|
||||
@ -96,12 +95,6 @@ public record PaperAttackRange(
|
||||
|
||||
@Override
|
||||
public AttackRange build() {
|
||||
Preconditions.checkArgument(this.minReach >= 0.0F, "minReach must be set");
|
||||
Preconditions.checkArgument(this.maxReach >= 0.0F, "maxReach must be set");
|
||||
Preconditions.checkArgument(this.minCreativeReach >= 0.0F, "minCreativeReach must be set");
|
||||
Preconditions.checkArgument(this.maxCreativeReach >= 0.0F, "maxCreativeReach must be set");
|
||||
Preconditions.checkArgument(this.hitboxMargin >= 0.0F, "hitboxMargin must be set");
|
||||
Preconditions.checkArgument(this.mobFactor >= 0.0F, "mobFactor must be set");
|
||||
return new PaperAttackRange(
|
||||
new net.minecraft.world.item.component.AttackRange(
|
||||
this.minReach,
|
||||
|
||||
Loading…
Reference in New Issue
Block a user