mirror of
https://github.com/mcMMO-Dev/mcMMO.git
synced 2024-11-25 22:56:45 +01:00
2.1.23 - Read the changelog, configs need to be updated.
This commit is contained in:
parent
7ee65a7e65
commit
363ea66335
@ -8,18 +8,18 @@ Key:
|
||||
- Removal
|
||||
|
||||
Version 2.1.23
|
||||
Fixed a 7 year old bug where damage in mcMMO from Skills was getting reduced by damage reduction TWICE
|
||||
Fixed a bug with Double Drops for Mining
|
||||
Fixed a bug with Double Drops for Mining (Update your configs instructions below)
|
||||
Fixed a 7 year old bug where damage in mcMMO from Skills was potentially getting reduced by damage reduction TWICE
|
||||
Fixed a bug where killing entities with Rupture would not properly credit you as the killer
|
||||
Fixed a bug where Serrated Strikes was applying Rupture twice
|
||||
Players will now be ejected from Minecarts if they cast their fishing rod (anti-afk)
|
||||
Many nerfs to Rupture, its now much more reasonable and not very useful against Protection IV opponents
|
||||
Rupture's strength is now related to your equipped Sword
|
||||
Rupture will no longer be applied if the target is blocking, this doesn't prevent existing bleed damage from occurring though.
|
||||
Wolf's Rupture has strength equivalent to a Stone Sword
|
||||
Only Diamond swords will have bonus rupture damage at Rank 4
|
||||
Rupture damage is cut in half for weapons below Diamond in quality, if the weapon is wooden, the damage is cut in half again.
|
||||
Swords below Diamond quality will have their tick duration drastically reduced
|
||||
Rupture is not lethal if the sword is Stone or Wooden
|
||||
Rupture damage is reduced by 25% on players if they are wearing Full Armor (can be any type)
|
||||
Note: You'll need to add these entries to your config.yml manually, or wait for the upcoming config update where this will be fixed for you automatically.
|
||||
NOTE: Here's what your Double_Drop entries in Config.yml for Mining should look like
|
||||
|
2
pom.xml
2
pom.xml
@ -2,7 +2,7 @@
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>com.gmail.nossr50.mcMMO</groupId>
|
||||
<artifactId>mcMMO</artifactId>
|
||||
<version>2.1.23-SNAPSHOT</version>
|
||||
<version>2.1.23</version>
|
||||
<name>mcMMO</name>
|
||||
<url>https://github.com/mcMMO-Dev/mcMMO</url>
|
||||
<scm>
|
||||
|
@ -187,6 +187,53 @@ public class EntityListener implements Listener {
|
||||
}
|
||||
}
|
||||
|
||||
/* @EventHandler(priority = EventPriority.LOWEST, ignoreCancelled = true)
|
||||
public void onEntityDamageDebugLowest(EntityDamageEvent event)
|
||||
{
|
||||
if(event instanceof FakeEntityDamageByEntityEvent)
|
||||
return;
|
||||
|
||||
if(event instanceof FakeEntityDamageEvent)
|
||||
return;
|
||||
|
||||
Bukkit.broadcastMessage(ChatColor.GOLD+"DMG Before Events: "+ChatColor.RESET+event.getDamage());
|
||||
}
|
||||
|
||||
@EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)
|
||||
public void onEntityDamageDebugMonitor(EntityDamageEvent event)
|
||||
{
|
||||
if(event instanceof FakeEntityDamageByEntityEvent)
|
||||
return;
|
||||
|
||||
if(event instanceof FakeEntityDamageEvent)
|
||||
return;
|
||||
|
||||
double rawDamage = event.getDamage();
|
||||
double dmgAfterReduction = event.getFinalDamage();
|
||||
Bukkit.broadcastMessage(ChatColor.GOLD+"DEBUG: " + event.getEntity().getName()+ChatColor.RESET+"RawDMG["+rawDamage+"], "+"FinalDMG=["+dmgAfterReduction+"]");
|
||||
Bukkit.broadcastMessage("");
|
||||
}*/
|
||||
|
||||
@EventHandler(priority = EventPriority.LOWEST, ignoreCancelled = true)
|
||||
public void onEntityDamageLowest(EntityDamageByEntityEvent event)
|
||||
{
|
||||
Entity defender = event.getEntity();
|
||||
|
||||
if(defender.getMetadata(mcMMO.CUSTOM_DAMAGE_METAKEY).size() > 0)
|
||||
{
|
||||
defender.removeMetadata(mcMMO.CUSTOM_DAMAGE_METAKEY, plugin);
|
||||
LivingEntity defLive = (LivingEntity) defender;
|
||||
|
||||
if(defender instanceof Player)
|
||||
{
|
||||
defLive.setHealth(defLive.getHealth() - event.getFinalDamage());
|
||||
event.setCancelled(true);
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Handle EntityDamageByEntity events that involve modifying the event.
|
||||
*
|
||||
@ -199,12 +246,6 @@ public class EntityListener implements Listener {
|
||||
Entity defender = event.getEntity();
|
||||
Entity attacker = event.getDamager();
|
||||
|
||||
if(defender.getMetadata(mcMMO.CUSTOM_DAMAGE_METAKEY).size() > 0)
|
||||
{
|
||||
defender.removeMetadata(mcMMO.CUSTOM_DAMAGE_METAKEY, plugin);
|
||||
return;
|
||||
}
|
||||
|
||||
/* WORLD BLACKLIST CHECK */
|
||||
if(WorldBlacklist.isWorldBlacklisted(event.getEntity().getWorld()))
|
||||
return;
|
||||
|
@ -21,6 +21,7 @@ import com.gmail.nossr50.util.*;
|
||||
import com.gmail.nossr50.util.player.NotificationManager;
|
||||
import com.gmail.nossr50.util.player.UserManager;
|
||||
import com.google.common.collect.ImmutableMap;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.GameMode;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.entity.*;
|
||||
@ -390,7 +391,7 @@ public final class CombatUtils {
|
||||
return;
|
||||
}
|
||||
|
||||
double incDmg = getFakeDamageFinalResult(attacker, target, DamageCause.CUSTOM, damage);
|
||||
double incDmg = getFakeDamageFinalResult(attacker, target, DamageCause.ENTITY_ATTACK, damage);
|
||||
|
||||
double newHealth = Math.max(0, target.getHealth() - incDmg);
|
||||
|
||||
@ -407,30 +408,37 @@ public final class CombatUtils {
|
||||
return;
|
||||
}
|
||||
|
||||
//IFrame storage
|
||||
// int noDamageTicks = target.getNoDamageTicks();
|
||||
|
||||
double incDmg = getFakeDamageFinalResult(attacker, target, DamageCause.CUSTOM, damage);
|
||||
|
||||
double newHealth = Math.max(0, target.getHealth() - incDmg);
|
||||
|
||||
//Don't kill things with a stone or wooden weapon
|
||||
if(toolTier < 3 && newHealth == 0)
|
||||
return;
|
||||
|
||||
target.setMetadata(mcMMO.CUSTOM_DAMAGE_METAKEY, mcMMO.metadataValue);
|
||||
target.damage(damage, attacker);
|
||||
|
||||
if(newHealth == 0 && !(target instanceof Player))
|
||||
{
|
||||
target.damage(99999, attacker);
|
||||
}
|
||||
else
|
||||
{
|
||||
// Vector beforeRuptureVec = new Vector(target.getVelocity().getX(), target.getVelocity().getY(), target.getVelocity().getZ()); ;
|
||||
target.setHealth(newHealth);
|
||||
// target.setNoDamageTicks(noDamageTicks); //Do not add additional IFrames
|
||||
// target.setVelocity(beforeRuptureVec);
|
||||
}
|
||||
// //IFrame storage
|
||||
//// int noDamageTicks = target.getNoDamageTicks();
|
||||
//
|
||||
//// String debug = "BLEED DMG RESULT: INC DMG:"+damage+", HP-Before:"+target.getHealth()+", HP-After:";
|
||||
//
|
||||
//// double incDmg = getFakeDamageFinalResult(attacker, target, DamageCause.ENTITY_ATTACK, damage);
|
||||
//
|
||||
//// double newHealth = Math.max(0, target.getHealth() - incDmg);
|
||||
//
|
||||
// //Don't kill things with a stone or wooden weapon
|
||||
//// if(toolTier < 3 && newHealth == 0)
|
||||
//// return;
|
||||
//
|
||||
// target.setMetadata(mcMMO.CUSTOM_DAMAGE_METAKEY, mcMMO.metadataValue);
|
||||
//
|
||||
// if(newHealth == 0 && !(target instanceof Player))
|
||||
// {
|
||||
// target.damage(99999, attacker);
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
//// Vector beforeRuptureVec = new Vector(target.getVelocity().getX(), target.getVelocity().getY(), target.getVelocity().getZ()); ;
|
||||
// target.damage(damage, attacker);
|
||||
//// debug+=target.getHealth();
|
||||
// Bukkit.broadcastMessage(debug);
|
||||
//// target.setNoDamageTicks(noDamageTicks); //Do not add additional IFrames
|
||||
//// target.setVelocity(beforeRuptureVec);
|
||||
// }
|
||||
}
|
||||
|
||||
/**
|
||||
|
Loading…
Reference in New Issue
Block a user