• 0

    posted a message on [SOLVED]BLOCK TEXTURES
    Quote from Xuluf

    Code then?


    Block
    package net.MMMGames.CivesReiPublicae;
    
    import cpw.mods.fml.relauncher.Side;
    import cpw.mods.fml.relauncher.SideOnly;
    import net.minecraft.block.Block;
    import net.minecraft.block.material.Material;
    import net.minecraft.client.renderer.texture.IIconRegister;
    import net.minecraft.creativetab.CreativeTabs;
    import net.minecraft.util.IIcon;
    
    public class Tar extends Block {
    
    @SideOnly(Side.CLIENT)
    public IIcon blockIcon;
    
    public Tar() {
    super(Material.ground);
    this.setCreativeTab(BASE.CivesReiPublicae);
    setBlockTextureName(INFO.ID.toLowerCase()+":tar");
    }
    }

    Main
    package net.MMMGames.CivesReiPublicae;
    
    import net.minecraft.block.Block;
    import net.minecraft.block.material.Material;
    import net.minecraft.creativetab.CreativeTabs;
    import net.minecraftforge.common.MinecraftForge;
    import cpw.mods.fml.common.Mod;
    import cpw.mods.fml.common.Mod.EventHandler;
    import cpw.mods.fml.common.Mod.Instance;
    import cpw.mods.fml.common.SidedProxy;
    import cpw.mods.fml.common.event.FMLInitializationEvent;
    import cpw.mods.fml.common.event.FMLPostInitializationEvent;
    import cpw.mods.fml.common.event.FMLPreInitializationEvent;
    import cpw.mods.fml.common.registry.GameRegistry;
    import cpw.mods.fml.common.registry.LanguageRegistry;
    
    @Mod(modid="MMMCivesReiPublicae",name="MMMCivesReiPublicae",version="0.0.1")
    
    public class BASE {
    static CreativeTabs CivesReiPublicae = new tabBASE(CreativeTabs.getNextID(), "CivesReiPublicae");
    public static final String modid = "CivesReiPublicae";
    public static final String version = "pre-aplha 0.1";
    
    @Instance(INFO.NAME)
    public static BASE instance;
    public static Block Tar;
    
    // Says where the client and server 'proxy' code is loaded.
    @SidedProxy(clientSide="net.MMMGames.CivesReiPublicae.client.ClientProxy", serverSide="net.MMMGames.CivesReiPublicae" + ".CommonProxy")
    public static CommonProxy proxy;
    
    @EventHandler
    public void preInit(FMLPreInitializationEvent event) {
    //block
    Tar = new Tar().setBlockName("Tar");
    GameRegistry.registerBlock(Tar, Tar.getUnlocalizedName().substring(5));
    
    }
    
    @EventHandler
    public void load(FMLInitializationEvent event) {
    //Items to Recipes
    
    //tools
    
    //items
    
    //recipes
    
    //shapeless
    
    //entities
    
    //World Generator
    
    //Tabs
    LanguageRegistry.instance().addStringLocalization("itemGroup.tabBASE", "en_US", "CivesReiPublicae");
    }
    
    @EventHandler
    public void postInit(FMLPostInitializationEvent event) {
    // Stub Method
    }
    }

    Posted in: Modification Development
  • 0

    posted a message on [SOLVED]BLOCK TEXTURES
    Quote from Xuluf

    Try,
    INFO.ID.toLowerCase()+":tar"
    notice the " : "
    won't work
    Posted in: Modification Development
  • 0

    posted a message on [SOLVED]BLOCK TEXTURES
    Quote from timonp2000

    umm... you can just make a resource pack y'know.
    this is a mod for a reason, the block we edited isn't in vanilla MC
    Posted in: Modification Development
  • 0

    posted a message on [SOLVED]BLOCK TEXTURES
    HELP!
    Help! my friend and me are having trouble texturing a block in minecraft
    setBlockTextureName(INFO.ID.toLowerCase()+"tar");
    is the line we are using and INFO.ID= I"MMMCivesReiPublicae"
    with our folder directory for the textures
    C:\Users\Jason\Desktop\WorkPlace\Java\Minecraft Mods\1.7.2\src\main\resources\assets\civesreipublicae\textures\blocks\tar.png
    we have also tried
    C:\Users\Jason\Desktop\WorkPlace\Java\Minecraft Mods\1.7.2\src\main\resources\assets\mmmcivesreipublicae\textures\blocks\tar.png
    and variations of capitalizing them
    we utterly do not understand what is going on any help would be appreciated!
    Posted in: Modification Development
  • 0

    posted a message on [SOLVED]Creative Tabs
    Quote from freezzerrr

    This is what you have right?

    public Item getTabIconItem()
    {
    return Item.getItemFromBlock(Blocks.sponge);
    }

    fixed it while teaching my friend who is using a later version, and as you probably just noticed the reason, that method wasn't built yet for me to use
    Posted in: Modification Development
  • 0

    posted a message on IMPORTANT: Update Your Minecraft Password ASAP
    The government made this exploit originally that can see everyone's passwords, also the same exploit that allowed them to see through the tor network, no one has fixed this and it's been out there for 18 months
    Posted in: Minecraft News
  • 0

    posted a message on [SOLVED]Creative Tabs
    Quote from freezzerrr

    This is what you have right?

    public Item getTabIconItem()
    {
    return Item.getItemFromBlock(Blocks.sponge);
    }

    yes
    Posted in: Modification Development
  • 0

    posted a message on [SOLVED]Creative Tabs
    I accidentally posted that previous one, i'm working on a fix for that
    Posted in: Modification Development
  • 0

    posted a message on [SOLVED]Creative Tabs
    HELP!
    My code errors on line
    return Item.getItemFromBlock(Blocks.sponge);
    Reason in eclipse: The method getItemFromBlock(Block) is undefined for the type Item
    When I run MC and try to go to page 2 it crashes the internal server and won't even let me view the tab
    or try and click it, everywhere I look this method is just fine, but it crashes in my forge for some reason.
    Crash Report:
    ---- Minecraft Crash Report ----// Why did you do that?Time: 4/12/14 11:00 AMDescription: Rendering screenjava.lang.AbstractMethodErrorat net.minecraft.creativetab.CreativeTabs.func_151244_d(CreativeTabs.java:194)at net.minecraft.client.gui.inventory.GuiContainerCreative.func_147051_a(GuiContainerCreative.java:939)at net.minecraft.client.gui.inventory.GuiContainerCreative.func_146976_a(GuiContainerCreative.java:771)at net.minecraft.client.gui.inventory.GuiContainer.func_73863_a(GuiContainer.java:89)at net.minecraft.client.renderer.InventoryEffectRenderer.func_73863_a(SourceFile:30)at net.minecraft.client.gui.inventory.GuiContainerCreative.func_73863_a(GuiContainerCreative.java:649)at net.minecraft.client.renderer.EntityRenderer.func_78480_b(EntityRenderer.java:1109)at net.minecraft.client.Minecraft.func_71411_J(Minecraft.java:981)at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:870)at net.minecraft.client.main.Main.main(SourceFile:103)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)at java.lang.reflect.Method.invoke(Unknown Source)at net.minecraft.launchwrapper.Launch.launch(Launch.java:134)at net.minecraft.launchwrapper.Launch.main(Launch.java:28)A detailed walkthrough of the error, its code path and all known details is as follows:----------------------------------------------------------------------------------------- Head --Stacktrace:at net.minecraft.creativetab.CreativeTabs.func_151244_d(CreativeTabs.java:194)at net.minecraft.client.gui.inventory.GuiContainerCreative.func_147051_a(GuiContainerCreative.java:939)at net.minecraft.client.gui.inventory.GuiContainerCreative.func_146976_a(GuiContainerCreative.java:771)at net.minecraft.client.gui.inventory.GuiContainer.func_73863_a(GuiContainer.java:89)at net.minecraft.client.renderer.InventoryEffectRenderer.func_73863_a(SourceFile:30)at net.minecraft.client.gui.inventory.GuiContainerCreative.func_73863_a(GuiContainerCreative.java:649)-- Screen render details --Details:Screen name: net.minecraft.client.gui.inventory.GuiContainerCreativeMouse location: Scaled: (302, 10). Absolute: (604, 458)Screen size: Scaled: (427, 240). Absolute: (854, 480). Scale factor of 2-- Affected level --Details:Level name: MpServerAll players: 1 total; [EntityClientPlayerMP['mastermapmaker'/146, l='MpServer', x=436.91, y=73.62, z=255.37]]Chunk stats: MultiplayerChunkCache: 225, 225Level seed: 0Level generator: ID 00 - default, ver 1. Features enabled: falseLevel generator options:Level spawn location: World: (180,64,72), Chunk: (at 4,4,8 in 11,4; contains blocks 176,0,64 to 191,255,79), Region: (0,0; contains chunks 0,0 to 31,31, blocks 0,0,0 to 511,255,511)Level time: 3912 game time, 3912 day timeLevel dimension: 0Level storage version: 0x00000 - Unknown?Level weather: Rain time: 0 (now: false), thunder time: 0 (now: false)Level game mode: Game mode: creative (ID 1). Hardcore: false. Cheats: falseForced entities: 65 total; [EntityCreeper['Creeper'/138, l='MpServer', x=361.50, y=22.00, z=259.50], EntitySkeleton['Skeleton'/143, l='MpServer', x=382.50, y=22.00, z=213.50], EntitySkeleton['Skeleton'/153, l='MpServer', x=396.01, y=15.00, z=186.58], EntitySkeleton['Skeleton'/154, l='MpServer', x=388.59, y=14.00, z=183.41], EntityZombie['Zombie'/155, l='MpServer', x=385.50, y=32.00, z=218.50], EntityZombie['Zombie'/156, l='MpServer', x=384.50, y=32.00, z=218.50], EntityZombie['Zombie'/157, l='MpServer', x=386.50, y=35.00, z=229.50], EntityCreeper['Creeper'/158, l='MpServer', x=385.50, y=35.00, z=226.50], EntityCreeper['Creeper'/159, l='MpServer', x=393.50, y=22.00, z=275.50], EntityBat['Bat'/144, l='MpServer', x=378.21, y=22.78, z=215.49], EntityZombie['Zombie'/145, l='MpServer', x=376.75, y=33.00, z=213.84], EntityBat['Bat'/147, l='MpServer', x=445.66, y=47.10, z=244.31], EntitySpider['Spider'/168, l='MpServer', x=407.07, y=16.00, z=288.82], EntityCreeper['Creeper'/175, l='MpServer', x=416.68, y=35.00, z=259.69], EntityZombie['Zombie'/173, l='MpServer', x=425.50, y=39.00, z=235.50], EntityZombie['Zombie'/172, l='MpServer', x=426.50, y=39.00, z=234.50], EntitySkeleton['Skeleton'/163, l='MpServer', x=407.50, y=37.00, z=275.50], EntityBat['Bat'/162, l='MpServer', x=416.70, y=36.88, z=261.76], EntityWitch['Witch'/161, l='MpServer', x=395.50, y=53.00, z=282.16], EntityWitch['Witch'/160, l='MpServer', x=395.50, y=53.00, z=282.95], EntityCreeper['Creeper'/167, l='MpServer', x=401.50, y=15.00, z=288.50], EntityCreeper['Creeper'/166, l='MpServer', x=404.00, y=38.00, z=282.44], EntityCreeper['Creeper'/165, l='MpServer', x=409.00, y=37.00, z=276.63], EntityCreeper['Creeper'/164, l='MpServer', x=407.25, y=37.00, z=279.69], EntitySkeleton['Skeleton'/186, l='MpServer', x=445.50, y=28.00, z=234.50], EntitySkeleton['Skeleton'/187, l='MpServer', x=446.50, y=28.00, z=236.50], EntityZombie['Zombie'/184, l='MpServer', x=440.50, y=28.00, z=237.50], EntitySkeleton['Skeleton'/185, l='MpServer', x=441.50, y=28.00, z=234.50], EntitySkeleton['Skeleton'/188, l='MpServer', x=442.50, y=28.00, z=233.50], EntityBat['Bat'/189, l='MpServer', x=433.49, y=35.06, z=294.88], EntitySkeleton['Skeleton'/176, l='MpServer', x=418.50, y=34.00, z=276.50], EntitySkeleton['Skeleton'/177, l='MpServer', x=416.50, y=34.00, z=275.50], EntityZombie['Zombie'/182, l='MpServer', x=443.50, y=55.00, z=206.50], EntityZombie['Zombie'/183, l='MpServer', x=443.09, y=27.00, z=239.47], EntityCreeper['Creeper'/207, l='MpServer', x=465.50, y=24.00, z=190.56], EntityCreeper['Creeper'/206, l='MpServer', x=468.00, y=24.00, z=189.59], EntityBat['Bat'/197, l='MpServer', x=445.48, y=30.47, z=302.50], EntitySkeleton['Skeleton'/196, l='MpServer', x=459.50, y=27.00, z=274.50], EntityZombie['Zombie'/198, l='MpServer', x=459.50, y=39.00, z=304.50], EntityCreeper['Creeper'/193, l='MpServer', x=463.50, y=24.00, z=190.50], EntityCreeper['Creeper'/195, l='MpServer', x=459.50, y=52.00, z=240.50], EntityZombie['Zombie'/194, l='MpServer', x=450.50, y=20.00, z=191.50], EntityZombie['Zombie'/220, l='MpServer', x=488.24, y=27.00, z=313.73], EntityClientPlayerMP['mastermapmaker'/146, l='MpServer', x=436.91, y=73.62, z=255.37], EntitySkeleton['Skeleton'/216, l='MpServer', x=491.38, y=16.00, z=185.16], EntityBat['Bat'/217, l='MpServer', x=486.43, y=28.31, z=231.43], EntitySpider['Spider'/218, l='MpServer', x=497.03, y=45.00, z=226.97], EntityZombie['Zombie'/219, l='MpServer', x=480.27, y=51.00, z=246.21], EntityCreeper['Creeper'/213, l='MpServer', x=486.31, y=14.00, z=180.25], EntitySkeleton['Skeleton'/214, l='MpServer', x=492.59, y=15.00, z=185.59], EntityZombie['Zombie'/215, l='MpServer', x=488.25, y=23.00, z=187.66], EntityBat['Bat'/208, l='MpServer', x=479.63, y=28.27, z=219.67], EntityZombie['Zombie'/209, l='MpServer', x=464.50, y=51.00, z=243.39], EntityZombie['Zombie'/210, l='MpServer', x=478.50, y=50.00, z=245.66], EntityZombie['Zombie'/211, l='MpServer', x=475.31, y=50.00, z=243.78], EntityCreeper['Creeper'/237, l='MpServer', x=498.50, y=39.00, z=326.50], EntityWitch['Witch'/236, l='MpServer', x=505.69, y=39.00, z=289.13], EntitySkeleton['Skeleton'/235, l='MpServer', x=512.50, y=39.49, z=281.51], EntityWitch['Witch'/234, l='MpServer', x=508.44, y=39.00, z=287.03], EntitySpider['Spider'/233, l='MpServer', x=497.50, y=44.00, z=217.50], EntityCreeper['Creeper'/232, l='MpServer', x=505.96, y=37.00, z=181.29], EntityCreeper['Creeper'/231, l='MpServer', x=506.50, y=37.00, z=179.50], EntityCreeper['Creeper'/230, l='MpServer', x=502.61, y=37.00, z=180.41], EntitySkeleton['Skeleton'/229, l='MpServer', x=496.50, y=27.00, z=193.12], EntityBat['Bat'/245, l='MpServer', x=515.60, y=20.08, z=255.55]]Retry entities: 0 total; []Server brand: fml,forgeServer type: Integrated singleplayer serverStacktrace:at net.minecraft.client.multiplayer.WorldClient.func_72914_a(WorldClient.java:384)at net.minecraft.client.Minecraft.func_71396_d(Minecraft.java:2433)at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:891)at net.minecraft.client.main.Main.main(SourceFile:103)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)at java.lang.reflect.Method.invoke(Unknown Source)at net.minecraft.launchwrapper.Launch.launch(Launch.java:134)at net.minecraft.launchwrapper.Launch.main(Launch.java:28)-- System Details --Details:Minecraft Version: 1.7.2Operating System: Windows 7 (amd64) version 6.1Java Version: 1.7.0_51, Oracle CorporationJava VM Version: Java HotSpot™ 64-Bit Server VM (mixed mode), Oracle CorporationMemory: 357952640 bytes (341 MB) / 568852480 bytes (542 MB) up to 954728448 bytes (910 MB)JVM Flags: 2 total; -XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_minecraft.exe.heapdump -Xmx1GAABB Pool Size: 17299 (968744 bytes; 0 MB) allocated, 825 (46200 bytes; 0 MB) usedIntCache: cache: 0, tcache: 0, allocated: 13, tallocated: 95FML: MCP v9.01-pre FML v7.2.116.1024 Minecraft Forge 10.12.0.1024 4 mods loaded, 4 mods activemcp{8.09} [Minecraft Coder Pack] (minecraft.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->AvailableFML{7.2.116.1024} [Forge Mod Loader] (forge-1.7.2-10.12.0.1024.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->AvailableForge{10.12.0.1024} [Minecraft Forge] (forge-1.7.2-10.12.0.1024.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->AvailableMMMapocalypse{0.1} [MMMapocalypse] (MMMGAMES-apocalypse.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->AvailableLaunched Version: 1.7.2-Forge10.12.0.1024LWJGL: 2.9.0OpenGL: AMD Radeon HD 5800 Series GL version 4.3.12618 Compatibility Profile Context 13.251.0.0, ATI Tech
    nologies Inc.Is Modded: Definitely; Client brand changed to 'fml,forge'Type: Client (map_client.txt)Resource Packs: []Current Language: English (US)Profiler Position: N/A (disabled)Vec3 Pool Size: 1059 (59304 bytes; 0 MB) allocated, 182 (10192 bytes; 0 MB) usedAnisotropic Filtering: Off (1)
    Posted in: Modification Development
  • 0

    posted a message on RWBY Skins
    Quote from Platybuscus

    Hey, well me and my best friend are great fans of RWBY and we made 2 rwby skins. I made a professor ozpin skin and he made a roman torchwick, if you want me to post the pictures of them so you can get some inspiration for your own just ask, and even take them if you want, i could care less.

    I would like to see them(I will probably add them into the pack in some form and add your name into the people who helped the pack)
    Quote from timonp2000

    Not bad, would like to see all them skins done. Good job guys.

    So far all of this was made by one person, I will be working on on the others as well
    Posted in: Skins
  • 0

    posted a message on RWBY Skins
    Quote from Cipher3333

    I'd love to see Images :D Do you mind?

    no I don't
    Posted in: Skins
  • 0

    posted a message on [1.7.10] GLSL SHADERS FOR MINECRAFT 1.7.10
    which pack is the most realistic?(medieval speaking)
    Posted in: Mapping and Modding Tutorials
  • 0

    posted a message on RWBY Skins
    RWBY SKINS
    Hello people and welcome, I have made a skin pack of RWBY characters
    (ask if you need images of the characters and I will add them)
    Characters in the Pack
    Ruby Rose
    Weiss Schnee
    Blake Belladonna
    Yang Xiao Long
    Characters in Progress
    Jaune Arc
    Phyrra Nikos
    Cinder Fall
    Characters to Come
    Nora Valkyrie
    Lie Ren
    Cardin Winchester
    Russel Thrush
    Dove Bronzewing
    Sky Lark
    Velvet Scarlatina
    Ozpin(requested a copy from a commenter of his model)
    Glynda Goodwitch
    Peter Port
    Bartholomew Oobleck
    Peach(unknown)
    Roman Torchwick(requested a copy from a commenter of his model)
    Cinder Fall
    ​Turquoise and Grey(unknown)
    Junior Xiong
    Melanie Malachite
    Miltiades Malachite
    Qrow(Unknown)
    Adam Taurus
    Sun Wukong
    Penny
    You are allowed to make requests for a certain characters other than the unknowns, the finished, and characters that we don't know their battle armor/standard armor(required to be in the list)!!!
    Posted in: Skins
  • 0

    posted a message on {Solved}Bullets/Gun not Working
    Quote from coolAlias

    Ummm... are you trying to code it all from scratch? Why don't you make your life super easy and extend EntityThrowable? See this little tutorial for how to quickly make a new projectile, and from there it's pretty simple to spawn it from your gun in place of an arrow.

    Thanks, probably would have never found that. And how long have you been developing you seem to be in a lot of help threads?
    Posted in: Modification Development
  • 0

    posted a message on {Solved}Bullets/Gun not Working
    Hello, I'm working on a minecraft mod, found here, and I can't seem to get the bullets or guns working, I don't even know how to make it fire bullets instead of arrows, so no code on my end for the gun for you, unless needed, but here is my gun class:
    import java.util.List;import java.util.Random;import net.minecraft.block.Block;import net.minecraft.enchantment.EnchantmentThorns;import net.minecraft.entity.DataWatcher;import net.minecraft.entity.Entity;import net.minecraft.entity.EntityLivingBase;import net.minecraft.entity.monster.EntityEnderman;import net.minecraft.entity.player.EntityPlayer;import net.minecraft.entity.player.EntityPlayerMP;import net.minecraft.item.Item;import net.minecraft.item.ItemStack;import net.minecraft.nbt.NBTTagCompound;import net.minecraft.network.packet.Packet70GameEvent;import net.minecraft.util.AxisAlignedBB;import net.minecraft.util.DamageSource;import net.minecraft.util.MathHelper;import net.minecraft.util.MovingObjectPosition;import net.minecraft.util.Vec3;import net.minecraft.world.World;import cpw.mods.fml.relauncher.Side;import cpw.mods.fml.relauncher.SideOnly;public class EntityBullet {protected DataWatcher dataWatcher;public World worldObj;protected Random rand;public final AxisAlignedBB boundingBox;public double posZ;private int xTile = -1;private int yTile = -1;private int zTile = -1;private int inTile;private int inData;private boolean inGround;/** 1 if the player can pick up the arrow */public int canBePickedUp;/** Seems to be some sort of timer for animating an arrow. */public int arrowShake;/** The owner of this arrow. */public Entity shootingEntity;private int ticksInGround;private int ticksInAir;private double damage = 2.0D;/** The amount of knockback an arrow applies when it hits a mob. */private int knockbackStrength;public EntityBullet(World par1World){ super(par1World); this.renderDistanceWeight = 10.0D; this.setSize(0.5F, 0.5F);}public EntityBullet(World par1World, double par2, double par4, double par6){ super(par1World); this.renderDistanceWeight = 10.0D; this.setSize(0.5F, 0.5F); this.setPosition(par2, par4, par6); this.yOffset = 0.0F;}public EntityBullet(World par1World, EntityLivingBase par2EntityLivingBase, EntityLivingBase par3EntityLivingBase, float par4, float par5){ super(par1World); this.renderDistanceWeight = 10.0D; this.shootingEntity = par2EntityLivingBase; if (par2EntityLivingBase instanceof EntityPlayer) { this.canBePickedUp = 0; } this.posY = par2EntityLivingBase.posY + (double)par2EntityLivingBase.getEyeHeight() - 0.10000000149011612D; double d0 = par3EntityLivingBase.posX - par2EntityLivingBase.posX; double d1 = par3EntityLivingBase.boundingBox.minY + (double)(par3EntityLivingBase.height / 3.0F) - this.posY; double d2 = par3EntityLivingBase.posZ - par2EntityLivingBase.posZ; double d3 = (double)MathHelper.sqrt_double(d0 * d0 + d2 * d2); if (d3 >= 1.0E-7D) { float f2 = (float)(Math.atan2(d2, d0) * 180.0D / Math.PI) - 90.0F; float f3 = (float)(-(Math.atan2(d1, d3) * 180.0D / Math.PI)); double d4 = d0 / d3; double d5 = d2 / d3; this.setLocationAndAngles(par2EntityLivingBase.posX + d4, this.posY, par2EntityLivingBase.posZ + d5, f2, f3); this.yOffset = 0.0F; float f4 = (float)d3 * 0.2F; this.setThrowableHeading(d0, d1 + (double)f4, d2, par4, par5); }}public void playSound(String par1Str, float par2, float par3){ this.worldObj.playSoundAtEntity(this, par1Str, par2, par3);}/** * returns if this entity triggers Block.onEntityWalking on the blocks they walk on. used for spiders and wolves to * prevent them from trampling crops */public EntityBullet(World par1World, EntityLivingBase par2EntityLivingBase, float par3){ super(par1World); this.renderDistanceWeight = 10.0D; this.shootingEntity = par2EntityLivingBase; if (par2EntityLivingBase instanceof EntityPlayer) { this.canBePickedUp = 1; } this.setSize(0.5F, 0.5F); this.setLocationAndAngles(par2EntityLivingBase.posX, par2EntityLivingBase.posY + (double)par2EntityLivingBase.getEyeHeight(), par2EntityLivingBase.posZ, par2EntityLivingBase.rotationYaw, par2EntityLivingBase.rotationPitch); this.posX -= (double)(MathHelper.cos(this.rotationYaw / 180.0F * (float)Math.PI) * 0.16F); this.posY -= 0.10000000149011612D; this.posZ -= (double)(MathHelper.sin(this.rotationYaw / 180.0F * (float)Math.PI) * 0.16F); this.setPosition(this.posX, this.posY, this.posZ); this.yOffset = 0.0F; this.motionX = (double)(-MathHelper.sin(this.rotationYaw / 180.0F * (float)Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float)Math.PI)); this.motionZ = (double)(MathHelper.cos(this.rotationYaw / 180.0F * (float)Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float)Math.PI)); this.motionY = (double)(-MathHelper.sin(this.rotationPitch / 180.0F * (float)Math.PI)); this.setThrowableHeading(this.motionX, this.motionY, this.motionZ, par3 * 1.5F, 1.0F);}protected void entityInit(){ this.dataWatcher.addObject(16, Byte.valueOf((byte)0));}/** * Similar to setArrowHeading, it's point the throwable entity to a x, y, z direction. */public void setThrowableHeading(double par1, double par3, double par5, float par7, float par8){ float f2 = MathHelper.sqrt_double(par1 * par1 + par3 * par3 + par5 * par5); par1 /= (double)f2; par3 /= (double)f2; par5 /= (double)f2; par1 += this.rand.nextGaussian() * (double)(this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double)par8; par3 += this.rand.nextGaussian() * (double)(this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double)par8; par5 += this.rand.nextGaussian() * (double)(this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double)par8; par1 *= (double)par7; par3 *= (double)par7; par5 *= (double)par7; this.motionX = par1; this.motionY = par3; this.motionZ = par5; float f3 = MathHelper.sqrt_double(par1 * par1 + par5 * par5); this.prevRotationYaw = this.rotationYaw = (float)(Math.atan2(par1, par5) * 180.0D / Math.PI); this.prevRotationPitch = this.rotationPitch = (float)(Math.atan2(par3, (double)f3) * 180.0D / Math.PI); this.ticksInGround = 0;}@SideOnly(Side.CLIENT)/** * Sets the position and rotation. Only difference from the other one is no bounding on the rotation. Args: posX, * posY, posZ, yaw, pitch */public void setPositionAndRotation2(double par1, double par3, double par5, float par7, float par8, int par9){ this.setPosition(par1, par3, par5); this.setRotation(par7, par8);}@SideOnly(Side.CLIENT)/** * Sets the velocity to the args. Args: x, y, z */public void setVelocity(double par1, double par3, double par5){ this.motionX = par1; this.motionY = par3; this.motionZ = par5; if (this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) { float f = MathHelper.sqrt_double(par1 * par1 + par5 * par5); this.prevRotationYaw = this.rotationYaw = (float)(Math.atan2(par1, par5) * 180.0D / Math.PI); this.prevRotationPitch = this.rotationPitch = (float)(Math.atan2(par3, (double)f) * 180.0D / Math.PI); this.prevRotationPitch = this.rotationPitch; this.prevRotationYaw = this.rotationYaw; this.setLocationAndAngles(this.posX, this.posY, this.posZ, this.rotationYaw, this.rotationPitch); this.ticksInGround = 0; }}/** * Called to update the entity's position/logic. */@overridepublic void onUpdate(){ super.onUpdate(); if (this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) { float f = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); this.prevRotationYaw = this.rotationYaw = (float)(Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); this.prevRotationPitch = this.rotationPitch = (float)(Math.atan2(this.motionY, (double)f) * 180.0D / Math.PI); } int i = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); if (i > 0) { Block.blocksList[i].setBlockBoundsBasedOnState(this.worldObj, this.xTile, this.yTile, this.zTile); AxisAlignedBB axisalignedbb = Block.blocksList[i].getCollisionBoundingBoxFromPool(this.worldObj, this.xTile, this.yTile, this.zTile); if (axisalignedbb != null && axisalignedbb.isVecInside(this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ))) { this.inGround = true; } } if (this.arrowShake > 0) { --this.arrowShake; } if (this.inGround) { int j = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); int k = this.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); if (j == this.inTile && k == this.inData) { ++this.ticksInGround; if (this.ticksInGround == 1200) { this.setDead(); } } else { this.inGround = false; this.motionX *= (double)(this.rand.nextFloat() * 0.2F); this.motionY *= (double)(this.rand.nextFloat() * 0.2F); this.motionZ *= (double)(this.rand.nextFloat() * 0.2F); this.ticksInGround = 0; this.ticksInAir = 0; } } else { ++this.ticksInAir; Vec3 vec3 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ); Vec3 vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); MovingObjectPosition movingobjectposition = this.worldObj.rayTraceBlocks_do_do(vec3, vec31, false, true); vec3 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ); vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); if (movingobjectposition != null) { vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(movingobjectposition.hitVec.xCoord, movingobjectposition.hitVec.yCoord, movingobjectposition.hitVec.zCoord); } Entity entity = null; List list = this.worldObj.getEntitiesWithinAABBExcludingEntity(this, this.boundingBox.addCoord(this.motionX, this.motionY, this.motionZ).expand(1.0D, 1.0D, 1.0D)); double d0 = 0.0D; int l; float f1; for (l = 0; l < list.size(); ++l) { Entity entity1 = (Entity)list.get(l); if (entity1.canBeCollidedWith() && (entity1 != this.shootingEntity || this.ticksInAir >= 5)) { f1 = 0.3F; AxisAlignedBB axisalignedbb1 = entity1.boundingBox.expand((double)f1, (double)f1, (double)f1); MovingObjectPosition movingobjectposition1 = axisalignedbb1.calculateIntercept(vec3, vec31); if (movingobjectposition1 != null) { double d1 = vec3.distanceTo(movingobjectposition1.hitVec); if (d1 < d0 || d0 == 0.0D) { entity = entity1; d0 = d1; } } } } if (entity != null) { movingobjectposition = new MovingObjectPosition(entity); } if (movingobjectposition != null && movingobjectposition.entityHit != null && movingobjectposition.entityHit instanceof EntityPlayer) { EntityPlayer entityplayer = (EntityPlayer)movingobjectposition.entityHit; if (entityplayer.capabilities.disableDamage || this.shootingEntity instanceof EntityPlayer && !((EntityPlayer)this.shootingEntity).canAttackPlayer(entityplayer)) { movingobjectposition = null; } } float f2; float f3; if (movingobjectposition != null) { if (movingobjectposition.entityHit != null) { f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionY * this.motionY + this.motionZ * this.motionZ); int i1 = MathHelper.ceiling_double_int((double)f2 * this.damage); if (this.getIsCritical()) { i1 += this.rand.nextInt(i1 / 2 + 2); } DamageSource damagesource = null; if (this.shootingEntity == null) { damagesource = DamageSource.causeArrowDamage(this, this); } else { damagesource = DamageSource.causeArrowDamage(this, this.shootingEntity); } if (this.isBurning() && !(movingobjectposition.entityHit instanceof EntityEnderman)) { movingobjectposition.entityHit.setFire(5); } if (movingobjectposition.entityHit.attackEntityFrom(damagesource, (float)i1)) { if (movingobjectposition.entityHit instanceof EntityLivingBase) { EntityLivingBase entitylivingbase = (EntityLivingBase)movingobjectposition.entityHit; if (!this.worldObj.isRemote) { entitylivingbase.setArrowCountInEntity(entitylivingbase.getArrowCountInEntity() + 1); } if (this.knockbackStrength > 0) { f3 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); if (f3 > 0.0F) { movingobjectposition.entityHit.addVelocity(this.motionX * (double)this.knockbackStrength * 0.6000000238418579D / (double)f3, 0.1D, this.motionZ * (double)this.knockbackStrength * 0.6000000238418579D / (double)f3); } } if (this.shootingEntity != null) { EnchantmentThorns.func_92096_a(this.shootingEntity, entitylivingbase, this.rand); } if (this.shootingEntity != null && movingobjectposition.entityHit != this.shootingEntity && movingobjectposition.entityHit instanceof EntityPlayer && this.shootingEntity instanceof EntityPlayerMP) { ((EntityPlayerMP)this.shootingEntity).playerNetServerHandler.sendPacketToPlayer(new Packet70GameEvent(6, 0)); } } this.playSound("random.bowhit", 1.0F, 1.2F / (this.rand.nextFloat() * 0.2F + 0.9F)); if (!(movingobjectposition.entityHit instanceof EntityEnderman)) { this.setDead(); } } else { this.motionX *= -0.10000000149011612D; this.motionY *= -0.10000000149011612D; this.motionZ *= -0.10000000149011612D; this.rotationYaw += 180.0F; this.prevRotationYaw += 180.0F; this.ticksInAir = 0; } } else { this.xTile = movingobjectposition.blockX; this.yTile = movingobjectposition.blockY; this.zTile = movingobjectposition.blockZ; this.inTile = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); this.inData = this.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); this.motionX = (double)((float)(movingobjectposition.hitVec.xCoord - this.posX)); this.motionY = (double)((float)(movingobjectposition.hitVec.yCoord - this.posY)); this.motionZ = (double)((float)(movingobjectposition.hitVec.zCoord - this.posZ)); f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionY * this.motionY + this.motionZ * this.motionZ); this.posX -= this.motionX / (double)f2 * 0.05000000074505806D; this.posY -= this.motionY / (double)f2 * 0.05000000074505806D; this.posZ -= this.motionZ / (double)f2 * 0.05000000074505806D; this.playSound("random.bowhit", 1.0F, 1.2F / (this.rand.nextFloat() * 0.2F + 0.9F)); this.inGround = true; this.arrowShake = 7; this.setIsCritical(false); if (this.inTile != 0) { Block.blocksList[this.inTile].onEntityCollidedWithBlock(this.worldObj, this.xTile, this.yTile, this.zTile, this); } } } if (this.getIsCritical()) { for (l = 0; l < 4; ++l) { this.worldObj.spawnParticle("crit", this.posX + this.motionX * (double)l / 4.0D, this.posY + this.motionY * (double)l / 4.0D, this.posZ + this.motionZ * (double)l / 4.0D, -this.motionX, -this.motionY + 0.2D, -this.motionZ); } } this.posX += this.motionX; this.posY += this.motionY; this.posZ += this.motionZ; f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); this.rotationYaw = (float)(Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); for (this.rotationPitch = (float)(Math.atan2(this.motionY, (double)f2) * 180.0D / Math.PI); this.rotationPitch - this.prevRotationPitch < -180.0F; this.prevRotationPitch -= 360.0F) { ; } while (this.rotationPitch - this.prevRotationPitch >= 180.0F) { this.prevRotationPitch += 360.0F; } while (this.rotationYaw - this.prevRotationYaw < -180.0F) { this.prevRotationYaw -= 360.0F; } while (this.rotationYaw - this.prevRotationYaw >= 180.0F) { this.prevRotationYaw += 360.0F; } this.rotationPitch = this.prevRotationPitch + (this.rotationPitch - this.prevRotationPitch) * 0.2F; this.rotationYaw = this.prevRotationYaw + (this.rotationYaw - this.prevRotationYaw) * 0.2F; float f4 = 0.99F; f1 = 0.05F; if (this.isInWater()) { for (int j1 = 0; j1 < 4; ++j1) { f3 = 0.25F; this.worldObj.spawnParticle("bubble", this.posX - this.motionX * (double)f3, this.posY - this.motionY * (double)f3, this.posZ - this.motionZ * (double)f3, this.motionX, this.motionY, this.motionZ); } f4 = 0.8F; } this.motionX *= (double)f4; this.motionY *= (double)f4; this.motionZ *= (double)f4; this.motionY -= (double)f1; this.setPosition(this.posX, this.posY, this.posZ); this.doBlockCollisions(); }}/** * (abstract) Protected helper method to write subclass entity data to NBT. */public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound){ par1NBTTagCompound.setShort("xTile", (short)this.xTile); par1NBTTagCompound.setShort("yTile", (short)this.yTile); par1NBTTagCompound.setShort("zTile", (short)this.zTile); par1NBTTagCompound.setByte("inTile", (byte)this.inTile); par1NBTTagCompound.setByte("inData", (byte)this.inData); par1NBTTagCompound.setByte("shake", (byte)this.arrowShake); par1NBTTagCompound.setByte("inGround", (byte)(this.inGround ? 1 : 0)); par1NBTTagCompound.setByte("pickup", (byte)this.canBePickedUp); par1NBTTagCompound.setDouble("damage", this.damage);}/** * (abstract) Protected helper method to read subclass entity data from NBT. */public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound){ this.xTile = par1NBTTagCompound.getShort("xTile"); this.yTile = par1NBTTagCompound.getShort("yTile"); this.zTile = par1NBTTagCompound.getShort("zTile"); this.inTile = par1NBTTagCompound.getByte("inTile") & 255; this.inData = par1NBTTagCompound.getByte("inData") & 255; this.arrowShake = par1NBTTagCompound.getByte("shake") & 255; this.inGround = par1NBTTagCompound.getByte("inGround") == 1; if (par1NBTTagCompound.hasKey("damage")) { this.damage = par1NBTTagCompound.getDouble("damage"); } if (par1NBTTagCompound.hasKey("pickup")) { this.canBePickedUp = par1NBTTagCompound.getByte("pickup"); } else if (par1NBTTagCompound.hasKey("player")) { this.canBePickedUp = par1NBTTagCompound.getBoolean("player") ? 1 : 0; }}/** * Called by a player entity when they collide with an entity */public void onCollideWithPlayer(EntityPlayer par1EntityPlayer){ if (!this.worldObj.isRemote && this.inGround && this.arrowShake <= 0) { boolean flag = this.canBePickedUp == 1 || this.canBePickedUp == 2 && par1EntityPlayer.capabilities.isCreativeMode; if (this.canBePickedUp == 1 && !par1EntityPlayer.inventory.addItemStackToInventory(new ItemStack(Item.arrow, 1))) { flag = false; } if (flag) { this.playSound("random.pop", 0.2F, ((this.rand.nextFloat() - this.rand.nextFloat()) * 0.7F + 1.0F) * 2.0F); par1EntityPlayer.onItemPickup(this, 1); this.setDead(); } }}/** * returns if this entity triggers Block.onEntityWalking on the blocks they walk on. used for spiders and wolves to * prevent them from trampling crops */protected boolean canTriggerWalking(){ return false;}@SideOnly(Side.CLIENT)public float getShadowSize(){ return 0.0F;}public void setDamage(double par1){ this.damage = par1;}public double getDamage(){ return this.damage;}/** * Sets the amount of knockback the arrow applies when it hits a mob. */public void setKnockbackStrength(int par1){ this.knockbackStrength = par1;}/** * If returns false, the item will not inflict any damage against entities. */public boolean canAttackWithItem(){ return false;}/** * Whether the arrow has a stream of critical hit particles flying behind it. */public void setIsCritical(boolean par1){ byte b0 = this.dataWatcher.getWatchableObjectByte(16); if (par1) { this.dataWatcher.updateObject(16, Byte.valueOf((byte)(b0 | 1))); } else { this.dataWatcher.updateObject(16, Byte.valueOf((byte)(b0 & -2))); }}/** * Whether the arrow has a stream of critical hit particles flying behind it. */public boolean getIsCritical(){ byte b0 = this.dataWatcher.getWatchableObjectByte(16); return (b0 & 1) != 0;}}
    Any suggestions on how to get this working would help!
    Posted in: Modification Development
  • To post a comment, please .