Jump to content

Recommended Posts

Posted (edited)

Hi,

I've got a problem.

I wanna to make a Mod, this mod will Hide Players in the Tablist of the player, who execute the Command.

In Bukkit it is very easy, but how can I Import the Package in Minecraft Forge??

Can you say me please how the Methods call in Forge?

 

Thank you very much and sorry for my english...

 

 

 

 

I think I Must say the Client that the player Quit the Server, but he Rest on the Server...

 

That Must be possible with the player List item, but how does it works??

Edited by #ÖCT
  • Thanks 1
Posted
  On 3/6/2018 at 3:36 PM, diesieben07 said:

The packet has a clearly defined constructor. You need to call it.

Expand  

Can you help me please how can I define the player in the constructor?

 

And how can I call the Constructor?

 

Can you please help me?

Posted

                         String username = hide_player.getDisplayNameString();
                        GameProfile profile = MinecraftServer.getServer().getPlayerProfileCache().getGameProfileForUsername(username);
                        UUID uuid = profile.getId();
                        
                        EntityPlayerMP remove = (EntityPlayerMP) hide_player;
                        
                         new S38PacketPlayerListItem(Action.REMOVE_PLAYER, remove);

 

is this correct?

 

Posted
  On 3/9/2018 at 5:16 PM, #ÖCT said:

UUID uuid = profile.getId();

Expand  

And then you do nothing with this. What was the point?

Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable.  If you think this is the case, JUST REPORT ME.  Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice.

 

Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked.

 

DO NOT PM ME WITH PROBLEMS. No help will be given.

Posted
  On 3/9/2018 at 5:57 PM, #ÖCT said:

First i think, I Need the UUID to choose the player.

Expand  

But you got the UUID from a player object, and then did nothing with the UUID what so ever.

Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable.  If you think this is the case, JUST REPORT ME.  Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice.

 

Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked.

 

DO NOT PM ME WITH PROBLEMS. No help will be given.

Posted
  On 3/9/2018 at 6:26 PM, Draco18s said:

But you got the UUID from a player object, and then did nothing with the UUID what so ever.

Expand  

yes I know, but how can I send the packet, i wanna to hide players in the Tablist, and the hide_player variable is the player who shut be hided in the Tablist...

 

Here is the class...

 

 

 

package oect.lwaltens.luckyblockoectarmor.commands;

import java.io.IOException;
import java.util.Iterator;
import java.util.List;
import java.util.Queue;
import java.util.UUID;

import org.apache.http.impl.conn.tsccm.WaitingThread;
import org.omg.CORBA.PRIVATE_MEMBER;

import com.google.common.collect.Lists;
import com.jcraft.jogg.Buffer;
import com.mojang.authlib.GameProfile;
import com.mojang.authlib.properties.Property;


import io.netty.buffer.ByteBuf;
import net.minecraft.block.state.IBlockState;
import net.minecraft.client.Minecraft;
import net.minecraft.client.entity.EntityOtherPlayerMP;
import net.minecraft.client.multiplayer.PlayerControllerMP;
import net.minecraft.command.CommandBase;
import net.minecraft.command.CommandException;
import net.minecraft.command.CommandKill;
import net.minecraft.command.ICommandSender;
import net.minecraft.entity.Entity;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.EntityPlayerMP;
import net.minecraft.network.NetHandlerPlayServer;
import net.minecraft.network.PacketBuffer;
import net.minecraft.network.play.server.S13PacketDestroyEntities;
import net.minecraft.network.play.server.S38PacketPlayerListItem;
import net.minecraft.network.play.server.S38PacketPlayerListItem.Action;
import net.minecraft.server.MinecraftServer;
import net.minecraft.server.gui.PlayerListComponent;
import net.minecraft.util.BlockPos;
import net.minecraft.util.ChatComponentText;
import net.minecraft.util.ChatStyle;
import net.minecraft.util.EnumChatFormatting;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.IChatComponent;
import net.minecraft.world.World;
import net.minecraft.world.WorldSettings;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
import net.minecraftforge.fml.common.gameevent.TickEvent;
import net.minecraftforge.fml.common.gameevent.TickEvent.ClientTickEvent;
import net.minecraftforge.fml.common.network.internal.FMLProxyPacket;
import scala.collection.parallel.ParIterableLike.Min;


public class Command_Tab_Remove extends CommandBase {
    public NetHandlerPlayServer playerNetServerHandler;
    
    @Override
    public boolean canCommandSenderUseCommand(ICommandSender sender) {
        return true;
    } 

    @Override
    public String getCommandName() {
        return "hide_player";
    }

