Jump to content

Choonster

Moderators
  • Posts

    5160
  • Joined

  • Last visited

  • Days Won

    76

Everything posted by Choonster

  1. From the doc comment of WorldEvent :
  2. EntityTamed is actually testing whether the entity is burning rather than whether it's tamed. You need to check whether the entity is tameable ( entity instanceof EntityTameable ) and whether it's tamed ( ((EntityTameable) entity).isTamed() ) and then compare that to the expected result. Your ballisticBow model is using pull instead of tetracraft:pull for the ballisticBow_pulling_2 override model's condition. You seem to have two copies of your main class and registration/initialisation classes, one in the novaviper.tetracraft.main package and one in the novaviper.tetracraft.common.inti package (should that be init rather than inti ?). Delete the outdated copy. I'm not too sure why it's not dropping your item.
  3. No. It looks like the current version of the harvest tool system was added in 1.7.2; but there was a slightly different version of the same system in place before that.
  4. This has also been discussed on GitHub.
  5. Did you create and register the Serializer ? Look at the pig loot table to see how it uses the on_fire property to determine whether the meat should be cooked.
  6. You need to implement EntityProperty , look at EntityOnFire for an example.
  7. Then the load time is unrelated to the loading screen. Sky Factory does have approximately 118 mods, whereas Tekkit has approximately 62 mods. It's not that surprising that loading almost twice as many mods will take longer.
  8. It looks like you'll need to create an EntityProperty to test whether the entity has been tamed. You'll also need to create its EntityProperty.Serializer and register an instance of it with EntityPropertyManager.registerProperty . In your loot table, use the entity_properties condition with your property.
  9. I can assure you that the method and field both exist in 1.8.9.
  10. Side note: The instanceof operator already returns false if the object is null , there's no need to check for null before using the operator.
  11. The EAQ explains how to disable the loading screen (search for "loading screen"). Try disabling the loading screen and see if it makes any difference to the loading time.
  12. You shouldn't need a custom implementation of IItemHandler , just use ItemStackHandler . Create an IItemHandler field in your TileEntity to contain its inventory and set it to an instance of ItemStackHandler . To replicate ISidedInventory , use a separate IItemHandler for each group of slots. Override hasCapability to return true when the Capability is CapabilityItemHandler.ITEM_HANDLER_CAPABILITY and the inventory can be accessed from the specified EnumFacing (if you actually care about the facing at all). Override getCapability to check if the Capability is CapabilityItemHandler.ITEM_HANDLER_CAPABILITY . If it is, return the appropriate IItemHandler for the specified EnumFacing . In both hasCapability and getCapability , return the result of the super method when the Capability isn't CapabilityItemHandler.ITEM_HANDLER_CAPABILITY . This allows external capabilities attached from AttachCapabilitiesEvent to be used.
  13. I'm not entirely sure if this is possible with the baked model system. You can disable shadows for a model element/ BakedQuad (see the model format or this example), but that doesn't render the model at full brightness. You may need to use a TESR for this.
  14. Minecraft#getCurrentServerData returns the ServerData of the current server, if any. ServerData#serverIP contains the IP/URL of the server.
  15. See the wiki page. They're basically a more flexible replacement for ChestGenHooks / WeightedRandomChestContent that are also used for entity drops. Forge hasn't added any hooks for loot tables yet, but you can still register your own using the vanilla classes. You can see my loot table registration class here and a loot table here.
  16. Don't call ModelBakery.registerItemVariants for the override models, they will automatically be loaded. This error looks like it's caused by Forge trying to load tetracraft:item/ballisticBow_pulling_1 , which is trying to load the parent model tetracraft:item/ballisticBow , which is trying to load the override model tetracraft:item/ballisticBow_pulling_1 . If you allow the override models to be loaded automatically, you won't run into any circular reference errors.
  17. The last argument of World#rayTraceBlocks (used by both EntityLivingBase#rayTrace and Item#getMovingObjectPositionFromPlayer ) determines whether it should return the MovingObjectPosition of the last uncollidable block or null when the raytrace doesn't hit anything. You'll need to call this yourself with the appropriate arguments rather than using one of its wrappers, though you can reuse the code from Item#getMovingObjectPositionFromPlayer .
  18. Minecraft ran out of memory. There are lots of tutorials out there that explain how to give Minecraft more memory.
  19. Some 1.8 mods may work in 1.8.9, but there's no guarantee that every mod will. 1.8.8/1.8.9 didn't change a lot of things, but there were a few minor changes that will break some 1.8 mods.
  20. Although I agree that the imports should be cleaned up, imported classes aren't actually loaded at runtime unless they're referenced in the code itself. Importing a client-only class won't crash the server, using it outside of client-only code will. In IDEA (which I believe the OP is using), Ctrl-Alt-O optimises imports. I also make heavy use of Ctrl-Alt-L to reformat the current class, which also optimises imports.
  21. It's trying to load the client-only interface IStateMapper on the server when you call Registers.addItem because another method of Registers references IStateMapper . This is exactly the same error as diesieben07 was talking about earlier in the thread: you need to separate your client-only code from your common code (the proper solution) or mark client-only methods with @SideOnly(Side.CLIENT) (a quick fix).
  22. It used to, but it now returns a ResourceLocation under the new registry system. Edit: I can't spell.
  23. Raytracing doesn't have to happen on the client side, you've just picked a client-only method. Look at ItemMonsterPlacer#onItemRightClick to see how it raytraces on the server side.
  24. Have you updated your models to use the new override system? You can see my bow's new model here.
  25. Update your MCP mappings by setting the minecraft.mappings property in build.gradle, re-run setupDecompWorkspace and refresh your IDE project. The MCPBot website shows the mappings available for each version of Minecraft.
×
×
  • Create New...

Important Information

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