use of cc.hyperium.netty.NettyClient in project Hyperium by HyperiumClient.
the class FlossKeybind method onRelease.
@Override
public void onRelease() {
if (Settings.FLOSS_TOGGLE)
return;
Hyperium.INSTANCE.getHandlers().getFlossDanceHandler().stopAnimation(UUIDUtil.getClientUUID());
NettyClient client = NettyClient.getClient();
if (client != null) {
client.write(ServerCrossDataPacket.build(new JsonHolder().put("type", "floss_update").put("flossing", false)));
}
}
use of cc.hyperium.netty.NettyClient in project Hyperium by HyperiumClient.
the class FlossKeybind method onPress.
@Override
public void onPress() {
FlossDanceHandler flossDanceHandler = Hyperium.INSTANCE.getHandlers().getFlossDanceHandler();
UUID uuid = (Minecraft.getMinecraft().getSession()).getProfile().getId();
AbstractAnimationHandler.AnimationState currentState = flossDanceHandler.get(uuid);
NettyClient client = NettyClient.getClient();
if (Settings.FLOSS_TOGGLE && currentState.isAnimating() && !wasPressed()) {
currentState.setToggled(false);
flossDanceHandler.stopAnimation(uuid);
if (client != null) {
client.write(ServerCrossDataPacket.build(new JsonHolder().put("type", "floss_update").put("flossing", false)));
}
return;
}
if (!wasPressed()) {
currentState.setToggled(Settings.FLOSS_TOGGLE);
flossDanceHandler.startAnimation(uuid);
if (client != null) {
client.write(ServerCrossDataPacket.build(new JsonHolder().put("type", "floss_update").put("flossing", true)));
}
}
}
use of cc.hyperium.netty.NettyClient in project Hyperium by HyperiumClient.
the class TwerkDanceKeybind method onPress.
@Override
public void onPress() {
Hyperium.INSTANCE.getHandlers().getTwerkDance().getStates().put(UUIDUtil.getClientUUID(), System.currentTimeMillis());
Hyperium.INSTANCE.getHandlers().getTwerkDance().startAnimation(UUIDUtil.getClientUUID());
NettyClient client = NettyClient.getClient();
if (client != null) {
client.write(ServerCrossDataPacket.build(new JsonHolder().put("type", "twerk_dance")));
}
}
use of cc.hyperium.netty.NettyClient in project Hyperium by HyperiumClient.
the class TPoseKeybind method onPress.
@Override
public void onPress() {
TPoseHandler tPoseHandler = Hyperium.INSTANCE.getHandlers().getTPoseHandler();
UUID uuid = (Minecraft.getMinecraft().getSession()).getProfile().getId();
AbstractAnimationHandler.AnimationState currentState = tPoseHandler.get(uuid);
tPoseToggled = !Settings.TPOSE_TOGGLE_MODE || !tPoseToggled;
NettyClient client = NettyClient.getClient();
if (Settings.TPOSE_TOGGLE_MODE) {
currentState.setToggled(tPoseToggled);
if (tPoseToggled)
tPoseHandler.startAnimation(uuid);
else
tPoseHandler.stopAnimation(uuid);
if (client != null) {
client.write(ServerCrossDataPacket.build(new JsonHolder().put("type", "tpose_update").put("posing", tPoseToggled)));
}
return;
}
if (Settings.TPOSE_TOGGLE && currentState.isAnimating() && !wasPressed()) {
currentState.setToggled(false);
tPoseHandler.stopAnimation(uuid);
if (client != null) {
client.write(ServerCrossDataPacket.build(new JsonHolder().put("type", "tpose_update").put("posing", false)));
}
return;
}
if (!wasPressed()) {
currentState.setToggled(Settings.TPOSE_TOGGLE);
tPoseHandler.startAnimation(uuid);
}
if (client != null) {
client.write(ServerCrossDataPacket.build(new JsonHolder().put("type", "tpose_update").put("posing", true)));
}
}
use of cc.hyperium.netty.NettyClient in project Hyperium by HyperiumClient.
the class Hyperium method init.
/**
* Initialize all local variables
* <p>
* Create / check for important things that need to be loaded
* before the client officially allows the player to use it.
*
* @param event Fired on startup, after screen is displayed {@link InitializationEvent}
*/
@InvokeEvent(priority = Priority.HIGH)
public void init(InitializationEvent event) {
try {
// Create the network handler, register it in config, then check for a LoginReply
Multithreading.runAsync(() -> {
networkHandler = new NetworkHandler();
CONFIG.register(networkHandler);
this.client = new NettyClient(networkHandler);
UniversalNetty.getInstance().getPacketManager().register(new LoginReplyHandler());
});
// Initialize notifications
notification = new NotificationCenter();
// Get the build id
createBuildId();
Hyperium.LOGGER.info("Hyperium Build ID: {}", BUILD_ID);
// Check for if the user is in a developers environment
checkForDevEnvironment();
// Initialize cosmetics
cosmetics = new HyperiumCosmetics();
// If it's the users first launch, create a folder to store their lock file in
firstLaunch = new File(folder.getAbsolutePath() + "/accounts").mkdirs();
// Determine if the users ever charge backed, if they have, they won't be allowed to launch
new ChargebackStopper();
// Create a lock file if the user accepts the TOS
this.acceptedTos = new File(folder.getAbsolutePath() + "/accounts/" + Minecraft.getMinecraft().getSession().getPlayerID() + ".lck").exists();
SplashProgress.setProgress(5, I18n.format("splashprogress.loadinghandlers"));
// Initialize handlers
handlers = new HyperiumHandlers();
handlers.postInit();
SplashProgress.setProgress(6, I18n.format("splashprogress.registeringlisteners"));
// Register events
EventBus.INSTANCE.register(new ToggleSprintContainer());
EventBus.INSTANCE.register(notification);
EventBus.INSTANCE.register(CompactChat.getInstance());
EventBus.INSTANCE.register(CONFIG.register(FPSLimiter.getInstance()));
EventBus.INSTANCE.register(confirmation);
EventBus.INSTANCE.register(statTrack);
CONFIG.register(statTrack);
CONFIG.register(new ToggleSprintContainer());
SplashProgress.setProgress(7, I18n.format("splashprogress.startinghyperium"));
LOGGER.info("[Hyperium] Started!");
// Set the window title
Display.setTitle("Hyperium " + Metadata.getVersion());
SplashProgress.setProgress(8, I18n.format("splashprogress.registeringconfiguration"));
// Register the settings
Settings.register();
CONFIG.register(new ColourOptions());
SplashProgress.setProgress(9, I18n.format("splashprogress.registeringcommands"));
// Register all the default commands
registerCommands();
// Initialize the Purchase API
EventBus.INSTANCE.register(PurchaseApi.getInstance());
SplashProgress.setProgress(10, I18n.format("splashprogress.loadingintegrations"));
// Register mods & addons
modIntegration = new HyperiumModIntegration();
internalAddons = new InternalAddons();
// Fetch Hyperium staff members
fetchStaffMembers();
// Add a thread for shutdowns
Runtime.getRuntime().addShutdownHook(new Thread(this::shutdown));
// Load
richPresenceManager.load();
// Check if the user has accepted the TOS, if they have, check the Hyperium status
if (acceptedTos) {
sk1erMod = new Sk1erMod("hyperium", Metadata.getVersion(), object -> {
if (object.has("enabled") && !object.optBoolean("enabled")) {
handlers.getHyperiumCommandHandler().clear();
}
});
sk1erMod.checkStatus();
}
SplashProgress.setProgress(11, I18n.format("splashprogress.finishing"));
// Load the previous chat session
loadPreviousChatFile();
// Fetch the current version
fetchVersion();
// Check if the user is running Optifine
if (AddonCheckerUtil.isUsingOptifine()) {
// 🦀
optifineInstalled = true;
}
// Print every loaded addon
collectAddons();
LOGGER.info("Hyperium loaded in {} seconds", (System.currentTimeMillis() - launchTime) / 1000F);
} catch (Throwable t) {
// If an issue is caught, crash the game
Minecraft.getMinecraft().crashed(new CrashReport("Hyperium Startup Failure", t));
}
}
Aggregations