Examples of IHackableEntity


Examples of pneumaticCraft.api.client.pneumaticHelmet.IHackableEntity

            return HackUpgradeRenderHandler.enabledForPlayer(PneumaticCraft.proxy.getPlayer());
        }

        @Override
        public void addInfo(Entity entity, List<String> curInfo){
            IHackableEntity hackable = HackableHandler.getHackableForEntity(entity, PneumaticCraft.proxy.getPlayer());
            if(hackable != null) {
                List<RenderTarget> targets = ((EntityTrackUpgradeHandler)HUDHandler.instance().getSpecificRenderer(EntityTrackUpgradeHandler.class)).getTargets();
                int hackTime = 0;
                for(RenderTarget target : targets) {
                    if(target.entity == entity) {
                        hackTime = target.getHackTime();
                        break;
                    }
                }

                if(hackTime == 0) {
                    hackable.addInfo(entity, curInfo, PneumaticCraft.proxy.getPlayer());
                } else {
                    int requiredHackTime = hackable.getHackTime(entity, PneumaticCraft.proxy.getPlayer());
                    int percentageComplete = hackTime * 100 / requiredHackTime;
                    if(percentageComplete < 100) {
                        curInfo.add("Hacking... (" + percentageComplete + "%%)");
                    } else if(hackTime < requiredHackTime + 20) {
                        hackable.addPostHackInfo(entity, curInfo, PneumaticCraft.proxy.getPlayer());
                    } else {
                        hackable.addInfo(entity, curInfo, PneumaticCraft.proxy.getPlayer());
                    }
                }
            }
        }
View Full Code Here

Examples of pneumaticCraft.api.client.pneumaticHelmet.IHackableEntity

            Map.Entry<Entity, IHackableEntity> entry = iterator.next();
            if(entry.getKey().isDead || !entry.getValue().canHack(entry.getKey(), player) && !isInDisplayCooldown(entry.getValue(), entry.getKey())) iterator.remove();
        }

        if(entity instanceof IHackableEntity && ((IHackableEntity)entity).canHack(entity, player)) return (IHackableEntity)entity;
        IHackableEntity hackable = getInstance().trackedHackableEntities.get(entity);
        if(hackable == null) {
            for(Map.Entry<Class<? extends Entity>, Class<? extends IHackableEntity>> entry : PneumaticCraftAPIHandler.getInstance().hackableEntities.entrySet()) {
                if(entry.getKey().isAssignableFrom(entity.getClass())) {
                    try {
                        hackable = entry.getValue().newInstance();
                        if(hackable.canHack(entity, player)) {
                            getInstance().trackedHackableEntities.put(entity, hackable);
                            break;
                        } else {
                            hackable = null;
                        }
View Full Code Here

Examples of pneumaticCraft.api.client.pneumaticHelmet.IHackableEntity

        public void update(Entity entity){
            if(hackables != null) {
                Iterator<IHackableEntity> iterator = hackables.iterator();
                while(iterator.hasNext()) {
                    IHackableEntity hackable = iterator.next();
                    if(!hackable.afterHackTick(entity)) {
                        iterator.remove();
                    }
                }
            }
        }
View Full Code Here

Examples of pneumaticCraft.api.client.pneumaticHelmet.IHackableEntity

            tracker.update(entity);
        }
        isLookingAtTarget = isPlayerLookingAtTarget();

        if(hackTime > 0) {
            IHackableEntity hackableEntity = HackableHandler.getHackableForEntity(entity, PneumaticCraft.proxy.getPlayer());
            if(hackableEntity != null) {
                hackTime++;// = Math.min(hackTime + 1, hackableEntity.getHackTime(entity, PneumaticCraft.proxy.getPlayer()));
            } else {
                hackTime = 0;
            }
View Full Code Here

Examples of pneumaticCraft.api.client.pneumaticHelmet.IHackableEntity

        return d1 > 1.0D - 0.050D / d0;
    }

    public void hack(){
        if(isInitialized() && isPlayerLookingAtTarget()) {
            IHackableEntity hackable = HackableHandler.getHackableForEntity(entity, PneumaticCraft.proxy.getPlayer());
            if(hackable != null && (hackTime == 0 || hackTime > hackable.getHackTime(entity, PneumaticCraft.proxy.getPlayer()))) NetworkHandler.sendToServer(new PacketHackingEntityStart(entity));
        }
    }
View Full Code Here

Examples of pneumaticCraft.api.client.pneumaticHelmet.IHackableEntity

        if(iHackable == null) throw new NullPointerException("IHackableEntity is null!");
        if(Entity.class.isAssignableFrom(iHackable)) {
            Log.warning("Entities that implement IHackableEntity shouldn't be registered as hackable! Registering entity: " + entityClazz.getCanonicalName());
        } else {
            try {
                IHackableEntity hackableEntity = iHackable.newInstance();
                if(hackableEntity.getId() != null) stringToEntityHackables.put(hackableEntity.getId(), iHackable);
                hackableEntities.put(entityClazz, iHackable);
            } catch(InstantiationException e) {
                Log.error("Not able to register hackable entity: " + iHackable.getName() + ". Does the class have a parameterless constructor?");
                e.printStackTrace();
            } catch(IllegalAccessException e) {
View Full Code Here

Examples of pneumaticCraft.api.client.pneumaticHelmet.IHackableEntity

    @Override
    public void handleClientSide(PacketHackingEntityFinish message, EntityPlayer player){
        Entity entity = player.worldObj.getEntityByID(message.entityId);
        if(entity != null) {
            IHackableEntity hackableEntity = HackableHandler.getHackableForEntity(entity, player);
            if(hackableEntity != null) {
                hackableEntity.onHackFinished(entity, player);
                PneumaticCraft.proxy.getHackTickHandler().trackEntity(entity, hackableEntity);
                CommonHUDHandler.getHandlerForPlayer(player).setHackedEntity(null);
                player.worldObj.playSound(entity.posX, entity.posY, entity.posZ, "PneumaticCraft:helmetHackFinish", 1.0F, 1.0F, false);
            }
        }
View Full Code Here

Examples of pneumaticCraft.api.client.pneumaticHelmet.IHackableEntity

                }
            } else {
                setHackedBlock(null);
            }
        } else if(hackedEntity != null) {
            IHackableEntity hackableEntity = HackableHandler.getHackableForEntity(hackedEntity, player);
            if(hackableEntity != null) {
                if(++hackTime >= hackableEntity.getHackTime(hackedEntity, player)) {
                    hackableEntity.onHackFinished(hackedEntity, player);
                    PneumaticCraft.proxy.getHackTickHandler().trackEntity(hackedEntity, hackableEntity);
                    NetworkHandler.sendToAllAround(new PacketHackingEntityFinish(hackedEntity), new NetworkRegistry.TargetPoint(hackedEntity.worldObj.provider.dimensionId, hackedEntity.posX, hackedEntity.posY, hackedEntity.posZ, 64));
                    setHackedEntity(null);
                }
            } else {
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.