--- a/net/minecraft/world/damagesource/DamageSource.java
+++ b/net/minecraft/world/damagesource/DamageSource.java
@@ -20,6 +20,38 @@
     private final Entity directEntity;
     @Nullable
     private final Vec3D damageSourcePosition;
+    // CraftBukkit start
+    private boolean sweep;
+    private boolean melting;
+    private boolean poison;
+
+    public boolean isSweep() {
+        return sweep;
+    }
+
+    public DamageSource sweep() {
+        this.sweep = true;
+        return this;
+    }
+
+    public boolean isMelting() {
+        return melting;
+    }
+
+    public DamageSource melting() {
+        this.melting = true;
+        return this;
+    }
+
+    public boolean isPoison() {
+        return poison;
+    }
+
+    public DamageSource poison() {
+        this.poison = true;
+        return this;
+    }
+    // CraftBukkit end
 
     public String toString() {
         return "DamageSource (" + this.type().msgId() + ")";
