Skip to content

Commit 14f80a4

Browse files
authored
Merge pull request #115 from VazkiiMods/1.20
1.20
2 parents 572385e + afb3ac0 commit 14f80a4

21 files changed

+244
-229
lines changed

README.md

+1-3
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,2 @@
11
# AkashicTome
2-
The book of books.
3-
4-
This mod requires [AutoRegLib](https://github.com/Vazkii/AutoRegLib).
2+
The book of books.

build.gradle

+12-22
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,12 @@
1-
buildscript {
2-
repositories {
3-
maven { url = 'https://maven.minecraftforge.net' }
4-
maven { url = 'https://repo.spongepowered.org/maven' }
5-
jcenter()
6-
mavenCentral()
7-
}
8-
dependencies {
9-
classpath group: 'net.minecraftforge.gradle', name: 'ForgeGradle', version: '5.1.+', changing: true
10-
}
11-
}
121
plugins {
2+
id 'eclipse'
3+
id 'maven-publish'
4+
id 'pmd'
135
id 'com.diffplug.spotless' version '5.12.5'
6+
id 'net.minecraftforge.gradle' version '5.1.+'
7+
id 'org.parchmentmc.librarian.forgegradle' version '1.+'
8+
id 'org.spongepowered.mixin' version '0.7.+'
149
}
15-
apply plugin: 'net.minecraftforge.gradle'
16-
apply plugin: 'eclipse'
17-
apply plugin: 'maven-publish'
18-
apply plugin: 'pmd'
1910

2011
ext.configFile = file('build.properties')
2112
ext.config = parseConfig(configFile)
@@ -55,7 +46,7 @@ minecraft {
5546
property 'forge.logging.console.level', 'debug'
5647

5748
mods {
58-
examplemod {
49+
akashictome {
5950
source sourceSets.main
6051
}
6152
}
@@ -71,7 +62,7 @@ minecraft {
7162
property 'forge.logging.console.level', 'debug'
7263

7364
mods {
74-
examplemod {
65+
akashictome {
7566
source sourceSets.main
7667
}
7768
}
@@ -81,16 +72,15 @@ minecraft {
8172

8273
repositories {
8374
maven {
84-
// for AutoRegLib
85-
name "blamejared"
86-
url "https://maven.blamejared.com/"
75+
url "https://cursemaven.com"
8776
}
8877
}
8978

9079
dependencies {
9180
minecraft "net.minecraftforge:forge:${config.mc_version}-${config.forge_version}"
92-
93-
implementation fg.deobf("vazkii.autoreglib:AutoRegLib:${config.arl_version}")
81+
implementation fg.deobf("curse.maven:curios-309927:5367944")
82+
implementation fg.deobf("curse.maven:patchouli-306770:4966125")
83+
implementation fg.deobf("curse.maven:botania-225643:5594997")
9484
}
9585

9686
spotless {

build.properties

+5-6
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,11 @@
11
#Mon Aug 05 18:32:28 UTC 2024
2-
mapping_channel=official
3-
forge_version=43.1.52
2+
mapping_channel=parchment
3+
forge_version=47.2.0
44
mod_id=akashictome
55
dir_repo=./
66
build_number=27
7-
arl_version=1.8.2-56.125
87
dir_output=../Build Output/AkashicTome/
9-
mapping_version=1.19.2
10-
version=1.6
8+
mapping_version=2023.09.03-1.20.1
9+
version=1.7
1110
mod_name=AkashicTome
12-
mc_version=1.19.2
11+
mc_version=1.20.1

gradle/wrapper/gradle-wrapper.properties

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME
22
distributionPath=wrapper/dists
33
zipStoreBase=GRADLE_USER_HOME
44
zipStorePath=wrapper/dists
5-
distributionUrl=https\://services.gradle.org/distributions/gradle-7.3.1-bin.zip
5+
distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-all.zip

settings.gradle

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
pluginManagement {
2+
repositories {
3+
gradlePluginPortal()
4+
jcenter()
5+
mavenCentral()
6+
maven { url = 'https://maven.minecraftforge.net/' }
7+
maven { url = 'https://maven.parchmentmc.org' }
8+
maven { url = "https://repo.spongepowered.org/repository/maven-public/" }
9+
}
10+
}
Original file line numberDiff line numberDiff line change
@@ -1,48 +1,45 @@
11
package vazkii.akashictome;
22

3+
import net.minecraft.world.item.CreativeModeTabs;
4+
import net.minecraftforge.event.BuildCreativeModeTabContentsEvent;
35
import net.minecraftforge.eventbus.api.IEventBus;
46
import net.minecraftforge.fml.DistExecutor;
57
import net.minecraftforge.fml.ModLoadingContext;
68
import net.minecraftforge.fml.common.Mod;
79
import net.minecraftforge.fml.config.ModConfig;
810
import net.minecraftforge.fml.event.lifecycle.FMLCommonSetupEvent;
911
import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext;
10-
import net.minecraftforge.network.NetworkDirection;
11-
12-
import vazkii.akashictome.network.MessageMorphTome;
13-
import vazkii.akashictome.network.MessageUnmorphTome;
12+
import vazkii.akashictome.network.NetworkHandler;
1413
import vazkii.akashictome.proxy.ClientProxy;
1514
import vazkii.akashictome.proxy.CommonProxy;
16-
import vazkii.arl.network.IMessage;
17-
import vazkii.arl.network.NetworkHandler;
1815

1916
@Mod(AkashicTome.MOD_ID)
2017
public class AkashicTome {
2118

2219
public static final String MOD_ID = "akashictome";
23-
public static NetworkHandler NETWORKHANDLER;
2420
public static CommonProxy proxy;
2521

2622
public AkashicTome() {
2723
IEventBus bus = FMLJavaModLoadingContext.get().getModEventBus();
2824
bus.addListener(this::commonSetup);
29-
bus.register(ModItems.class);
3025

26+
Registries.ITEMS.register(bus);
27+
Registries.SERIALIZERS.register(bus);
28+
29+
bus.addListener(this::addToCreativeTab);
3130
ModLoadingContext.get().registerConfig(ModConfig.Type.COMMON, ConfigHandler.CONFIG_SPEC);
3231

33-
proxy = DistExecutor.runForDist(() -> ClientProxy::new, () -> CommonProxy::new);
32+
proxy = DistExecutor.safeRunForDist(() -> ClientProxy::new, () -> CommonProxy::new);
3433
proxy.preInit();
35-
36-
NETWORKHANDLER = new NetworkHandler(MOD_ID, 1);
3734
}
3835

3936
public void commonSetup(FMLCommonSetupEvent event) {
40-
NETWORKHANDLER.register(MessageMorphTome.class, NetworkDirection.PLAY_TO_SERVER);
41-
NETWORKHANDLER.register(MessageUnmorphTome.class, NetworkDirection.PLAY_TO_SERVER);
37+
NetworkHandler.register();
4238
}
4339

44-
public static void sendToServer(IMessage msg) {
45-
NETWORKHANDLER.sendToServer(msg);
40+
private void addToCreativeTab(BuildCreativeModeTabContentsEvent event) {
41+
if (event.getTabKey() == CreativeModeTabs.TOOLS_AND_UTILITIES) {
42+
event.accept(Registries.TOME);
43+
}
4644
}
47-
4845
}

src/main/java/vazkii/akashictome/AttachementRecipe.java

+10-10
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,21 @@
11
package vazkii.akashictome;
22

33
import net.minecraft.core.NonNullList;
4+
import net.minecraft.core.RegistryAccess;
45
import net.minecraft.nbt.CompoundTag;
56
import net.minecraft.resources.ResourceLocation;
67
import net.minecraft.world.inventory.CraftingContainer;
78
import net.minecraft.world.item.ItemStack;
9+
import net.minecraft.world.item.crafting.CraftingBookCategory;
810
import net.minecraft.world.item.crafting.CustomRecipe;
911
import net.minecraft.world.item.crafting.RecipeSerializer;
1012
import net.minecraft.world.level.Level;
1113
import net.minecraftforge.registries.ForgeRegistries;
1214

13-
import vazkii.arl.util.ItemNBTHelper;
14-
1515
public class AttachementRecipe extends CustomRecipe {
1616

17-
public AttachementRecipe(ResourceLocation idIn) {
18-
super(idIn);
17+
public AttachementRecipe(ResourceLocation idIn, CraftingBookCategory pCategory) {
18+
super(idIn, pCategory);
1919
}
2020

2121
@Override
@@ -30,7 +30,7 @@ public boolean matches(CraftingContainer var1, Level var2) {
3030
if (foundTarget)
3131
return false;
3232
foundTarget = true;
33-
} else if (stack.getItem() == ModItems.tome) {
33+
} else if (stack.is(Registries.TOME.get())) {
3434
if (foundTool)
3535
return false;
3636
foundTool = true;
@@ -43,14 +43,14 @@ public boolean matches(CraftingContainer var1, Level var2) {
4343
}
4444

4545
@Override
46-
public ItemStack assemble(CraftingContainer var1) {
46+
public ItemStack assemble(CraftingContainer var1, RegistryAccess pRegistryAccess) {
4747
ItemStack tool = ItemStack.EMPTY;
4848
ItemStack target = ItemStack.EMPTY;
4949

5050
for (int i = 0; i < var1.getContainerSize(); i++) {
5151
ItemStack stack = var1.getItem(i);
5252
if (!stack.isEmpty()) {
53-
if (stack.getItem() == ModItems.tome)
53+
if (stack.is(Registries.TOME.get()))
5454
tool = stack;
5555
else
5656
target = stack;
@@ -80,7 +80,7 @@ public ItemStack assemble(CraftingContainer var1) {
8080

8181
CompoundTag modCmp = new CompoundTag();
8282
if (tries > 0)
83-
ItemNBTHelper.setString(target, MorphingHandler.TAG_ITEM_DEFINED_MOD, mod);
83+
NBTUtils.setString(target, MorphingHandler.TAG_ITEM_DEFINED_MOD, mod);
8484

8585
target.save(modCmp);
8686
morphData.put(mod, modCmp);
@@ -125,7 +125,7 @@ public boolean isTarget(ItemStack stack) {
125125
}
126126

127127
@Override
128-
public ItemStack getResultItem() {
128+
public ItemStack getResultItem(RegistryAccess pRegistryAccess) {
129129
return ItemStack.EMPTY;
130130
}
131131

@@ -136,7 +136,7 @@ public NonNullList<ItemStack> getRemainingItems(CraftingContainer inv) {
136136

137137
@Override
138138
public RecipeSerializer<?> getSerializer() {
139-
return ModItems.ATTACHMENT;
139+
return Registries.ATTACHMENT.get();
140140
}
141141

142142
}

src/main/java/vazkii/akashictome/ModItems.java

-28
This file was deleted.

src/main/java/vazkii/akashictome/MorphingHandler.java

+13-12
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
import net.minecraftforge.registries.ForgeRegistries;
1717

1818
import vazkii.akashictome.network.MessageUnmorphTome;
19-
import vazkii.arl.util.ItemNBTHelper;
19+
import vazkii.akashictome.network.NetworkHandler;
2020

2121
import java.util.HashMap;
2222
import java.util.Locale;
@@ -36,8 +36,8 @@ public final class MorphingHandler {
3636
@SubscribeEvent
3737
public void onPlayerLeftClick(PlayerInteractEvent.LeftClickEmpty event) {
3838
ItemStack stack = event.getItemStack();
39-
if (!stack.isEmpty() && isAkashicTome(stack) && stack.getItem() != ModItems.tome) {
40-
AkashicTome.sendToServer(new MessageUnmorphTome());
39+
if (!stack.isEmpty() && isAkashicTome(stack) && !stack.is(Registries.TOME.get())) {
40+
NetworkHandler.sendToServer(new MessageUnmorphTome());
4141
}
4242
}
4343

@@ -48,9 +48,9 @@ public void onItemDropped(ItemTossEvent event) {
4848

4949
ItemEntity e = event.getEntity();
5050
ItemStack stack = e.getItem();
51-
if (!stack.isEmpty() && isAkashicTome(stack) && stack.getItem() != ModItems.tome) {
51+
if (!stack.isEmpty() && isAkashicTome(stack) && !stack.is(Registries.TOME.get())) {
5252
CompoundTag morphData = stack.getTag().getCompound(TAG_TOME_DATA).copy();
53-
String currentMod = ItemNBTHelper.getString(stack, TAG_ITEM_DEFINED_MOD, getModFromStack(stack));
53+
String currentMod = NBTUtils.getString(stack, TAG_ITEM_DEFINED_MOD, getModFromStack(stack));
5454

5555
ItemStack morph = makeMorphedStack(stack, MINECRAFT, morphData);
5656
CompoundTag newMorphData = morph.getTag().getCompound(TAG_TOME_DATA);
@@ -98,7 +98,7 @@ public static String getModOrAlias(String mod) {
9898
return aliases.getOrDefault(mod, mod);
9999
}
100100

101-
public static boolean doesStackHaveModAttached(ItemStack stack, String mod) {
101+
public static boolean doesStackHaveModAttached(ItemStack stack, String mod) { //TODO what was this used for?
102102
if (!stack.hasTag())
103103
return false;
104104

@@ -111,7 +111,7 @@ public static ItemStack getShiftStackForMod(ItemStack stack, String mod) {
111111
return stack;
112112

113113
String currentMod = getModFromStack(stack);
114-
String defined = ItemNBTHelper.getString(stack, TAG_ITEM_DEFINED_MOD, "");
114+
String defined = NBTUtils.getString(stack, TAG_ITEM_DEFINED_MOD, "");
115115
if (!defined.isEmpty())
116116
currentMod = defined;
117117

@@ -124,7 +124,7 @@ public static ItemStack getShiftStackForMod(ItemStack stack, String mod) {
124124

125125
public static ItemStack makeMorphedStack(ItemStack currentStack, String targetMod, CompoundTag morphData) {
126126
String currentMod = getModFromStack(currentStack);
127-
String defined = ItemNBTHelper.getString(currentStack, TAG_ITEM_DEFINED_MOD, "");
127+
String defined = NBTUtils.getString(currentStack, TAG_ITEM_DEFINED_MOD, "");
128128
if (!defined.isEmpty())
129129
currentMod = defined;
130130

@@ -139,14 +139,14 @@ public static ItemStack makeMorphedStack(ItemStack currentStack, String targetMo
139139

140140
ItemStack stack;
141141
if (targetMod.equals(MINECRAFT))
142-
stack = new ItemStack(ModItems.tome);
142+
stack = new ItemStack(Registries.TOME.get());
143143
else {
144144
CompoundTag targetCmp = morphData.getCompound(targetMod);
145145
morphData.remove(targetMod);
146146

147147
stack = ItemStack.of(targetCmp);
148148
if (stack.isEmpty())
149-
stack = new ItemStack(ModItems.tome);
149+
stack = new ItemStack(Registries.TOME.get());
150150
}
151151

152152
if (!stack.hasTag())
@@ -156,7 +156,7 @@ public static ItemStack makeMorphedStack(ItemStack currentStack, String targetMo
156156
stackCmp.put(TAG_TOME_DATA, morphData);
157157
stackCmp.putBoolean(TAG_MORPHING, true);
158158

159-
if (stack.getItem() != ModItems.tome) {
159+
if (!stack.is(Registries.TOME.get())) {
160160
CompoundTag displayName = new CompoundTag();
161161
CompoundTag ogDisplayName = displayName;
162162
displayName.putString("text", Component.Serializer.toJson(stack.getHoverName()));
@@ -166,6 +166,7 @@ public static ItemStack makeMorphedStack(ItemStack currentStack, String targetMo
166166
else
167167
stackCmp.put(TAG_TOME_DISPLAY_NAME, displayName);
168168

169+
169170
MutableComponent rawComp = Component.Serializer.fromJson(displayName.getString("text"));
170171
if (rawComp == null) {
171172
stackCmp.put(TAG_TOME_DISPLAY_NAME, displayName);
@@ -197,7 +198,7 @@ public static boolean isAkashicTome(ItemStack stack) {
197198
if (stack.isEmpty())
198199
return false;
199200

200-
if (stack.getItem() == ModItems.tome)
201+
if (stack.is(Registries.TOME.get()))
201202
return true;
202203

203204
return stack.hasTag() && stack.getTag().getBoolean(TAG_MORPHING);

0 commit comments

Comments
 (0)