diff --git a/dependency-reduced-pom.xml b/dependency-reduced-pom.xml index 6935c01..3459cb0 100644 --- a/dependency-reduced-pom.xml +++ b/dependency-reduced-pom.xml @@ -4,7 +4,7 @@ com.legacyminecraft.poseidon poseidon-craftbukkit Not Project Poseidon - 1.1.12 + 1.0.0 scm:git:git://github.com/Bukkit/CraftBukkit.git scm:git:ssh://git@github.com/Bukkit/CraftBukkit.git diff --git a/src/main/java/com/legacyminecraft/poseidon/commands/FlyCommand.java b/src/main/java/com/legacyminecraft/poseidon/commands/FlyCommand.java new file mode 100644 index 0000000..908eb62 --- /dev/null +++ b/src/main/java/com/legacyminecraft/poseidon/commands/FlyCommand.java @@ -0,0 +1,41 @@ +package com.legacyminecraft.poseidon.commands; + +import net.minecraft.server.EntityPlayer; +import org.bukkit.ChatColor; +import org.bukkit.command.Command; +import org.bukkit.command.CommandSender; +import org.bukkit.craftbukkit.entity.CraftPlayer; +import org.bukkit.entity.Player; + +public class FlyCommand extends Command { + + public FlyCommand(String name) { + super(name); + this.description = "Toggles flight for yourself"; + this.usageMessage = "/fly"; + } + + @Override + public boolean execute(CommandSender sender, String currentAlias, String[] args) { + if (!(sender instanceof Player)) { + sender.sendMessage("You can only use this command as a player."); + return true; + } + + if (args.length != 0) { + sender.sendMessage(ChatColor.RED + "Usage: /fly"); + return true; + } + + EntityPlayer player = ((CraftPlayer) sender).getHandle(); + player.flightAllowed = !player.flightAllowed; + + if (player.flightAllowed) { + sender.sendMessage(ChatColor.GREEN + "Flight enabled."); + } else { + sender.sendMessage(ChatColor.YELLOW + "Flight disabled."); + } + + return true; + } +} diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java index a256dd5..ace9f32 100644 --- a/src/main/java/net/minecraft/server/EntityPlayer.java +++ b/src/main/java/net/minecraft/server/EntityPlayer.java @@ -29,6 +29,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { private ItemStack[] bN = new ItemStack[]{null, null, null, null, null}; private int bO = 0; public boolean h; + public boolean flightAllowed; public EntityPlayer(MinecraftServer minecraftserver, World world, String s, ItemInWorldManager iteminworldmanager) { super(world); @@ -65,6 +66,18 @@ public class EntityPlayer extends EntityHuman implements ICrafting { public org.bukkit.Location compassTarget; // CraftBukkit end + @Override + public void a(NBTTagCompound nbttagcompound) { + super.a(nbttagcompound); + this.flightAllowed = nbttagcompound.m("FlightAllowed"); + } + + @Override + public void b(NBTTagCompound nbttagcompound) { + super.b(nbttagcompound); + nbttagcompound.a("FlightAllowed", this.flightAllowed); + } + public void spawnIn(World world) { super.spawnIn(world); // CraftBukkit - world fallback code, either respawn location or global spawn diff --git a/src/main/java/net/minecraft/server/NetServerHandler.java b/src/main/java/net/minecraft/server/NetServerHandler.java index cdd70be..a228d34 100644 --- a/src/main/java/net/minecraft/server/NetServerHandler.java +++ b/src/main/java/net/minecraft/server/NetServerHandler.java @@ -425,7 +425,7 @@ public class NetServerHandler extends NetHandler implements ICommandListener { AxisAlignedBB axisalignedbb = this.player.boundingBox.clone().b((double) f4, (double) f4, (double) f4).a(0.0D, -0.55D, 0.0D); - if (!this.minecraftServer.allowFlight && !worldserver.b(axisalignedbb)) { + if (!this.minecraftServer.allowFlight && !this.player.flightAllowed && !worldserver.b(axisalignedbb)) { if (d6 >= -0.03125D) { ++this.h; if (this.h > 80) { diff --git a/src/main/java/org/bukkit/command/SimpleCommandMap.java b/src/main/java/org/bukkit/command/SimpleCommandMap.java index bda84c5..8099cc6 100644 --- a/src/main/java/org/bukkit/command/SimpleCommandMap.java +++ b/src/main/java/org/bukkit/command/SimpleCommandMap.java @@ -2,6 +2,7 @@ package org.bukkit.command; //Poseidon start import com.legacyminecraft.poseidon.PoseidonConfig; +import com.legacyminecraft.poseidon.commands.FlyCommand; import com.legacyminecraft.poseidon.commands.PoseidonCommand; import com.legacyminecraft.poseidon.commands.ResolveCommand; import com.legacyminecraft.poseidon.commands.TPSCommand; @@ -55,6 +56,7 @@ public class SimpleCommandMap implements CommandMap { //Poseidon Command Start register("poseidon", new PoseidonCommand("poseidon")); + register("poseidon", new FlyCommand("fly")); if (PoseidonConfig.getInstance().getConfigBoolean("command.tps.enabled")) register("poseidon", new TPSCommand("tps")); //Poseidon Command End diff --git a/target/classes/com/legacyminecraft/poseidon/commands/FlyCommand.class b/target/classes/com/legacyminecraft/poseidon/commands/FlyCommand.class new file mode 100644 index 0000000..dce00a1 Binary files /dev/null and b/target/classes/com/legacyminecraft/poseidon/commands/FlyCommand.class differ diff --git a/target/classes/net/minecraft/server/EntityPlayer.class b/target/classes/net/minecraft/server/EntityPlayer.class index d0d828a..ac91a49 100644 Binary files a/target/classes/net/minecraft/server/EntityPlayer.class and b/target/classes/net/minecraft/server/EntityPlayer.class differ diff --git a/target/classes/net/minecraft/server/NetServerHandler.class b/target/classes/net/minecraft/server/NetServerHandler.class index 650ec04..8e78bdb 100644 Binary files a/target/classes/net/minecraft/server/NetServerHandler.class and b/target/classes/net/minecraft/server/NetServerHandler.class differ diff --git a/target/classes/org/bukkit/command/SimpleCommandMap.class b/target/classes/org/bukkit/command/SimpleCommandMap.class index 77bf504..b37d8c1 100644 Binary files a/target/classes/org/bukkit/command/SimpleCommandMap.class and b/target/classes/org/bukkit/command/SimpleCommandMap.class differ diff --git a/target/maven-archiver/pom.properties b/target/maven-archiver/pom.properties index 2b344c6..f41e6d1 100644 --- a/target/maven-archiver/pom.properties +++ b/target/maven-archiver/pom.properties @@ -1,3 +1,3 @@ artifactId=poseidon-craftbukkit groupId=com.legacyminecraft.poseidon -version=1.1.12 +version=1.0.0 diff --git a/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst index 88cc9bc..91d6d83 100644 --- a/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst +++ b/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst @@ -109,6 +109,7 @@ org\bukkit\event\block\Action.class net\minecraft\server\WorldMapHumanTracker.class net\minecraft\server\BlockBreakable.class org\bukkit\craftbukkit\entity\CraftSpider.class +com\legacyminecraft\poseidon\commands\FlyCommand.class net\minecraft\server\PlayerListBox.class net\minecraft\server\Packet52MultiBlockChange.class org\bukkit\craftbukkit\entity\CraftEntity.class diff --git a/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst index 63931d0..1dc4875 100644 --- a/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst +++ b/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst @@ -462,6 +462,7 @@ C:\Users\chock\Documents\Project-Poseidon-master\Project-Poseidon-master\src\mai C:\Users\chock\Documents\Project-Poseidon-master\Project-Poseidon-master\src\main\java\net\minecraft\server\Packet52MultiBlockChange.java C:\Users\chock\Documents\Project-Poseidon-master\Project-Poseidon-master\src\main\java\net\minecraft\server\ChunkBuffer.java C:\Users\chock\Documents\Project-Poseidon-master\Project-Poseidon-master\src\main\java\net\minecraft\server\ServerGuiCommandListener.java +C:\Users\chock\Documents\Project-Poseidon-master\Project-Poseidon-master\src\main\java\com\legacyminecraft\poseidon\commands\FlyCommand.java C:\Users\chock\Documents\Project-Poseidon-master\Project-Poseidon-master\src\main\java\org\bukkit\craftbukkit\scheduler\CraftTask.java C:\Users\chock\Documents\Project-Poseidon-master\Project-Poseidon-master\src\main\java\net\minecraft\server\ItemCoal.java C:\Users\chock\Documents\Project-Poseidon-master\Project-Poseidon-master\src\main\java\net\minecraft\server\Packet25EntityPainting.java diff --git a/target/original-poseidon-craftbukkit-1.1.12.jar b/target/original-poseidon-craftbukkit-1.0.0.jar similarity index 87% rename from target/original-poseidon-craftbukkit-1.1.12.jar rename to target/original-poseidon-craftbukkit-1.0.0.jar index e3864cf..d70888c 100644 Binary files a/target/original-poseidon-craftbukkit-1.1.12.jar and b/target/original-poseidon-craftbukkit-1.0.0.jar differ diff --git a/target/poseidon-craftbukkit-1.1.12.jar b/target/poseidon-craftbukkit-1.0.0.jar similarity index 95% rename from target/poseidon-craftbukkit-1.1.12.jar rename to target/poseidon-craftbukkit-1.0.0.jar index fecd4e7..5fe17a3 100644 Binary files a/target/poseidon-craftbukkit-1.1.12.jar and b/target/poseidon-craftbukkit-1.0.0.jar differ