    @Override
    public String getCommandUsage(ICommandSender sender) {
        return "/hide_player"; 
    }
    
        public IChatComponent getTabListDisplayName() {
        return null;
    }
    

    @Override
    public void processCommand(ICommandSender sender, String[] args) throws CommandException {
        
            if (sender instanceof EntityPlayer) {
                EntityPlayer player = (EntityPlayer) sender;

                
           
                if  (args.length == 1){
                     Entity entity = func_175768_b(sender, args[0]);
                     if (entity instanceof EntityPlayer) {
                         EntityPlayer hide_player = (EntityPlayer) entity;
                         
                         String username = hide_player.getDisplayNameString();
                        GameProfile profile = MinecraftServer.getServer().getPlayerProfileCache().getGameProfileForUsername(username);
                        UUID uuid = profile.getId();
                        
                        EntityPlayerMP remove = (EntityPlayerMP) hide_player;
                        
                         new S38PacketPlayerListItem(Action.REMOVE_PLAYER, remove);
                      
                       
                         
                         
                         
                         
                       
                             
                       
                        
                         player.addChatComponentMessage(new ChatComponentText("UUID von "+EnumChatFormatting.RED+username+EnumChatFormatting.RESET+": "+uuid));
                     }
                } 
                else {
                    player.addChatComponentMessage(new ChatComponentText("Falsche Anzahl an Parametern"));
                }
              
                        
       
                
                
                
              
                
            //   new GameProfile(uuid, (String)null);
               }    
            

            
    }
    
    public boolean isUsernameIndex(String[] args, int index)
    {
        return index == 0;
    }

    public List<String> addTabCompletionOptions(ICommandSender sender, String[] args, BlockPos pos)
    {
        return args.length == 1 ? getListOfStringsMatchingLastWord(args, MinecraftServer.getServer().getAllUsernames()) : null;
    }
     
}

Posted (edited)

can you please help me :o

package oect.lwaltens.luckyblockoectarmor.commands;

import java.io.IOException;
import java.util.Iterator;
import java.util.List;
import java.util.Queue;
import java.util.UUID;

import org.apache.http.impl.conn.tsccm.WaitingThread;
import org.omg.CORBA.PRIVATE_MEMBER;

import com.google.common.collect.Lists;
import com.jcraft.jogg.Buffer;
import com.mojang.authlib.GameProfile;
import com.mojang.authlib.properties.Property;


import io.netty.buffer.ByteBuf;
import net.minecraft.block.state.IBlockState;
import net.minecraft.client.Minecraft;
import net.minecraft.client.entity.EntityOtherPlayerMP;
import net.minecraft.client.multiplayer.PlayerControllerMP;
import net.minecraft.command.CommandBase;
import net.minecraft.command.CommandException;
import net.minecraft.command.CommandKill;
import net.minecraft.command.ICommandSender;
import net.minecraft.entity.Entity;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.EntityPlayerMP;
import net.minecraft.network.NetHandlerPlayServer;
import net.minecraft.network.PacketBuffer;
import net.minecraft.network.play.server.S13PacketDestroyEntities;
import net.minecraft.network.play.server.S38PacketPlayerListItem;
import net.minecraft.network.play.server.S38PacketPlayerListItem.Action;
import net.minecraft.server.MinecraftServer;
import net.minecraft.server.gui.PlayerListComponent;
import net.minecraft.util.BlockPos;
import net.minecraft.util.ChatComponentText;
import net.minecraft.util.ChatStyle;
import net.minecraft.util.EnumChatFormatting;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.IChatComponent;
import net.minecraft.world.World;
import net.minecraft.world.WorldSettings;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
import net.minecraftforge.fml.common.gameevent.TickEvent;
import net.minecraftforge.fml.common.gameevent.TickEvent.ClientTickEvent;
import net.minecraftforge.fml.common.network.internal.FMLProxyPacket;
import scala.collection.parallel.ParIterableLike.Min;


public class Command_Tab_Remove extends CommandBase {
    public NetHandlerPlayServer playerNetServerHandler;
    
    @Override
    public boolean canCommandSenderUseCommand(ICommandSender sender) {
        return true;
    } 

    @Override
    public String getCommandName() {
        return "hide_player";
    }

    @Override
    public String getCommandUsage(ICommandSender sender) {
        return "/hide_player"; 
    }
    
        public IChatComponent getTabListDisplayName() {
        return null;
    }
    

