Jump to content


Forge Modder
  • Posts

  • Joined

  • Last visited


  • Gender
  • URL
  • Personal Text
    I wish there were more good Australian games :/

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

Romejanic's Achievements

Stone Miner

Stone Miner (3/8)



  1. Thanks for the responses guys! I think i'll pick a newer version to work with. It might not have as big a player-base but it sounds like the API will be a lot better to work with and it'll be easier to keep it up to date rather than stagnating on 1.12. Thanks again!
  2. Hello all! It's been a while since I posted (5 years in fact!), and I'm looking at trying to get back into modding. Considering that a lot has changed since I stopped modding a lot, and it's a little hard to pick a Forge version to work with, I just wanted to ask from a developer standpoint what is the best Minecraft version to make mods for in 2020? The main factors I'm looking at is stability, ease of development, player base, etc. Thanks so much!
  3. Well, now that you've spawned the entity, you need to tell it what to look like (how to render). So, you need to make a class which extends Render, and bind it to your entity with: RenderingRegistry.registerEntityRenderingHandler(EntityFlame.class, new RenderEntityFlame()); Hope this helps! - Romejanic
  4. Basically, here's what you have to do: [*] Click on the little arrow next to the play button [*]Click on Run Configurations [*]Click on Client, and then click on Arguments [*]Under the program arguments section, type two things: 1) -username [insert your Mojang account email address] 2) -password [insert your Mojang account password] [*]Run the game, it should log into your account This will completely log you into your Mojang account. When you run the game, it will generate session IDs, authenticate you, etc. This means that you will have your username, the game will load your skin and you can even join online multiplayer servers without needing to crack them. Keep in mind that I've noticed this can increase the time it takes to start the game up, and I've noticed the game tends to crash when it can't connect to the server or you have no internet connection. Hope this helps! - Romejanic
  5. Hey. I'm trying to create a custom death message for the guns I'm adding to my mod. It will print a message like Bob was shot by Bill using AK12 And I'm using the func_151519_b(EntityLivingBase) function in the DamageSource class to create my death message. However, whenever I test it on a server, it does not translate or format the string at all, and just prints: death.attack.aw.bullet Does anyone know what's happening? Do I need to use vanilla code rather than making a custom death source? Here's my DamageSource class: package assets.aw.common.utils; import net.minecraft.client.resources.I18n; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; import net.minecraft.item.ItemStack; import net.minecraft.util.ChatComponentTranslation; import net.minecraft.util.EntityDamageSourceIndirect; import net.minecraft.util.IChatComponent; import net.minecraft.util.StatCollector; public class DamageSourceBullet extends EntityDamageSourceIndirect { private String gun = "item.aw.gun.unknown"; public DamageSourceBullet(Entity attacker, Entity attackee, String gun) { super("death.attack.aw.bullet", attacker, attackee); this.gun = gun; } public IChatComponent func_151519_b(EntityLivingBase p_151519_1_) { String attackerName = this.getSourceOfDamage().getCommandSenderName(); String attackeeName = this.getEntity().getCommandSenderName(); String gunName = StatCollector.translateToLocal(gun); return new ChatComponentTranslation("death.attack.aw.bullet", attackeeName, attackerName, gunName); } } Thanks, Romejanic
  6. if(event.isCancelable() || event.type != ElementType.EXPERIENCE) { You're cancelling the method if the event is cancellable. The event is ALWAYS cancellable. What you're probably looking for is event.isCanceled() or something along those lines.
  7. Basically delete the Shape5.mirror = true; line, and it should work. It's pretty much trying to define a boolean on a null variable.
  8. I know. I send a packet from the client to be processed on the server. It works perfectly on multiplayer, but singleplayer doesn't work at all.
  9. Ahh, here's the problem: if(!world.isRemote) { return; } I've changed it to world.isRemote and fixed up my packets a bit. But now, the attacks work in multiplayer fine, but world.isRemote is ALWAYS true on singleplayer. It even tells me that it registered the event on the server, but the doGroundSlam runs on the client!
  10. It looks like either there are too many sounds for the sound handler to process, or some sounds are being registered or modified while the game is trying to play them. Might be a problem with Minecraft, and not your mod.
  11. Hey guys, I am trying to make ground slams, which attack all entities within a certain radius. It's all working good, except the actual entity attacks aren't working. I keep trying different things, even using vanilla Damage Sources, but it's still not working. Ground Slam Code: private void doGroundSlam(EntityPlayer player, World world) { if(!world.isRemote) { return; } double groundSlamRadius = 5; double startX = player.posX - groundSlamRadius; double startY = player.posY - groundSlamRadius; double startZ = player.posZ - groundSlamRadius; double endX = player.posX + groundSlamRadius; double endY = player.posY + groundSlamRadius; double endZ = player.posZ + groundSlamRadius; for(Object obj : world.getEntitiesWithinAABBExcludingEntity(player, AxisAlignedBB.getBoundingBox(startX, startY, startZ, endX, endY, endZ))) { Entity entity = (Entity)obj; double distance = entity.getDistanceToEntity(player); if(entity instanceof EntityLivingBase) { ((EntityLivingBase) entity).attackEntityAsMob(player); } entity.attackEntityFrom(new DamageSourceGroundSlam(entity, player), (float)distance / 20f); } } DamageSource code: package assets.aw.common.utils; import net.minecraft.entity.Entity; import net.minecraft.util.EntityDamageSourceIndirect; public class DamageSourceGroundSlam extends EntityDamageSourceIndirect { public DamageSourceGroundSlam(Entity p_i1568_2_, Entity p_i1568_3_) { super("aw.slam", p_i1568_2_, p_i1568_3_); this.setDamageBypassesArmor(); } } Anyone got any ideas? - Romejanic
  12. Can I ask why you are making your own class extending KeyBinding? Why not just use new KeyBinding(name, key, category)?
  13. Since you've put the @SideOnly annotation on the method, it is not included as part of the class on the server. It will crash if you try to call it. Try replacing your particle code with this: public void onLivingUpdate() { super.onLivingUpdate(); if(FMLCommonHandler.instance().getEffectiveSide() == Side.CLIENT) spawnParticle(); for(int l = 0; l <= 4; ++l) //TODO { if(worldObj.rand.nextFloat() < footprint_chance) { continue; } if(Constants.DEF_GRASSSTEP == true){ int x = MathHelper.floor_double(this.posX + (l % 2 * 2 - 1) * 0.25F); int y = MathHelper.floor_double(this.posY) - 1 ; int z = MathHelper.floor_double(this.posZ + (l / 2 % 2 * 2 - 1) * 0.25F); BlockPos pos = new BlockPos(x, y, z); IBlockState state = this.worldObj.getBlockState(pos); boolean isAnyDirt = state.getBlock() == Blocks.dirt; boolean isRegularDirt = isAnyDirt && state.getValue(BlockDirt.VARIANT) == BlockDirt.DirtType.DIRT; if (isAnyDirt && isRegularDirt){ //TODO this.worldObj.setBlockState(pos, footprint.getDefaultState()); } } } if (isServer() && this.isWet && !this.isShaking && !this.hasPath() && this.onGround) { this.isShaking = true; this.timeWolfIsShaking = 0.0F; this.prevTimeWolfIsShaking = 0.0F; this.worldObj.setEntityState(this, (byte); } if (isServer() && this.getAttackTarget() == null && this.isAngry()) { this.setAngry(false); } if(Constants.DEF_HEALING == true && !this.isChild() && this.getHealth() <=10 && this.isTamed()) { this.addPotionEffect(new PotionEffect(10, 200)); } if (this.getAttackTarget() == null && isTamed() && 15 > 0) { List list1 = worldObj.getEntitiesWithinAABB(EntityCreeper.class, AxisAlignedBB.fromBounds(posX, posY, posZ, posX + 1.0D, posY + 1.0D, posZ + 1.0D).expand(sniffRange(), 4D, sniffRange())); if (!list1.isEmpty() && !isSitting() && this.getHealth() > 1 && !this.isChild()) { canSeeCreeper = true; } else { canSeeCreeper = false; } } }
  14. I just want to be able to render a full 3D block on my GUI. I would prefer to use RenderBlocks instead of RenderItem.
  15. Sometimes, the rotation point of models aren't always accurate. If you rotate an object and it hovers in mid-air, you may need to translate it back into position. Could you post a screenshot showing what's happening?
  • Create New...

Important Information

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