Jump to content

Cleaning the old map


Recommended Posts

I apologize in advance for any mistakes, English is not my native language.

This summer my friends and I started the server with 70+ mods (1.12.2, server is on hosting), during the time we played we realized, that it takes too long time to launch both the server and the client, plus some mods turned out to be useless. We deleted some mods, continued to play. Now our modpack contains 55 mods, everything is okay expect connecting to the server. 4 out of 5 connection attempts fail (client just stops responding, after that we need to reboot it). It takes half an hour to connect to the server because we reboot the minecraft several times. My goal now is to solve this trouble.

I have already read some forums and I think that the problem is in saving. It is old, and as I understand, now it contains a lot of junk information and information from recently deleted mods. That's why I want to clean it up somehow.

1)First attempt was to copy WorldName\region folder + level.dat and some others to the new world saving. As I expected, nothing changed. 

2)Secondly I tried to create the new one world and to copy all structures using WorldEdit schematico (used different formats of saving: schematico, mce, mcedit). The structures was copied, but with completely different blocks.
2.1) I used NBTExplorer to look into the level.dat file. It turned out that IDs in minecraft are initialized dynamically and are unique for each world with different modpack. Here it is the id of bell block in old world


Here is the id of the block in new one;


2.2) I copied the level.dat file to a new map and tried to use WorldEdit again. The results are: some blocks are copied true, some are not. 

From this point I don't know what to do. I have already read all local Russian-speaking forums looking for a similar problem: without any results.

That's why I'm here. We spent a lot of time building beautiful city, and I'm afraid that the situation will only get worse. 

Is it possible to clean up the world somehow? 
If not, is it possible to copy out the structures from the old map with IDs initialized this way? 

Maybe the world is not even the cause of the connection problems?

Link to comment
Share on other sites

This topic is now closed to further replies.


  • Recently Browsing

    • No registered users viewing this page.
  • Posts

    • Hello, im kind of a newbie on creating mods, and i been trying to make simples mods so far, Right now, i'm creating a mod which detect an specific type of mob and kill it if reach a certain number, by far the mod is detecting the mob and counting them but at the time it reach the limit number, it don't do anything. The Game don't tweak, don't crash, just i't don't run the method i call, which is kill().   public InteractionResultHolder<ItemStack> use(Level pLevel, Player pPlayer, InteractionHand pUsedHand) { final var TotalCows = pLevel.getNearbyEntities(Cow.class, TargetingConditions.forNonCombat(), pPlayer, pPlayer.getBoundingBox().inflate(5)); if(pLevel.isClientSide){ if(pPlayer.getItemInHand(InteractionHand.MAIN_HAND).getItem() == this.asItem()){ if(!TotalCows.isEmpty()){ if(TotalCows.get(0).isAlive()){ TotalCows.get(0).kill(); } }else{ pPlayer.sendSystemMessage(Component.literal("No hay vacas")); } } } The sendSystemMessage is get triggered, and when i change the method .kill() by any other like send a message it got called, can i get some tips, and a clue of what i'm missing
    • UPD: I DID IT   @Override public void applyEffectTick(LivingEntity livingEntity, int pAmplifier) { Level level = livingEntity.level(); if (!level.isClientSide()) { Holder<DamageType> entropyHolder = level .registryAccess() .registryOrThrow(Registries.DAMAGE_TYPE) .getHolderOrThrow(GTDamageTypes.ENTROPY_KEY); livingEntity.hurt(new DamageSource(entropyHolder), 1); } super.applyEffectTick(livingEntity, pAmplifier); }  
    • So I came to this public class ModDamageTypes{ public static void bootstrap(BootstapContext<DamageType> context) { context.register(GTDamageTypes.ENTROPY_KEY, new DamageType(GrimTales.MOD_ID + "_entropy", 0.1f)); } } public class GTDamageTypes implements DamageTypes { public static final ResourceKey<DamageType> ENTROPY_KEY = register("entropy"); private static ResourceKey<DamageType> register(String name) { return ResourceKey.create(Registries.DAMAGE_TYPE, new ResourceLocation(GrimTales.MOD_ID, name)); } } public class ModWorldGenProvider extends DatapackBuiltinEntriesProvider { public static final RegistrySetBuilder BUILDER = new RegistrySetBuilder() .add(Registries.DAMAGE_TYPE, ModDamageTypes::bootstrap); public ModWorldGenProvider(PackOutput output, CompletableFuture<HolderLookup.Provider> registries) { super(output, registries, BUILDER, Set.of(GrimTales.MOD_ID)); } But! I still have an issue that, I cannot just use Holder.direct, due to it will create error that "Required type:  Holder<DamageType>  Provided : Holder<ResourceKey<DamageType>>" And I still have no clue how to fix it
    • Yea, unless someone else sees this and has a solution in the next 4 or 5 hours, I’m just gonna reinstall the modpack. Thanks for trying to help me out.
    • Sadly, no it didn't work, although the window for minecraft startup stayed longer. do you have anymore recommendations?
  • Topics

  • Create New...

Important Information

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