Jump to content
View in the app

A better way to browse. Learn more.

Forge Forums

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

BusyBeever

Members
  • Joined

  • Last visited

Everything posted by BusyBeever

  1. depends on what you are using.. ISmartItemModel is gone, and IEEP is gone. if you arent using that you should be fine with just updating references
  2. Who is teaching people to do that double checking inside the switch case? second time im seeing it and its still 1. messy and 2. a total waste of processing time (even if its not a lot) remove that ID==myId? return mystuff:null and just return mystuff
  3. bump. so its always only the first fireball that is rendering after joining the world, the others are not.. any ideas?
  4. you can keep track of each loaded chunk using ChunkEvent.Load and ChunkEvent.Unload
  5. https://mcforge.readthedocs.org/en/latest/datastorage/worldsaveddata/
  6. gui rendering is client side. in your genSeesSun method you are always returning true, if world.isRemote, so you are never ever checking if it is daytime on client
  7. nope. you need to open the gui on server, it will inform the client
  8. That return statements are a total mess. Why are you asking two times if your id is 0/1/2 etc? Did you register the handler? Are you doing some basic debugging, like checking if your guihandler gets called?
  9. Hey everyone, I am triing to create my own fireball. The problem is that it is only rendering when it is not moving and i have no idea why RenderFactory public class RenderCustomFireballFactory implements IRenderFactory<EntityCustomFireball> { @Override public Render<? super EntityCustomFireball> createRenderFor(RenderManager manager) { return new RenderFireball(manager, 1); } } EntityClass public class EntityCustomFireball extends EntityFireball { public EntityCustomFireball(World worldIn) { super(worldIn); } public EntityCustomFireball(World worldIn, EntityPlayer shooter) { super(worldIn); this.shootingEntity = shooter; setPositionAndRotation(shooter.posX, shooter.posY, shooter.posZ, shooter.rotationYaw, shooter.rotationPitch); Vec3d look = shooter.getLookVec(); accelerationX = look.xCoord/8; accelerationY = look.yCoord/8; accelerationZ = look.zCoord/8; } @Override protected void entityInit() {} @Override protected void onImpact(RayTraceResult movingObject) { if(movingObject.entityHit!=null) { if(movingObject.entityHit!=shootingEntity) { System.out.println(movingObject.entityHit); setDead(); worldObj.createExplosion(shootingEntity, posX, posY, posZ, 2, true); } } else { setDead(); worldObj.createExplosion(shootingEntity, posX, posY, posZ, 2, true); } } }
  10. making the damage is like 2 lines of code^^ i was just 2 lazy right now
  11. Catching the part where the player disconnects is quite easy, just catch the playerloggedout-event and kill the entity there are you registering the renderer? maybe thats bc its not rendering
  12. Taken from the world class /** * Sets the block state at a given location. Flag 1 will cause a block update. Flag 2 will send the change to * clients (you almost always want this). Flag 4 prevents the block from being re-rendered, if this is a client * world. Flags can be added together. */ public boolean setBlockState(BlockPos pos, IBlockState newState, int flags)
  13. I dont think you can use ItemAxe for your custom axe anymore, since the constructor is kinda hardcoded.. I made this class for workaround public class CustomAxe extends Item{ private final ToolMaterial material; public CustomAxe(ToolMaterial material) { setCreativeTab(MiningOverhaul.miningTab); this.material=material; } @Override public float getStrVsBlock(ItemStack stack, IBlockState state) { Material material = state.getMaterial(); return material != Material.wood && material != Material.plants && material != Material.vine ? super.getStrVsBlock(stack, state) : this.material.getEfficiencyOnProperMaterial(); } } (note that this class isnt finished , e.g. damage is not implemented yet)
  14. Are they truely gone? IExtendedEntityProperties.class is still there, it just doesn't have any references any more. Could they possibly make a comeback? Yes they are gone and no they probably wont come back. They already went deprecated in 1.8.9
  15. I am not sure if this would work, but basically my idea would be when a chunk loads check if it has torches, add every torch to a list (WorldSavedData + ITickable) and remove all torches in the chunk from the list when the chunk unloads. In the update method of ur WorldSavedData you can check blocks around the torches and set em on fire if your conditions are met. Of course you would also need to keep track of torches that get removed (was it the BreakEvent?) EDIT: Or you could create your custom blocks that looks like a torch, behaves like a torch and drops the normal vanilla torch when destroyed. Then make the block tick randomly. After that you only need to replace every placed vanilla torch with ur own (there is an event for torches getting placed but I dont think it fires for torches that get generated in the world e.g. villages)
  16. you always have access to the player instance on client side..
  17. you need to use the attachcapability events
  18. I am not 100% sure with it, but I think that ur PlayerManaCapabilityHandler needs to implement IBaseManaCapability
  19. Register takes a class first, an instance of the storage second and a class third
  20. You can. Just start sphinx in a separate thread
  21. World#setBlockState sets a block in the woirld (only call this on server side)
  22. Or use diesieben's way, which is surely better
  23. well. One way to do it would be to use a TileEntity, that would be counting ticks, and when ticks%20*60*10 spawn ur chest.

Important Information

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

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.