Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

[1.10.2] RetroGen Assistance


oa10712
 Share

Recommended Posts

Hey again everyone, back with a question about retrogen. I already know how to setup my config to allow for it, but I have no idea what event to use. Currently, I have a rather laggy version setup in a entityEnterChunkEvent, that does work slowly, but I'm sure that there is a way to do this as soon as the server starts.

So, two part question really,

1. What event should I be firing the retrogen on

2. How do I get a list of all existing chunks in the world?

Link to comment
Share on other sites

If I remember correctly Forge doesn't have any Retrogen API so to say. I think the only way to do this would be to subscribe to the ChunkEvent.Load event and save that to the disk somehow and load chunks from that file into a List. Cross reference that list in the Load event and then generate the ores if it is not in that list.

VANILLA MINECRAFT CLASSES ARE THE BEST RESOURCES WHEN MODDING

I will be posting 1.15.2 modding tutorials on this channel. If you want to be notified of it do the normal YouTube stuff like subscribing, ect.

Forge and vanilla BlockState generator.

Link to comment
Share on other sites

1 hour ago, Animefan8888 said:

If I remember correctly Forge doesn't have any Retrogen API so to say. I think the only way to do this would be to subscribe to the ChunkEvent.Load event and save that to the disk somehow and load chunks from that file into a List. Cross reference that list in the Load event and then generate the ores if it is not in that list.

Should I be using the ChunkEvent.Load or ChunkDataEvent.Load? And what is the difference between the two? Also, does this event fire when a chunk is first generated?

Link to comment
Share on other sites

ChunkEvent.Load is called whenever the chuck is loaded, when it is first generated to when it is reloaded from disk. ChunkDataEvent.Load is for when the Chunk is loaded from disk used for saving infomation to a chunk. And you should be using ChunkEvent.Load.

VANILLA MINECRAFT CLASSES ARE THE BEST RESOURCES WHEN MODDING

I will be posting 1.15.2 modding tutorials on this channel. If you want to be notified of it do the normal YouTube stuff like subscribing, ect.

Forge and vanilla BlockState generator.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share



  • Recently Browsing

    No registered users viewing this page.

  • Posts

    • Is there a way to "override" an entity's texture to something else without creating a "dummy" item when using ThrownItemRenderer? I tried creating a Renderer that extends it with a ResourceLocation override but this does not change the entity's 2D texture. Any help would be appreciated. Render class: public class BulletEntityRenderer extends ThrownItemRenderer { private static final ResourceLocation TEXTURE = new ResourceLocation(ExampleMod.MOD_ID, "textures/entity/bullet.png"); public BulletEntityRenderer(EntityRendererProvider.Context context) { super(context); } @Override public ResourceLocation getTextureLocation(Entity entity) { return TEXTURE; } } Render registry: public class ModRender { public static void registerRender() { EntityRenderers.register(ExampleMod.BULLET, BulletEntityRenderer::new); } } Entity class: public class BulletEntity extends ThrowableItemProjectile { private float damage = 12.0F; private int pierceLevel = 0; private int ticksAlive = 0; private final int lifespan = 60; public BulletEntity(EntityType<BulletEntity> type, Level world) { super(type, world); } public BulletEntity(Player player, Level world, float damage, int pierceLevel) { super(ExampleMod.BULLET, player, world); this.damage = damage; this.pierceLevel = pierceLevel; this.setNoGravity(true); } public DamageSource causeBulletDamage(BulletEntity bullet, Entity attacker) { return (new IndirectEntityDamageSource("bullet", bullet, attacker)).setProjectile(); } public void tick() { super.tick(); Vec3 vec3d = this.getDeltaMovement(); double d1 = vec3d.x; double d2 = vec3d.y; double d0 = vec3d.z; if (this.isInWater()) { this.level.addParticle(ParticleTypes.BUBBLE, this.getX(), this.getY(), this.getZ(), -d1, -d2, -d0); } else { this.level.addParticle(ParticleTypes.SMOKE, this.getX(), this.getY(), this.getZ(), -d1, -d2, -d0); } if (ticksAlive > lifespan) { this.discard(); } ticksAlive++; } @Override protected void onHitEntity(EntityHitResult hitResult) { LivingEntity target = (LivingEntity) hitResult.getEntity(); Entity shooter = getOwner(); double armor = target.getArmorValue() * (1 - (0.2 * pierceLevel)); double toughness = target.getAttribute(Attributes.ARMOR_TOUGHNESS).getValue(); float finalDamage = (float) (damage * (1 - (Math.min(20, Math.max((armor / 5), armor - ((4 * damage) / (toughness + 8))))) / 25)); target.hurt(causeBulletDamage(this, shooter).bypassArmor(), finalDamage); } @Override public Item getDefaultItem() { return ModItems.BULLET; } }
    • Which version of Forge did you use? Post debug log
    • delete this client config file
    • Latest minecraft most viewed youtube video! Here's the link : https://shrinke.me/SCMUI
    • Latest minecraft most viewed youtube video! Here's the link : https://shrinke.me/SCMUI  
  • Topics

  • Who's Online (See full list)

×
×
  • Create New...

Important Information

By using this site, you agree to our Privacy Policy.