82 lines
		
	
	
	
		
			3.3 KiB
			
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			82 lines
		
	
	
	
		
			3.3 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:35 -0700
 | 
						|
Subject: [PATCH] Add isCollidable methods to various places
 | 
						|
 | 
						|
 | 
						|
diff --git a/src/main/java/org/bukkit/Material.java b/src/main/java/org/bukkit/Material.java
 | 
						|
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
 | 
						|
--- a/src/main/java/org/bukkit/Material.java
 | 
						|
+++ b/src/main/java/org/bukkit/Material.java
 | 
						|
@@ -0,0 +0,0 @@ public enum Material implements Keyed, net.kyori.adventure.translation.Translata
 | 
						|
     public Multimap<Attribute, AttributeModifier> getItemAttributes(@NotNull EquipmentSlot equipmentSlot) {
 | 
						|
         return Bukkit.getUnsafe().getItemAttributes(this, equipmentSlot);
 | 
						|
     }
 | 
						|
+
 | 
						|
+    /**
 | 
						|
+     * Checks if this material is collidable.
 | 
						|
+     *
 | 
						|
+     * @return true if collidable
 | 
						|
+     * @throws IllegalArgumentException if {@link #isBlock()} is false
 | 
						|
+     */
 | 
						|
+    public boolean isCollidable() {
 | 
						|
+        return Bukkit.getUnsafe().isCollidable(this);
 | 
						|
+    }
 | 
						|
     // Paper end
 | 
						|
 
 | 
						|
     /**
 | 
						|
diff --git a/src/main/java/org/bukkit/UnsafeValues.java b/src/main/java/org/bukkit/UnsafeValues.java
 | 
						|
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
 | 
						|
--- a/src/main/java/org/bukkit/UnsafeValues.java
 | 
						|
+++ b/src/main/java/org/bukkit/UnsafeValues.java
 | 
						|
@@ -0,0 +0,0 @@ public interface UnsafeValues {
 | 
						|
      * @throws IllegalArgumentException if the entity does not exist of have default attributes (use {@link #hasDefaultEntityAttributes(NamespacedKey)} first)
 | 
						|
      */
 | 
						|
     @org.jetbrains.annotations.NotNull org.bukkit.attribute.Attributable getDefaultEntityAttributes(@org.jetbrains.annotations.NotNull NamespacedKey entityKey);
 | 
						|
+
 | 
						|
+    /**
 | 
						|
+     * Checks if this material is collidable.
 | 
						|
+     *
 | 
						|
+     * @param material the material to check
 | 
						|
+     * @return true if collidable
 | 
						|
+     * @throws IllegalArgumentException if {@link Material#isBlock()} is false
 | 
						|
+     */
 | 
						|
+    boolean isCollidable(@org.jetbrains.annotations.NotNull Material material);
 | 
						|
     // Paper end
 | 
						|
 }
 | 
						|
diff --git a/src/main/java/org/bukkit/block/Block.java b/src/main/java/org/bukkit/block/Block.java
 | 
						|
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
 | 
						|
--- a/src/main/java/org/bukkit/block/Block.java
 | 
						|
+++ b/src/main/java/org/bukkit/block/Block.java
 | 
						|
@@ -0,0 +0,0 @@ public interface Block extends Metadatable, net.kyori.adventure.translation.Tran
 | 
						|
      * @return true if block is solid
 | 
						|
      */
 | 
						|
     boolean isSolid();
 | 
						|
+
 | 
						|
+    /**
 | 
						|
+     * Checks if this block is collidable.
 | 
						|
+     *
 | 
						|
+     * @return true if collidable
 | 
						|
+     */
 | 
						|
+    boolean isCollidable();
 | 
						|
     // Paper end
 | 
						|
 
 | 
						|
     /**
 | 
						|
diff --git a/src/main/java/org/bukkit/block/BlockState.java b/src/main/java/org/bukkit/block/BlockState.java
 | 
						|
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
 | 
						|
--- a/src/main/java/org/bukkit/block/BlockState.java
 | 
						|
+++ b/src/main/java/org/bukkit/block/BlockState.java
 | 
						|
@@ -0,0 +0,0 @@ public interface BlockState extends Metadatable {
 | 
						|
      *         or 'virtual' (e.g. on an itemstack)
 | 
						|
      */
 | 
						|
     boolean isPlaced();
 | 
						|
+
 | 
						|
+    // Paper start
 | 
						|
+    /**
 | 
						|
+     * Checks if this block state is collidable.
 | 
						|
+     *
 | 
						|
+     * @return true if collidable
 | 
						|
+     */
 | 
						|
+    boolean isCollidable();
 | 
						|
+    // Paper end
 | 
						|
 }
 |