    @Override
    public void processCommand(ICommandSender sender, String[] args) throws CommandException {
        
            if (sender instanceof EntityPlayer) {
                EntityPlayer player = (EntityPlayer) sender;

                
           
                if  (args.length == 1){
                     Entity entity = func_175768_b(sender, args[0]);
                     if (entity instanceof EntityPlayer) {
                         EntityPlayer hide_player = (EntityPlayer) entity;
                         
                         String username = hide_player.getDisplayNameString();
                        GameProfile profile = MinecraftServer.getServer().getPlayerProfileCache().getGameProfileForUsername(username);
                        UUID uuid = profile.getId();
                        
                        EntityPlayerMP remove = (EntityPlayerMP) hide_player;
                        
                         new S38PacketPlayerListItem(Action.REMOVE_PLAYER, remove);
                      
                       
                         
                         
                         
                         
                       
                             
                       
                        
                         player.addChatComponentMessage(new ChatComponentText("UUID von "+EnumChatFormatting.RED+username+EnumChatFormatting.RESET+": "+uuid));
                     }
                } 
                else {
                    player.addChatComponentMessage(new ChatComponentText("Falsche Anzahl an Parametern"));
                }
              
                        
       
                
                
                
              
                
            //   new GameProfile(uuid, (String)null);
               }    
            

            
    }
    
    public boolean isUsernameIndex(String[] args, int index)
    {
        return index == 0;
    }

    public List<String> addTabCompletionOptions(ICommandSender sender, String[] args, BlockPos pos)
    {
        return args.length == 1 ? getListOfStringsMatchingLastWord(args, MinecraftServer.getServer().getAllUsernames()) : null;
    }
     
}

 

Edited by diesieben07
syntax highlighting
Posted

Can you please help me one more time :o?

Is this correct?

And what must I send with the ImessageComponent?

 

package oect.lwaltens.luckyblockoectarmor.commands;

import java.io.IOException;
import java.util.Iterator;
import java.util.List;
import java.util.Queue;
import java.util.UUID;

import org.apache.http.impl.conn.tsccm.WaitingThread;
import org.omg.CORBA.PRIVATE_MEMBER;

import com.google.common.collect.Lists;
import com.jcraft.jogg.Buffer;
import com.mojang.authlib.GameProfile;
import com.mojang.authlib.properties.Property;


import io.netty.buffer.ByteBuf;
import net.minecraft.block.state.IBlockState;
import net.minecraft.client.Minecraft;
import net.minecraft.client.entity.EntityOtherPlayerMP;
import net.minecraft.client.multiplayer.PlayerControllerMP;
import net.minecraft.command.CommandBase;
import net.minecraft.command.CommandException;
import net.minecraft.command.CommandKill;
import net.minecraft.command.ICommandSender;
import net.minecraft.entity.Entity;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.EntityPlayerMP;
import net.minecraft.network.NetHandlerPlayServer;
import net.minecraft.network.PacketBuffer;
import net.minecraft.network.play.server.S13PacketDestroyEntities;
import net.minecraft.network.play.server.S38PacketPlayerListItem;
import net.minecraft.network.play.server.S38PacketPlayerListItem.Action;
import net.minecraft.server.MinecraftServer;
import net.minecraft.server.gui.PlayerListComponent;
import net.minecraft.server.management.UserList;
import net.minecraft.util.BlockPos;
import net.minecraft.util.ChatComponentText;
import net.minecraft.util.ChatStyle;
import net.minecraft.util.EnumChatFormatting;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.IChatComponent;
import net.minecraft.world.World;
import net.minecraft.world.WorldSettings;
import net.minecraftforge.fml.common.Mod.Instance;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
import net.minecraftforge.fml.common.gameevent.TickEvent;
import net.minecraftforge.fml.common.gameevent.TickEvent.ClientTickEvent;
import net.minecraftforge.fml.common.network.NetworkRegistry;
import net.minecraftforge.fml.common.network.internal.FMLProxyPacket;
import net.minecraftforge.fml.common.network.simpleimpl.SimpleNetworkWrapper;
import oect.lwaltens.luckyblockoectarmor.LuckyBlockOect;
import scala.actors.remote.SendTo;
import scala.collection.parallel.ParIterableLike.Min;


public class Command_Tab_Remove extends CommandBase {
    
    public static final SimpleNetworkWrapper INSTANCE = NetworkRegistry.INSTANCE.newSimpleChannel("luckyblockoect");
    public NetHandlerPlayServer playerNetServerHandler;
    
    @Override
    public boolean canCommandSenderUseCommand(ICommandSender sender) {
        return true;
    } 

    @Override
    public String getCommandName() {
        return "hide_player";
    }

    @Override
    public String getCommandUsage(ICommandSender sender) {
        return "/hide_player"; 
    }
    
