Jump to content

Elix_x

Members
  • Posts

    878
  • Joined

  • Last visited

Everything posted by Elix_x

  1. Registering liquid, dimension, biome, and testing it works fine, But when i add something new to my mod, all liquid in world get replaced with other block. Is it because of id changes? Will this issue stay in 1.8? What i already tried: move registration to pre init, move = new SkyLiquid to init or pre-init, hothing helped Class where i register liquid: package code.blocktoolsarmormod.registry; import net.minecraft.block.Block; import code.blocktoolsarmormod.world.dimensions.Sky.SkyLiquidFlowing; import code.blocktoolsarmormod.world.dimensions.Sky.SkyLiquidStill; 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; public class LiquidRegistry { public static Block SkyLiquidStill = new SkyLiquidStill().setBlockName("SkyLiquidStill"); public static Block SkyLiquidFlowing = new SkyLiquidFlowing().setBlockName("SkyLiquidFlowing"); public static void preinit(FMLPreInitializationEvent event) { } public static void init(FMLInitializationEvent event) { GameRegistry.registerBlock(SkyLiquidStill, "SkyLiquidStill"); GameRegistry.registerBlock(SkyLiquidFlowing, "SkyLiquidFlowing"); } public static void postinit(FMLPostInitializationEvent event) { } }
  2. doing " s " "sss" "s" minecraft won't understand in which slot he needs to place last s: in 1st or 2nd or 3rd. If you are using grid 3*3 in all 3 lines must be 3 characters!!! using grid 3 by 2, you must have 2 characters in each line... otherwise minecraft doesn't understand where to put last stick.
  3. Thanks for help i'll need code like this soon. But it is updating while Item is in inventory... and i need while holding... Facepalm, i can check if player is holding that Item. Thank you.
  4. Yourc texture path must be: /src/main/resources/assets/letsmodreboot/textures/items/mapleLeaf.png
  5. In my code of Item , method onUsingTick is never called. Its overriding method from Item, adding @Override doesn't changes anything. But the goal is: while Item is in hand, will shoot every tick a fireball. Method with fireball if added to onItemRightClick, works. Adding System.out.printIn("tick"); in onUsingTick isn't doing anything. If method onUsingTick is used for something else, what method should i use? Thank you for any help.
  6. just add in yours main mod class: public static ToolMaterial material = EnumHelper.addToolMaterial("materialName", harvestLevel, maxUses, digSpeed, damage, enchantability); and in registering pickaxe = new MyPickaxe(material) in MyPickaxe public MyPickaxe(ToolMaterial material) { super(material); } and if you haven't, add after class MyPickaxe extends ItemPickaxe so total code: main mod class @Mod(modid = "mymod" ,name="My mod",version = "alpha 1.1", ) public class BaseMyMod { public static Item pickaxe; @EventHandler public void init(FMLInitializationEvent event) { pickaxe = new Pickaxe(material); GameRegistry.registerItem(pickaxe, "pickaxe"); } public static ToolMaterial material = EnumHelper.addToolMaterial("material", 2, 500, 20, 15, ; } pickaxe class: public class MyPickaxe extends ItemPickaxe{ public MyPickaxe(ToolMaterial material) { super(material); } } after in this class you can register more pickaxe with different tool materials and not whoring about creating more classes and fixing dig speed...
  7. 1st: remove recipes in per-init if doesn't nelp: you have something like @Mod(modid="sscp", name="SSCP content editor", version="0.1") after version add: dependencies="required-before:minecraft-forge" that means that when fml will go trwow classes with @Mod will read dependencies. It's how core-mods works. also there is: before: will load before loading the mod or load normally when there is no this mod required-before: will load before and only if mod exists after: will load after loading the mod or load normally when there is no this mod required-after: will load after and only if mod exists after them write modid, Example: sscp-core the code you obtained may look like this: @Mod(modid="sscp", name="SSCP content editor", version="0.1", dependencies="required-before:minecraft-forge") or also you can try with @Mod(modid="sscp", name="SSCP content editor", version="0.1", dependencies="required-before:minecraft") But this would probably crash minecraft
  8. Just do this before registering new recipes. All new recipes will enter clear list. You can try in @Mod use depedencies:"required-before:minecraft-forge"
  9. First i saw that: mod\mcp\src\minecraft\assets\jadencraft\blocks\Amethyst.png What is normally must be in src/main/resources/assets/modid/... Question 2: are you in 1.6.4? in 1.7.2? in 1.7.10? in 1.8? case 1.6.4: sorry i can't help you. case 1.7.2 & 1.7.10: if yours block has same texture on all sides in public BlockAmethyst(int par1, Material par2Material) { super(par1, par2Material); this.setCreativeTab(CreativeTabs.tabBlock); this.setHardness(6); this.setResistance(5); } add this.setTextureName("JadenCraft:Amethyst") case 1.8: now there is no IIcons and setTextureName. In folder assets/modid/models/block create file with name of your block .json. Inside write: { "parent": "block/cube_all", "textures": { "all": "JadenCraft:Amethyst" } } Create file in assets/modid/models/item/yours_block.json . Write inside: { "parent": "JadenCraft:block/Amethyst", "display": { "thirdperson": { "rotation": [ 10, -45, 170 ], "translation": [ 0, 1.5, -2.75 ], "scale": [ 0.375, 0.375, 0.375 ] } } } create file assets/modid/blockstates/yours_block.json and write inside: { "variants": { "normal": { "model": "JadenCraft:Amethyst" } } } WARNING: fml 1.8 is alpha, bugs can appear. if all didn't work, check if folder JadenCraft has the same name like in code.
  10. Method called when entity collides: public void onEntityCollidedWithBlock(World world, int i, int j, int k, Entity entity){ if entity is an item if(entity instanceof EntityItem){ if it handles obsidian as item if(((EntityItem) entity).getEntityItem().getItem() == Item.getItemFromBlock(Blocks.obsidian)){ And now the action. Example: world.setBlock(i, j, k, Blocks.glass); And don't forget to remove item: entity.setDead(); Complete code: public void onEntityCollidedWithBlock(World world, int i, int j, int k, Entity entity){ if(entity instanceof EntityItem){ if(((EntityItem) entity).getEntityItem().getItem() == Item.getItemFromBlock(Blocks.obsidian)){ world.setBlock(i, j, k, Blocks.glass); entity.setDead(); } } }
  11. The only way you can do this is: In cheese class add method: public void onCreated(ItemStack stack, World worldIn, EntityPlayer playerIn){ playerIn.inventory.consumeInventoryItem(Items.bucket); } This when yours cheese is created will remove bucket from inventory of player. If method doesn't override method from Item, just open Item.class and find this method. (I'm working in 1.8 ). If it doesn't work, only way is creating a new bucket.
  12. World_Properties is kinda useless: used to get spawn coordinates in dim. If you are working with dim that doesn't allow to respawn in, you don't need it. switch dimension travelling to case overworld: open EntityPlayer class and find getters of spawn position (in 1.8 where i'm working its BlockPos) case other dim, respawn not allowed: keep player pos the same case other dim, respawn allowed: for this case i don't know. Wiew code of dim you're working with
  13. public Dimension_Multiplyer instance = Dimension_Multiplyer.instance; Dimension_Multiplyer change to yours dimension class. in yours dimension class add: public static Dimension_Multiplyer instance; or if you have construtor public static Dimension_Multiplyer instance = new Dimension_Multiplyer(); World_Properties world_property = Proprieties of dimesion created by Delpi import clandoolittle.dimension_multiplyer.Common.Worlds.World.World_Properties; Ask him what is inside; Used only to get world spawn position in dimension; If you want to keep position of player in dimension the same as now, remove code: if (world_property != null) { dx = world_property.spawn_x(); dy = world_property.spawn_y(); dz = world_property.spawn_z(); } and make getter of position of player; Example = dx = entity.posX; Hope this helps you.
  14. Construction stopped after this mod: simplyjetpacks{1.0.1} [simply Jetpacks] (SimplyJetpacks-MC1_7_10-1_0_1_jar.jar) Unloaded Try to delete it. If it didn't work try delete one-by-one: Sync{2.2.3} [sync] (Sync2.2.3.zip) Unloaded TMechworks{33.c001660} [Tinkers' Mechworks] (TMechworks_mc1.6.4_0.1.6.jar) Unloaded ToolBelt{1.6.4} [ToolBelts] (ToolBelts-1.6.4-v3.zip) Unloaded McMultipart{1.0.0.244} [Minecraft Multipart Plugin] (ForgeMultipart-universal-1.6.4-1.0.0.244.jar) Unloaded ForgeMicroblock{1.0.0.244} [Forge Microblocks] (ForgeMultipart-universal-1.6.4-1.0.0.244.jar) Unloaded
  15. First when i launch gradlew build it says BUILD FAILED , but in build/libs there is modid-1.0.jar (first time exporting mod on this computer). And when i launch minecraft with my mod it crashes. Launching my mod in eclipse works normally. Restart minecraft, recreate dev workspace and make the same in the version earlier does not helps. Forge 10.13.0.1199. Minecraft 1.7.10. gradlew build command line: http://www.mediafire.com/view/di3vga5szpyln5a/comand.jpg Crash report:
  16. Guys i found list of all obfuscated names here : https://github.com/MinecraftForge/FML/blob/master/conf/methods.csv
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.