Skip to content

Commit

Permalink
add reload resources after reload, still not fixing the issues
Browse files Browse the repository at this point in the history
  • Loading branch information
gnembon committed Mar 23, 2022
1 parent f213a79 commit aab3de6
Show file tree
Hide file tree
Showing 4 changed files with 26 additions and 2 deletions.
2 changes: 1 addition & 1 deletion src/main/java/carpet/fakes/MinecraftServerInterface.java
Original file line number Diff line number Diff line change
Expand Up @@ -13,5 +13,5 @@ public interface MinecraftServerInterface
void forceTick(BooleanSupplier sup);
LevelStorageSource.LevelStorageAccess getCMSession();
Map<ResourceKey<Level>, ServerLevel> getCMWorlds();
//ServerResources getResourceManager();
void reloadAfterReload();
}
24 changes: 23 additions & 1 deletion src/main/java/carpet/mixins/MinecraftServer_scarpetMixin.java
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,16 @@
import carpet.fakes.MinecraftServerInterface;
import carpet.helpers.TickSpeed;
import net.minecraft.Util;
import net.minecraft.core.RegistryAccess;
import net.minecraft.resources.ResourceKey;
import net.minecraft.server.MinecraftServer;
import net.minecraft.server.ServerFunctionManager;
import net.minecraft.server.TickTask;
import net.minecraft.server.level.ServerLevel;
import net.minecraft.server.players.PlayerList;
import net.minecraft.util.thread.ReentrantBlockableEventLoop;
import net.minecraft.world.level.Level;
import net.minecraft.world.level.levelgen.structure.templatesystem.StructureManager;
import net.minecraft.world.level.storage.LevelStorageSource;
import org.spongepowered.asm.mixin.Final;
import org.spongepowered.asm.mixin.Mixin;
Expand Down Expand Up @@ -46,6 +50,16 @@ public MinecraftServer_scarpetMixin(String string_1)

//@Shadow private ServerResources resources;

@Shadow private MinecraftServer.ReloadableResources resources;

@Shadow public abstract RegistryAccess.Frozen registryAccess();

@Shadow public abstract PlayerList getPlayerList();

@Shadow @Final private ServerFunctionManager functionManager;

@Shadow @Final private StructureManager structureManager;

@Override
public void forceTick(BooleanSupplier isAhead)
{
Expand Down Expand Up @@ -84,5 +98,13 @@ public void tickTasks(BooleanSupplier booleanSupplier_1, CallbackInfo ci)
ENDER_TICK.onTick();
}


@Override
public void reloadAfterReload()
{
resources.managers().updateRegistryTags(registryAccess());
getPlayerList().saveAll();
getPlayerList().reloadResources();
functionManager.replaceLibrary(this.resources.managers().getFunctionLibrary());
structureManager.onResourceManagerReload(this.resources.resourceManager());
}
}
1 change: 1 addition & 0 deletions src/main/java/carpet/script/api/Auxiliary.java
Original file line number Diff line number Diff line change
Expand Up @@ -1154,6 +1154,7 @@ else if (fdesc.type == FileArgument.Type.JSON)
addeds.add(ValueConversions.of(registryKey.location()));
}
}
((MinecraftServerInterface)server).reloadAfterReload();
return ListValue.wrap(addeds);
});
}
Expand Down
1 change: 1 addition & 0 deletions src/main/resources/carpet.accesswidener
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,4 @@ accessible class net/minecraft/server/level/ChunkMap$DistanceManager
accessible class net/minecraft/server/level/ThreadedLevelLightEngine$TaskType
accessible class net/minecraft/world/item/crafting/Ingredient$Value
accessible class net/minecraft/world/level/lighting/BlockLightSectionStorage$BlockDataLayerStorageMap
accessible class net/minecraft/server/MinecraftServer$ReloadableResources

0 comments on commit aab3de6

Please sign in to comment.