
Xwaffle
Members-
Posts
79 -
Joined
-
Last visited
Converted
-
Gender
Undisclosed
-
Personal Text
I am new!
Recent Profile Visitors
The recent visitors block is disabled and is not being shown to other users.
Xwaffle's Achievements

Stone Miner (3/8)
0
Reputation
-
I have tried that before, but I think the issue MAY be MCPC screwin up the command.
-
I've already got the base of it finished using Packet250 it. I need to know how I can set it up without a tile entity.
-
I know there are radio mods out there that allow you to add an external link to a text box and it WILL play the song from online. I'd like to be able to force the songs to be set to a mp3 of my own and play it to the player serverside. I know that it may be hard without a Tile Entity wouldn't it?
-
yeah, i've also tried that, except it literally prints out "/eco give playername number"
-
Is there any way to more efficiently make the server run a command? Currently when I use String command = ("/eco give " + auctioner.getDisplayName() + " " + highBid); ((ServerCommandManager) MinecraftServer.getServer().executeCommand(command); It tells me that the command is not known, because the command is not vanilla minecraft i'm assumin, I do know if you manually type out the command /eco give playername number in console it does work. How would I hook this mod to work along side this bukkit plugin? String command = ("/eco give " + auctioner.getDisplayName() + " " + highBid); ((ServerCommandManager) MinecraftServer.getServer().getCommandManager()).executeCommand(BaseMod.fakePlayer, command); I've even tried setting up a fake player to run the command.
-
Players will get to choose what character they want to be and the character will have a custom model I want to know how I can save this to the Extended Players properties? I'm assuming NBT? I was also thinking maybe I could just create a folder in the world named Characters and then it would save each Player that joins the world and what character they selected.
-
I want my mob to have a ranged attack and then it will have a cooldown and during the cooldown I want the champion to do melee attacks, I did the Iprojectile and I tried adding both tasks to see if it will just do it but it starts melee one spawned and then it decides to go ranged and stay ranged. package leagueofcrafters.entity; import leagueofcrafters.entity.projectiles.EntityPukeball; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.IRangedAttackMob; import net.minecraft.entity.SharedMonsterAttributes; import net.minecraft.entity.ai.EntityAIArrowAttack; import net.minecraft.entity.ai.EntityAIAttackOnCollide; import net.minecraft.entity.ai.EntityAIBreakDoor; import net.minecraft.entity.ai.EntityAIHurtByTarget; import net.minecraft.entity.ai.EntityAILookIdle; import net.minecraft.entity.ai.EntityAIMoveThroughVillage; import net.minecraft.entity.ai.EntityAIMoveTowardsRestriction; import net.minecraft.entity.ai.EntityAINearestAttackableTarget; import net.minecraft.entity.ai.EntityAISwimming; import net.minecraft.entity.ai.EntityAIWander; import net.minecraft.entity.ai.EntityAIWatchClosest; import net.minecraft.entity.monster.EntityMob; import net.minecraft.entity.passive.EntityVillager; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.util.MathHelper; import net.minecraft.world.World; public class EntityNuNu extends EntityMob implements IRangedAttackMob { private static int timer; public EntityNuNu(World par1World) { super(par1World); this.tasks.addTask(0, new EntityAISwimming(this)); this.tasks.addTask(1, new EntityAIBreakDoor(this)); this.tasks.addTask(2, new EntityAIAttackOnCollide(this, EntityPlayer.class, 1.0D, false)); this.tasks.addTask(3, new EntityAIAttackOnCollide(this, EntityVillager.class, 1.0D, true)); this.tasks.addTask(4, new EntityAIMoveTowardsRestriction(this, 1.0D)); this.tasks.addTask(5, new EntityAIMoveThroughVillage(this, 1.0D, false)); this.tasks.addTask(6, new EntityAIWander(this, 1.0D)); this.tasks.addTask(7, new EntityAIWatchClosest(this, EntityPlayer.class, 8.0F)); this.tasks.addTask(7, new EntityAILookIdle(this)); this.tasks.addTask(2, new EntityAIArrowAttack(this, 1.0D, 60, 10.0F)); this.targetTasks.addTask(1, new EntityAIHurtByTarget(this, true)); this.targetTasks.addTask(2, new EntityAINearestAttackableTarget(this, EntityPlayer.class, 0, true)); this.targetTasks.addTask(2, new EntityAINearestAttackableTarget(this, EntityVillager.class, 0, false)); } @Override public boolean isAIEnabled() { return true; } @Override protected Entity findPlayerToAttack() { double d0 = 16.0D; return this.worldObj.getClosestVulnerablePlayerToEntity(this, d0); } @Override public void onLivingUpdate() { if (!this.worldObj.isRemote && this.timer > 0) { timer--; } super.onLivingUpdate(); } @Override protected void applyEntityAttributes() { super.applyEntityAttributes(); this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setAttribute(0.2D); } @Override public void attackEntityWithRangedAttack(EntityLivingBase entitylivingbase, float f) { if (timer == 0) { EntityPukeball entityPukeball = new EntityPukeball(this.worldObj, this); double d0 = entitylivingbase.posX - this.posX; double d1 = entitylivingbase.posY + (double) entitylivingbase.getEyeHeight() - entityPukeball.posY - 2; double d2 = entitylivingbase.posZ - this.posZ; float f1 = MathHelper.sqrt_double(d0 * d0 + d2 * d2) * 0.2F; entityPukeball.setThrowableHeading(d0, d1 + (double) f1, d2, 1.6F, 12.0F); this.worldObj.spawnEntityInWorld(entityPukeball); timer = 250; } else { this.targetTasks.addTask(4, new EntityAINearestAttackableTarget(this, EntityPlayer.class, 0, true)); this.attackEntity(entitylivingbase, f); this.attackEntityAsMob(entitylivingbase); } } protected void attackEntity(Entity par1Entity, float par2) { float f1 = this.getBrightness(1.0F); if (f1 > 0.5F && this.rand.nextInt(100) == 0) { this.entityToAttack = null; } else { if (par2 > 2.0F && par2 < 6.0F && this.rand.nextInt(10) == 0) { if (this.onGround) { double d0 = par1Entity.posX - this.posX; double d1 = par1Entity.posZ - this.posZ; float f2 = MathHelper.sqrt_double(d0 * d0 + d1 * d1); this.motionX = d0 / (double) f2 * 0.5D * 0.800000011920929D + this.motionX * 0.20000000298023224D; this.motionZ = d1 / (double) f2 * 0.5D * 0.800000011920929D + this.motionZ * 0.20000000298023224D; this.motionY = 0.4000000059604645D; } } else { super.attackEntity(par1Entity, par2); } } } }
-
So can I make it possible so that when a player chooses my custom world type to make it so that when they create a world it can just generate the uhm world save I have?
-
I mean a pre created world in which is loaded if the world Type is selected. So I can create a world in minecraft get the world save file and put it apart of my workspace and load it each time a new custom world type is loaded. Is that better?
-
I want the world once created with my custom world type to use the map I have created.
-
This would be generating the same world though I want to create a custom map that it will custom load for the world type. Any other ideas?
-
I was wondering if i'd be able to have a map be apart of a custom world type. So I want to create a new world type available upon creating your new world and when the player creattes a world with this type selected it will create this same map every time. Is this something that can be done? I could use a bit of a push in the correct direction
-
That's exactly what I was thinking. That I could just hook into the Ender Dragon Render class and when ever it is called just bind my custom texture.
-
I'd like to render the Ender Dragon with a new texture. Is it possible for me to use a Forge event that every time the Ender dragon is called(constucted) I can bind my custom texxture? A little help.
-
bump