GameProfile API Sync.

This commit is contained in:
AlgorithmX2
2014-07-09 15:07:53 -05:00
parent 16ef731c00
commit 0e676f5171
7 changed files with 54 additions and 46 deletions
@@ -3,15 +3,16 @@ package appeng.client.render.items;
import net.minecraft.client.renderer.ItemRenderer;
import net.minecraft.client.renderer.Tessellator;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.util.IIcon;
import net.minecraftforge.client.IItemRenderer;
import org.lwjgl.opengl.GL11;
import com.mojang.authlib.GameProfile;
import appeng.api.implementations.items.IBiometricCard;
import appeng.api.util.AEColor;
import appeng.client.texture.ExtraItemTextures;
import appeng.util.Platform;
public class ToolBiometricCardRender implements IItemRenderer
{
@@ -74,8 +75,13 @@ public class ToolBiometricCardRender implements IItemRenderer
float u = ExtraItemTextures.White.getIcon().getInterpolatedU( 8.1 );
float v = ExtraItemTextures.White.getIcon().getInterpolatedV( 8.1 );
NBTTagCompound myTag = Platform.openNbtData( item );
String username = myTag.getString( "username" );
String username = "";
if ( item.getItem() instanceof IBiometricCard )
{
GameProfile gp = (( IBiometricCard) item.getItem() ).getProfile(item);
if ( gp != null )
username = gp.getName();
}
int hash = username.length() > 0 ? username.hashCode() : 0;
GL11.glScalef( 1F / 16F, 1F / 16F, 1F );
+9 -15
View File
@@ -8,6 +8,8 @@ import java.util.List;
import java.util.Map.Entry;
import java.util.WeakHashMap;
import com.mojang.authlib.GameProfile;
import net.minecraft.entity.player.EntityPlayerMP;
import net.minecraftforge.common.DimensionManager;
import net.minecraftforge.common.config.ConfigCategory;
@@ -227,17 +229,6 @@ public class WorldSettings extends Configuration
return r;
}
public String getUsername(int id)
{
ConfigCategory playerList = this.getCategory( "players" );
for (Entry<String, Property> fish : playerList.entrySet())
{
if ( fish.getValue().isIntValue() && fish.getValue().getInt() == id )
return fish.getKey();
}
return null;
}
public int getNextOrderedValue(String name)
{
Property p = this.get( "orderedValues", name, 0 );
@@ -246,18 +237,21 @@ public class WorldSettings extends Configuration
return myValue;
}
public int getPlayerID(String username)
public int getPlayerID(GameProfile profile)
{
ConfigCategory playerList = this.getCategory( "players" );
if ( playerList == null || username == null || username.length() == 0 )
if ( playerList == null || profile == null || !profile.isComplete() )
return -1;
Property prop = playerList.get( username );
String uuid = profile.getId().toString();
Property prop = playerList.get( uuid );
if ( prop != null && prop.isIntValue() )
return prop.getInt();
else
{
playerList.put( username, prop = new Property( username, "" + nextPlayer(), Property.Type.INTEGER ) );
playerList.put( uuid, prop = new Property( uuid, "" + nextPlayer(), Property.Type.INTEGER ) );
save();
return prop.getInt();
}
+4 -8
View File
@@ -1,5 +1,7 @@
package appeng.core.features.registries;
import com.mojang.authlib.GameProfile;
import net.minecraft.entity.player.EntityPlayer;
import appeng.api.features.IPlayerRegistry;
import appeng.core.WorldSettings;
@@ -8,7 +10,7 @@ public class PlayerRegistry implements IPlayerRegistry
{
@Override
public int getID(String username)
public int getID(GameProfile username)
{
return WorldSettings.getInstance().getPlayerID( username );
}
@@ -16,13 +18,7 @@ public class PlayerRegistry implements IPlayerRegistry
@Override
public int getID(EntityPlayer player)
{
return WorldSettings.getInstance().getPlayerID( player.getCommandSenderName() );
}
@Override
public String getUsername(int id)
{
return WorldSettings.getInstance().getUsername( id );
return WorldSettings.getInstance().getPlayerID( player.getGameProfile() );
}
}
+25 -15
View File
@@ -3,10 +3,13 @@ package appeng.items.tools;
import java.util.EnumSet;
import java.util.List;
import com.mojang.authlib.GameProfile;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.nbt.NBTUtil;
import net.minecraft.world.World;
import net.minecraftforge.client.MinecraftForgeClient;
import appeng.api.config.SecurityPermissions;
@@ -33,8 +36,8 @@ public class ToolBiometricCard extends AEBaseItem implements IBiometricCard
@Override
public String getItemStackDisplayName(ItemStack is)
{
String username = getUsername( is );
return username.length() > 0 ? super.getItemStackDisplayName( is ) + " - " + username : super.getItemStackDisplayName( is );
GameProfile username = getProfile( is );
return username != null ? super.getItemStackDisplayName( is ) + " - " + username.getName() : super.getItemStackDisplayName( is );
}
@Override
@@ -66,20 +69,17 @@ public class ToolBiometricCard extends AEBaseItem implements IBiometricCard
private void encode(ItemStack is, EntityPlayer p)
{
String username = getUsername( is );
if ( p.getCommandSenderName().equals( username ) )
setUsername( is, "" );
GameProfile username = getProfile( is );
if (username != null && username.equals(p.getGameProfile()))
setProfile( is, null );
else
setUsername( is, p.getCommandSenderName() );
setProfile( is, p.getGameProfile() );
}
@Override
public void addInformation(ItemStack is, EntityPlayer p, List l, boolean b)
{
// String username = getUsername( is );
// if ( username.length() > 0 )
// l.add( username );
EnumSet<SecurityPermissions> perms = getPermissions( is );
if ( perms.isEmpty() )
l.add( GuiText.NoPermissions.getLocal() );
@@ -100,10 +100,12 @@ public class ToolBiometricCard extends AEBaseItem implements IBiometricCard
}
@Override
public String getUsername(ItemStack is)
public GameProfile getProfile(ItemStack is)
{
NBTTagCompound tag = Platform.openNbtData( is );
return tag.getString( "username" );
if ( tag.hasKey("profile") )
return NBTUtil.func_152459_a(tag.getCompoundTag("profile") );
return null;
}
@Override
@@ -129,10 +131,18 @@ public class ToolBiometricCard extends AEBaseItem implements IBiometricCard
}
@Override
public void setUsername(ItemStack itemStack, String username)
public void setProfile(ItemStack itemStack, GameProfile profile)
{
NBTTagCompound tag = Platform.openNbtData( itemStack );
tag.setString( "username", username );
if ( profile!= null )
{
NBTTagCompound pNBT = new NBTTagCompound();
NBTUtil.func_152460_a( pNBT, profile );
tag.setTag( "profile", pNBT );
}
else
tag.removeTag("profile");
}
@Override
@@ -153,6 +163,6 @@ public class ToolBiometricCard extends AEBaseItem implements IBiometricCard
@Override
public void registerPermissions(ISecurityRegister register, IPlayerRegistry pr, ItemStack is)
{
register.addPlayer( pr.getID( getUsername( is ) ), getPermissions( is ) );
register.addPlayer( pr.getID( getProfile( is ) ), getPermissions( is ) );
}
}
+1 -1
View File
@@ -56,7 +56,7 @@ public class SecurityCache implements IGridCache, ISecurityGrid
@Override
public boolean hasPermission(EntityPlayer player, SecurityPermissions perm)
{
return hasPermission( player == null ? -1 : WorldSettings.getInstance().getPlayerID( player.getCommandSenderName() ), perm );
return hasPermission( player == null ? -1 : WorldSettings.getInstance().getPlayerID( player.getGameProfile() ), perm );
}
@Override
+1 -1
View File
@@ -88,7 +88,7 @@ public class AENetworkProxy implements IGridBlock
}
else if ( node != null && owner != null )
{
node.setPlayerID( WorldSettings.getInstance().getPlayerID( owner.getCommandSenderName() ) );
node.setPlayerID( WorldSettings.getInstance().getPlayerID( owner.getGameProfile() ) );
owner = null;
}
}
+4 -2
View File
@@ -1,5 +1,7 @@
package appeng.me.storage;
import com.mojang.authlib.GameProfile;
import appeng.api.AEApi;
import appeng.api.config.AccessRestriction;
import appeng.api.config.Actionable;
@@ -113,7 +115,7 @@ public class SecurityInventory implements IMEInventoryHandler<IAEItemStack>
if ( input.getItem() instanceof IBiometricCard )
{
IBiometricCard tbc = (IBiometricCard) input.getItem();
String newUser = tbc.getUsername( input.getItemStack() );
GameProfile newUser = tbc.getProfile( input.getItemStack() );
int PlayerID = AEApi.instance().registries().players().getID( newUser );
if ( securityTile.getOwner() == PlayerID )
@@ -123,7 +125,7 @@ public class SecurityInventory implements IMEInventoryHandler<IAEItemStack>
{
if ( ais.isMeaninful() )
{
String thisUser = tbc.getUsername( ais.getItemStack() );
GameProfile thisUser = tbc.getProfile( ais.getItemStack() );
if ( thisUser.equals( newUser ) )
return false;
}