diff --git a/Bukkit b/Bukkit
index c18106bafa..677e082bc1 160000
--- a/Bukkit
+++ b/Bukkit
@@ -1 +1 @@
-Subproject commit c18106bafafd081dbea9013c40e35b82138020d1
+Subproject commit 677e082bc10ca217e21dee06424bb8044730b340
diff --git a/CraftBukkit b/CraftBukkit
index b9b2a19420..bc14645b6f 160000
--- a/CraftBukkit
+++ b/CraftBukkit
@@ -1 +1 @@
-Subproject commit b9b2a194200d74837169899e61e076083c331460
+Subproject commit bc14645b6f7442af6bb819098a2dcbde582ce923
diff --git a/CraftBukkit-Patches/0001-Rename-to-PaperSpigot.patch b/CraftBukkit-Patches/0001-Rename-to-PaperSpigot.patch
index 737a82ccb4..781e536e32 100644
--- a/CraftBukkit-Patches/0001-Rename-to-PaperSpigot.patch
+++ b/CraftBukkit-Patches/0001-Rename-to-PaperSpigot.patch
@@ -15,7 +15,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
- spigot
+ paperspigot
jar
- 1.7.9-R0.3-SNAPSHOT
+ 1.7.10-R0.1-SNAPSHOT
Spigot
@@ -0,0 +0,0 @@
gitdescribe-maven-plugin
diff --git a/CraftBukkit-Patches/0002-PaperSpigot-config-files.patch b/CraftBukkit-Patches/0002-PaperSpigot-config-files.patch
index 8b5d8bb408..34505d4987 100644
--- a/CraftBukkit-Patches/0002-PaperSpigot-config-files.patch
+++ b/CraftBukkit-Patches/0002-PaperSpigot-config-files.patch
@@ -1,6 +1,6 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Zach Brown <1254957+zachbr@users.noreply.github.com>
-Date: Wed, 2 Jul 2014 22:26:16 -0500
+Date: Tue, 8 Jul 2014 21:08:51 -0500
Subject: [PATCH] PaperSpigot config files
@@ -9,16 +9,16 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
--- a/src/main/java/net/minecraft/server/DedicatedServer.java
+++ b/src/main/java/net/minecraft/server/DedicatedServer.java
@@ -0,0 +0,0 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer
- org.spigotmc.SpigotConfig.init();
- org.spigotmc.SpigotConfig.registerCommands();
- // Spigot end
-+ // PaperSpigot start
-+ org.github.paperspigot.PaperSpigotConfig.init();
-+ org.github.paperspigot.PaperSpigotConfig.registerCommands();
-+ // PaperSpigot end
+ org.spigotmc.SpigotConfig.init();
+ org.spigotmc.SpigotConfig.registerCommands();
+ // Spigot end
++ // PaperSpigot start
++ org.github.paperspigot.PaperSpigotConfig.init();
++ org.github.paperspigot.PaperSpigotConfig.registerCommands();
++ // PaperSpigot stop
- i.info("Generating keypair");
- this.a(MinecraftEncryption.b());
+ i.info("Generating keypair");
+ this.a(MinecraftEncryption.b());
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
--- a/src/main/java/net/minecraft/server/World.java
diff --git a/CraftBukkit-Patches/0007-Configurable-damage-multiplier-for-PvP-blocking.patch b/CraftBukkit-Patches/0007-Configurable-damage-multiplier-for-PvP-blocking.patch
index c5b60d5e5d..80003640fe 100644
--- a/CraftBukkit-Patches/0007-Configurable-damage-multiplier-for-PvP-blocking.patch
+++ b/CraftBukkit-Patches/0007-Configurable-damage-multiplier-for-PvP-blocking.patch
@@ -25,7 +25,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
+ f = (1.0F + f) * PaperSpigotWorldConfig.playerBlockingDamageMultiplier; // PaperSpigot - Configurable PvP blocking damage multiplier
}
- f = this.b(damagesource, f);
+ f = this.applyArmorModifier(damagesource, f);
diff --git a/src/main/java/org/github/paperspigot/PaperSpigotWorldConfig.java b/src/main/java/org/github/paperspigot/PaperSpigotWorldConfig.java
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
--- a/src/main/java/org/github/paperspigot/PaperSpigotWorldConfig.java
diff --git a/CraftBukkit-Patches/0021-Player-Exhaustion-Multipliers.patch b/CraftBukkit-Patches/0021-Player-Exhaustion-Multipliers.patch
index a6f25fa7a0..281dc12dd1 100644
--- a/CraftBukkit-Patches/0021-Player-Exhaustion-Multipliers.patch
+++ b/CraftBukkit-Patches/0021-Player-Exhaustion-Multipliers.patch
@@ -1,6 +1,6 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: gsand
-Date: Sun, 6 Jul 2014 06:42:49 -0400
+Date: Tue, 8 Jul 2014 21:41:43 -0500
Subject: [PATCH] Player Exhaustion Multipliers
@@ -20,8 +20,8 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
@@ -0,0 +0,0 @@ public class Block {
public void a(World world, EntityHuman entityhuman, int i, int j, int k, int l) {
- entityhuman.a(StatisticList.MINE_BLOCK_COUNT[b(this)], 1);
-- entityhuman.a(0.025F);
+ entityhuman.a(StatisticList.MINE_BLOCK_COUNT[getId(this)], 1);
+- entityhuman.applyExhaustion(0.025F);
+ entityhuman.a( PaperSpigotWorldConfig.playerExhaustionBlockBreak ); // PaperSpigot - Configurable block breaking exhaustion
if (this.E() && EnchantmentManager.hasSilkTouchEnchantment(entityhuman)) {
ItemStack itemstack = this.j(l);
@@ -34,19 +34,19 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
}
}
-- this.a(0.3F);
+- this.applyExhaustion(0.3F);
+ this.a( PaperSpigotWorldConfig.playerExhaustionAttack ); // PaperSpigot - Configurable attack exhaustion
} else if (flag1) {
entity.extinguish();
}
@@ -0,0 +0,0 @@ public abstract class EntityHuman extends EntityLiving implements ICommandListen
- super.bi();
+ super.bj();
this.a(StatisticList.r, 1);
if (this.isSprinting()) {
-- this.a(0.8F);
+- this.applyExhaustion(0.8F);
+ this.a( PaperSpigotWorldConfig.playerExhaustionSprintJumping ); // PaperSpigot - Configurable sprint jumping exhaustion
} else {
-- this.a(0.2F);
+- this.applyExhaustion(0.2F);
+ this.a( PaperSpigotWorldConfig.playerExhaustionJumping ); // PaperSpigot - Configurable jumping exhaustion
}
}
@@ -55,14 +55,14 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
i = Math.round(MathHelper.sqrt(d0 * d0 + d1 * d1 + d2 * d2) * 100.0F);
if (i > 0) {
this.a(StatisticList.m, i);
-- this.a(0.015F * (float) i * 0.01F);
+- this.applyExhaustion(0.015F * (float) i * 0.01F);
+ this.a( PaperSpigotWorldConfig.playerExhaustionSwimming * (float) i * 0.01F); // PaperSpigot - Configurable swimming exhaustion
}
- } else if (this.L()) {
+ } else if (this.M()) {
i = Math.round(MathHelper.sqrt(d0 * d0 + d2 * d2) * 100.0F);
if (i > 0) {
this.a(StatisticList.i, i);
-- this.a(0.015F * (float) i * 0.01F);
+- this.applyExhaustion(0.015F * (float) i * 0.01F);
+ this.a( PaperSpigotWorldConfig.playerExhaustionSwimming * (float) i * 0.01F); // PaperSpigot - Configurable swimming (diving) exhaustion
}
} else if (this.h_()) {
@@ -71,10 +71,10 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
if (i > 0) {
this.a(StatisticList.h, i);
if (this.isSprinting()) {
-- this.a(0.099999994F * (float) i * 0.01F);
+- this.applyExhaustion(0.099999994F * (float) i * 0.01F);
+ this.a( PaperSpigotWorldConfig.playerExhaustionSprinting * (float) i * 0.01F); // PaperSpigot - Configurable sprinting exhaustion
} else {
-- this.a(0.01F * (float) i * 0.01F);
+- this.applyExhaustion(0.01F * (float) i * 0.01F);
+ this.a( PaperSpigotWorldConfig.playerExhaustionWalking * (float) i * 0.01F); // PaperSpigot - Configurable walking exhaustion
}
}
diff --git a/CraftBukkit-Patches/0026-Revert-bukkit-damage-API-behavior.patch b/CraftBukkit-Patches/0026-Revert-Bukkit-Damage-API-Behavior.patch
similarity index 79%
rename from CraftBukkit-Patches/0026-Revert-bukkit-damage-API-behavior.patch
rename to CraftBukkit-Patches/0026-Revert-Bukkit-Damage-API-Behavior.patch
index 01bfdf399b..ce42bb021c 100644
--- a/CraftBukkit-Patches/0026-Revert-bukkit-damage-API-behavior.patch
+++ b/CraftBukkit-Patches/0026-Revert-Bukkit-Damage-API-Behavior.patch
@@ -1,13 +1,8 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: Aikar
-Date: Tue, 8 Jul 2014 19:21:28 -0400
+From: Zach Brown <1254957+zachbr@users.noreply.github.com>
+Date: Tue, 8 Jul 2014 21:49:42 -0500
Subject: [PATCH] Revert Bukkit Damage API Behavior
-This API is extremely broken and even updated plugins can not adequately restore their intended behavior with the existing API.
-
-Until Bukkit comes up with an adequate solution, lets revert the change in behavior.
-
-New plugins using the API will not error but will also not behave as intended, but there are likely no plugins using this new API.
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
@@ -17,7 +12,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
// CraftBukkit start
protected boolean d(DamageSource damagesource, float f) { // void -> boolean
if (!this.isInvulnerable()) {
-+ // PaperSpigot start - moved up from below to bring back old behavior.
++ // PaperSpigot start - moved up from below to bring back old behavior
+ EntityDamageEvent event = CraftEventFactory.handleLivingEntityDamageEvent(this, damagesource, f, 0, 0, 0, 0, 0, 0);
+
+ if (event.isCancelled()) {
@@ -31,7 +26,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
float originalDamage = f;
float preDamage = f;
@@ -0,0 +0,0 @@ public abstract class EntityLiving extends Entity {
- f = Math.max(f - this.br(), 0.0F);
+ f = Math.max(f - this.getAbsorptionHearts(), 0.0F);
float absorptionModifier = Math.max(f1 - f, 0.0F);
- EntityDamageEvent event = CraftEventFactory.handleLivingEntityDamageEvent(this, damagesource, originalDamage, -hardHatModifier, -blockingModifier, -armorModifier, -resistanceModifier, -magicModifier, -absorptionModifier);
@@ -39,17 +34,17 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
- if (event.isCancelled()) {
- return false;
+ // PaperSpigot start - Moved event call up
-+ event.setDamage(DamageModifier.ARMOR, -armorModifier);
++ event.setDamage(DamageModifier.ARMOR, -armorModifier);
+ if (damagesource == DamageSource.FALLING_BLOCK || damagesource == DamageSource.ANVIL) {
+ event.setDamage(DamageModifier.HARD_HAT, -hardHatModifier);
}
--
+
- f = (float) event.getFinalDamage();
+ if (human) {
+ event.setDamage(DamageModifier.BLOCKING, -blockingModifier);
+ }
+ event.setDamage(DamageModifier.RESISTANCE, -resistanceModifier);
-+ event.setDamage(DamageModifier.MAGIC, -magicModifier);
++ event.setDamage(DamageModifier.MAGIC, -magicModifier);
+ event.setDamage(DamageModifier.ABSORPTION, -absorptionModifier);
+ // PaperSpigot end
diff --git a/MinecraftRelocate/pom.xml b/MinecraftRelocate/pom.xml
index 4f6ae84b90..c223fe9539 100644
--- a/MinecraftRelocate/pom.xml
+++ b/MinecraftRelocate/pom.xml
@@ -11,7 +11,7 @@
org.spigotmc
minecraft-server-relocated
- 1.7.9-SNAPSHOT
+ 1.7.10-SNAPSHOT
jar
Minecraft Server Relocation
diff --git a/MinecraftServer/pom.xml b/MinecraftServer/pom.xml
index 890e045628..d4920f604d 100644
--- a/MinecraftServer/pom.xml
+++ b/MinecraftServer/pom.xml
@@ -11,7 +11,7 @@
org.spigotmc
minecraft-server
- 1.7.9-SNAPSHOT
+ 1.7.10-SNAPSHOT
jar
Minecraft Server
@@ -27,7 +27,13 @@
org.bukkit
minecraft-server
- 1.7.9
+ 1.7.10
+ compile
+
+
+ io.netty
+ netty-handler
+ 4.0.21.Final
compile
@@ -46,6 +52,24 @@
+
+
+
+
+ org.bukkit:minecraft-server
+
+ net/minecraft/util/io/netty/**
+
+
+
+
+
+
+ io.netty
+ net.minecraft.util.io.netty
+
+
+