Skip to content

Commit

Permalink
v1.2.0 for 1.16
Browse files Browse the repository at this point in the history
  • Loading branch information
DeadlyMC committed Sep 30, 2020
1 parent fbf9a9d commit 501c197
Show file tree
Hide file tree
Showing 6 changed files with 79 additions and 6 deletions.
4 changes: 3 additions & 1 deletion build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,9 @@ dependencies {
modCompile "carpet:fabric-carpet:${project.minecraft_version}-${project.carpet_core_version}"

modCompile "net.fabricmc.fabric-api:fabric-resource-loader-v0:${project.fabric_resource_loader_v0_version}"
include "net.fabricmc.fabric-api:fabric-resource-l0.3.1+facf3bbf950.3.1+facf3bbf950.3.1+facf3bbf950.3.1+facf3bbf950.3.1+facf3bbf95oader-v0:${project.fabric_resource_loader_v0_version}"
include "net.fabricmc.fabric-api:fabric-resource-loader-v0:${project.fabric_resource_loader_v0_version}"

modCompile "net.fabricmc.fabric-api:fabric-registry-sync-v0:${project.fabric_registry_sync_v0_version}"

// javax.annotation.Nullable/Nonnull
compileOnly "com.google.code.findbugs:jsr305:3.0.1"
Expand Down
3 changes: 2 additions & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ org.gradle.jvmargs=-Xmx1G


# Mod Properties
mod_version = 1.1.1
mod_version = 1.2.0
maven_group = carpet-extension
archives_base_name = skyblock

Expand All @@ -15,3 +15,4 @@ fabric_version=0.22.1+build.409-1.16

carpet_core_version=1.4.11+v200910
fabric_resource_loader_v0_version=0.3.1+facf3bbf95
fabric_registry_sync_v0_version=0.5.0+c1aa8ed895
22 changes: 18 additions & 4 deletions src/main/java/skyblock/SkyBlockExtension.java
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,21 @@
import carpet.CarpetServer;
import carpet.settings.SettingsManager;
import net.fabricmc.api.ModInitializer;
import net.minecraft.util.Identifier;
import net.minecraft.util.registry.Registry;

public class SkyBlockExtension implements CarpetExtension, ModInitializer
{
private static SettingsManager mySettingManager = new SettingsManager(Build.VERSION, Build.ID, Build.NAME);

private static SettingsManager mySettingManager;

public static void noop() {}

public SkyBlockExtension() {
CarpetServer.manageExtension(this);
}

static {
mySettingManager = new SettingsManager(Build.VERSION, Build.ID, Build.NAME);
CarpetServer.manageExtension(new SkyBlockExtension());
}

@Override
Expand All @@ -34,6 +42,12 @@ public SettingsManager customSettingsManager()
@Override
public String version()
{
return "carpet-skyblock 1.1.1";
return "carpet-skyblock";
}

public static boolean isIgnoredForRegistrySync(Identifier registry, Identifier entry)
{
if (!Registry.POTION_KEY.getValue().equals(registry)) return false;
return entry.toString().startsWith("minecraft:super_");
}
}
18 changes: 18 additions & 0 deletions src/main/java/skyblock/mixin/CrashReport_noopMixin.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
package skyblock.mixin;

import net.minecraft.util.crash.CrashReport;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
import skyblock.SkyBlockExtension;

@Mixin(CrashReport.class)
public class CrashReport_noopMixin
{
@Inject(method = "initCrashReport", at = @At("HEAD"))
private static void gameStarted(CallbackInfo ci)
{
SkyBlockExtension.noop();
}
}
36 changes: 36 additions & 0 deletions src/main/java/skyblock/mixin/RegistrySyncManagerMixin.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
package skyblock.mixin;

import net.fabricmc.fabric.impl.registry.sync.RegistrySyncManager;
import net.minecraft.util.Identifier;
import net.minecraft.util.registry.Registry;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Redirect;
import skyblock.SkyBlockExtension;

@Mixin(value = RegistrySyncManager.class)
public class RegistrySyncManagerMixin
{
private static final ThreadLocal<Identifier> currentRegistry = new ThreadLocal<>();

@Redirect(method = "toTag", at = @At(
value = "INVOKE",
target = "Lnet/minecraft/util/registry/Registry;get(Lnet/minecraft/util/Identifier;)Ljava/lang/Object;"
))
private static <T> T redirectGetRegistry(Registry<T> registry, Identifier id)
{
currentRegistry.set(id);
return registry.get(id);
}

@Redirect(method = "toTag", at = @At(
value = "INVOKE",
target = "Lnet/minecraft/util/registry/Registry;getId(Ljava/lang/Object;)Lnet/minecraft/util/Identifier;"
))
private static <T> Identifier redirectGetId(Registry<T> mutableRegistry, T entry)
{
Identifier id = mutableRegistry.getId(entry);
if (SkyBlockExtension.isIgnoredForRegistrySync(currentRegistry.get(), id)) return null;
return id;
}
}
2 changes: 2 additions & 0 deletions src/main/resources/skyblock.mixins.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@
"package": "skyblock.mixin",
"compatibilityLevel": "JAVA_8",
"mixins": [
"CrashReport_noopMixin",
"RegistrySyncManagerMixin",
"BrewingRecipeRegistryAccessor",
"BrewingRecipeRegistryMixin",
"ChunkStatusMixin",
Expand Down

0 comments on commit 501c197

Please sign in to comment.