Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package de.photon.AACAdditionPro.modules.clientcontrol;
- import com.google.common.collect.ImmutableSet;
- import de.photon.AACAdditionPro.AACAdditionPro;
- import de.photon.AACAdditionPro.ServerVersion;
- import de.photon.AACAdditionPro.modules.ListenerModule;
- import de.photon.AACAdditionPro.modules.ModuleType;
- import de.photon.AACAdditionPro.modules.PluginMessageListenerModule;
- import de.photon.AACAdditionPro.modules.RestrictedServerVersion;
- import de.photon.AACAdditionPro.user.User;
- import de.photon.AACAdditionPro.user.UserManager;
- import de.photon.AACAdditionPro.util.pluginmessage.MessageChannel;
- import java.io.ByteArrayOutputStream;
- import java.io.DataOutputStream;
- import java.io.IOException;
- import java.util.Objects;
- import java.util.Set;
- import org.bukkit.configuration.file.FileConfiguration;
- import org.bukkit.entity.Player;
- import org.bukkit.event.EventHandler;
- import org.bukkit.event.player.PlayerJoinEvent;
- public class SchematicaControl
- extends ClientControlModule
- implements ListenerModule, PluginMessageListenerModule, RestrictedServerVersion
- {
- private static final MessageChannel SCHEMATICA_CHANNEL = new MessageChannel("minecraft", "schematica", "schematica");
- private final boolean[] disable = {
- !AACAdditionPro.getInstance().getConfig().getBoolean(getModuleType().getConfigString() + ".disable.printer") ? 1 : 0,
- !AACAdditionPro.getInstance().getConfig().getBoolean(getModuleType().getConfigString() + ".disable.saveToFile") ? 1 : 0,
- !AACAdditionPro.getInstance().getConfig().getBoolean(getModuleType().getConfigString() + ".disable.load") ? 1 : 0 };
- @EventHandler
- public void on(PlayerJoinEvent paramPlayerJoinEvent)
- {
- User localUser = UserManager.getUser(paramPlayerJoinEvent.getPlayer().getUniqueId());
- if (User.isUserInvalid(localUser, getModuleType())) {
- return;
- }
- try
- {
- ByteArrayOutputStream localByteArrayOutputStream = new ByteArrayOutputStream();Object localObject1 = null;
- try
- {
- DataOutputStream localDataOutputStream = new DataOutputStream(localByteArrayOutputStream);Object localObject2 = null;
- try
- {
- localDataOutputStream.writeByte(0);
- for (int k : this.disable) {
- localDataOutputStream.writeBoolean(k);
- }
- localUser.getPlayer().sendPluginMessage(AACAdditionPro.getInstance(), SCHEMATICA_CHANNEL
- .getChannel(),
- (byte[])Objects.requireNonNull(localByteArrayOutputStream.toByteArray(), "Schematica plugin message is null"));
- }
- catch (Throwable localThrowable4)
- {
- localObject2 = localThrowable4;throw localThrowable4;
- }
- finally {}
- }
- catch (Throwable localThrowable2)
- {
- localObject1 = localThrowable2;throw localThrowable2;
- }
- finally
- {
- if (localByteArrayOutputStream != null) {
- if (localObject1 != null) {
- try
- {
- localByteArrayOutputStream.close();
- }
- catch (Throwable localThrowable6)
- {
- ((Throwable)localObject1).addSuppressed(localThrowable6);
- }
- } else {
- localByteArrayOutputStream.close();
- }
- }
- }
- }
- catch (IOException localIOException)
- {
- localIOException.printStackTrace();
- }
- }
- public Set<MessageChannel> getOutgoingChannels()
- {
- return ImmutableSet.of(SCHEMATICA_CHANNEL);
- }
- public ModuleType getModuleType()
- {
- return ModuleType.SCHEMATICA_CONTROL;
- }
- public Set<ServerVersion> getSupportedVersions()
- {
- return ServerVersion.LEGACY_PLUGIN_MESSAGE_VERSIONS;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement