danbka33
Members-
Posts
17 -
Joined
-
Last visited
Converted
-
Gender
Undisclosed
-
Personal Text
I am new!
danbka33's Achievements
Tree Puncher (2/8)
0
Reputation
-
I already did, but can you explain how did it here: https://github.com/micdoodle8/Galacticraft/tree/master/common/micdoodle8/mods/galacticraft/core/entities/player
-
I want to do like this: https://github.com/micdoodle8/galacticraft https://github.com/micdoodle8/Galacticraft/tree/master/common/micdoodle8/mods/galacticraft/core/entities/player
-
Sorry, I do not know what it is. Can you help?
-
UP No one knows?
-
UP
-
I do not know how to do it. Can you help?
-
No, but how to do it? Sorry for bad English.
-
Add
-
[spoiler=Core] public static Map<String, SCoreEntityPlayerSP> playersClient = new HashMap<String, SCoreEntityPlayerSP>(); public static Map<String, SCoreEntityPlayerMP> playersServer = new HashMap<String, SCoreEntityPlayerMP>(); [spoiler=SCoreEntityPlayerMP] package nuclear.mods.space.entity.player; import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.item.ItemInWorldManager; import net.minecraft.server.MinecraftServer; import net.minecraft.util.DamageSource; import net.minecraft.world.World; import nuclear.mods.space.SLog; import nuclear.mods.space.SpaceCore; public class SCoreEntityPlayerMP extends EntityPlayerMP { private long tick; public SCoreEntityPlayerMP(MinecraftServer server, World world, String username, ItemInWorldManager itemInWorldManager) { super(server, world, username, itemInWorldManager); if (!SpaceCore.playersServer.containsKey(this.username)) { SpaceCore.playersServer.put(this.username, this); SLog.info(" ADD"); } } @Override public void onDeath(DamageSource damageSource) { SpaceCore.playersServer.remove(this); SLog.info(" REMOVE"); super.onDeath(damageSource); } @Override public void onUpdate() { super.onUpdate(); if (!SpaceCore.playersServer.containsKey(this.username) || this.tick % 360 == 0) { SpaceCore.playersServer.put(this.username, this); SLog.info(" ADD"); } if (this.tick >= Long.MAX_VALUE) { this.tick = 0; } this.tick++; } } [spoiler=SCoreEntityPlayerSP] package nuclear.mods.space.entity.player; import java.util.ArrayList; import net.minecraft.client.Minecraft; import net.minecraft.client.entity.EntityClientPlayerMP; import net.minecraft.client.multiplayer.NetClientHandler; import net.minecraft.util.DamageSource; import net.minecraft.util.Session; import net.minecraft.world.World; import nuclear.mods.space.SLog; import nuclear.mods.space.SpaceCore; import nuclear.mods.space.api.ISchematicPage; public class SCoreEntityPlayerSP extends EntityClientPlayerMP { public ArrayList<ISchematicPage> unlockedSchematics = new ArrayList<ISchematicPage>(); public long tick; public SCoreEntityPlayerSP(Minecraft par1Minecraft, World par2World, Session par3Session, NetClientHandler par4NetClientHandler) { super(par1Minecraft, par2World, par3Session, par4NetClientHandler); if (!SpaceCore.playersClient.containsKey(this.username)) { SpaceCore.playersClient.put(this.username, this); SLog.info(" ADD"); } } @Override public void onDeath(DamageSource var1) { SpaceCore.playersClient.remove(this); SLog.info(" REMOVE"); super.onDeath(var1); } @Override public void onUpdate() { this.tick++; if (!SpaceCore.playersClient.containsKey(this.username) || this.tick % 360 == 0) { SpaceCore.playersClient.put(this.username, this); SLog.info(" ADD"); } super.onUpdate(); } } [spoiler=PlayerUtil] package nuclear.mods.space.util; import java.util.Iterator; import java.util.Map; import net.minecraft.entity.player.EntityPlayer; import nuclear.mods.space.SLog; import nuclear.mods.space.SpaceCore; import nuclear.mods.space.entity.player.SCoreEntityPlayerMP; import nuclear.mods.space.entity.player.SCoreEntityPlayerSP; public class PlayerUtil { public static SCoreEntityPlayerMP getPlayerBaseServerFromPlayerUsername(String username) { if (SpaceCore.playersServer.isEmpty()) { // new EmptyStackException().printStackTrace(); } final Iterator<Map.Entry<String, SCoreEntityPlayerMP>> it = SpaceCore.playersServer.entrySet().iterator(); while (it.hasNext()) { Map.Entry<String, SCoreEntityPlayerMP> entry = it.next(); if (entry.getKey().equals(username)) { return entry.getValue(); } } SLog.severe("Warning: Could not find player base server instance for player " + username); return null; } public static SCoreEntityPlayerMP getPlayerBaseServerFromPlayer(EntityPlayer player) { if (player == null) { return null; } if (SpaceCore.playersServer.isEmpty()) { // new EmptyStackException().printStackTrace(); } final Iterator<Map.Entry<String, SCoreEntityPlayerMP>> it = SpaceCore.playersServer.entrySet().iterator(); while (it.hasNext()) { final Map.Entry<String, SCoreEntityPlayerMP> entry = it.next(); if (entry.getKey().equals(player.username)) { return entry.getValue(); } } SLog.severe("Warning: Could not find player base server instance for player " + player.username); return null; } public static SCoreEntityPlayerSP getPlayerBaseClientFromPlayer(EntityPlayer player) { if (player == null) { return null; } if (SpaceCore.playersClient.isEmpty()) { return null; } final Iterator<Map.Entry<String, SCoreEntityPlayerSP>> it = SpaceCore.playersClient.entrySet().iterator(); while (it.hasNext()) { final Map.Entry<String, SCoreEntityPlayerSP> entry = it.next(); if (entry.getKey() != null && entry.getKey().equals(player.username)) { return entry.getValue(); } } SLog.severe("Warning: Could not find player base client instance for player " + player.username); return null; } } If I call SCoreEntityPlayerMP,SCoreEntityPlayerSP using PlayerUtil, I get a null value
-
Problem solved.
-
I did, but that's left to do is automatically updated in the gui, but not after rejoining in gui. Sorry for bad English)
-
UP
-
but the energy in the block is not updated. What to do?
-
Thank you!!!
-
https://drive.google.com/file/d/0B9UWs5AUe9smYWQ1ZVhKWGp5WDA/edit?usp=sharing Code.