Added toggleFakePlayer command
This commit is contained in:
parent
fd72c990f8
commit
a6d5a6c818
32 changed files with 72 additions and 7 deletions
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -36,6 +36,7 @@ com/github/hhhzzzsss/songplayer/CommandProcessor.java
|
|||
com.github.hhhzzzsss.songplayer.CommandProcessor$setSurvivalCommandCommand
|
||||
com.github.hhhzzzsss.songplayer.CommandProcessor$songsCommand
|
||||
com.github.hhhzzzsss.songplayer.CommandProcessor$stopCommand
|
||||
com.github.hhhzzzsss.songplayer.CommandProcessor$toggleFakePlayerCommand
|
||||
com/github/hhhzzzsss/songplayer/mixin/ClientPlayNetworkHandlerMixin.java
|
||||
com.github.hhhzzzsss.songplayer.mixin.ClientPlayNetworkHandlerMixin
|
||||
com/github/hhhzzzsss/songplayer/noteblocks/PlayingThread.java
|
||||
|
|
|
@ -26,6 +26,7 @@ public class CommandProcessor {
|
|||
commands.add(new songsCommand());
|
||||
commands.add(new setCreativeCommandCommand());
|
||||
commands.add(new setSurvivalCommandCommand());
|
||||
commands.add(new toggleFakePlayerCommand());
|
||||
}
|
||||
|
||||
// returns true if it is a command and should be cancelled
|
||||
|
@ -176,6 +177,10 @@ public class CommandProcessor {
|
|||
return true;
|
||||
}
|
||||
if (args.length() == 0) {
|
||||
if (SongPlayer.fakePlayer != null) {
|
||||
SongPlayer.fakePlayer.remove();
|
||||
SongPlayer.fakePlayer = null;
|
||||
}
|
||||
SongPlayer.stage.movePlayerToStagePosition();
|
||||
SongPlayer.mode = Mode.IDLE;
|
||||
SongPlayer.song.loop = false;
|
||||
|
@ -330,7 +335,7 @@ public class CommandProcessor {
|
|||
public boolean processCommand(String args) {
|
||||
if (args.length() > 0) {
|
||||
SongPlayer.creativeCommand = args;
|
||||
SongPlayer.addChatMessage("Set creative command to " + SongPlayer.creativeCommand);
|
||||
SongPlayer.addChatMessage("§6Set creative command to " + SongPlayer.creativeCommand);
|
||||
return true;
|
||||
}
|
||||
else {
|
||||
|
@ -352,7 +357,7 @@ public class CommandProcessor {
|
|||
public boolean processCommand(String args) {
|
||||
if (args.length() > 0) {
|
||||
SongPlayer.survivalCommand = args;
|
||||
SongPlayer.addChatMessage("Set survival command to " + SongPlayer.survivalCommand);
|
||||
SongPlayer.addChatMessage("§6Set survival command to " + SongPlayer.survivalCommand);
|
||||
return true;
|
||||
}
|
||||
else {
|
||||
|
@ -360,4 +365,40 @@ public class CommandProcessor {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
private static class toggleFakePlayerCommand extends Command {
|
||||
public String getName() {
|
||||
return "toggleFakePlayer";
|
||||
}
|
||||
public String getSyntax() {
|
||||
return "$toggleFakePlayer";
|
||||
}
|
||||
public String getDescription() {
|
||||
return "Shows a fake player representing your true position when playing songs";
|
||||
}
|
||||
public boolean processCommand(String args) {
|
||||
if (args.length() == 0) {
|
||||
SongPlayer.showFakePlayer = !SongPlayer.showFakePlayer;
|
||||
if (SongPlayer.showFakePlayer) {
|
||||
if (SongPlayer.mode == Mode.PLAYING || SongPlayer.mode == Mode.BUILDING) {
|
||||
if (SongPlayer.fakePlayer != null) {
|
||||
SongPlayer.fakePlayer.remove();
|
||||
}
|
||||
SongPlayer.fakePlayer = new FakePlayerEntity();
|
||||
}
|
||||
SongPlayer.addChatMessage("§6Enabled fake player");
|
||||
}
|
||||
else {
|
||||
if (SongPlayer.fakePlayer != null) {
|
||||
SongPlayer.fakePlayer.remove();
|
||||
}
|
||||
SongPlayer.addChatMessage("§6Disabled fake player");
|
||||
}
|
||||
return true;
|
||||
}
|
||||
else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -12,7 +12,7 @@ public class FakePlayerEntity extends OtherClientPlayerEntity {
|
|||
public FakePlayerEntity() {
|
||||
super(SongPlayer.MC.world, SongPlayer.MC.player.getGameProfile());
|
||||
|
||||
copyPositionAndRotation(player);
|
||||
copyStagePosAndPlayerLook();
|
||||
|
||||
inventory.clone(player.inventory);
|
||||
|
||||
|
@ -32,4 +32,15 @@ public class FakePlayerEntity extends OtherClientPlayerEntity {
|
|||
public void resetPlayerPosition() {
|
||||
player.refreshPositionAndAngles(getX(), getY(), getZ(), yaw, pitch);
|
||||
}
|
||||
|
||||
public void copyStagePosAndPlayerLook() {
|
||||
if (SongPlayer.stage != null) {
|
||||
refreshPositionAndAngles(SongPlayer.stage.position.getX()+0.5, SongPlayer.stage.position.getY(), SongPlayer.stage.position.getZ()+0.5, player.yaw, player.pitch);
|
||||
headYaw = player.headYaw;
|
||||
bodyYaw = player.bodyYaw;
|
||||
}
|
||||
else {
|
||||
copyPositionAndRotation(player);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -17,6 +17,8 @@ public class SongPlayer implements ModInitializer {
|
|||
public static final File SONG_DIR = new File("songs");
|
||||
public static Song song;
|
||||
public static Stage stage;
|
||||
public static boolean showFakePlayer = false;
|
||||
public static FakePlayerEntity fakePlayer;
|
||||
public static String creativeCommand = "/gmc";
|
||||
public static String survivalCommand = "/gms";
|
||||
|
||||
|
|
|
@ -31,6 +31,9 @@ public class ClientPlayNetworkHandlerMixin {
|
|||
}*/
|
||||
if (SongPlayer.mode != SongPlayer.Mode.IDLE && packet instanceof PlayerMoveC2SPacket) {
|
||||
connection.send(new PlayerMoveC2SPacket.Both(SongPlayer.stage.position.getX()+0.5, SongPlayer.stage.position.getY(), SongPlayer.stage.position.getZ()+0.5, SongPlayer.MC.player.yaw, SongPlayer.MC.player.pitch, true));
|
||||
if (SongPlayer.fakePlayer != null) {
|
||||
SongPlayer.fakePlayer.copyStagePosAndPlayerLook();
|
||||
}
|
||||
ci.cancel();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -2,6 +2,7 @@ package com.github.hhhzzzsss.songplayer.noteblocks;
|
|||
|
||||
import java.util.ArrayList;
|
||||
|
||||
import com.github.hhhzzzsss.songplayer.FakePlayerEntity;
|
||||
import com.github.hhhzzzsss.songplayer.SongPlayer;
|
||||
import com.github.hhhzzzsss.songplayer.song.Song;
|
||||
|
||||
|
@ -91,6 +92,12 @@ public class BuildingThread extends Thread {
|
|||
player.abilities.allowFlying = true;
|
||||
player.abilities.flying = true;
|
||||
SongPlayer.stage.movePlayerToStagePosition();
|
||||
if (SongPlayer.showFakePlayer) {
|
||||
if (SongPlayer.fakePlayer != null) {
|
||||
SongPlayer.fakePlayer.remove();
|
||||
}
|
||||
SongPlayer.fakePlayer = new FakePlayerEntity();
|
||||
}
|
||||
|
||||
for (int dy : new int[] {0,1,3}) {
|
||||
for (int dx = -4; dx <= 4; dx++) {
|
||||
|
|
|
@ -85,6 +85,10 @@ public class PlayingThread extends Thread{
|
|||
player.abilities.allowFlying = true;
|
||||
player.abilities.flying = true;
|
||||
SongPlayer.stage.movePlayerToStagePosition();
|
||||
if (SongPlayer.fakePlayer != null) {
|
||||
SongPlayer.fakePlayer.remove();
|
||||
SongPlayer.fakePlayer = null;
|
||||
}
|
||||
|
||||
SongPlayer.addChatMessage("§6Finished playing.");
|
||||
SongPlayer.mode = SongPlayer.Mode.IDLE;
|
||||
|
|
|
@ -46,7 +46,6 @@ public class Song {
|
|||
}
|
||||
if (!songPath.exists()) {
|
||||
songPath = new File(SongPlayer.SONG_DIR, file + ".mid");
|
||||
System.out.println(file + ".mid");
|
||||
}
|
||||
if (!songPath.exists()) {
|
||||
songPath = new File(SongPlayer.SONG_DIR, file + ".midi");
|
||||
|
@ -55,9 +54,6 @@ public class Song {
|
|||
boolean isMidi = false;
|
||||
String extension = getExtension(songPath);
|
||||
if (extension.equalsIgnoreCase("mid") || extension.equalsIgnoreCase("midi")) isMidi = true;
|
||||
System.out.println(songPath.getName());
|
||||
System.out.println(extension);
|
||||
System.out.println(isMidi);
|
||||
if (isMidi) {
|
||||
BufferedInputStream bis = new BufferedInputStream(new FileInputStream(songPath));
|
||||
song.notes.clear();
|
||||
|
|
Loading…
Reference in a new issue