geforkt von Mirrors/Paper
9147456fc9
Upstream has released updates that appear to apply and compile correctly. This update has not been tested by PaperMC and as with ANY update, please do your own testing CraftBukkit Changes: ab8ace685 SPIGOT-7236: Bone meal doesn't increase use statistic 7dcb59b8e Avoid switch on material in previous commit Spigot Changes: 19641c75 SPIGOT-7235: World.Spigot#strikeLightningEffect doesn't do anything
58 Zeilen
2.7 KiB
Diff
58 Zeilen
2.7 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Jake Potrebic <jake.m.potrebic@gmail.com>
|
|
Date: Thu, 4 Nov 2021 11:50:40 -0700
|
|
Subject: [PATCH] Add isCollidable methods to various places
|
|
|
|
== AT ==
|
|
public net.minecraft.world.level.block.state.BlockBehaviour hasCollision
|
|
|
|
diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java
|
|
index 60aa47a78b9d5921dffd1e205c0b69f453a94851..b7496922faee8bc5d82f3f5922f6fb2fe44a8d2f 100644
|
|
--- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java
|
|
+++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java
|
|
@@ -482,6 +482,11 @@ public class CraftBlock implements Block {
|
|
public boolean isSolid() {
|
|
return getNMS().getMaterial().blocksMotion();
|
|
}
|
|
+
|
|
+ @Override
|
|
+ public boolean isCollidable() {
|
|
+ return getNMS().getBlock().hasCollision;
|
|
+ }
|
|
// Paper end
|
|
|
|
@Override
|
|
diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlockState.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlockState.java
|
|
index 7b9e943b391c061782fccd2b8d705ceec8db50fe..966ac60daebb7bb211ab8096fc0c5f33db67320a 100644
|
|
--- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlockState.java
|
|
+++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlockState.java
|
|
@@ -324,4 +324,11 @@ public class CraftBlockState implements BlockState {
|
|
throw new IllegalStateException("The blockState must be placed to call this method");
|
|
}
|
|
}
|
|
+
|
|
+ // Paper start
|
|
+ @Override
|
|
+ public boolean isCollidable() {
|
|
+ return this.data.getBlock().hasCollision;
|
|
+ }
|
|
+ // Paper end
|
|
}
|
|
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
|
|
index 30ac1162851331526f3fc00332eded67be48e1d4..abffb2328a0a85a6a5c664d58d2738b833b9431d 100644
|
|
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
|
|
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
|
|
@@ -576,6 +576,12 @@ public final class CraftMagicNumbers implements UnsafeValues {
|
|
var supplier = net.minecraft.world.entity.ai.attributes.DefaultAttributes.getSupplier((net.minecraft.world.entity.EntityType<? extends net.minecraft.world.entity.LivingEntity>) net.minecraft.core.registries.BuiltInRegistries.ENTITY_TYPE.get(CraftNamespacedKey.toMinecraft(bukkitEntityKey)));
|
|
return new io.papermc.paper.attribute.UnmodifiableAttributeMap(supplier);
|
|
}
|
|
+
|
|
+ @Override
|
|
+ public boolean isCollidable(Material material) {
|
|
+ Preconditions.checkArgument(material.isBlock(), material + " is not a block");
|
|
+ return getBlock(material).hasCollision;
|
|
+ }
|
|
// Paper end
|
|
|
|
/**
|