        public IChatComponent getTabListDisplayName() {
        return null;
    }
    

    @Override
    public void processCommand(ICommandSender sender, String[] args) throws CommandException {
        
        
         Minecraft.getMinecraft().ingameGUI.getTabList().setHeader(new ChatComponentText("Alle sind Cool"));
            if (sender instanceof EntityPlayer) {
                EntityPlayer player = (EntityPlayer) sender;

                
           
                if  (args.length == 1){
                     Entity entity = func_175768_b(sender, args[0]);
                     if (entity instanceof EntityPlayer) {
                         EntityPlayer hide_player = (EntityPlayer) entity;
                         
                         
                         
                         
                         String username = hide_player.getDisplayNameString();
                        EntityPlayerMP profile = MinecraftServer.getServer().getConfigurationManager().getPlayerByUsername(username);
                        INSTANCE.sendTo(message, sender);
                      
                       
                         
                 
                     }
                } 
                else {
                    player.addChatComponentMessage(new ChatComponentText(EnumChatFormatting.RED+"ERROR"));
                }
                   }    
            

            
    }
    
    public boolean isUsernameIndex(String[] args, int index)
    {
        return index == 0;
    }

    public List<String> addTabCompletionOptions(ICommandSender sender, String[] args, BlockPos pos)
    {
        return args.length == 1 ? getListOfStringsMatchingLastWord(args, MinecraftServer.getServer().getAllUsernames()) : null;
    }
     
}

Posted

Please use the code tag:

Capture.PNG

Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable.  If you think this is the case, JUST REPORT ME.  Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice.

 

Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked.

 

DO NOT PM ME WITH PROBLEMS. No help will be given.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Announcements




  • Recently Browsing

    • No registered users viewing this page.
  • Posts

    • And without soulsweapons?
    • In France, we deeply value financial security and independence. After my divorce, my life took a chaotic turn, and amidst all the turmoil, I misplaced the backup phrase for my Bitcoin wallet, which held a significant amount, $220,000. I was already grappling with emotional challenges, and the thought of losing my Bitcoin felt like the final blow. In moments like these, I couldn't help but think of the French saying, “Il ne faut jamais dire jamais,” which means “Never say never.” Little did I know that this would become a mantra for my recovery journey. I spent days searching for that elusive phrase, going through old documents and turning my apartment upside down, but it was as if the universe had conspired against me—the backup was simply gone. Feeling desperate and overwhelmed, I confided in a friend who works in the cryptocurrency space. He recommended Hack Buster Recovery, mentioning that they had helped many French investors in similar situations. Skeptical but out of options, I decided to reach out. From the moment I contacted Hack Buster Recovery, I was struck by their understanding of my situation. They were professional and compassionate, reassuring me that I wasn’t alone in this struggle. Their team quickly got to work, explaining the recovery process in a way that put my mind at ease. It was clear they had dealt with cases like mine before, WEBSITE: hackbusters.online
    • (LEEULTIMATEHACKER @ A O L . C O M)  telegram: LEEULTIMATE With LEE ULTIMATE HACKER, a team which specializes in recovering a wide range of digital assets including, Bitcoin, Etherium, stablecoins, non -fungible tokens (NFTs), and other various cryptocurrencies, In the ever evolving crypto world the need for effective recovery solutions is very critical. Their services are specifically tailored to assist clients dealing with fraud, LEE ULTIMATE HACKER's strength lies in its team of industry pioneers who have contributed to shaping the legal and regulatory frameworks around crypto assets, They also work closely with trusted insolvency practitioners, crypto custodians leading exchanges, and Insurance providers, LEE ULTIMATE HACKER and team works with a robust network allows them to delivery seamless end-to-end recovery service capable of handling even the most complex cases, services that are specifically tailored to assist clients dealing with fraud, Bitcoin scams and digital assets that are deliberately concealed or Misappropriated. LEE ULTIMATE HACKER strength lies in its team of industry pioneers who have contributed to shaping the legal and regulatory framework around crypto assets, from the moment assets go missing LEE ULTIMATE HACKER is dedicated to guiding clients through every step of the recovery process, they understand the urgency and emotional weight of such situations and leverage their expertise to maximize the chances of successful outcome, whether facing fraud, scams, or other crypto -related challenges, LEE ULTIMATE HACKER stands ready to help clients reclaim what is rightfully theirs.
    • I deleted wildbackport and now i get this https://mclo.gs/1Q7mHD1
    • Add the full crash-report or latest.log (logs-folder) with sites like https://mclo.gs/ and paste the link to it here
  • Topics

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.