Advertisement
Guest User

Untitled

a guest
Aug 19th, 2015
51
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 7.19 KB | None | 0 0
  1. SkillExecutionPacket:
  2. ===
  3. package mcd.rivenmod.packet;
  4.  
  5. import io.netty.buffer.ByteBuf;
  6. import mcd.rivenmod.main.RivenMod;
  7. import mcd.rivenmod.skill.ISkill;
  8. import mcd.rivenmod.util.RivenPlayer;
  9. import net.minecraft.entity.player.EntityPlayer;
  10. import net.minecraft.entity.player.EntityPlayerMP;
  11. import net.minecraft.util.ChatComponentText;
  12. import net.minecraftforge.fml.common.network.simpleimpl.IMessage;
  13. import net.minecraftforge.fml.common.network.simpleimpl.IMessageHandler;
  14. import net.minecraftforge.fml.common.network.simpleimpl.MessageContext;
  15.  
  16. public class SkillExecutionPacket implements IMessage
  17. {
  18.     private int id;
  19.     private EntityPlayer player;
  20.    
  21.     public SkillExecutionPacket() {
  22.     }
  23.    
  24.     public SkillExecutionPacket(int id, EntityPlayer player) {
  25.         this.id = id;
  26.         this.player = player;
  27.     }
  28.    
  29.     @Override
  30.     public void toBytes(ByteBuf bb) {
  31.         bb.writeInt(id);
  32.     }
  33.    
  34.     @Override
  35.     public void fromBytes(ByteBuf bb) {
  36.         id = bb.readInt();
  37.     }
  38.    
  39.     public static class SkillExecutionPacketHandler implements IMessageHandler<SkillExecutionPacket, IMessage>{
  40.         @Override
  41.         public IMessage onMessage(SkillExecutionPacket message, MessageContext ctx) {
  42.             EntityPlayerMP serverPlayer = ctx.getServerHandler().playerEntity;
  43.             int skillId = message.id;
  44.             RivenPlayer rp = RivenPlayer.get(message.player);
  45.            
  46.             if(rp == null) return null;
  47.            
  48.             int cooldown = rp.getCooldownFromId(skillId);
  49.             if(cooldown <= 0) rp.setCooldownFromId(skillId);
  50.             cooldown = rp.getCooldownFromId(skillId);
  51.            
  52.             ISkill skill = RivenMod.skillList.get(skillId);
  53.            
  54.             if(cooldown > 0) return new SkillFailedPacket(false);
  55.             else {
  56.                 serverPlayer.addChatMessage(new ChatComponentText("Skill Activated!"));
  57.                 skill.performAction();
  58.                 return new SkillSuccessPacket(skillId);
  59.             }
  60.         }
  61.     }
  62. }
  63.  
  64. ---
  65.  
  66. RivenPlayer:
  67. ===
  68. package mcd.rivenmod.util;
  69.  
  70. import java.util.ArrayList;
  71.  
  72. import mcd.rivenmod.main.RivenMod;
  73. import mcd.rivenmod.skill.ISkill;
  74. import net.minecraft.entity.Entity;
  75. import net.minecraft.entity.player.EntityPlayer;
  76. import net.minecraft.nbt.NBTTagCompound;
  77. import net.minecraft.world.World;
  78. import net.minecraftforge.common.IExtendedEntityProperties;
  79.  
  80. public class RivenPlayer implements IExtendedEntityProperties
  81. {
  82.     public static final String EXT_PROP_NAME = "RivenPlayer";
  83.    
  84.     public static final int Z_COOLDOWN_WATCHER = 20;
  85.     public static final int X_COOLDOWN_WATCHER = 21;
  86.     public static final int C_COOLDOWN_WATCHER = 22;
  87.     public static final int V_COOLDOWN_WATCHER = 23;
  88.    
  89.     private int zCooldown, xCooldown, cCooldown, vCooldown;
  90.    
  91.     private EntityPlayer player;
  92.     private ArrayList<ISkill> skillListInstance;
  93.    
  94.     public RivenPlayer(EntityPlayer player) {
  95.         this.player = player;
  96.         skillListInstance = RivenMod.skillList;
  97.         zCooldown = 0;
  98.         xCooldown = 0;
  99.         cCooldown = 0;
  100.         vCooldown = 0;
  101.        
  102.         this.player.getDataWatcher().addObject(Z_COOLDOWN_WATCHER, zCooldown);
  103.         this.player.getDataWatcher().addObject(X_COOLDOWN_WATCHER, xCooldown);
  104.         this.player.getDataWatcher().addObject(C_COOLDOWN_WATCHER, cCooldown);
  105.         this.player.getDataWatcher().addObject(V_COOLDOWN_WATCHER, vCooldown);
  106.     }
  107.    
  108.     public static final void register(EntityPlayer player) {
  109.         player.registerExtendedProperties(RivenPlayer.EXT_PROP_NAME, new RivenPlayer(player));
  110.     }
  111.    
  112.     public static final RivenPlayer get(EntityPlayer player) {
  113.         return (RivenPlayer) player.getExtendedProperties(EXT_PROP_NAME);
  114.     }
  115.    
  116.     @Override
  117.     public void saveNBTData(NBTTagCompound compound) {
  118.         NBTTagCompound properties = new NBTTagCompound();
  119.        
  120.         properties.setInteger("Z_COOLDOWN", this.player.getDataWatcher().getWatchableObjectInt(Z_COOLDOWN_WATCHER));
  121.         properties.setInteger("X_COOLDOWN", this.player.getDataWatcher().getWatchableObjectInt(X_COOLDOWN_WATCHER));
  122.         properties.setInteger("C_COOLDOWN", this.player.getDataWatcher().getWatchableObjectInt(C_COOLDOWN_WATCHER));
  123.         properties.setInteger("V_COOLDOWN", this.player.getDataWatcher().getWatchableObjectInt(V_COOLDOWN_WATCHER));
  124.        
  125.         compound.setTag(EXT_PROP_NAME, properties);
  126.     }
  127.    
  128.     @Override
  129.     public void loadNBTData(NBTTagCompound compound) {
  130.         NBTTagCompound properties = (NBTTagCompound)compound.getTag(EXT_PROP_NAME);
  131.        
  132.         this.player.getDataWatcher().updateObject(Z_COOLDOWN_WATCHER, properties.getInteger("Z_COOLDOWN"));
  133.         this.player.getDataWatcher().updateObject(X_COOLDOWN_WATCHER, properties.getInteger("X_COOLDOWN"));
  134.         this.player.getDataWatcher().updateObject(C_COOLDOWN_WATCHER, properties.getInteger("C_COOLDOWN"));
  135.         this.player.getDataWatcher().updateObject(V_COOLDOWN_WATCHER, properties.getInteger("V_COOLDOWN"));
  136.     }
  137.    
  138.     @Override
  139.     public void init(Entity entity, World world) {
  140.     }
  141.    
  142.     public final int getCooldownFromId(int id) {
  143.         switch(id) {
  144.             default:
  145.                 return 0;
  146.             case 0:
  147.                 return getZCooldown();
  148.             case 1:
  149.                 return getXCooldown();
  150.             case 2:
  151.                 return getCCooldown();
  152.             case 3:
  153.                 return getVCooldown();
  154.         }
  155.     }
  156.     public final void setCooldownFromId(int id) {
  157.         switch(id) {
  158.             case 0:
  159.                 setZCooldown();
  160.             case 1:
  161.                 setXCooldown();
  162.             case 2:
  163.                 getCCooldown();
  164.             case 3:
  165.                 setVCooldown();
  166.         }
  167.     }
  168.    
  169.     public final int getZCooldown() {
  170.         return this.player.getDataWatcher().getWatchableObjectInt(Z_COOLDOWN_WATCHER);
  171.     }
  172.     public final void decrementZCooldown() {
  173.         int cooldown = this.player.getDataWatcher().getWatchableObjectInt(Z_COOLDOWN_WATCHER);
  174.         if(cooldown > 0) cooldown--;
  175.         else cooldown = 0;
  176.         this.player.getDataWatcher().updateObject(Z_COOLDOWN_WATCHER, cooldown);
  177.     }
  178.     public final void setZCooldown() {
  179.         this.player.getDataWatcher().updateObject(Z_COOLDOWN_WATCHER, skillListInstance.get(0).getCooldown());
  180.     }
  181.    
  182.     public final int getXCooldown() {
  183.         return this.player.getDataWatcher().getWatchableObjectInt(X_COOLDOWN_WATCHER);
  184.     }
  185.     public final void decrementXCooldown() {
  186.         int cooldown = this.player.getDataWatcher().getWatchableObjectInt(X_COOLDOWN_WATCHER);
  187.         if(cooldown > 0) cooldown--;
  188.         else cooldown = 0;
  189.         this.player.getDataWatcher().updateObject(X_COOLDOWN_WATCHER, cooldown);
  190.     }
  191.     public final void setXCooldown() {
  192.         this.player.getDataWatcher().updateObject(X_COOLDOWN_WATCHER, skillListInstance.get(1).getCooldown());
  193.     }
  194.    
  195.     public final int getCCooldown() {
  196.         return this.player.getDataWatcher().getWatchableObjectInt(C_COOLDOWN_WATCHER);
  197.     }
  198.     public final void decrementCCooldown() {
  199.         int cooldown = this.player.getDataWatcher().getWatchableObjectInt(C_COOLDOWN_WATCHER);
  200.         if(cooldown > 0) cooldown--;
  201.         else cooldown = 0;
  202.         this.player.getDataWatcher().updateObject(C_COOLDOWN_WATCHER, cooldown);
  203.     }
  204.     public final void setCCooldown() {
  205.         this.player.getDataWatcher().updateObject(C_COOLDOWN_WATCHER, skillListInstance.get(2).getCooldown());
  206.     }
  207.    
  208.     public final int getVCooldown() {
  209.         return this.player.getDataWatcher().getWatchableObjectInt(V_COOLDOWN_WATCHER);
  210.     }
  211.     public final void decrementVCooldown() {
  212.         int cooldown = this.player.getDataWatcher().getWatchableObjectInt(V_COOLDOWN_WATCHER);
  213.         if(cooldown > 0) cooldown--;
  214.         else cooldown = 0;
  215.         this.player.getDataWatcher().updateObject(V_COOLDOWN_WATCHER, cooldown);
  216.     }
  217.     public final void setVCooldown() {
  218.         this.player.getDataWatcher().updateObject(V_COOLDOWN_WATCHER, skillListInstance.get(3).getCooldown());
  219.     }
  220. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement