Compare commits
	
		
			1 Commits
		
	
	
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| ff755932f1 | 
@@ -3,7 +3,7 @@ Minecraft Forge: Credits/Thank You
 | 
			
		||||
Forge is a set of tools and modifications to the Minecraft base game code to assist 
 | 
			
		||||
mod developers in creating new and exciting content. It has been in development for 
 | 
			
		||||
several years now, but I would like to take this time thank a few people who have 
 | 
			
		||||
helped it along its way.
 | 
			
		||||
helped it along it's way.
 | 
			
		||||
 | 
			
		||||
First, the people who originally created the Forge projects way back in Minecraft 
 | 
			
		||||
alpha. Eloraam of RedPower, and SpaceToad of Buildcraft, without their acceptiance 
 | 
			
		||||
@@ -11,7 +11,7 @@ of me taking over the project, who knows what Minecraft modding would be today.
 | 
			
		||||
 | 
			
		||||
Secondly, someone who has worked with me, and developed some of the core features
 | 
			
		||||
that allow modding to be as functional, and as simple as it is, cpw. For developing
 | 
			
		||||
FML, which stabilized the client and server modding ecosystem. As well as the base
 | 
			
		||||
FML, which stabelized the client and server modding ecosystem. As well as the base
 | 
			
		||||
loading system that allows us to modify Minecraft's code as elegently as possible.
 | 
			
		||||
 | 
			
		||||
Mezz, who has stepped up as the issue and pull request manager. Helping to keep me
 | 
			
		||||
@@ -45,11 +45,11 @@ and minecraft clients.
 | 
			
		||||
The code is authored by cpw.
 | 
			
		||||
 | 
			
		||||
It began by partially implementing an API defined by the client side ModLoader, authored by Risugami.
 | 
			
		||||
https://www.minecraftforum.net/topic/75440-
 | 
			
		||||
http://www.minecraftforum.net/topic/75440-
 | 
			
		||||
This support has been dropped as of Minecraft release 1.7, as Risugami no longer maintains ModLoader.
 | 
			
		||||
 | 
			
		||||
It also contains suggestions and hints and generous helpings of code from LexManos, author of MinecraftForge.
 | 
			
		||||
https://minecraftforge.net/
 | 
			
		||||
http://www.minecraftforge.net/
 | 
			
		||||
 | 
			
		||||
Additionally, it contains an implementation of topological sort based on that 
 | 
			
		||||
published at http://keithschwarz.com/interesting/code/?dir=topological-sort
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										183
									
								
								README.txt
									
									
									
									
									
								
							
							
						
						@@ -1,155 +1,46 @@
 | 
			
		||||
为了防止我自己忘掉配方,我让AI写了这个↓
 | 
			
		||||
 | 
			
		||||
# BlackSugar Mod
 | 
			
		||||
Source installation information for modders
 | 
			
		||||
-------------------------------------------
 | 
			
		||||
This code follows the Minecraft Forge installation methodology. It will apply
 | 
			
		||||
some small patches to the vanilla MCP source code, giving you and it access 
 | 
			
		||||
to some of the data and functions you need to build a successful mod.
 | 
			
		||||
 | 
			
		||||
一个为Minecraft添加各种美味食物和可爱小猫咪的模组!
 | 
			
		||||
Note also that the patches are built against "un-renamed" MCP source code (aka
 | 
			
		||||
SRG Names) - this means that you will not be able to read them directly against
 | 
			
		||||
normal code.
 | 
			
		||||
 | 
			
		||||
## 模组介绍
 | 
			
		||||
Setup Process:
 | 
			
		||||
==============================
 | 
			
		||||
 | 
			
		||||
BlackSugar Mod为游戏增加了丰富的食物系统和小猫咪互动机制。玩家可以通过不同的食物来改变小猫咪的状态,体验有趣的合成系统。模组包含了从基础材料到终极物品的完整制作链。
 | 
			
		||||
Step 1: Open your command-line and browse to the folder where you extracted the zip file.
 | 
			
		||||
 | 
			
		||||
## 新增物品
 | 
			
		||||
Step 2: You're left with a choice.
 | 
			
		||||
If you prefer to use Eclipse:
 | 
			
		||||
1. Run the following command: `./gradlew genEclipseRuns`
 | 
			
		||||
2. Open Eclipse, Import > Existing Gradle Project > Select Folder 
 | 
			
		||||
   or run `gradlew eclipse` to generate the project.
 | 
			
		||||
 | 
			
		||||
### 基础材料
 | 
			
		||||
- **黑糖** (Black Sugar) - 模组的核心材料
 | 
			
		||||
- **面团** (Dough) - 用小麦和水制作的基础材料
 | 
			
		||||
- **食用油** (Cooking Oil) - 烹饪用油
 | 
			
		||||
- **葱花** (Scallion) - 调味料
 | 
			
		||||
If you prefer to use IntelliJ:
 | 
			
		||||
1. Open IDEA, and import project.
 | 
			
		||||
2. Select your build.gradle file and have it import.
 | 
			
		||||
3. Run the following command: `./gradlew genIntellijRuns`
 | 
			
		||||
4. Refresh the Gradle Project in IDEA if required.
 | 
			
		||||
 | 
			
		||||
### 海星系列
 | 
			
		||||
- **坚不可摧的海星** (Indestructible Starfish) - 坚硬的海星
 | 
			
		||||
- **海星串** (Starfish Skewer) - 串好的海星
 | 
			
		||||
- **香喷喷的串海星** (Fragrant Starfish Skewer) - 美味的烤海星串 ⭐可食用
 | 
			
		||||
 | 
			
		||||
### 甲鱼系列
 | 
			
		||||
- **萨卡班甲鱼** (Sakaban Turtle) - 原始甲鱼
 | 
			
		||||
- **腌好的萨卡班甲鱼** (Pickled Turtle) - 腌制后的甲鱼
 | 
			
		||||
- **炭烤萨卡班甲鱼** (Charcoal Grilled Turtle) - 烤制的美味甲鱼 ⭐可食用
 | 
			
		||||
 | 
			
		||||
### 棉花糖系列
 | 
			
		||||
- **棉花糖** (Marshmallow) - 基础棉花糖 ⭐可食用
 | 
			
		||||
- **烤棉花糖** (Roasted Marshmallow) - 烤制的棉花糖 ⭐可食用
 | 
			
		||||
- **致癌的棉花糖** (Carcinogenic Marshmallow) - 危险的棉花糖 ⭐可食用
 | 
			
		||||
 | 
			
		||||
### 蔬菜系列
 | 
			
		||||
- **一锅牢菜** (Pot of Prison Vegetables) - 蔬菜锅
 | 
			
		||||
- **闷牢菜** (Braised Prison Vegetables) - 炖煮的蔬菜 ⭐可食用
 | 
			
		||||
 | 
			
		||||
### 其他食物
 | 
			
		||||
- **黑糖团子** (Black Sugar Dumpling) - 甜美的团子 ⭐可食用
 | 
			
		||||
- **脆香bro** (Crispy Bro) - 酥脆美味的食物 ⭐可食用
 | 
			
		||||
 | 
			
		||||
### 小猫咪系列
 | 
			
		||||
- **一只觉得嘴里淡淡的小猫咪** (Bland Kitten) - 基础小猫咪
 | 
			
		||||
- **心满意足的小猫咪** (Satisfied Kitten) - 吃饱后的快乐小猫咪
 | 
			
		||||
- **发情的小猫咪** (Horny Kitten) - 吃了萝卜后的兴奋小猫咪
 | 
			
		||||
- **想吃肉的小猫咪** (Meat Craving Kitten) - 吃了素食后渴望肉类的小猫咪
 | 
			
		||||
- **一只心怀歹念的小猫咪** (Malicious Kitten) - 神秘的黑暗小猫咪
 | 
			
		||||
 | 
			
		||||
### 终极物品
 | 
			
		||||
- **Lover's Lover** - 需要多种珍贵材料合成的终极食物 ⭐可食用
 | 
			
		||||
 | 
			
		||||
## 合成配方
 | 
			
		||||
 | 
			
		||||
### 基础制作配方
 | 
			
		||||
 | 
			
		||||
#### 面团制作
 | 
			
		||||
- 小麦 + 水桶 + 小麦 = 面团 x2
 | 
			
		||||
 | 
			
		||||
### 小猫咪状态转换配方
 | 
			
		||||
 | 
			
		||||
#### 普通小猫咪 + 素食 → 想吃肉的小猫咪
 | 
			
		||||
- 一只觉得嘴里淡淡的小猫咪 + 闷牢菜 = 想吃肉的小猫咪
 | 
			
		||||
 | 
			
		||||
#### 普通小猫咪 + 肉类 → 心满意足的小猫咪
 | 
			
		||||
- 一只觉得嘴里淡淡的小猫咪 + 香喷喷的串海星 = 心满意足的小猫咪
 | 
			
		||||
- 一只觉得嘴里淡淡的小猫咪 + 炭烤萨卡班甲鱼 = 心满意足的小猫咪
 | 
			
		||||
- 一只觉得嘴里淡淡的小猫咪 + 脆香bro = 心满意足的小猫咪
 | 
			
		||||
 | 
			
		||||
#### 普通小猫咪 + 萝卜 → 发情的小猫咪
 | 
			
		||||
- 一只觉得嘴里淡淡的小猫咪 + 萝卜 = 发情的小猫咪
 | 
			
		||||
 | 
			
		||||
#### 想吃肉的小猫咪 + 肉类 → 心满意足的小猫咪
 | 
			
		||||
- 想吃肉的小猫咪 + 香喷喷的串海星 = 心满意足的小猫咪
 | 
			
		||||
- 想吃肉的小猫咪 + 炭烤萨卡班甲鱼 = 心满意足的小猫咪
 | 
			
		||||
- 想吃肉的小猫咪 + 脆香bro = 心满意足的小猫咪
 | 
			
		||||
 | 
			
		||||
### 终极合成配方
 | 
			
		||||
 | 
			
		||||
#### Lover's Lover 合成配方
 | 
			
		||||
需要以下9种材料(无序合成):
 | 
			
		||||
- 1x 一只心怀歹念的小猫咪
 | 
			
		||||
- 1x 脆香bro
 | 
			
		||||
- 1x 香喷喷的串海星
 | 
			
		||||
- 1x 闷牢菜
 | 
			
		||||
- 1x 烤棉花糖
 | 
			
		||||
- 1x 致癌的棉花糖
 | 
			
		||||
- 1x 棉花糖
 | 
			
		||||
- 1x 炭烤萨卡班甲鱼
 | 
			
		||||
- 1x 黑糖团子
 | 
			
		||||
 | 
			
		||||
## 游戏机制
 | 
			
		||||
 | 
			
		||||
### 小猫咪饮食系统
 | 
			
		||||
1. **普通小猫咪**可以吃任何可食用物品
 | 
			
		||||
2. **素食**会让小猫咪变成想吃肉的状态
 | 
			
		||||
3. **肉类**会让小猫咪变得心满意足
 | 
			
		||||
4. **萝卜**会让小猫咪进入发情状态
 | 
			
		||||
5. **想吃肉的小猫咪**吃到肉类后会变得心满意足
 | 
			
		||||
 | 
			
		||||
### 食物分类
 | 
			
		||||
- **素食**: 闷牢菜
 | 
			
		||||
- **肉类**: 香喷喷的串海星、炭烤萨卡班甲鱼、脆香bro
 | 
			
		||||
- **甜食**: 黑糖团子、棉花糖、烤棉花糖、致癌的棉花糖
 | 
			
		||||
- **终极食物**: Lover's Lover(最高营养价值的终极美食)
 | 
			
		||||
- **特殊**: 萝卜(触发发情状态)
 | 
			
		||||
 | 
			
		||||
### 营养价值
 | 
			
		||||
- **Lover's Lover**: 10点饥饿值,20.0饱和度
 | 
			
		||||
- **炭烤萨卡班甲鱼**: 9点饥饿值,14.0饱和度
 | 
			
		||||
- **香喷喷的串海星**: 7点饥饿值,10.0饱和度
 | 
			
		||||
- **脆香bro**: 6点饥饿值,8.0饱和度
 | 
			
		||||
- **闷牢菜**: 5点饥饿值,7.0饱和度
 | 
			
		||||
- **黑糖团子**: 4点饥饿值,9.6饱和度
 | 
			
		||||
- **烤棉花糖**: 3点饥饿值,5.0饱和度
 | 
			
		||||
- **棉花糖**: 2点饥饿值,2.0饱和度
 | 
			
		||||
- **致癌的棉花糖**: 0点饥饿值,0.0饱和度(纯装饰)
 | 
			
		||||
 | 
			
		||||
## 制作链条
 | 
			
		||||
 | 
			
		||||
### 海星制作链
 | 
			
		||||
坚不可摧的海星 → 海星串 → 香喷喷的串海星
 | 
			
		||||
 | 
			
		||||
### 甲鱼制作链
 | 
			
		||||
萨卡班甲鱼 → 腌好的萨卡班甲鱼 → 炭烤萨卡班甲鱼
 | 
			
		||||
 | 
			
		||||
### 蔬菜制作链
 | 
			
		||||
一锅牢菜 → 闷牢菜
 | 
			
		||||
 | 
			
		||||
### 棉花糖制作链
 | 
			
		||||
棉花糖 → 烤棉花糖/致癌的棉花糖
 | 
			
		||||
 | 
			
		||||
## 安装说明
 | 
			
		||||
 | 
			
		||||
1. 确保已安装Minecraft Forge 1.21.4
 | 
			
		||||
2. 将mod文件放入mods文件夹
 | 
			
		||||
3. 启动游戏即可体验
 | 
			
		||||
4. 所有物品都会出现在创造模式的"食物和饮品"标签页中
 | 
			
		||||
 | 
			
		||||
## 版本信息
 | 
			
		||||
 | 
			
		||||
- Minecraft版本: 1.21.4
 | 
			
		||||
- Forge版本: 兼容最新版本
 | 
			
		||||
- 模组ID: blacksugarmod
 | 
			
		||||
 | 
			
		||||
## 特色功能
 | 
			
		||||
 | 
			
		||||
- 🐱 独特的小猫咪互动系统
 | 
			
		||||
- 🍖 丰富的食物制作链条
 | 
			
		||||
- 🎯 多样化的合成配方
 | 
			
		||||
- 🌟 终极物品"Lover's Lover"挑战
 | 
			
		||||
- 📊 详细的营养价值系统
 | 
			
		||||
 | 
			
		||||
享受与小猫咪们和美食的美好时光吧!🐱🍽️
 | 
			
		||||
If at any point you are missing libraries in your IDE, or you've run into problems you can 
 | 
			
		||||
run `gradlew --refresh-dependencies` to refresh the local cache. `gradlew clean` to reset everything 
 | 
			
		||||
(this does not affect your code) and then start the process again.
 | 
			
		||||
 | 
			
		||||
Mapping Names:
 | 
			
		||||
=============================
 | 
			
		||||
By default, the MDK is configured to use the official mapping names from Mojang for methods and fields 
 | 
			
		||||
in the Minecraft codebase. These names are covered by a specific license. All modders should be aware of this
 | 
			
		||||
license, if you do not agree with it you can change your mapping names to other crowdsourced names in your 
 | 
			
		||||
build.gradle. For the latest license text, refer to the mapping file itself, or the reference copy here:
 | 
			
		||||
https://github.com/MinecraftForge/MCPConfig/blob/master/Mojang.md
 | 
			
		||||
 | 
			
		||||
Additional Resources: 
 | 
			
		||||
=========================
 | 
			
		||||
Community Documentation: https://docs.minecraftforge.net/en/1.20.1/gettingstarted/
 | 
			
		||||
LexManos' Install Video: https://youtu.be/8VEdtQLuLO0
 | 
			
		||||
Forge Forums: https://forums.minecraftforge.net/
 | 
			
		||||
Forge Discord: https://discord.minecraftforge.net/
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										
											BIN
										
									
								
								black_sugar.png
									
									
									
									
									
								
							
							
						
						
							
								
								
									
										104
									
								
								build.gradle
									
									
									
									
									
								
							
							
						
						@@ -2,7 +2,7 @@ plugins {
 | 
			
		||||
    id 'eclipse'
 | 
			
		||||
    id 'idea'
 | 
			
		||||
    id 'maven-publish'
 | 
			
		||||
    id 'net.minecraftforge.gradle' version '[6.0.36,6.2)'
 | 
			
		||||
    id 'net.minecraftforge.gradle' version '[6.0,6.2)'
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
version = mod_version
 | 
			
		||||
@@ -12,8 +12,8 @@ base {
 | 
			
		||||
    archivesName = mod_id
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Mojang ships Java 21 to end users in 1.20.5+, so your mod should target Java 21.
 | 
			
		||||
java.toolchain.languageVersion = JavaLanguageVersion.of(21)
 | 
			
		||||
// Mojang ships Java 17 to end users in 1.18+, so your mod should target Java 17.
 | 
			
		||||
java.toolchain.languageVersion = JavaLanguageVersion.of(17)
 | 
			
		||||
 | 
			
		||||
println "Java: ${System.getProperty 'java.version'}, JVM: ${System.getProperty 'java.vm.version'} (${System.getProperty 'java.vendor'}), Arch: ${System.getProperty 'os.arch'}"
 | 
			
		||||
minecraft {
 | 
			
		||||
@@ -22,15 +22,16 @@ minecraft {
 | 
			
		||||
    // official   MCVersion             Official field/method names from Mojang mapping files
 | 
			
		||||
    // parchment  YYYY.MM.DD-MCVersion  Open community-sourced parameter names and javadocs layered on top of official
 | 
			
		||||
    //
 | 
			
		||||
    // You must be aware of the Mojang license when using the 'official' or 'parchment' mappings.
 | 
			
		||||
    // See more information here: https://github.com/MinecraftForge/MCPConfig/blob/master/Mojang.md
 | 
			
		||||
    //
 | 
			
		||||
    // Parchment is an unofficial project maintained by ParchmentMC, separate from MinecraftForge
 | 
			
		||||
    // Additional setup is needed to use their mappings: https://parchmentmc.org/docs/getting-started
 | 
			
		||||
    //
 | 
			
		||||
    // Use non-default mappings at your own risk. They may not always work.
 | 
			
		||||
    // Simply re-run your setup task after changing the mappings to update your workspace.
 | 
			
		||||
    mappings channel: mapping_channel, version: mapping_version
 | 
			
		||||
 | 
			
		||||
    // Forge 1.20.6 and newer use official mappings at runtime, so we shouldn't reobf from official to SRG
 | 
			
		||||
    reobf = false
 | 
			
		||||
 | 
			
		||||
    // When true, this property will have all Eclipse/IntelliJ IDEA run configurations run the "prepareX" task for the given run configuration before launching the game.
 | 
			
		||||
    // In most cases, it is not necessary to enable.
 | 
			
		||||
    // enableEclipsePrepareRuns = true
 | 
			
		||||
@@ -46,7 +47,8 @@ minecraft {
 | 
			
		||||
    // By default, the folder name of a run configuration is the name of the Gradle project containing it.
 | 
			
		||||
    // generateRunFolders = true
 | 
			
		||||
 | 
			
		||||
    // This property enables access transformers for use in development, applied to the Minecraft artifact.
 | 
			
		||||
    // This property enables access transformers for use in development.
 | 
			
		||||
    // They will be applied to the Minecraft artifact.
 | 
			
		||||
    // The access transformer file can be anywhere in the project.
 | 
			
		||||
    // However, it must be at "META-INF/accesstransformer.cfg" in the final mod jar to be loaded by Forge.
 | 
			
		||||
    // This default location is a best practice to automatically put the file in the right place in the final jar.
 | 
			
		||||
@@ -60,15 +62,23 @@ minecraft {
 | 
			
		||||
        configureEach {
 | 
			
		||||
            workingDirectory project.file('run')
 | 
			
		||||
 | 
			
		||||
            // Optional additional logging. The markers can be added/remove as needed, separated by commas.
 | 
			
		||||
            // Recommended logging data for a userdev environment
 | 
			
		||||
            // The markers can be added/remove as needed separated by commas.
 | 
			
		||||
            // "SCAN": For mods scan.
 | 
			
		||||
            // "REGISTRIES": For firing of registry events.
 | 
			
		||||
            // "REGISTRYDUMP": For getting the contents of all registries.
 | 
			
		||||
//            property 'forge.logging.markers', 'REGISTRIES'
 | 
			
		||||
            property 'forge.logging.markers', 'REGISTRIES'
 | 
			
		||||
 | 
			
		||||
            // Recommended logging level for the console
 | 
			
		||||
            // You can set various levels here.
 | 
			
		||||
            // Please read: https://stackoverflow.com/questions/2031163/when-to-use-the-different-log-levels
 | 
			
		||||
            property 'forge.logging.console.level', 'debug'
 | 
			
		||||
 | 
			
		||||
//            arg "-mixin.config=${mod_id}.mixins.json"
 | 
			
		||||
            mods {
 | 
			
		||||
                "${mod_id}" {
 | 
			
		||||
                    source sourceSets.main
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        client {
 | 
			
		||||
@@ -103,26 +113,7 @@ sourceSets.main.resources { srcDir 'src/generated/resources' }
 | 
			
		||||
 | 
			
		||||
repositories {
 | 
			
		||||
    // Put repositories for dependencies here
 | 
			
		||||
    mavenCentral()
 | 
			
		||||
    maven {
 | 
			
		||||
        name = 'Forge'
 | 
			
		||||
        url = 'https://maven.minecraftforge.net'
 | 
			
		||||
    }
 | 
			
		||||
    maven {
 | 
			
		||||
        name = 'Minecraft libraries'
 | 
			
		||||
        url = 'https://libraries.minecraft.net'
 | 
			
		||||
    }
 | 
			
		||||
    exclusiveContent {
 | 
			
		||||
        forRepository {
 | 
			
		||||
            maven {
 | 
			
		||||
                name = 'Sponge'
 | 
			
		||||
                url = 'https://repo.spongepowered.org/repository/maven-public'
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        filter {
 | 
			
		||||
            includeGroupAndSubgroups('org.spongepowered')
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
    // ForgeGradle automatically adds the Forge maven and Maven Central for you
 | 
			
		||||
 | 
			
		||||
    // If you have mod jar dependencies in ./libs, you can declare them as a repository like so.
 | 
			
		||||
    // See https://docs.gradle.org/current/userguide/declaring_repositories.html#sub:flat_dir_resolver
 | 
			
		||||
@@ -139,11 +130,11 @@ dependencies {
 | 
			
		||||
    // then special handling is done to allow a setup of a vanilla dependency without the use of an external repository.
 | 
			
		||||
    minecraft "net.minecraftforge:forge:${minecraft_version}-${forge_version}"
 | 
			
		||||
 | 
			
		||||
    // Example mod dependency with JEI
 | 
			
		||||
    // Example mod dependency with JEI - using fg.deobf() ensures the dependency is remapped to your development mappings
 | 
			
		||||
    // The JEI API is declared for compile time use, while the full JEI artifact is used at runtime
 | 
			
		||||
    // compileOnly "mezz.jei:jei-${mc_version}-common-api:${jei_version}"
 | 
			
		||||
    // compileOnly "mezz.jei:jei-${mc_version}-forge-api:${jei_version}"
 | 
			
		||||
    // runtimeOnly "mezz.jei:jei-${mc_version}-forge:${jei_version}"
 | 
			
		||||
    // compileOnly fg.deobf("mezz.jei:jei-${mc_version}-common-api:${jei_version}")
 | 
			
		||||
    // compileOnly fg.deobf("mezz.jei:jei-${mc_version}-forge-api:${jei_version}")
 | 
			
		||||
    // runtimeOnly fg.deobf("mezz.jei:jei-${mc_version}-forge:${jei_version}")
 | 
			
		||||
 | 
			
		||||
    // Example mod dependency using a mod jar from ./libs with a flat dir repository
 | 
			
		||||
    // This maps to ./libs/coolmod-${mc_version}-${coolmod_version}.jar
 | 
			
		||||
@@ -159,7 +150,7 @@ dependencies {
 | 
			
		||||
// A missing property will result in an error. Properties are expanded using ${} Groovy notation.
 | 
			
		||||
// When "copyIdeResources" is enabled, this will also run before the game launches in IDE environments.
 | 
			
		||||
// See https://docs.gradle.org/current/dsl/org.gradle.language.jvm.tasks.ProcessResources.html
 | 
			
		||||
tasks.named('processResources', ProcessResources) {
 | 
			
		||||
tasks.named('processResources', ProcessResources).configure {
 | 
			
		||||
    var replaceProperties = [
 | 
			
		||||
            minecraft_version: minecraft_version, minecraft_version_range: minecraft_version_range,
 | 
			
		||||
            forge_version: forge_version, forge_version_range: forge_version_range,
 | 
			
		||||
@@ -175,20 +166,28 @@ tasks.named('processResources', ProcessResources) {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Example for how to get properties into the manifest for reading at runtime.
 | 
			
		||||
tasks.named('jar', Jar) {
 | 
			
		||||
tasks.named('jar', Jar).configure {
 | 
			
		||||
    manifest {
 | 
			
		||||
        attributes([
 | 
			
		||||
            'Specification-Title'     : mod_id,
 | 
			
		||||
            'Specification-Vendor'    : mod_authors,
 | 
			
		||||
            'Specification-Version'   : '1', // We are version 1 of ourselves
 | 
			
		||||
            'Implementation-Title'    : project.name,
 | 
			
		||||
            'Implementation-Version'  : project.jar.archiveVersion,
 | 
			
		||||
            'Implementation-Vendor'   : mod_authors
 | 
			
		||||
                'Specification-Title'     : mod_id,
 | 
			
		||||
                'Specification-Vendor'    : mod_authors,
 | 
			
		||||
                'Specification-Version'   : '1', // We are version 1 of ourselves
 | 
			
		||||
                'Implementation-Title'    : project.name,
 | 
			
		||||
                'Implementation-Version'  : project.jar.archiveVersion,
 | 
			
		||||
                'Implementation-Vendor'   : mod_authors,
 | 
			
		||||
                'Implementation-Timestamp': new Date().format("yyyy-MM-dd'T'HH:mm:ssZ")
 | 
			
		||||
        ])
 | 
			
		||||
//        attributes['MixinConfigs'] = "${mod_id}.mixins.json"
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    // This is the preferred method to reobfuscate your jar file
 | 
			
		||||
    finalizedBy 'reobfJar'
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// However if you are in a multi-project build, dev time needs unobfed jar files, so you can delay the obfuscation until publishing by doing:
 | 
			
		||||
// tasks.named('publish').configure {
 | 
			
		||||
//     dependsOn 'reobfJar'
 | 
			
		||||
// }
 | 
			
		||||
 | 
			
		||||
// Example configuration to allow publishing using the maven-publish plugin
 | 
			
		||||
publishing {
 | 
			
		||||
    publications {
 | 
			
		||||
@@ -206,22 +205,3 @@ publishing {
 | 
			
		||||
tasks.withType(JavaCompile).configureEach {
 | 
			
		||||
    options.encoding = 'UTF-8' // Use the UTF-8 charset for Java compilation
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// IntelliJ no longer downloads javadocs and sources by default, this tells Gradle to force IntelliJ to do it.
 | 
			
		||||
idea.module { downloadJavadoc = downloadSources = true }
 | 
			
		||||
 | 
			
		||||
eclipse {
 | 
			
		||||
    // Run everytime eclipse builds the code
 | 
			
		||||
    //autoBuildTasks genEclipseRuns
 | 
			
		||||
    // Run when importing the project
 | 
			
		||||
    synchronizationTasks 'genEclipseRuns'
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Merge the resources and classes into the same directory, because Java expects modules to be in a single directory.
 | 
			
		||||
// And if we have it in multiple we have to do performance intensive hacks like having the UnionFileSystem
 | 
			
		||||
// This will eventually be migrated to ForgeGradle so modders don't need to manually do it. But that is later.
 | 
			
		||||
sourceSets.each {
 | 
			
		||||
    def dir = layout.buildDirectory.dir("sourcesSets/$it.name")
 | 
			
		||||
    it.output.resourcesDir = dir
 | 
			
		||||
    it.java.destinationDirectory = dir
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										1438
									
								
								changelog.txt
									
									
									
									
									
								
							
							
						
						@@ -1,30 +1,23 @@
 | 
			
		||||
# Sets default memory used for Gradle commands. Can be overridden by user or command line properties.
 | 
			
		||||
# Sets default memory used for gradle commands. Can be overridden by user or command line properties.
 | 
			
		||||
# This is required to provide enough memory for the Minecraft decompilation process.
 | 
			
		||||
org.gradle.jvmargs=-Xmx5G
 | 
			
		||||
org.gradle.jvmargs=-Xmx3G
 | 
			
		||||
org.gradle.daemon=false
 | 
			
		||||
 | 
			
		||||
# In the case that Gradle needs to fork to recompile, this will set the memory for that process.
 | 
			
		||||
systemProp.net.minecraftforge.gradle.repo.recompile.fork=true
 | 
			
		||||
systemProp.net.minecraftforge.gradle.repo.recompile.fork.args=-Xmx5G
 | 
			
		||||
 | 
			
		||||
# Opts-out of ForgeGradle automatically adding mavenCentral(), Forge's maven and MC libs maven to the repositories block
 | 
			
		||||
systemProp.net.minecraftforge.gradle.repo.attach=false
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
## Environment Properties
 | 
			
		||||
 | 
			
		||||
# The Minecraft version must agree with the Forge version to get a valid artifact
 | 
			
		||||
minecraft_version=1.21.4
 | 
			
		||||
minecraft_version=1.20.1
 | 
			
		||||
# The Minecraft version range can use any release version of Minecraft as bounds.
 | 
			
		||||
# Snapshots, pre-releases, and release candidates are not guaranteed to sort properly
 | 
			
		||||
# as they do not follow standard versioning conventions.
 | 
			
		||||
minecraft_version_range=[1.21.4,1.22)
 | 
			
		||||
minecraft_version_range=[1.20.1,1.21)
 | 
			
		||||
# The Forge version must agree with the Minecraft version to get a valid artifact
 | 
			
		||||
forge_version=54.1.6
 | 
			
		||||
forge_version=47.4.8
 | 
			
		||||
# The Forge version range can use any version of Forge as bounds or match the loader version range
 | 
			
		||||
forge_version_range=[0,)
 | 
			
		||||
forge_version_range=[47,)
 | 
			
		||||
# The loader version range can only use the major version of Forge/FML as bounds
 | 
			
		||||
loader_version_range=[0,)
 | 
			
		||||
loader_version_range=[47,)
 | 
			
		||||
# The mapping channel to use for mappings.
 | 
			
		||||
# The default set of supported mapping channels are ["official", "snapshot", "snapshot_nodoc", "stable", "stable_nodoc"].
 | 
			
		||||
# Additional mapping channels can be registered through the "channelProviders" extension in a Gradle plugin.
 | 
			
		||||
@@ -42,7 +35,7 @@ loader_version_range=[0,)
 | 
			
		||||
mapping_channel=official
 | 
			
		||||
# The mapping version to query from the mapping channel.
 | 
			
		||||
# This must match the format required by the mapping channel.
 | 
			
		||||
mapping_version=1.21.4
 | 
			
		||||
mapping_version=1.20.1
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
## Mod Properties
 | 
			
		||||
@@ -55,7 +48,7 @@ mod_name=BlackSugar Mod
 | 
			
		||||
# The license of the mod. Review your options at https://choosealicense.com/. All Rights Reserved is the default.
 | 
			
		||||
mod_license=All Rights Reserved
 | 
			
		||||
# The mod version. See https://semver.org/
 | 
			
		||||
mod_version=0.5.20
 | 
			
		||||
mod_version=0.5.21
 | 
			
		||||
# The group ID for the mod. It is only important when publishing as an artifact to a Maven repository.
 | 
			
		||||
# This should match the base package used for the mod sources.
 | 
			
		||||
# See https://maven.apache.org/guides/mini/guide-naming-conventions.html
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										
											BIN
										
									
								
								gradle/wrapper/gradle-wrapper.jar
									
									
									
									
										vendored
									
									
								
							
							
						
						
							
								
								
									
										3
									
								
								gradle/wrapper/gradle-wrapper.properties
									
									
									
									
										vendored
									
									
								
							
							
						
						@@ -1,7 +1,6 @@
 | 
			
		||||
distributionBase=GRADLE_USER_HOME
 | 
			
		||||
distributionPath=wrapper/dists
 | 
			
		||||
distributionUrl=https\://services.gradle.org/distributions/gradle-8.12.1-bin.zip
 | 
			
		||||
distributionUrl=https\://services.gradle.org/distributions/gradle-8.8-bin.zip
 | 
			
		||||
networkTimeout=10000
 | 
			
		||||
validateDistributionUrl=true
 | 
			
		||||
zipStoreBase=GRADLE_USER_HOME
 | 
			
		||||
zipStorePath=wrapper/dists
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										22
									
								
								gradlew
									
									
									
									
										vendored
									
									
								
							
							
						
						@@ -83,8 +83,7 @@ done
 | 
			
		||||
# This is normally unused
 | 
			
		||||
# shellcheck disable=SC2034
 | 
			
		||||
APP_BASE_NAME=${0##*/}
 | 
			
		||||
# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036)
 | 
			
		||||
APP_HOME=$( cd "${APP_HOME:-./}" > /dev/null && pwd -P ) || exit
 | 
			
		||||
APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit
 | 
			
		||||
 | 
			
		||||
# Use the maximum available, or set MAX_FD != -1 to use that value.
 | 
			
		||||
MAX_FD=maximum
 | 
			
		||||
@@ -131,13 +130,10 @@ location of your Java installation."
 | 
			
		||||
    fi
 | 
			
		||||
else
 | 
			
		||||
    JAVACMD=java
 | 
			
		||||
    if ! command -v java >/dev/null 2>&1
 | 
			
		||||
    then
 | 
			
		||||
        die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
 | 
			
		||||
    which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
 | 
			
		||||
 | 
			
		||||
Please set the JAVA_HOME variable in your environment to match the
 | 
			
		||||
location of your Java installation."
 | 
			
		||||
    fi
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
# Increase the maximum file descriptors if we can.
 | 
			
		||||
@@ -145,7 +141,7 @@ if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then
 | 
			
		||||
    case $MAX_FD in #(
 | 
			
		||||
      max*)
 | 
			
		||||
        # In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked.
 | 
			
		||||
        # shellcheck disable=SC2039,SC3045
 | 
			
		||||
        # shellcheck disable=SC3045
 | 
			
		||||
        MAX_FD=$( ulimit -H -n ) ||
 | 
			
		||||
            warn "Could not query maximum file descriptor limit"
 | 
			
		||||
    esac
 | 
			
		||||
@@ -153,7 +149,7 @@ if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then
 | 
			
		||||
      '' | soft) :;; #(
 | 
			
		||||
      *)
 | 
			
		||||
        # In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked.
 | 
			
		||||
        # shellcheck disable=SC2039,SC3045
 | 
			
		||||
        # shellcheck disable=SC3045
 | 
			
		||||
        ulimit -n "$MAX_FD" ||
 | 
			
		||||
            warn "Could not set maximum file descriptor limit to $MAX_FD"
 | 
			
		||||
    esac
 | 
			
		||||
@@ -202,11 +198,11 @@ fi
 | 
			
		||||
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
 | 
			
		||||
DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
 | 
			
		||||
 | 
			
		||||
# Collect all arguments for the java command:
 | 
			
		||||
#   * DEFAULT_JVM_OPTS, JAVA_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments,
 | 
			
		||||
#     and any embedded shellness will be escaped.
 | 
			
		||||
#   * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be
 | 
			
		||||
#     treated as '${Hostname}' itself on the command line.
 | 
			
		||||
# Collect all arguments for the java command;
 | 
			
		||||
#   * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of
 | 
			
		||||
#     shell script including quotes and variable substitutions, so put them in
 | 
			
		||||
#     double quotes to make sure that they get re-expanded; and
 | 
			
		||||
#   * put everything else in single quotes, so that it's not re-expanded.
 | 
			
		||||
 | 
			
		||||
set -- \
 | 
			
		||||
        "-Dorg.gradle.appname=$APP_BASE_NAME" \
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										20
									
								
								gradlew.bat
									
									
									
									
										vendored
									
									
								
							
							
						
						@@ -43,11 +43,11 @@ set JAVA_EXE=java.exe
 | 
			
		||||
%JAVA_EXE% -version >NUL 2>&1
 | 
			
		||||
if %ERRORLEVEL% equ 0 goto execute
 | 
			
		||||
 | 
			
		||||
echo. 1>&2
 | 
			
		||||
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 1>&2
 | 
			
		||||
echo. 1>&2
 | 
			
		||||
echo Please set the JAVA_HOME variable in your environment to match the 1>&2
 | 
			
		||||
echo location of your Java installation. 1>&2
 | 
			
		||||
echo.
 | 
			
		||||
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
 | 
			
		||||
echo.
 | 
			
		||||
echo Please set the JAVA_HOME variable in your environment to match the
 | 
			
		||||
echo location of your Java installation.
 | 
			
		||||
 | 
			
		||||
goto fail
 | 
			
		||||
 | 
			
		||||
@@ -57,11 +57,11 @@ set JAVA_EXE=%JAVA_HOME%/bin/java.exe
 | 
			
		||||
 | 
			
		||||
if exist "%JAVA_EXE%" goto execute
 | 
			
		||||
 | 
			
		||||
echo. 1>&2
 | 
			
		||||
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 1>&2
 | 
			
		||||
echo. 1>&2
 | 
			
		||||
echo Please set the JAVA_HOME variable in your environment to match the 1>&2
 | 
			
		||||
echo location of your Java installation. 1>&2
 | 
			
		||||
echo.
 | 
			
		||||
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
 | 
			
		||||
echo.
 | 
			
		||||
echo Please set the JAVA_HOME variable in your environment to match the
 | 
			
		||||
echo location of your Java installation.
 | 
			
		||||
 | 
			
		||||
goto fail
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -9,5 +9,5 @@ pluginManagement {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
plugins {
 | 
			
		||||
    id 'org.gradle.toolchains.foojay-resolver-convention' version '0.10.0'
 | 
			
		||||
}
 | 
			
		||||
    id 'org.gradle.toolchains.foojay-resolver-convention' version '0.7.0'
 | 
			
		||||
}
 | 
			
		||||
@@ -4,11 +4,14 @@ import com.mojang.logging.LogUtils;
 | 
			
		||||
import net.minecraft.client.Minecraft;
 | 
			
		||||
import net.minecraft.core.registries.Registries;
 | 
			
		||||
import net.minecraft.world.food.FoodProperties;
 | 
			
		||||
import net.minecraft.world.item.BlockItem;
 | 
			
		||||
import net.minecraft.world.item.CreativeModeTab;
 | 
			
		||||
import net.minecraft.world.item.CreativeModeTabs;
 | 
			
		||||
import net.minecraft.world.item.Item;
 | 
			
		||||
import net.minecraft.world.level.block.Block;
 | 
			
		||||
import net.minecraft.world.level.block.Blocks;
 | 
			
		||||
import net.minecraft.world.level.block.state.BlockBehaviour;
 | 
			
		||||
import net.minecraft.world.level.material.MapColor;
 | 
			
		||||
import net.minecraftforge.api.distmarker.Dist;
 | 
			
		||||
import net.minecraftforge.common.MinecraftForge;
 | 
			
		||||
import net.minecraftforge.event.BuildCreativeModeTabContentsEvent;
 | 
			
		||||
@@ -27,7 +30,8 @@ import org.slf4j.Logger;
 | 
			
		||||
 | 
			
		||||
// 这里的值应该与 META-INF/mods.toml 文件中的条目匹配
 | 
			
		||||
@Mod(BlackSugarModMain.MODID)
 | 
			
		||||
public class BlackSugarModMain {
 | 
			
		||||
public class BlackSugarModMain
 | 
			
		||||
{
 | 
			
		||||
    // 在一个公共位置定义模组ID,供所有地方引用
 | 
			
		||||
    public static final String MODID = "blacksugarmod";
 | 
			
		||||
    // 直接引用slf4j日志记录器
 | 
			
		||||
@@ -39,226 +43,35 @@ public class BlackSugarModMain {
 | 
			
		||||
    // 创建一个延迟注册器来保存创造模式标签页,所有标签页都将在"blacksugarmod"命名空间下注册
 | 
			
		||||
    public static final DeferredRegister<CreativeModeTab> CREATIVE_MODE_TABS = DeferredRegister.create(Registries.CREATIVE_MODE_TAB, MODID);
 | 
			
		||||
 | 
			
		||||
    // 创建黑糖物品,ID为"blacksugarmod:black_sugar"// 黑糖物品
 | 
			
		||||
    // 创建黑糖物品,ID为"blacksugarmod:black_sugar"
 | 
			
		||||
    public static final RegistryObject<Item> BLACK_SUGAR = ITEMS.register("black_sugar",
 | 
			
		||||
        () -> new Item(new Item.Properties()
 | 
			
		||||
            .setId(ITEMS.key("black_sugar"))
 | 
			
		||||
        )
 | 
			
		||||
        () -> new Item(new Item.Properties())
 | 
			
		||||
    );
 | 
			
		||||
 | 
			
		||||
    // 面团物品
 | 
			
		||||
    public static final RegistryObject<Item> DOUGH = ITEMS.register("dough",
 | 
			
		||||
        () -> new Item(new Item.Properties()
 | 
			
		||||
            .setId(ITEMS.key("dough"))
 | 
			
		||||
        )
 | 
			
		||||
        () -> new Item(new Item.Properties())
 | 
			
		||||
    );
 | 
			
		||||
 | 
			
		||||
    // 黑糖团子物品,可食用
 | 
			
		||||
    public static final RegistryObject<Item> BLACK_SUGAR_DUMPLING = ITEMS.register("black_sugar_dumpling",
 | 
			
		||||
        () -> new Item(new Item.Properties()
 | 
			
		||||
            .setId(ITEMS.key("black_sugar_dumpling"))
 | 
			
		||||
            .food(new FoodProperties.Builder()
 | 
			
		||||
                .alwaysEdible()
 | 
			
		||||
                .alwaysEat()
 | 
			
		||||
                .nutrition(4)
 | 
			
		||||
                .saturationModifier(9.6f)
 | 
			
		||||
                .saturationMod(9.6f)
 | 
			
		||||
                .build()
 | 
			
		||||
            )
 | 
			
		||||
        )
 | 
			
		||||
    );
 | 
			
		||||
 | 
			
		||||
    // 脆香bro物品,可食用
 | 
			
		||||
    public static final RegistryObject<Item> CRISPY_BRO = ITEMS.register("crispy_bro",
 | 
			
		||||
        () -> new Item(new Item.Properties()
 | 
			
		||||
            .setId(ITEMS.key("crispy_bro"))
 | 
			
		||||
            .food(new FoodProperties.Builder()
 | 
			
		||||
                .alwaysEdible()
 | 
			
		||||
                .nutrition(6)
 | 
			
		||||
                .saturationModifier(8.0f)
 | 
			
		||||
                .build()
 | 
			
		||||
            )
 | 
			
		||||
        )
 | 
			
		||||
    );
 | 
			
		||||
 | 
			
		||||
    // 食用油物品
 | 
			
		||||
    public static final RegistryObject<Item> COOKING_OIL = ITEMS.register("cooking_oil",
 | 
			
		||||
        () -> new Item(new Item.Properties()
 | 
			
		||||
            .setId(ITEMS.key("cooking_oil"))
 | 
			
		||||
        )
 | 
			
		||||
    );
 | 
			
		||||
 | 
			
		||||
    // 坚不可摧的海星物品
 | 
			
		||||
    public static final RegistryObject<Item> INDESTRUCTIBLE_STARFISH = ITEMS.register("indestructible_starfish",
 | 
			
		||||
        () -> new Item(new Item.Properties()
 | 
			
		||||
            .setId(ITEMS.key("indestructible_starfish"))
 | 
			
		||||
        )
 | 
			
		||||
    );
 | 
			
		||||
 | 
			
		||||
    // 串海星物品
 | 
			
		||||
    public static final RegistryObject<Item> STARFISH_SKEWER = ITEMS.register("starfish_skewer",
 | 
			
		||||
        () -> new Item(new Item.Properties()
 | 
			
		||||
            .setId(ITEMS.key("starfish_skewer"))
 | 
			
		||||
        )
 | 
			
		||||
    );
 | 
			
		||||
 | 
			
		||||
    // 棉花糖物品,可食用
 | 
			
		||||
    public static final RegistryObject<Item> MARSHMALLOW = ITEMS.register("marshmallow",
 | 
			
		||||
        () -> new Item(new Item.Properties()
 | 
			
		||||
            .setId(ITEMS.key("marshmallow"))
 | 
			
		||||
            .food(new FoodProperties.Builder()
 | 
			
		||||
                .alwaysEdible()
 | 
			
		||||
                .nutrition(2)
 | 
			
		||||
                .saturationModifier(2.0f)
 | 
			
		||||
                .build()
 | 
			
		||||
            )
 | 
			
		||||
        )
 | 
			
		||||
    );
 | 
			
		||||
 | 
			
		||||
    // 烤棉花糖物品,可食用
 | 
			
		||||
    public static final RegistryObject<Item> ROASTED_MARSHMALLOW = ITEMS.register("roasted_marshmallow",
 | 
			
		||||
        () -> new Item(new Item.Properties()
 | 
			
		||||
            .setId(ITEMS.key("roasted_marshmallow"))
 | 
			
		||||
            .food(new FoodProperties.Builder()
 | 
			
		||||
                .alwaysEdible()
 | 
			
		||||
                .nutrition(3)
 | 
			
		||||
                .saturationModifier(5.0f)
 | 
			
		||||
                .build()
 | 
			
		||||
            )
 | 
			
		||||
        )
 | 
			
		||||
    );
 | 
			
		||||
 | 
			
		||||
    // 致癌的棉花糖物品,可食用但无营养
 | 
			
		||||
    public static final RegistryObject<Item> CARCINOGENIC_MARSHMALLOW = ITEMS.register("carcinogenic_marshmallow",
 | 
			
		||||
        () -> new Item(new Item.Properties()
 | 
			
		||||
            .setId(ITEMS.key("carcinogenic_marshmallow"))
 | 
			
		||||
            .food(new FoodProperties.Builder()
 | 
			
		||||
                .alwaysEdible()
 | 
			
		||||
                .nutrition(0)
 | 
			
		||||
                .saturationModifier(0.0f)
 | 
			
		||||
                .build()
 | 
			
		||||
            )
 | 
			
		||||
        )
 | 
			
		||||
    );
 | 
			
		||||
 | 
			
		||||
    // 萨卡班甲鱼物品
 | 
			
		||||
    public static final RegistryObject<Item> SAKABAN_TURTLE = ITEMS.register("sakaban_turtle",
 | 
			
		||||
        () -> new Item(new Item.Properties()
 | 
			
		||||
            .setId(ITEMS.key("sakaban_turtle"))
 | 
			
		||||
        )
 | 
			
		||||
    );
 | 
			
		||||
 | 
			
		||||
    // 葱花物品
 | 
			
		||||
    public static final RegistryObject<Item> SCALLION = ITEMS.register("scallion",
 | 
			
		||||
        () -> new Item(new Item.Properties()
 | 
			
		||||
            .setId(ITEMS.key("scallion"))
 | 
			
		||||
        )
 | 
			
		||||
    );
 | 
			
		||||
 | 
			
		||||
    // 腌制的甲鱼物品
 | 
			
		||||
    public static final RegistryObject<Item> PICKLED_TURTLE = ITEMS.register("pickled_turtle",
 | 
			
		||||
        () -> new Item(new Item.Properties()
 | 
			
		||||
            .setId(ITEMS.key("pickled_turtle"))
 | 
			
		||||
        )
 | 
			
		||||
    );
 | 
			
		||||
 | 
			
		||||
    // 一只觉得嘴里淡淡的小猫咪物品
 | 
			
		||||
    public static final RegistryObject<Item> BLAND_KITTEN = ITEMS.register("bland_kitten",
 | 
			
		||||
        () -> new Item(new Item.Properties()
 | 
			
		||||
            .setId(ITEMS.key("bland_kitten"))
 | 
			
		||||
        )
 | 
			
		||||
    );
 | 
			
		||||
 | 
			
		||||
    // 一只心怀歹念的小猫咪物品,本来是想吃完之后返回自己,然后给玩家上一个超级debuff,现在看来好像有点难
 | 
			
		||||
    public static final RegistryObject<Item> MALICIOUS_KITTEN = ITEMS.register("malicious_kitten",
 | 
			
		||||
        () -> new Item(new Item.Properties()
 | 
			
		||||
            .setId(ITEMS.key("malicious_kitten"))
 | 
			
		||||
        )
 | 
			
		||||
    );
 | 
			
		||||
 | 
			
		||||
    // 心满意足的小猫咪物品
 | 
			
		||||
    public static final RegistryObject<Item> SATISFIED_KITTEN = ITEMS.register("satisfied_kitten",
 | 
			
		||||
        () -> new Item(new Item.Properties()
 | 
			
		||||
            .setId(ITEMS.key("satisfied_kitten"))
 | 
			
		||||
        )
 | 
			
		||||
    );
 | 
			
		||||
 | 
			
		||||
    // 发情的小猫咪物品
 | 
			
		||||
    public static final RegistryObject<Item> HORNY_KITTEN = ITEMS.register("horny_kitten",
 | 
			
		||||
        () -> new Item(new Item.Properties()
 | 
			
		||||
            .setId(ITEMS.key("horny_kitten"))
 | 
			
		||||
        )
 | 
			
		||||
    );
 | 
			
		||||
 | 
			
		||||
    // 想吃肉的小猫咪物品
 | 
			
		||||
    public static final RegistryObject<Item> MEAT_CRAVING_KITTEN = ITEMS.register("meat_craving_kitten",
 | 
			
		||||
        () -> new Item(new Item.Properties()
 | 
			
		||||
            .setId(ITEMS.key("meat_craving_kitten"))
 | 
			
		||||
        )
 | 
			
		||||
    );
 | 
			
		||||
 | 
			
		||||
    // 香喷喷的串海星物品,可食用
 | 
			
		||||
    public static final RegistryObject<Item> FRAGRANT_STARFISH_SKEWER = ITEMS.register("fragrant_starfish_skewer",
 | 
			
		||||
        () -> new Item(new Item.Properties()
 | 
			
		||||
            .setId(ITEMS.key("fragrant_starfish_skewer"))
 | 
			
		||||
            .food(new FoodProperties.Builder()
 | 
			
		||||
                .alwaysEdible()
 | 
			
		||||
                .nutrition(7)
 | 
			
		||||
                .saturationModifier(10.0f)
 | 
			
		||||
                .build()
 | 
			
		||||
            )
 | 
			
		||||
        )
 | 
			
		||||
    );
 | 
			
		||||
 | 
			
		||||
    // 一锅牢菜物品
 | 
			
		||||
    public static final RegistryObject<Item> POT_OF_PRISON_VEGETABLES = ITEMS.register("pot_of_prison_vegetables",
 | 
			
		||||
        () -> new Item(new Item.Properties()
 | 
			
		||||
            .setId(ITEMS.key("pot_of_prison_vegetables"))
 | 
			
		||||
        )
 | 
			
		||||
    );
 | 
			
		||||
 | 
			
		||||
    // 闷牢菜物品,可食用
 | 
			
		||||
    public static final RegistryObject<Item> BRAISED_PRISON_VEGETABLES = ITEMS.register("braised_prison_vegetables",
 | 
			
		||||
        () -> new Item(new Item.Properties()
 | 
			
		||||
            .setId(ITEMS.key("braised_prison_vegetables"))
 | 
			
		||||
            .food(new FoodProperties.Builder()
 | 
			
		||||
                .alwaysEdible()
 | 
			
		||||
                .nutrition(5)
 | 
			
		||||
                .saturationModifier(7.0f)
 | 
			
		||||
                .build()
 | 
			
		||||
            )
 | 
			
		||||
        )
 | 
			
		||||
    );
 | 
			
		||||
 | 
			
		||||
    // 碳烤甲鱼物品,可食用
 | 
			
		||||
    public static final RegistryObject<Item> CHARCOAL_GRILLED_TURTLE = ITEMS.register("charcoal_grilled_turtle",
 | 
			
		||||
        () -> new Item(new Item.Properties()
 | 
			
		||||
            .setId(ITEMS.key("charcoal_grilled_turtle"))
 | 
			
		||||
            .food(new FoodProperties.Builder()
 | 
			
		||||
                .alwaysEdible()
 | 
			
		||||
                .nutrition(9)
 | 
			
		||||
                .saturationModifier(14.0f)
 | 
			
		||||
                .build()
 | 
			
		||||
            )
 | 
			
		||||
        )
 | 
			
		||||
    );
 | 
			
		||||
 | 
			
		||||
    // Lover's Lover物品,可食用
 | 
			
		||||
    public static final RegistryObject<Item> LOVERS_LOVER = ITEMS.register("lovers_lover",
 | 
			
		||||
        () -> new Item(new Item.Properties()
 | 
			
		||||
            .setId(ITEMS.key("lovers_lover"))
 | 
			
		||||
            .food(new FoodProperties.Builder()
 | 
			
		||||
                .alwaysEdible()
 | 
			
		||||
                .nutrition(10)
 | 
			
		||||
                .saturationModifier(20.0f)
 | 
			
		||||
                .build()
 | 
			
		||||
            )
 | 
			
		||||
        )
 | 
			
		||||
    );
 | 
			
		||||
    
 | 
			
		||||
    public BlackSugarModMain(FMLJavaModLoadingContext context) {
 | 
			
		||||
    public BlackSugarModMain(FMLJavaModLoadingContext context)
 | 
			
		||||
    {
 | 
			
		||||
        IEventBus modEventBus = context.getModEventBus();
 | 
			
		||||
 | 
			
		||||
        // 为模组加载注册commonSetup方法
 | 
			
		||||
        modEventBus.addListener(this::commonSetup);
 | 
			
		||||
 | 
			
		||||
        // 将延迟注册器注册到模组事件总线,以便方块得到注册
 | 
			
		||||
        BLOCKS.register(modEventBus);
 | 
			
		||||
        // 将延迟注册器注册到模组事件总线,以便物品得到注册
 | 
			
		||||
@@ -276,37 +89,8 @@ public class BlackSugarModMain {
 | 
			
		||||
        context.registerConfig(ModConfig.Type.COMMON, Config.SPEC);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    // 将示例方块物品添加到建筑方块标签页
 | 
			
		||||
    private void addCreative(BuildCreativeModeTabContentsEvent event) {
 | 
			
		||||
        // 将黑糖物品添加到食物和饮品标签页
 | 
			
		||||
        if (event.getTabKey() == CreativeModeTabs.FOOD_AND_DRINKS) {
 | 
			
		||||
            event.accept(BLACK_SUGAR);
 | 
			
		||||
            event.accept(DOUGH);
 | 
			
		||||
            event.accept(BLACK_SUGAR_DUMPLING);
 | 
			
		||||
            event.accept(CRISPY_BRO);
 | 
			
		||||
            event.accept(COOKING_OIL);
 | 
			
		||||
            event.accept(INDESTRUCTIBLE_STARFISH);
 | 
			
		||||
            event.accept(STARFISH_SKEWER);
 | 
			
		||||
            event.accept(MARSHMALLOW);
 | 
			
		||||
            event.accept(ROASTED_MARSHMALLOW);
 | 
			
		||||
            event.accept(CARCINOGENIC_MARSHMALLOW);
 | 
			
		||||
            event.accept(SAKABAN_TURTLE);
 | 
			
		||||
            event.accept(SCALLION);
 | 
			
		||||
            event.accept(PICKLED_TURTLE);
 | 
			
		||||
            event.accept(BLAND_KITTEN);
 | 
			
		||||
            event.accept(MALICIOUS_KITTEN);
 | 
			
		||||
            event.accept(SATISFIED_KITTEN);
 | 
			
		||||
            event.accept(HORNY_KITTEN);
 | 
			
		||||
            event.accept(MEAT_CRAVING_KITTEN);
 | 
			
		||||
            event.accept(FRAGRANT_STARFISH_SKEWER);
 | 
			
		||||
            event.accept(POT_OF_PRISON_VEGETABLES);
 | 
			
		||||
            event.accept(BRAISED_PRISON_VEGETABLES);
 | 
			
		||||
            event.accept(CHARCOAL_GRILLED_TURTLE);
 | 
			
		||||
            event.accept(LOVERS_LOVER);
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    private void commonSetup(final FMLCommonSetupEvent event) {
 | 
			
		||||
    private void commonSetup(final FMLCommonSetupEvent event)
 | 
			
		||||
    {
 | 
			
		||||
        // 一些通用设置代码
 | 
			
		||||
        LOGGER.info("HELLO FROM COMMON SETUP");
 | 
			
		||||
 | 
			
		||||
@@ -318,20 +102,31 @@ public class BlackSugarModMain {
 | 
			
		||||
        Config.items.forEach((item) -> LOGGER.info("ITEM >> {}", item.toString()));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    // 将黑糖物品添加到食物和饮品标签页
 | 
			
		||||
    private void addCreative(BuildCreativeModeTabContentsEvent event)
 | 
			
		||||
    {
 | 
			
		||||
        if (event.getTabKey() == CreativeModeTabs.FOOD_AND_DRINKS) {
 | 
			
		||||
            event.accept(BLACK_SUGAR);
 | 
			
		||||
            event.accept(DOUGH);
 | 
			
		||||
            event.accept(BLACK_SUGAR_DUMPLING);
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    // 你可以使用SubscribeEvent并让事件总线发现要调用的方法
 | 
			
		||||
    @SubscribeEvent
 | 
			
		||||
    public void onServerStarting(ServerStartingEvent event) {
 | 
			
		||||
    public void onServerStarting(ServerStartingEvent event)
 | 
			
		||||
    {
 | 
			
		||||
        // 当服务器启动时执行某些操作
 | 
			
		||||
        LOGGER.info("HELLO from server starting");
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    // 你可以使用EventBusSubscriber来自动注册类中所有带有@SubscribeEvent注解的静态方法
 | 
			
		||||
    @Mod.EventBusSubscriber(modid = MODID, bus = Mod.EventBusSubscriber.Bus.MOD, value = Dist.CLIENT)
 | 
			
		||||
    public static class ClientModEvents {
 | 
			
		||||
    public static class ClientModEvents
 | 
			
		||||
    {
 | 
			
		||||
        @SubscribeEvent
 | 
			
		||||
        public static void onClientSetup(FMLClientSetupEvent event) {
 | 
			
		||||
        public static void onClientSetup(FMLClientSetupEvent event)
 | 
			
		||||
        {
 | 
			
		||||
            // 一些客户端设置代码
 | 
			
		||||
            LOGGER.info("HELLO FROM CLIENT SETUP");
 | 
			
		||||
            LOGGER.info("MINECRAFT NAME >> {}", Minecraft.getInstance().getUser().getName());
 | 
			
		||||
 
 | 
			
		||||
@@ -15,7 +15,8 @@ import java.util.stream.Collectors;
 | 
			
		||||
// An example config class. This is not required, but it's a good idea to have one to keep your config organized.
 | 
			
		||||
// Demonstrates how to use Forge's config APIs
 | 
			
		||||
@Mod.EventBusSubscriber(modid = BlackSugarModMain.MODID, bus = Mod.EventBusSubscriber.Bus.MOD)
 | 
			
		||||
public class Config {
 | 
			
		||||
public class Config
 | 
			
		||||
{
 | 
			
		||||
    private static final ForgeConfigSpec.Builder BUILDER = new ForgeConfigSpec.Builder();
 | 
			
		||||
 | 
			
		||||
    private static final ForgeConfigSpec.BooleanValue LOG_DIRT_BLOCK = BUILDER
 | 
			
		||||
@@ -33,7 +34,7 @@ public class Config {
 | 
			
		||||
    // a list of strings that are treated as resource locations for items
 | 
			
		||||
    private static final ForgeConfigSpec.ConfigValue<List<? extends String>> ITEM_STRINGS = BUILDER
 | 
			
		||||
            .comment("A list of items to log on common setup.")
 | 
			
		||||
            .defineListAllowEmpty("assets/blacksugarmod/items", List.of("minecraft:iron_ingot"), Config::validateItemName);
 | 
			
		||||
            .defineListAllowEmpty("items", List.of("minecraft:iron_ingot"), Config::validateItemName);
 | 
			
		||||
 | 
			
		||||
    static final ForgeConfigSpec SPEC = BUILDER.build();
 | 
			
		||||
 | 
			
		||||
@@ -42,19 +43,21 @@ public class Config {
 | 
			
		||||
    public static String magicNumberIntroduction;
 | 
			
		||||
    public static Set<Item> items;
 | 
			
		||||
 | 
			
		||||
    private static boolean validateItemName(final Object obj) {
 | 
			
		||||
        return obj instanceof final String itemName && ForgeRegistries.ITEMS.containsKey(ResourceLocation.tryParse(itemName));
 | 
			
		||||
    private static boolean validateItemName(final Object obj)
 | 
			
		||||
    {
 | 
			
		||||
        return obj instanceof final String itemName && ForgeRegistries.ITEMS.containsKey(ResourceLocation.parse(itemName));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @SubscribeEvent
 | 
			
		||||
    static void onLoad(final ModConfigEvent event) {
 | 
			
		||||
    static void onLoad(final ModConfigEvent event)
 | 
			
		||||
    {
 | 
			
		||||
        logDirtBlock = LOG_DIRT_BLOCK.get();
 | 
			
		||||
        magicNumber = MAGIC_NUMBER.get();
 | 
			
		||||
        magicNumberIntroduction = MAGIC_NUMBER_INTRODUCTION.get();
 | 
			
		||||
 | 
			
		||||
        // convert the list of strings into a set of items
 | 
			
		||||
        items = ITEM_STRINGS.get().stream()
 | 
			
		||||
                .map(itemName -> ForgeRegistries.ITEMS.getValue(ResourceLocation.tryParse(itemName)))
 | 
			
		||||
                .map(itemName -> ForgeRegistries.ITEMS.getValue(ResourceLocation.parse(itemName)))
 | 
			
		||||
                .collect(Collectors.toSet());
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -19,18 +19,20 @@ license="${mod_license}"
 | 
			
		||||
[[mods]] #mandatory
 | 
			
		||||
# The modid of the mod
 | 
			
		||||
modId="${mod_id}" #mandatory
 | 
			
		||||
# The version number of the mod
 | 
			
		||||
# The version number of the mod - there's a few well known ${} variables useable here or just hardcode it
 | 
			
		||||
# ${mod_version} will substitute the value from gradle.properties
 | 
			
		||||
# see the associated build.gradle script for how to populate this completely automatically
 | 
			
		||||
version="${mod_version}" #mandatory
 | 
			
		||||
# A display name for the mod
 | 
			
		||||
 # A display name for the mod
 | 
			
		||||
displayName="${mod_name}" #mandatory
 | 
			
		||||
# A URL to query for updates for this mod. See the JSON update specification https://docs.minecraftforge.net/en/latest/misc/updatechecker/
 | 
			
		||||
#updateJSONURL="https://change.me.example.invalid/updates.json" #optional
 | 
			
		||||
# A URL for the "homepage" for this mod, displayed in the mod UI
 | 
			
		||||
#displayURL="https://change.me.to.your.mods.homepage.example.invalid/" #optional
 | 
			
		||||
# A file name (in the root of the mod JAR) containing a logo for display
 | 
			
		||||
#logoFile="examplemod.png" #optional
 | 
			
		||||
logoFile="examplemod.png" #optional
 | 
			
		||||
# A text field displayed in the mod UI
 | 
			
		||||
#credits="" #optional
 | 
			
		||||
credits="${mod_description}" #optional
 | 
			
		||||
# A text field displayed in the mod UI
 | 
			
		||||
authors="${mod_authors}" #optional
 | 
			
		||||
# Display Test controls the display for your mod in the server connection screen
 | 
			
		||||
 
 | 
			
		||||
@@ -1,6 +0,0 @@
 | 
			
		||||
{
 | 
			
		||||
  "model": {
 | 
			
		||||
    "type": "minecraft:model",
 | 
			
		||||
    "model": "blacksugarmod:item/bland_kitten"
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
@@ -1,6 +0,0 @@
 | 
			
		||||
{
 | 
			
		||||
  "model": {
 | 
			
		||||
    "type": "minecraft:model",
 | 
			
		||||
    "model": "blacksugarmod:item/braised_prison_vegetables"
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
@@ -1,6 +0,0 @@
 | 
			
		||||
{
 | 
			
		||||
  "model": {
 | 
			
		||||
    "type": "minecraft:model",
 | 
			
		||||
    "model": "blacksugarmod:item/carcinogenic_marshmallow"
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
@@ -1,6 +0,0 @@
 | 
			
		||||
{
 | 
			
		||||
  "model": {
 | 
			
		||||
    "type": "minecraft:model",
 | 
			
		||||
    "model": "blacksugarmod:item/charcoal_grilled_turtle"
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
@@ -1,6 +0,0 @@
 | 
			
		||||
{
 | 
			
		||||
  "model": {
 | 
			
		||||
    "type": "minecraft:model",
 | 
			
		||||
    "model": "blacksugarmod:item/cooking_oil"
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
@@ -1,6 +0,0 @@
 | 
			
		||||
{
 | 
			
		||||
  "model": {
 | 
			
		||||
    "type": "minecraft:model",
 | 
			
		||||
    "model": "blacksugarmod:item/crispy_bro"
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
@@ -1,6 +0,0 @@
 | 
			
		||||
{
 | 
			
		||||
  "model": {
 | 
			
		||||
    "type": "minecraft:model",
 | 
			
		||||
    "model": "blacksugarmod:item/fragrant_starfish_skewer"
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
@@ -1,6 +0,0 @@
 | 
			
		||||
{
 | 
			
		||||
  "model": {
 | 
			
		||||
    "type": "minecraft:model",
 | 
			
		||||
    "model": "blacksugarmod:item/horny_kitten"
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
@@ -1,6 +0,0 @@
 | 
			
		||||
{
 | 
			
		||||
  "model": {
 | 
			
		||||
    "type": "minecraft:model",
 | 
			
		||||
    "model": "blacksugarmod:item/indestructible_starfish"
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
@@ -1,6 +0,0 @@
 | 
			
		||||
{
 | 
			
		||||
  "model": {
 | 
			
		||||
    "type": "minecraft:model",
 | 
			
		||||
    "model": "blacksugarmod:item/lovers_lover"
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
@@ -1,6 +0,0 @@
 | 
			
		||||
{
 | 
			
		||||
  "model": {
 | 
			
		||||
    "type": "minecraft:model",
 | 
			
		||||
    "model": "blacksugarmod:item/malicious_kitten"
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
@@ -1,6 +0,0 @@
 | 
			
		||||
{
 | 
			
		||||
  "model": {
 | 
			
		||||
    "type": "minecraft:model",
 | 
			
		||||
    "model": "blacksugarmod:item/marshmallow"
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
@@ -1,6 +0,0 @@
 | 
			
		||||
{
 | 
			
		||||
  "model": {
 | 
			
		||||
    "type": "minecraft:model",
 | 
			
		||||
    "model": "blacksugarmod:item/meat_craving_kitten"
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
@@ -1,6 +0,0 @@
 | 
			
		||||
{
 | 
			
		||||
  "model": {
 | 
			
		||||
    "type": "minecraft:model",
 | 
			
		||||
    "model": "blacksugarmod:item/pickled_turtle"
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
@@ -1,6 +0,0 @@
 | 
			
		||||
{
 | 
			
		||||
  "model": {
 | 
			
		||||
    "type": "minecraft:model",
 | 
			
		||||
    "model": "blacksugarmod:item/pot_of_prison_vegetables"
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
@@ -1,6 +0,0 @@
 | 
			
		||||
{
 | 
			
		||||
  "model": {
 | 
			
		||||
    "type": "minecraft:model",
 | 
			
		||||
    "model": "blacksugarmod:item/roasted_marshmallow"
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
@@ -1,6 +0,0 @@
 | 
			
		||||
{
 | 
			
		||||
  "model": {
 | 
			
		||||
    "type": "minecraft:model",
 | 
			
		||||
    "model": "blacksugarmod:item/sakaban_turtle"
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
@@ -1,6 +0,0 @@
 | 
			
		||||
{
 | 
			
		||||
  "model": {
 | 
			
		||||
    "type": "minecraft:model",
 | 
			
		||||
    "model": "blacksugarmod:item/satisfied_kitten"
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
@@ -1,6 +0,0 @@
 | 
			
		||||
{
 | 
			
		||||
  "model": {
 | 
			
		||||
    "type": "minecraft:model",
 | 
			
		||||
    "model": "blacksugarmod:item/scallion"
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
@@ -1,6 +0,0 @@
 | 
			
		||||
{
 | 
			
		||||
  "model": {
 | 
			
		||||
    "type": "minecraft:model",
 | 
			
		||||
    "model": "blacksugarmod:item/starfish_skewer"
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
@@ -1,25 +1,5 @@
 | 
			
		||||
{
 | 
			
		||||
  "item.blacksugarmod.black_sugar": "黑糖",
 | 
			
		||||
  "item.blacksugarmod.dough": "面团",
 | 
			
		||||
  "item.blacksugarmod.black_sugar_dumpling": "黑糖团子",
 | 
			
		||||
  "item.blacksugarmod.crispy_bro": "脆香bro",
 | 
			
		||||
  "item.blacksugarmod.cooking_oil": "食用油",
 | 
			
		||||
  "item.blacksugarmod.indestructible_starfish": "坚不可摧的海星",
 | 
			
		||||
  "item.blacksugarmod.starfish_skewer": "海星串",
 | 
			
		||||
  "item.blacksugarmod.marshmallow": "棉花糖",
 | 
			
		||||
  "item.blacksugarmod.roasted_marshmallow": "烤棉花糖",
 | 
			
		||||
  "item.blacksugarmod.carcinogenic_marshmallow": "致癌的棉花糖",
 | 
			
		||||
  "item.blacksugarmod.sakaban_turtle": "萨卡班甲鱼",
 | 
			
		||||
  "item.blacksugarmod.scallion": "葱花",
 | 
			
		||||
  "item.blacksugarmod.pickled_turtle": "腌好的萨卡班甲鱼",
 | 
			
		||||
  "item.blacksugarmod.bland_kitten": "一只觉得嘴里淡淡的小猫咪",
 | 
			
		||||
  "item.blacksugarmod.malicious_kitten": "一只心怀歹念的小猫咪",
 | 
			
		||||
  "item.blacksugarmod.fragrant_starfish_skewer": "香喷喷的串海星",
 | 
			
		||||
  "item.blacksugarmod.pot_of_prison_vegetables": "一锅牢菜",
 | 
			
		||||
  "item.blacksugarmod.braised_prison_vegetables": "闷牢菜",
 | 
			
		||||
  "item.blacksugarmod.charcoal_grilled_turtle": "炭烤萨卡班甲鱼",
 | 
			
		||||
  "item.blacksugarmod.satisfied_kitten": "心满意足的小猫咪",
 | 
			
		||||
  "item.blacksugarmod.horny_kitten": "发情的小猫咪",
 | 
			
		||||
  "item.blacksugarmod.meat_craving_kitten": "想吃肉的小猫咪",
 | 
			
		||||
  "item.blacksugarmod.lovers_lover": "Lover's Lover"
 | 
			
		||||
  "item.blacksugarmod.black_sugar_dumpling": "黑糖团子"
 | 
			
		||||
}
 | 
			
		||||
@@ -1,6 +0,0 @@
 | 
			
		||||
{
 | 
			
		||||
  "parent": "minecraft:item/generated",
 | 
			
		||||
  "textures": {
 | 
			
		||||
    "layer0": "blacksugarmod:item/bland_kitten"
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
@@ -1,6 +0,0 @@
 | 
			
		||||
{
 | 
			
		||||
  "parent": "minecraft:item/generated",
 | 
			
		||||
  "textures": {
 | 
			
		||||
    "layer0": "blacksugarmod:item/braised_prison_vegetables"
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
@@ -1,6 +0,0 @@
 | 
			
		||||
{
 | 
			
		||||
  "parent": "minecraft:item/generated",
 | 
			
		||||
  "textures": {
 | 
			
		||||
    "layer0": "blacksugarmod:item/carcinogenic_marshmallow"
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
@@ -1,6 +0,0 @@
 | 
			
		||||
{
 | 
			
		||||
  "parent": "minecraft:item/generated",
 | 
			
		||||
  "textures": {
 | 
			
		||||
    "layer0": "blacksugarmod:item/charcoal_grilled_turtle"
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
@@ -1,6 +0,0 @@
 | 
			
		||||
{
 | 
			
		||||
  "parent": "minecraft:item/generated",
 | 
			
		||||
  "textures": {
 | 
			
		||||
    "layer0": "blacksugarmod:item/cooking_oil"
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
@@ -1,6 +0,0 @@
 | 
			
		||||
{
 | 
			
		||||
  "parent": "minecraft:item/generated",
 | 
			
		||||
  "textures": {
 | 
			
		||||
    "layer0": "blacksugarmod:item/crispy_bro"
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
@@ -1,6 +0,0 @@
 | 
			
		||||
{
 | 
			
		||||
  "parent": "minecraft:item/generated",
 | 
			
		||||
  "textures": {
 | 
			
		||||
    "layer0": "blacksugarmod:item/fragrant_starfish_skewer"
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
@@ -1,6 +0,0 @@
 | 
			
		||||
{
 | 
			
		||||
  "parent": "minecraft:item/generated",
 | 
			
		||||
  "textures": {
 | 
			
		||||
    "layer0": "blacksugarmod:item/horny_kitten"
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
@@ -1,6 +0,0 @@
 | 
			
		||||
{
 | 
			
		||||
  "parent": "minecraft:item/generated",
 | 
			
		||||
  "textures": {
 | 
			
		||||
    "layer0": "blacksugarmod:item/indestructible_starfish"
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
@@ -1,6 +0,0 @@
 | 
			
		||||
{
 | 
			
		||||
  "parent": "minecraft:item/generated",
 | 
			
		||||
  "textures": {
 | 
			
		||||
    "layer0": "blacksugarmod:item/lovers_lover"
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
@@ -1,6 +0,0 @@
 | 
			
		||||
{
 | 
			
		||||
  "parent": "minecraft:item/generated",
 | 
			
		||||
  "textures": {
 | 
			
		||||
    "layer0": "blacksugarmod:item/malicious_kitten"
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
@@ -1,6 +0,0 @@
 | 
			
		||||
{
 | 
			
		||||
  "parent": "minecraft:item/generated",
 | 
			
		||||
  "textures": {
 | 
			
		||||
    "layer0": "blacksugarmod:item/marshmallow"
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
@@ -1,6 +0,0 @@
 | 
			
		||||
{
 | 
			
		||||
  "parent": "minecraft:item/generated",
 | 
			
		||||
  "textures": {
 | 
			
		||||
    "layer0": "blacksugarmod:item/bland_kitten"
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
@@ -1,6 +0,0 @@
 | 
			
		||||
{
 | 
			
		||||
  "parent": "minecraft:item/generated",
 | 
			
		||||
  "textures": {
 | 
			
		||||
    "layer0": "blacksugarmod:item/pickled_turtle"
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
@@ -1,6 +0,0 @@
 | 
			
		||||
{
 | 
			
		||||
  "parent": "minecraft:item/generated",
 | 
			
		||||
  "textures": {
 | 
			
		||||
    "layer0": "blacksugarmod:item/pot_of_prison_vegetables"
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
@@ -1,6 +0,0 @@
 | 
			
		||||
{
 | 
			
		||||
  "parent": "minecraft:item/generated",
 | 
			
		||||
  "textures": {
 | 
			
		||||
    "layer0": "blacksugarmod:item/roasted_marshmallow"
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
@@ -1,6 +0,0 @@
 | 
			
		||||
{
 | 
			
		||||
  "parent": "minecraft:item/generated",
 | 
			
		||||
  "textures": {
 | 
			
		||||
    "layer0": "blacksugarmod:item/sakaban_turtle"
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
@@ -1,6 +0,0 @@
 | 
			
		||||
{
 | 
			
		||||
  "parent": "minecraft:item/generated",
 | 
			
		||||
  "textures": {
 | 
			
		||||
    "layer0": "blacksugarmod:item/satisfied_kitten"
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
@@ -1,6 +0,0 @@
 | 
			
		||||
{
 | 
			
		||||
  "parent": "minecraft:item/generated",
 | 
			
		||||
  "textures": {
 | 
			
		||||
    "layer0": "blacksugarmod:item/scallion"
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
@@ -1,6 +0,0 @@
 | 
			
		||||
{
 | 
			
		||||
  "parent": "minecraft:item/generated",
 | 
			
		||||
  "textures": {
 | 
			
		||||
    "layer0": "blacksugarmod:item/starfish_skewer"
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
| 
		 Before Width: | Height: | Size: 2.0 KiB  | 
| 
		 Before Width: | Height: | Size: 2.8 KiB  | 
| 
		 Before Width: | Height: | Size: 1.7 KiB  | 
| 
		 Before Width: | Height: | Size: 1.9 KiB  | 
| 
		 Before Width: | Height: | Size: 2.1 KiB  | 
| 
		 Before Width: | Height: | Size: 1.6 KiB  | 
| 
		 Before Width: | Height: | Size: 1.6 KiB  | 
| 
		 Before Width: | Height: | Size: 2.3 KiB  | 
| 
		 Before Width: | Height: | Size: 2.0 KiB  | 
| 
		 Before Width: | Height: | Size: 1.0 KiB  | 
| 
		 Before Width: | Height: | Size: 2.2 KiB  | 
| 
		 Before Width: | Height: | Size: 1.6 KiB  | 
| 
		 Before Width: | Height: | Size: 1.3 KiB  | 
| 
		 Before Width: | Height: | Size: 2.7 KiB  | 
| 
		 Before Width: | Height: | Size: 2.2 KiB  | 
| 
		 Before Width: | Height: | Size: 1.3 KiB  | 
| 
		 Before Width: | Height: | Size: 2.0 KiB  | 
| 
		 Before Width: | Height: | Size: 1.9 KiB  | 
| 
		 Before Width: | Height: | Size: 1.9 KiB  | 
@@ -1,10 +0,0 @@
 | 
			
		||||
{
 | 
			
		||||
  "type": "minecraft:smelting",
 | 
			
		||||
  "experience": 0.1,
 | 
			
		||||
  "cookingtime": 100,
 | 
			
		||||
  "ingredient": "minecraft:sugar_cane",
 | 
			
		||||
  "result":{
 | 
			
		||||
    "id":"blacksugarmod:black_sugar",
 | 
			
		||||
    "count": 1
 | 
			
		||||
  } 
 | 
			
		||||
}
 | 
			
		||||
@@ -1,16 +0,0 @@
 | 
			
		||||
{
 | 
			
		||||
  "type": "minecraft:crafting_shaped",
 | 
			
		||||
  "key": {
 | 
			
		||||
    "B":"blacksugarmod:black_sugar",
 | 
			
		||||
    "D":"blacksugarmod:dough"
 | 
			
		||||
  },
 | 
			
		||||
  "pattern": [
 | 
			
		||||
    "BBB",
 | 
			
		||||
    "BDB",
 | 
			
		||||
    "BBB"
 | 
			
		||||
  ],
 | 
			
		||||
  "result": {
 | 
			
		||||
    "id": "blacksugarmod:black_sugar_dumpling",
 | 
			
		||||
    "count": 2
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
@@ -1,10 +0,0 @@
 | 
			
		||||
{
 | 
			
		||||
  "type": "minecraft:smelting",
 | 
			
		||||
  "experience": 0.35,
 | 
			
		||||
  "cookingtime": 400,
 | 
			
		||||
  "ingredient": "blacksugarmod:pot_of_prison_vegetables",
 | 
			
		||||
  "result": {
 | 
			
		||||
    "id": "blacksugarmod:braised_prison_vegetables",
 | 
			
		||||
    "count": 1
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
@@ -1,10 +0,0 @@
 | 
			
		||||
{
 | 
			
		||||
  "type": "minecraft:campfire_cooking",
 | 
			
		||||
  "experience": 0.35,
 | 
			
		||||
  "cookingtime": 100,
 | 
			
		||||
  "ingredient": "blacksugarmod:marshmallow",
 | 
			
		||||
  "result": {
 | 
			
		||||
    "id": "blacksugarmod:carcinogenic_marshmallow",
 | 
			
		||||
    "count": 1
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
@@ -1,10 +0,0 @@
 | 
			
		||||
{
 | 
			
		||||
  "type": "minecraft:campfire_cooking",
 | 
			
		||||
  "experience": 0.35,
 | 
			
		||||
  "cookingtime": 200,
 | 
			
		||||
  "ingredient": "blacksugarmod:pickled_turtle",
 | 
			
		||||
  "result": {
 | 
			
		||||
    "id": "blacksugarmod:charcoal_grilled_turtle",
 | 
			
		||||
    "count": 1
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
@@ -1,12 +0,0 @@
 | 
			
		||||
{
 | 
			
		||||
  "type": "minecraft:crafting_shapeless",
 | 
			
		||||
  "ingredients": [
 | 
			
		||||
    "minecraft:bone",
 | 
			
		||||
    "blacksugarmod:cooking_oil",
 | 
			
		||||
    "blacksugarmod:scallion"
 | 
			
		||||
  ],
 | 
			
		||||
  "result": {
 | 
			
		||||
    "id": "blacksugarmod:crispy_bro",
 | 
			
		||||
    "count": 1
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
@@ -1,12 +0,0 @@
 | 
			
		||||
{
 | 
			
		||||
  "type": "minecraft:crafting_shapeless",
 | 
			
		||||
  "ingredients": [
 | 
			
		||||
    "minecraft:wheat",
 | 
			
		||||
    "minecraft:water_bucket",
 | 
			
		||||
    "minecraft:wheat"
 | 
			
		||||
  ],
 | 
			
		||||
  "result": {
 | 
			
		||||
    "id": "blacksugarmod:dough",
 | 
			
		||||
    "count": 2
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
@@ -1,10 +0,0 @@
 | 
			
		||||
{
 | 
			
		||||
  "type": "minecraft:campfire_cooking",
 | 
			
		||||
  "experience": 0.35,
 | 
			
		||||
  "cookingtime": 200,
 | 
			
		||||
  "ingredient": "blacksugarmod:starfish_skewer",
 | 
			
		||||
  "result": {
 | 
			
		||||
    "id": "blacksugarmod:fragrant_starfish_skewer",
 | 
			
		||||
    "count": 1
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
@@ -1,11 +0,0 @@
 | 
			
		||||
{
 | 
			
		||||
  "type": "minecraft:crafting_shapeless",
 | 
			
		||||
  "ingredients": [
 | 
			
		||||
    "blacksugarmod:bland_kitten",
 | 
			
		||||
    "minecraft:carrot"
 | 
			
		||||
  ],
 | 
			
		||||
  "result": {
 | 
			
		||||
    "id": "blacksugarmod:horny_kitten",
 | 
			
		||||
    "count": 1
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
@@ -1,18 +0,0 @@
 | 
			
		||||
{
 | 
			
		||||
  "type": "minecraft:crafting_shapeless",
 | 
			
		||||
  "ingredients": [
 | 
			
		||||
    "blacksugarmod:malicious_kitten",
 | 
			
		||||
    "blacksugarmod:crispy_bro",
 | 
			
		||||
    "blacksugarmod:fragrant_starfish_skewer",
 | 
			
		||||
    "blacksugarmod:braised_prison_vegetables",
 | 
			
		||||
    "blacksugarmod:roasted_marshmallow",
 | 
			
		||||
    "blacksugarmod:carcinogenic_marshmallow",
 | 
			
		||||
    "blacksugarmod:marshmallow",
 | 
			
		||||
    "blacksugarmod:charcoal_grilled_turtle",
 | 
			
		||||
    "blacksugarmod:black_sugar_dumpling"
 | 
			
		||||
  ],
 | 
			
		||||
  "result": {
 | 
			
		||||
    "id": "blacksugarmod:lovers_lover",
 | 
			
		||||
    "count": 1
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
@@ -1,11 +0,0 @@
 | 
			
		||||
{
 | 
			
		||||
  "type": "minecraft:crafting_shapeless",
 | 
			
		||||
  "ingredients": [
 | 
			
		||||
    "blacksugarmod:bland_kitten",
 | 
			
		||||
    "minecraft:nether_wart"
 | 
			
		||||
  ],
 | 
			
		||||
  "result": {
 | 
			
		||||
    "id": "blacksugarmod:malicious_kitten",
 | 
			
		||||
    "count": 1
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
@@ -1,11 +0,0 @@
 | 
			
		||||
{
 | 
			
		||||
  "type": "minecraft:crafting_shapeless",
 | 
			
		||||
  "ingredients": [
 | 
			
		||||
    "blacksugarmod:bland_kitten",
 | 
			
		||||
    "blacksugarmod:carcinogenic_marshmallow"
 | 
			
		||||
  ],
 | 
			
		||||
  "result": {
 | 
			
		||||
    "id": "blacksugarmod:meat_craving_kitten",
 | 
			
		||||
    "count": 1
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
@@ -1,11 +0,0 @@
 | 
			
		||||
{
 | 
			
		||||
  "type": "minecraft:crafting_shapeless",
 | 
			
		||||
  "ingredients": [
 | 
			
		||||
    "blacksugarmod:bland_kitten",
 | 
			
		||||
    "blacksugarmod:black_sugar_dumpling"
 | 
			
		||||
  ],
 | 
			
		||||
  "result": {
 | 
			
		||||
    "id": "blacksugarmod:meat_craving_kitten",
 | 
			
		||||
    "count": 1
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
@@ -1,11 +0,0 @@
 | 
			
		||||
{
 | 
			
		||||
  "type": "minecraft:crafting_shapeless",
 | 
			
		||||
  "ingredients": [
 | 
			
		||||
    "blacksugarmod:bland_kitten",
 | 
			
		||||
    "blacksugarmod:marshmallow"
 | 
			
		||||
  ],
 | 
			
		||||
  "result": {
 | 
			
		||||
    "id": "blacksugarmod:meat_craving_kitten",
 | 
			
		||||
    "count": 1
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
@@ -1,11 +0,0 @@
 | 
			
		||||
{
 | 
			
		||||
  "type": "minecraft:crafting_shapeless",
 | 
			
		||||
  "ingredients": [
 | 
			
		||||
    "blacksugarmod:bland_kitten",
 | 
			
		||||
    "blacksugarmod:roasted_marshmallow"
 | 
			
		||||
  ],
 | 
			
		||||
  "result": {
 | 
			
		||||
    "id": "blacksugarmod:meat_craving_kitten",
 | 
			
		||||
    "count": 1
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
@@ -1,11 +0,0 @@
 | 
			
		||||
{
 | 
			
		||||
  "type": "minecraft:crafting_shapeless",
 | 
			
		||||
  "ingredients": [
 | 
			
		||||
    "blacksugarmod:bland_kitten",
 | 
			
		||||
    "blacksugarmod:braised_prison_vegetables"
 | 
			
		||||
  ],
 | 
			
		||||
  "result": {
 | 
			
		||||
    "id": "blacksugarmod:meat_craving_kitten",
 | 
			
		||||
    "count": 1
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
@@ -1,12 +0,0 @@
 | 
			
		||||
{
 | 
			
		||||
  "type": "minecraft:crafting_shapeless",
 | 
			
		||||
  "ingredients": [
 | 
			
		||||
    "blacksugarmod:sakaban_turtle",
 | 
			
		||||
    "blacksugarmod:scallion",
 | 
			
		||||
    "blacksugarmod:cooking_oil"
 | 
			
		||||
  ],
 | 
			
		||||
  "result": {
 | 
			
		||||
    "id": "blacksugarmod:pickled_turtle",
 | 
			
		||||
    "count": 1
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
@@ -1,12 +0,0 @@
 | 
			
		||||
{
 | 
			
		||||
  "type": "minecraft:crafting_shapeless",
 | 
			
		||||
  "ingredients": [
 | 
			
		||||
    "minecraft:poppy",
 | 
			
		||||
    "minecraft:carrot",
 | 
			
		||||
    "minecraft:water_bucket"
 | 
			
		||||
  ],
 | 
			
		||||
  "result": {
 | 
			
		||||
    "id": "blacksugarmod:pot_of_prison_vegetables",
 | 
			
		||||
    "count": 1
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
@@ -1,10 +0,0 @@
 | 
			
		||||
{
 | 
			
		||||
  "type": "minecraft:smelting",
 | 
			
		||||
  "experience": 0.35,
 | 
			
		||||
  "cookingtime": 100,
 | 
			
		||||
  "ingredient": "blacksugarmod:marshmallow",
 | 
			
		||||
  "result": {
 | 
			
		||||
    "id": "blacksugarmod:roasted_marshmallow",
 | 
			
		||||
    "count": 1
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
@@ -1,11 +0,0 @@
 | 
			
		||||
{
 | 
			
		||||
  "type": "minecraft:crafting_shapeless",
 | 
			
		||||
  "ingredients": [
 | 
			
		||||
    "blacksugarmod:bland_kitten",
 | 
			
		||||
    "blacksugarmod:crispy_bro"
 | 
			
		||||
  ],
 | 
			
		||||
  "result": {
 | 
			
		||||
    "id": "blacksugarmod:satisfied_kitten",
 | 
			
		||||
    "count": 1
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
@@ -1,11 +0,0 @@
 | 
			
		||||
{
 | 
			
		||||
  "type": "minecraft:crafting_shapeless",
 | 
			
		||||
  "ingredients": [
 | 
			
		||||
    "blacksugarmod:meat_craving_kitten",
 | 
			
		||||
    "blacksugarmod:crispy_bro"
 | 
			
		||||
  ],
 | 
			
		||||
  "result": {
 | 
			
		||||
    "id": "blacksugarmod:satisfied_kitten",
 | 
			
		||||
    "count": 1
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
@@ -1,11 +0,0 @@
 | 
			
		||||
{
 | 
			
		||||
  "type": "minecraft:crafting_shapeless",
 | 
			
		||||
  "ingredients": [
 | 
			
		||||
    "blacksugarmod:meat_craving_kitten",
 | 
			
		||||
    "blacksugarmod:fragrant_starfish_skewer"
 | 
			
		||||
  ],
 | 
			
		||||
  "result": {
 | 
			
		||||
    "id": "blacksugarmod:satisfied_kitten",
 | 
			
		||||
    "count": 1
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
@@ -1,11 +0,0 @@
 | 
			
		||||
{
 | 
			
		||||
  "type": "minecraft:crafting_shapeless",
 | 
			
		||||
  "ingredients": [
 | 
			
		||||
    "blacksugarmod:meat_craving_kitten",
 | 
			
		||||
    "blacksugarmod:charcoal_grilled_turtle"
 | 
			
		||||
  ],
 | 
			
		||||
  "result": {
 | 
			
		||||
    "id": "blacksugarmod:satisfied_kitten",
 | 
			
		||||
    "count": 1
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
@@ -1,11 +0,0 @@
 | 
			
		||||
{
 | 
			
		||||
  "type": "minecraft:crafting_shapeless",
 | 
			
		||||
  "ingredients": [
 | 
			
		||||
    "blacksugarmod:bland_kitten",
 | 
			
		||||
    "blacksugarmod:fragrant_starfish_skewer"
 | 
			
		||||
  ],
 | 
			
		||||
  "result": {
 | 
			
		||||
    "id": "blacksugarmod:satisfied_kitten",
 | 
			
		||||
    "count": 1
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
@@ -1,11 +0,0 @@
 | 
			
		||||
{
 | 
			
		||||
  "type": "minecraft:crafting_shapeless",
 | 
			
		||||
  "ingredients": [
 | 
			
		||||
    "blacksugarmod:bland_kitten",
 | 
			
		||||
    "blacksugarmod:charcoal_grilled_turtle"
 | 
			
		||||
  ],
 | 
			
		||||
  "result": {
 | 
			
		||||
    "id": "blacksugarmod:satisfied_kitten",
 | 
			
		||||
    "count": 1
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
@@ -1,16 +0,0 @@
 | 
			
		||||
{
 | 
			
		||||
  "type": "minecraft:crafting_shapeless",
 | 
			
		||||
  "ingredients": [
 | 
			
		||||
    "blacksugarmod:indestructible_starfish",
 | 
			
		||||
    "blacksugarmod:indestructible_starfish",
 | 
			
		||||
    "blacksugarmod:indestructible_starfish",
 | 
			
		||||
    "minecraft:nether_wart",
 | 
			
		||||
    "blacksugarmod:cooking_oil",
 | 
			
		||||
    "blacksugarmod:scallion",
 | 
			
		||||
    "minecraft:stick"
 | 
			
		||||
  ],
 | 
			
		||||
  "result": {
 | 
			
		||||
    "id": "blacksugarmod:starfish_skewer",
 | 
			
		||||
    "count": 1
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||