Port to 1.19.2 - v1.11.0

This commit is contained in:
raoulvdberge
2022-09-30 12:51:05 +02:00
committed by Raoul
parent 774380aa3b
commit 8cfa05b001
275 changed files with 3098 additions and 3488 deletions

View File

@@ -36,7 +36,7 @@ body:
If your Minecraft version isn't listed here, it means that it's no longer supported. In that case, don't create an issue.
options:
- Minecraft 1.18.2
- Minecraft 1.16.5
- Minecraft 1.19.2
validations:
required: true
- type: input

View File

@@ -7,6 +7,10 @@ to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [Unreleased]
### Changed
- Ported to Minecraft 1.19.2.
## [v1.10.3] - 2022-08-06
### Fixed

View File

@@ -33,7 +33,7 @@ apply plugin: 'maven-publish'
group = 'com.refinedmods'
archivesBaseName = 'refinedstorage'
version = '1.10.4'
version = '1.11.0'
if (System.getenv('GITHUB_SHA') != null) {
version += '+' + System.getenv('GITHUB_SHA').substring(0, 7)
@@ -50,7 +50,7 @@ tasks.withType(JavaCompile) {
}
minecraft {
mappings channel: 'official', version: '1.18.2'
mappings channel: 'official', version: '1.19.2'
accessTransformer = file('src/main/resources/META-INF/accesstransformer.cfg')
runs {
@@ -102,17 +102,18 @@ processResources {
}
dependencies {
minecraft 'net.minecraftforge:forge:1.18.2-40.1.48'
minecraft 'net.minecraftforge:forge:1.19.2-43.0.0'
compileOnly fg.deobf("mezz.jei:jei-1.18.2:9.7.1.232:api")
runtimeOnly fg.deobf("mezz.jei:jei-1.18.2:9.7.1.232")
compileOnly fg.deobf("mezz.jei:jei-1.19.1-common-api:11.2.0.243")
compileOnly fg.deobf("mezz.jei:jei-1.19.1-forge-api:11.2.0.243")
runtimeOnly fg.deobf("mezz.jei:jei-1.19.1-forge:11.2.0.243")
compileOnly fg.deobf('curse.maven:mouse-tweaks-60089:3578801')
compileOnly fg.deobf('curse.maven:mouse-tweaks-60089:3871353')
compileOnly fg.deobf('curse.maven:crafting-tweaks-233071:3584842')
compileOnly fg.deobf('curse.maven:crafting-tweaks-233071:3914007')
runtimeOnly fg.deobf("top.theillusivec4.curios:curios-forge:1.18.2-5.0.6.3")
compileOnly fg.deobf("top.theillusivec4.curios:curios-forge:1.18.2-5.0.6.3:api")
runtimeOnly fg.deobf("top.theillusivec4.curios:curios-forge:1.19.1-5.1.0.5")
compileOnly fg.deobf("top.theillusivec4.curios:curios-forge:1.19.1-5.1.0.5:api")
}
jar {
@@ -137,7 +138,7 @@ if (System.getenv("CURSEFORGE_TOKEN") != null) {
changelog = System.getenv("CHANGELOG")
changelogType = 'markdown'
releaseType = project.version.toString().contains('beta') ? 'beta' : (project.version.toString().contains('alpha') ? 'alpha' : 'release')
addGameVersion "1.18.2"
addGameVersion "1.19.2"
mainArtifact(jar) {
displayName = "v$project.version"
}

View File

@@ -1,34 +1,7 @@
{
"variants": {
"connected=false,direction=north": {
"model": "refinedstorage:block/disk_manipulator/disconnected"
},
"connected=true,direction=north": {
"model": "refinedstorage:block/disk_manipulator/black"
},
"connected=false,direction=south": {
"model": "refinedstorage:block/disk_manipulator/disconnected",
"y": 180
},
"connected=true,direction=south": {
"model": "refinedstorage:block/disk_manipulator/black",
"y": 180
},
"connected=false,direction=west": {
"model": "refinedstorage:block/disk_manipulator/disconnected",
"y": 270
},
"connected=true,direction=west": {
"model": "refinedstorage:block/disk_manipulator/black",
"y": 270
},
"connected=false,direction=east": {
"model": "refinedstorage:block/disk_manipulator/disconnected",
"y": 90
},
"connected=true,direction=east": {
"model": "refinedstorage:block/disk_manipulator/black",
"y": 90
"": {
"model": "refinedstorage:block/disk_manipulator/loader"
}
}
}

View File

@@ -1,34 +1,7 @@
{
"variants": {
"connected=false,direction=north": {
"model": "refinedstorage:block/disk_manipulator/disconnected"
},
"connected=true,direction=north": {
"model": "refinedstorage:block/disk_manipulator/blue"
},
"connected=false,direction=south": {
"model": "refinedstorage:block/disk_manipulator/disconnected",
"y": 180
},
"connected=true,direction=south": {
"model": "refinedstorage:block/disk_manipulator/blue",
"y": 180
},
"connected=false,direction=west": {
"model": "refinedstorage:block/disk_manipulator/disconnected",
"y": 270
},
"connected=true,direction=west": {
"model": "refinedstorage:block/disk_manipulator/blue",
"y": 270
},
"connected=false,direction=east": {
"model": "refinedstorage:block/disk_manipulator/disconnected",
"y": 90
},
"connected=true,direction=east": {
"model": "refinedstorage:block/disk_manipulator/blue",
"y": 90
"": {
"model": "refinedstorage:block/disk_manipulator/loader"
}
}
}

View File

@@ -1,34 +1,7 @@
{
"variants": {
"connected=false,direction=north": {
"model": "refinedstorage:block/disk_manipulator/disconnected"
},
"connected=true,direction=north": {
"model": "refinedstorage:block/disk_manipulator/brown"
},
"connected=false,direction=south": {
"model": "refinedstorage:block/disk_manipulator/disconnected",
"y": 180
},
"connected=true,direction=south": {
"model": "refinedstorage:block/disk_manipulator/brown",
"y": 180
},
"connected=false,direction=west": {
"model": "refinedstorage:block/disk_manipulator/disconnected",
"y": 270
},
"connected=true,direction=west": {
"model": "refinedstorage:block/disk_manipulator/brown",
"y": 270
},
"connected=false,direction=east": {
"model": "refinedstorage:block/disk_manipulator/disconnected",
"y": 90
},
"connected=true,direction=east": {
"model": "refinedstorage:block/disk_manipulator/brown",
"y": 90
"": {
"model": "refinedstorage:block/disk_manipulator/loader"
}
}
}

View File

@@ -1,34 +1,7 @@
{
"variants": {
"connected=false,direction=north": {
"model": "refinedstorage:block/disk_manipulator/disconnected"
},
"connected=true,direction=north": {
"model": "refinedstorage:block/disk_manipulator/cyan"
},
"connected=false,direction=south": {
"model": "refinedstorage:block/disk_manipulator/disconnected",
"y": 180
},
"connected=true,direction=south": {
"model": "refinedstorage:block/disk_manipulator/cyan",
"y": 180
},
"connected=false,direction=west": {
"model": "refinedstorage:block/disk_manipulator/disconnected",
"y": 270
},
"connected=true,direction=west": {
"model": "refinedstorage:block/disk_manipulator/cyan",
"y": 270
},
"connected=false,direction=east": {
"model": "refinedstorage:block/disk_manipulator/disconnected",
"y": 90
},
"connected=true,direction=east": {
"model": "refinedstorage:block/disk_manipulator/cyan",
"y": 90
"": {
"model": "refinedstorage:block/disk_manipulator/loader"
}
}
}

View File

@@ -1,34 +1,7 @@
{
"variants": {
"connected=false,direction=north": {
"model": "refinedstorage:block/disk_manipulator/disconnected"
},
"connected=true,direction=north": {
"model": "refinedstorage:block/disk_manipulator/light_blue"
},
"connected=false,direction=south": {
"model": "refinedstorage:block/disk_manipulator/disconnected",
"y": 180
},
"connected=true,direction=south": {
"model": "refinedstorage:block/disk_manipulator/light_blue",
"y": 180
},
"connected=false,direction=west": {
"model": "refinedstorage:block/disk_manipulator/disconnected",
"y": 270
},
"connected=true,direction=west": {
"model": "refinedstorage:block/disk_manipulator/light_blue",
"y": 270
},
"connected=false,direction=east": {
"model": "refinedstorage:block/disk_manipulator/disconnected",
"y": 90
},
"connected=true,direction=east": {
"model": "refinedstorage:block/disk_manipulator/light_blue",
"y": 90
"": {
"model": "refinedstorage:block/disk_manipulator/loader"
}
}
}

View File

@@ -1,34 +1,7 @@
{
"variants": {
"connected=false,direction=north": {
"model": "refinedstorage:block/disk_manipulator/disconnected"
},
"connected=true,direction=north": {
"model": "refinedstorage:block/disk_manipulator/gray"
},
"connected=false,direction=south": {
"model": "refinedstorage:block/disk_manipulator/disconnected",
"y": 180
},
"connected=true,direction=south": {
"model": "refinedstorage:block/disk_manipulator/gray",
"y": 180
},
"connected=false,direction=west": {
"model": "refinedstorage:block/disk_manipulator/disconnected",
"y": 270
},
"connected=true,direction=west": {
"model": "refinedstorage:block/disk_manipulator/gray",
"y": 270
},
"connected=false,direction=east": {
"model": "refinedstorage:block/disk_manipulator/disconnected",
"y": 90
},
"connected=true,direction=east": {
"model": "refinedstorage:block/disk_manipulator/gray",
"y": 90
"": {
"model": "refinedstorage:block/disk_manipulator/loader"
}
}
}

View File

@@ -1,34 +1,7 @@
{
"variants": {
"connected=false,direction=north": {
"model": "refinedstorage:block/disk_manipulator/disconnected"
},
"connected=true,direction=north": {
"model": "refinedstorage:block/disk_manipulator/green"
},
"connected=false,direction=south": {
"model": "refinedstorage:block/disk_manipulator/disconnected",
"y": 180
},
"connected=true,direction=south": {
"model": "refinedstorage:block/disk_manipulator/green",
"y": 180
},
"connected=false,direction=west": {
"model": "refinedstorage:block/disk_manipulator/disconnected",
"y": 270
},
"connected=true,direction=west": {
"model": "refinedstorage:block/disk_manipulator/green",
"y": 270
},
"connected=false,direction=east": {
"model": "refinedstorage:block/disk_manipulator/disconnected",
"y": 90
},
"connected=true,direction=east": {
"model": "refinedstorage:block/disk_manipulator/green",
"y": 90
"": {
"model": "refinedstorage:block/disk_manipulator/loader"
}
}
}

View File

@@ -1,34 +1,7 @@
{
"variants": {
"connected=false,direction=north": {
"model": "refinedstorage:block/disk_manipulator/disconnected"
},
"connected=true,direction=north": {
"model": "refinedstorage:block/disk_manipulator/light_gray"
},
"connected=false,direction=south": {
"model": "refinedstorage:block/disk_manipulator/disconnected",
"y": 180
},
"connected=true,direction=south": {
"model": "refinedstorage:block/disk_manipulator/light_gray",
"y": 180
},
"connected=false,direction=west": {
"model": "refinedstorage:block/disk_manipulator/disconnected",
"y": 270
},
"connected=true,direction=west": {
"model": "refinedstorage:block/disk_manipulator/light_gray",
"y": 270
},
"connected=false,direction=east": {
"model": "refinedstorage:block/disk_manipulator/disconnected",
"y": 90
},
"connected=true,direction=east": {
"model": "refinedstorage:block/disk_manipulator/light_gray",
"y": 90
"": {
"model": "refinedstorage:block/disk_manipulator/loader"
}
}
}

View File

@@ -1,34 +1,7 @@
{
"variants": {
"connected=false,direction=north": {
"model": "refinedstorage:block/disk_manipulator/disconnected"
},
"connected=true,direction=north": {
"model": "refinedstorage:block/disk_manipulator/lime"
},
"connected=false,direction=south": {
"model": "refinedstorage:block/disk_manipulator/disconnected",
"y": 180
},
"connected=true,direction=south": {
"model": "refinedstorage:block/disk_manipulator/lime",
"y": 180
},
"connected=false,direction=west": {
"model": "refinedstorage:block/disk_manipulator/disconnected",
"y": 270
},
"connected=true,direction=west": {
"model": "refinedstorage:block/disk_manipulator/lime",
"y": 270
},
"connected=false,direction=east": {
"model": "refinedstorage:block/disk_manipulator/disconnected",
"y": 90
},
"connected=true,direction=east": {
"model": "refinedstorage:block/disk_manipulator/lime",
"y": 90
"": {
"model": "refinedstorage:block/disk_manipulator/loader"
}
}
}

View File

@@ -1,34 +1,7 @@
{
"variants": {
"connected=false,direction=north": {
"model": "refinedstorage:block/disk_manipulator/disconnected"
},
"connected=true,direction=north": {
"model": "refinedstorage:block/disk_manipulator/magenta"
},
"connected=false,direction=south": {
"model": "refinedstorage:block/disk_manipulator/disconnected",
"y": 180
},
"connected=true,direction=south": {
"model": "refinedstorage:block/disk_manipulator/magenta",
"y": 180
},
"connected=false,direction=west": {
"model": "refinedstorage:block/disk_manipulator/disconnected",
"y": 270
},
"connected=true,direction=west": {
"model": "refinedstorage:block/disk_manipulator/magenta",
"y": 270
},
"connected=false,direction=east": {
"model": "refinedstorage:block/disk_manipulator/disconnected",
"y": 90
},
"connected=true,direction=east": {
"model": "refinedstorage:block/disk_manipulator/magenta",
"y": 90
"": {
"model": "refinedstorage:block/disk_manipulator/loader"
}
}
}

View File

@@ -1,34 +1,7 @@
{
"variants": {
"connected=false,direction=north": {
"model": "refinedstorage:block/disk_manipulator/disconnected"
},
"connected=true,direction=north": {
"model": "refinedstorage:block/disk_manipulator/orange"
},
"connected=false,direction=south": {
"model": "refinedstorage:block/disk_manipulator/disconnected",
"y": 180
},
"connected=true,direction=south": {
"model": "refinedstorage:block/disk_manipulator/orange",
"y": 180
},
"connected=false,direction=west": {
"model": "refinedstorage:block/disk_manipulator/disconnected",
"y": 270
},
"connected=true,direction=west": {
"model": "refinedstorage:block/disk_manipulator/orange",
"y": 270
},
"connected=false,direction=east": {
"model": "refinedstorage:block/disk_manipulator/disconnected",
"y": 90
},
"connected=true,direction=east": {
"model": "refinedstorage:block/disk_manipulator/orange",
"y": 90
"": {
"model": "refinedstorage:block/disk_manipulator/loader"
}
}
}

View File

@@ -1,34 +1,7 @@
{
"variants": {
"connected=false,direction=north": {
"model": "refinedstorage:block/disk_manipulator/disconnected"
},
"connected=true,direction=north": {
"model": "refinedstorage:block/disk_manipulator/pink"
},
"connected=false,direction=south": {
"model": "refinedstorage:block/disk_manipulator/disconnected",
"y": 180
},
"connected=true,direction=south": {
"model": "refinedstorage:block/disk_manipulator/pink",
"y": 180
},
"connected=false,direction=west": {
"model": "refinedstorage:block/disk_manipulator/disconnected",
"y": 270
},
"connected=true,direction=west": {
"model": "refinedstorage:block/disk_manipulator/pink",
"y": 270
},
"connected=false,direction=east": {
"model": "refinedstorage:block/disk_manipulator/disconnected",
"y": 90
},
"connected=true,direction=east": {
"model": "refinedstorage:block/disk_manipulator/pink",
"y": 90
"": {
"model": "refinedstorage:block/disk_manipulator/loader"
}
}
}

View File

@@ -1,34 +1,7 @@
{
"variants": {
"connected=false,direction=north": {
"model": "refinedstorage:block/disk_manipulator/disconnected"
},
"connected=true,direction=north": {
"model": "refinedstorage:block/disk_manipulator/purple"
},
"connected=false,direction=south": {
"model": "refinedstorage:block/disk_manipulator/disconnected",
"y": 180
},
"connected=true,direction=south": {
"model": "refinedstorage:block/disk_manipulator/purple",
"y": 180
},
"connected=false,direction=west": {
"model": "refinedstorage:block/disk_manipulator/disconnected",
"y": 270
},
"connected=true,direction=west": {
"model": "refinedstorage:block/disk_manipulator/purple",
"y": 270
},
"connected=false,direction=east": {
"model": "refinedstorage:block/disk_manipulator/disconnected",
"y": 90
},
"connected=true,direction=east": {
"model": "refinedstorage:block/disk_manipulator/purple",
"y": 90
"": {
"model": "refinedstorage:block/disk_manipulator/loader"
}
}
}

View File

@@ -1,34 +1,7 @@
{
"variants": {
"connected=false,direction=north": {
"model": "refinedstorage:block/disk_manipulator/disconnected"
},
"connected=true,direction=north": {
"model": "refinedstorage:block/disk_manipulator/red"
},
"connected=false,direction=south": {
"model": "refinedstorage:block/disk_manipulator/disconnected",
"y": 180
},
"connected=true,direction=south": {
"model": "refinedstorage:block/disk_manipulator/red",
"y": 180
},
"connected=false,direction=west": {
"model": "refinedstorage:block/disk_manipulator/disconnected",
"y": 270
},
"connected=true,direction=west": {
"model": "refinedstorage:block/disk_manipulator/red",
"y": 270
},
"connected=false,direction=east": {
"model": "refinedstorage:block/disk_manipulator/disconnected",
"y": 90
},
"connected=true,direction=east": {
"model": "refinedstorage:block/disk_manipulator/red",
"y": 90
"": {
"model": "refinedstorage:block/disk_manipulator/loader"
}
}
}

View File

@@ -1,34 +1,7 @@
{
"variants": {
"connected=false,direction=north": {
"model": "refinedstorage:block/disk_manipulator/disconnected"
},
"connected=true,direction=north": {
"model": "refinedstorage:block/disk_manipulator/white"
},
"connected=false,direction=south": {
"model": "refinedstorage:block/disk_manipulator/disconnected",
"y": 180
},
"connected=true,direction=south": {
"model": "refinedstorage:block/disk_manipulator/white",
"y": 180
},
"connected=false,direction=west": {
"model": "refinedstorage:block/disk_manipulator/disconnected",
"y": 270
},
"connected=true,direction=west": {
"model": "refinedstorage:block/disk_manipulator/white",
"y": 270
},
"connected=false,direction=east": {
"model": "refinedstorage:block/disk_manipulator/disconnected",
"y": 90
},
"connected=true,direction=east": {
"model": "refinedstorage:block/disk_manipulator/white",
"y": 90
"": {
"model": "refinedstorage:block/disk_manipulator/loader"
}
}
}

View File

@@ -1,34 +1,7 @@
{
"variants": {
"connected=false,direction=north": {
"model": "refinedstorage:block/disk_manipulator/disconnected"
},
"connected=true,direction=north": {
"model": "refinedstorage:block/disk_manipulator/yellow"
},
"connected=false,direction=south": {
"model": "refinedstorage:block/disk_manipulator/disconnected",
"y": 180
},
"connected=true,direction=south": {
"model": "refinedstorage:block/disk_manipulator/yellow",
"y": 180
},
"connected=false,direction=west": {
"model": "refinedstorage:block/disk_manipulator/disconnected",
"y": 270
},
"connected=true,direction=west": {
"model": "refinedstorage:block/disk_manipulator/yellow",
"y": 270
},
"connected=false,direction=east": {
"model": "refinedstorage:block/disk_manipulator/disconnected",
"y": 90
},
"connected=true,direction=east": {
"model": "refinedstorage:block/disk_manipulator/yellow",
"y": 90
"": {
"model": "refinedstorage:block/disk_manipulator/loader"
}
}
}

View File

@@ -1,13 +1,13 @@
{
"parent": "refinedstorage:block/cube_north_cutout",
"textures": {
"particle": "refinedstorage:block/disk_manipulator/right",
"east": "refinedstorage:block/disk_manipulator/right",
"south": "refinedstorage:block/disk_manipulator/back",
"west": "refinedstorage:block/disk_manipulator/left",
"up": "refinedstorage:block/disk_manipulator/top",
"cutout": "refinedstorage:block/disk_manipulator/cutouts/black",
"down": "refinedstorage:block/bottom",
"east": "refinedstorage:block/disk_manipulator/right",
"north": "refinedstorage:block/disk_manipulator/front",
"cutout": "refinedstorage:block/disk_manipulator/cutouts/black"
"particle": "refinedstorage:block/disk_manipulator/right",
"south": "refinedstorage:block/disk_manipulator/back",
"up": "refinedstorage:block/disk_manipulator/top",
"west": "refinedstorage:block/disk_manipulator/left"
}
}

View File

@@ -1,13 +1,13 @@
{
"parent": "refinedstorage:block/cube_north_cutout",
"textures": {
"particle": "refinedstorage:block/disk_manipulator/right",
"east": "refinedstorage:block/disk_manipulator/right",
"south": "refinedstorage:block/disk_manipulator/back",
"west": "refinedstorage:block/disk_manipulator/left",
"up": "refinedstorage:block/disk_manipulator/top",
"cutout": "refinedstorage:block/disk_manipulator/cutouts/blue",
"down": "refinedstorage:block/bottom",
"east": "refinedstorage:block/disk_manipulator/right",
"north": "refinedstorage:block/disk_manipulator/front",
"cutout": "refinedstorage:block/disk_manipulator/cutouts/blue"
"particle": "refinedstorage:block/disk_manipulator/right",
"south": "refinedstorage:block/disk_manipulator/back",
"up": "refinedstorage:block/disk_manipulator/top",
"west": "refinedstorage:block/disk_manipulator/left"
}
}

View File

@@ -1,13 +1,13 @@
{
"parent": "refinedstorage:block/cube_north_cutout",
"textures": {
"particle": "refinedstorage:block/disk_manipulator/right",
"east": "refinedstorage:block/disk_manipulator/right",
"south": "refinedstorage:block/disk_manipulator/back",
"west": "refinedstorage:block/disk_manipulator/left",
"up": "refinedstorage:block/disk_manipulator/top",
"cutout": "refinedstorage:block/disk_manipulator/cutouts/brown",
"down": "refinedstorage:block/bottom",
"east": "refinedstorage:block/disk_manipulator/right",
"north": "refinedstorage:block/disk_manipulator/front",
"cutout": "refinedstorage:block/disk_manipulator/cutouts/brown"
"particle": "refinedstorage:block/disk_manipulator/right",
"south": "refinedstorage:block/disk_manipulator/back",
"up": "refinedstorage:block/disk_manipulator/top",
"west": "refinedstorage:block/disk_manipulator/left"
}
}

View File

@@ -1,13 +1,13 @@
{
"parent": "refinedstorage:block/cube_north_cutout",
"textures": {
"particle": "refinedstorage:block/disk_manipulator/right",
"east": "refinedstorage:block/disk_manipulator/right",
"south": "refinedstorage:block/disk_manipulator/back",
"west": "refinedstorage:block/disk_manipulator/left",
"up": "refinedstorage:block/disk_manipulator/top",
"cutout": "refinedstorage:block/disk_manipulator/cutouts/cyan",
"down": "refinedstorage:block/bottom",
"east": "refinedstorage:block/disk_manipulator/right",
"north": "refinedstorage:block/disk_manipulator/front",
"cutout": "refinedstorage:block/disk_manipulator/cutouts/cyan"
"particle": "refinedstorage:block/disk_manipulator/right",
"south": "refinedstorage:block/disk_manipulator/back",
"up": "refinedstorage:block/disk_manipulator/top",
"west": "refinedstorage:block/disk_manipulator/left"
}
}

View File

@@ -1,13 +1,13 @@
{
"parent": "refinedstorage:block/cube_north_cutout",
"textures": {
"particle": "refinedstorage:block/disk_manipulator/right",
"east": "refinedstorage:block/disk_manipulator/right",
"south": "refinedstorage:block/disk_manipulator/back",
"west": "refinedstorage:block/disk_manipulator/left",
"up": "refinedstorage:block/disk_manipulator/top",
"cutout": "refinedstorage:block/disk_manipulator/cutouts/disconnected",
"down": "refinedstorage:block/bottom",
"east": "refinedstorage:block/disk_manipulator/right",
"north": "refinedstorage:block/disk_manipulator/front",
"cutout": "refinedstorage:block/disk_manipulator/cutouts/disconnected"
"particle": "refinedstorage:block/disk_manipulator/right",
"south": "refinedstorage:block/disk_manipulator/back",
"up": "refinedstorage:block/disk_manipulator/top",
"west": "refinedstorage:block/disk_manipulator/left"
}
}

View File

@@ -1,13 +1,13 @@
{
"parent": "refinedstorage:block/cube_north_cutout",
"textures": {
"particle": "refinedstorage:block/disk_manipulator/right",
"east": "refinedstorage:block/disk_manipulator/right",
"south": "refinedstorage:block/disk_manipulator/back",
"west": "refinedstorage:block/disk_manipulator/left",
"up": "refinedstorage:block/disk_manipulator/top",
"cutout": "refinedstorage:block/disk_manipulator/cutouts/gray",
"down": "refinedstorage:block/bottom",
"east": "refinedstorage:block/disk_manipulator/right",
"north": "refinedstorage:block/disk_manipulator/front",
"cutout": "refinedstorage:block/disk_manipulator/cutouts/gray"
"particle": "refinedstorage:block/disk_manipulator/right",
"south": "refinedstorage:block/disk_manipulator/back",
"up": "refinedstorage:block/disk_manipulator/top",
"west": "refinedstorage:block/disk_manipulator/left"
}
}

View File

@@ -1,13 +1,13 @@
{
"parent": "refinedstorage:block/cube_north_cutout",
"textures": {
"particle": "refinedstorage:block/disk_manipulator/right",
"east": "refinedstorage:block/disk_manipulator/right",
"south": "refinedstorage:block/disk_manipulator/back",
"west": "refinedstorage:block/disk_manipulator/left",
"up": "refinedstorage:block/disk_manipulator/top",
"cutout": "refinedstorage:block/disk_manipulator/cutouts/green",
"down": "refinedstorage:block/bottom",
"east": "refinedstorage:block/disk_manipulator/right",
"north": "refinedstorage:block/disk_manipulator/front",
"cutout": "refinedstorage:block/disk_manipulator/cutouts/green"
"particle": "refinedstorage:block/disk_manipulator/right",
"south": "refinedstorage:block/disk_manipulator/back",
"up": "refinedstorage:block/disk_manipulator/top",
"west": "refinedstorage:block/disk_manipulator/left"
}
}

View File

@@ -1,13 +1,13 @@
{
"parent": "refinedstorage:block/cube_north_cutout",
"textures": {
"particle": "refinedstorage:block/disk_manipulator/right",
"east": "refinedstorage:block/disk_manipulator/right",
"south": "refinedstorage:block/disk_manipulator/back",
"west": "refinedstorage:block/disk_manipulator/left",
"up": "refinedstorage:block/disk_manipulator/top",
"cutout": "refinedstorage:block/disk_manipulator/cutouts/light_blue",
"down": "refinedstorage:block/bottom",
"east": "refinedstorage:block/disk_manipulator/right",
"north": "refinedstorage:block/disk_manipulator/front",
"cutout": "refinedstorage:block/disk_manipulator/cutouts/light_blue"
"particle": "refinedstorage:block/disk_manipulator/right",
"south": "refinedstorage:block/disk_manipulator/back",
"up": "refinedstorage:block/disk_manipulator/top",
"west": "refinedstorage:block/disk_manipulator/left"
}
}

View File

@@ -1,13 +1,13 @@
{
"parent": "refinedstorage:block/cube_north_cutout",
"textures": {
"particle": "refinedstorage:block/disk_manipulator/right",
"east": "refinedstorage:block/disk_manipulator/right",
"south": "refinedstorage:block/disk_manipulator/back",
"west": "refinedstorage:block/disk_manipulator/left",
"up": "refinedstorage:block/disk_manipulator/top",
"cutout": "refinedstorage:block/disk_manipulator/cutouts/light_gray",
"down": "refinedstorage:block/bottom",
"east": "refinedstorage:block/disk_manipulator/right",
"north": "refinedstorage:block/disk_manipulator/front",
"cutout": "refinedstorage:block/disk_manipulator/cutouts/light_gray"
"particle": "refinedstorage:block/disk_manipulator/right",
"south": "refinedstorage:block/disk_manipulator/back",
"up": "refinedstorage:block/disk_manipulator/top",
"west": "refinedstorage:block/disk_manipulator/left"
}
}

View File

@@ -1,13 +1,13 @@
{
"parent": "refinedstorage:block/cube_north_cutout",
"textures": {
"particle": "refinedstorage:block/disk_manipulator/right",
"east": "refinedstorage:block/disk_manipulator/right",
"south": "refinedstorage:block/disk_manipulator/back",
"west": "refinedstorage:block/disk_manipulator/left",
"up": "refinedstorage:block/disk_manipulator/top",
"cutout": "refinedstorage:block/disk_manipulator/cutouts/lime",
"down": "refinedstorage:block/bottom",
"east": "refinedstorage:block/disk_manipulator/right",
"north": "refinedstorage:block/disk_manipulator/front",
"cutout": "refinedstorage:block/disk_manipulator/cutouts/lime"
"particle": "refinedstorage:block/disk_manipulator/right",
"south": "refinedstorage:block/disk_manipulator/back",
"up": "refinedstorage:block/disk_manipulator/top",
"west": "refinedstorage:block/disk_manipulator/left"
}
}

View File

@@ -0,0 +1,4 @@
{
"loader": "refinedstorage:disk_manipulator",
"render_type": "minecraft:cutout"
}

View File

@@ -1,13 +1,13 @@
{
"parent": "refinedstorage:block/cube_north_cutout",
"textures": {
"particle": "refinedstorage:block/disk_manipulator/right",
"east": "refinedstorage:block/disk_manipulator/right",
"south": "refinedstorage:block/disk_manipulator/back",
"west": "refinedstorage:block/disk_manipulator/left",
"up": "refinedstorage:block/disk_manipulator/top",
"cutout": "refinedstorage:block/disk_manipulator/cutouts/magenta",
"down": "refinedstorage:block/bottom",
"east": "refinedstorage:block/disk_manipulator/right",
"north": "refinedstorage:block/disk_manipulator/front",
"cutout": "refinedstorage:block/disk_manipulator/cutouts/magenta"
"particle": "refinedstorage:block/disk_manipulator/right",
"south": "refinedstorage:block/disk_manipulator/back",
"up": "refinedstorage:block/disk_manipulator/top",
"west": "refinedstorage:block/disk_manipulator/left"
}
}

View File

@@ -1,13 +1,13 @@
{
"parent": "refinedstorage:block/cube_north_cutout",
"textures": {
"particle": "refinedstorage:block/disk_manipulator/right",
"east": "refinedstorage:block/disk_manipulator/right",
"south": "refinedstorage:block/disk_manipulator/back",
"west": "refinedstorage:block/disk_manipulator/left",
"up": "refinedstorage:block/disk_manipulator/top",
"cutout": "refinedstorage:block/disk_manipulator/cutouts/orange",
"down": "refinedstorage:block/bottom",
"east": "refinedstorage:block/disk_manipulator/right",
"north": "refinedstorage:block/disk_manipulator/front",
"cutout": "refinedstorage:block/disk_manipulator/cutouts/orange"
"particle": "refinedstorage:block/disk_manipulator/right",
"south": "refinedstorage:block/disk_manipulator/back",
"up": "refinedstorage:block/disk_manipulator/top",
"west": "refinedstorage:block/disk_manipulator/left"
}
}

View File

@@ -1,13 +1,13 @@
{
"parent": "refinedstorage:block/cube_north_cutout",
"textures": {
"particle": "refinedstorage:block/disk_manipulator/right",
"east": "refinedstorage:block/disk_manipulator/right",
"south": "refinedstorage:block/disk_manipulator/back",
"west": "refinedstorage:block/disk_manipulator/left",
"up": "refinedstorage:block/disk_manipulator/top",
"cutout": "refinedstorage:block/disk_manipulator/cutouts/pink",
"down": "refinedstorage:block/bottom",
"east": "refinedstorage:block/disk_manipulator/right",
"north": "refinedstorage:block/disk_manipulator/front",
"cutout": "refinedstorage:block/disk_manipulator/cutouts/pink"
"particle": "refinedstorage:block/disk_manipulator/right",
"south": "refinedstorage:block/disk_manipulator/back",
"up": "refinedstorage:block/disk_manipulator/top",
"west": "refinedstorage:block/disk_manipulator/left"
}
}

View File

@@ -1,13 +1,13 @@
{
"parent": "refinedstorage:block/cube_north_cutout",
"textures": {
"particle": "refinedstorage:block/disk_manipulator/right",
"east": "refinedstorage:block/disk_manipulator/right",
"south": "refinedstorage:block/disk_manipulator/back",
"west": "refinedstorage:block/disk_manipulator/left",
"up": "refinedstorage:block/disk_manipulator/top",
"cutout": "refinedstorage:block/disk_manipulator/cutouts/purple",
"down": "refinedstorage:block/bottom",
"east": "refinedstorage:block/disk_manipulator/right",
"north": "refinedstorage:block/disk_manipulator/front",
"cutout": "refinedstorage:block/disk_manipulator/cutouts/purple"
"particle": "refinedstorage:block/disk_manipulator/right",
"south": "refinedstorage:block/disk_manipulator/back",
"up": "refinedstorage:block/disk_manipulator/top",
"west": "refinedstorage:block/disk_manipulator/left"
}
}

View File

@@ -1,13 +1,13 @@
{
"parent": "refinedstorage:block/cube_north_cutout",
"textures": {
"particle": "refinedstorage:block/disk_manipulator/right",
"east": "refinedstorage:block/disk_manipulator/right",
"south": "refinedstorage:block/disk_manipulator/back",
"west": "refinedstorage:block/disk_manipulator/left",
"up": "refinedstorage:block/disk_manipulator/top",
"cutout": "refinedstorage:block/disk_manipulator/cutouts/red",
"down": "refinedstorage:block/bottom",
"east": "refinedstorage:block/disk_manipulator/right",
"north": "refinedstorage:block/disk_manipulator/front",
"cutout": "refinedstorage:block/disk_manipulator/cutouts/red"
"particle": "refinedstorage:block/disk_manipulator/right",
"south": "refinedstorage:block/disk_manipulator/back",
"up": "refinedstorage:block/disk_manipulator/top",
"west": "refinedstorage:block/disk_manipulator/left"
}
}

View File

@@ -1,13 +1,13 @@
{
"parent": "refinedstorage:block/cube_north_cutout",
"textures": {
"particle": "refinedstorage:block/disk_manipulator/right",
"east": "refinedstorage:block/disk_manipulator/right",
"south": "refinedstorage:block/disk_manipulator/back",
"west": "refinedstorage:block/disk_manipulator/left",
"up": "refinedstorage:block/disk_manipulator/top",
"cutout": "refinedstorage:block/disk_manipulator/cutouts/white",
"down": "refinedstorage:block/bottom",
"east": "refinedstorage:block/disk_manipulator/right",
"north": "refinedstorage:block/disk_manipulator/front",
"cutout": "refinedstorage:block/disk_manipulator/cutouts/white"
"particle": "refinedstorage:block/disk_manipulator/right",
"south": "refinedstorage:block/disk_manipulator/back",
"up": "refinedstorage:block/disk_manipulator/top",
"west": "refinedstorage:block/disk_manipulator/left"
}
}

View File

@@ -1,13 +1,13 @@
{
"parent": "refinedstorage:block/cube_north_cutout",
"textures": {
"particle": "refinedstorage:block/disk_manipulator/right",
"east": "refinedstorage:block/disk_manipulator/right",
"south": "refinedstorage:block/disk_manipulator/back",
"west": "refinedstorage:block/disk_manipulator/left",
"up": "refinedstorage:block/disk_manipulator/top",
"cutout": "refinedstorage:block/disk_manipulator/cutouts/yellow",
"down": "refinedstorage:block/bottom",
"east": "refinedstorage:block/disk_manipulator/right",
"north": "refinedstorage:block/disk_manipulator/front",
"cutout": "refinedstorage:block/disk_manipulator/cutouts/yellow"
"particle": "refinedstorage:block/disk_manipulator/right",
"south": "refinedstorage:block/disk_manipulator/back",
"up": "refinedstorage:block/disk_manipulator/top",
"west": "refinedstorage:block/disk_manipulator/left"
}
}

View File

@@ -10,10 +10,8 @@ import com.refinedmods.refinedstorage.network.NetworkHandler;
import com.refinedmods.refinedstorage.setup.ClientSetup;
import com.refinedmods.refinedstorage.setup.CommonSetup;
import com.refinedmods.refinedstorage.setup.ServerSetup;
import net.minecraft.world.inventory.MenuType;
import net.minecraft.world.item.CreativeModeTab;
import net.minecraft.world.item.crafting.RecipeSerializer;
import net.minecraft.world.level.block.entity.BlockEntityType;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.fml.DistExecutor;
@@ -36,8 +34,11 @@ public final class RS {
DistExecutor.unsafeRunWhenOn(Dist.CLIENT, () -> () -> {
FMLJavaModLoadingContext.get().getModEventBus().addListener(ClientSetup::onClientSetup);
FMLJavaModLoadingContext.get().getModEventBus().addListener(ClientSetup::onModelBake);
FMLJavaModLoadingContext.get().getModEventBus().addListener(ClientSetup::onModelRegistry);
FMLJavaModLoadingContext.get().getModEventBus().addListener(ClientSetup::onRegisterAdditionalModels);
FMLJavaModLoadingContext.get().getModEventBus().addListener(ClientSetup::onTextureStitch);
FMLJavaModLoadingContext.get().getModEventBus().addListener(ClientSetup::onRegisterModelGeometry);
FMLJavaModLoadingContext.get().getModEventBus().addListener(ClientSetup::onRegisterKeymappings);
FMLJavaModLoadingContext.get().getModEventBus().addListener(ClientSetup::onRegisterColorBindings);
MinecraftForge.EVENT_BUS.addListener(ClientSetup::addReloadListener);
});
@@ -51,13 +52,14 @@ public final class RS {
RSLootFunctions.register();
FMLJavaModLoadingContext.get().getModEventBus().addListener(CommonSetup::onCommonSetup);
FMLJavaModLoadingContext.get().getModEventBus().addGenericListener(BlockEntityType.class, CommonSetup::onRegisterBlockEntities);
FMLJavaModLoadingContext.get().getModEventBus().addGenericListener(RecipeSerializer.class, CommonSetup::onRegisterRecipeSerializers);
FMLJavaModLoadingContext.get().getModEventBus().addGenericListener(MenuType.class, CommonSetup::onRegisterMenus);
FMLJavaModLoadingContext.get().getModEventBus().addListener(CommonSetup::onRegisterCapabilities);
FMLJavaModLoadingContext.get().getModEventBus().register(new DataGenerators());
FMLJavaModLoadingContext.get().getModEventBus().register(new CuriosIntegration());
RSContainerMenus.REGISTRY.register(FMLJavaModLoadingContext.get().getModEventBus());
RSBlockEntities.REGISTRY.register(FMLJavaModLoadingContext.get().getModEventBus());
RSRecipeSerializers.REGISTRY.register(FMLJavaModLoadingContext.get().getModEventBus());
API.deliver();
}
}

View File

@@ -1,90 +1,106 @@
package com.refinedmods.refinedstorage;
import com.refinedmods.refinedstorage.api.network.NetworkType;
import com.refinedmods.refinedstorage.api.network.grid.GridType;
import com.refinedmods.refinedstorage.apiimpl.storage.FluidStorageType;
import com.refinedmods.refinedstorage.apiimpl.storage.ItemStorageType;
import com.refinedmods.refinedstorage.blockentity.*;
import com.refinedmods.refinedstorage.blockentity.craftingmonitor.CraftingMonitorBlockEntity;
import com.refinedmods.refinedstorage.blockentity.data.BlockEntitySynchronizationManager;
import com.refinedmods.refinedstorage.blockentity.data.BlockEntitySynchronizationSpec;
import com.refinedmods.refinedstorage.blockentity.grid.GridBlockEntity;
import com.refinedmods.refinedstorage.blockentity.grid.portable.PortableGridBlockEntity;
import com.refinedmods.refinedstorage.item.blockitem.PortableGridBlockItem;
import net.minecraft.world.level.block.entity.BlockEntity;
import net.minecraft.world.level.block.entity.BlockEntityType;
import net.minecraftforge.registries.ObjectHolder;
import net.minecraftforge.registries.DeferredRegister;
import net.minecraftforge.registries.ForgeRegistries;
import net.minecraftforge.registries.RegistryObject;
@ObjectHolder(RS.ID)
public final class RSBlockEntities {
@ObjectHolder("controller")
public static final BlockEntityType<ControllerBlockEntity> CONTROLLER = null;
@ObjectHolder("creative_controller")
public static final BlockEntityType<ControllerBlockEntity> CREATIVE_CONTROLLER = null;
@ObjectHolder("detector")
public static final BlockEntityType<DetectorBlockEntity> DETECTOR = null;
@ObjectHolder("disk_drive")
public static final BlockEntityType<DiskDriveBlockEntity> DISK_DRIVE = null;
@ObjectHolder("exporter")
public static final BlockEntityType<ExporterBlockEntity> EXPORTER = null;
@ObjectHolder("external_storage")
public static final BlockEntityType<ExternalStorageBlockEntity> EXTERNAL_STORAGE = null;
@ObjectHolder("grid")
public static final BlockEntityType<GridBlockEntity> GRID = null;
@ObjectHolder("crafting_grid")
public static final BlockEntityType<GridBlockEntity> CRAFTING_GRID = null;
@ObjectHolder("pattern_grid")
public static final BlockEntityType<GridBlockEntity> PATTERN_GRID = null;
@ObjectHolder("fluid_grid")
public static final BlockEntityType<GridBlockEntity> FLUID_GRID = null;
@ObjectHolder("importer")
public static final BlockEntityType<ImporterBlockEntity> IMPORTER = null;
@ObjectHolder("network_transmitter")
public static final BlockEntityType<NetworkTransmitterBlockEntity> NETWORK_TRANSMITTER = null;
@ObjectHolder("network_receiver")
public static final BlockEntityType<NetworkReceiverBlockEntity> NETWORK_RECEIVER = null;
@ObjectHolder("relay")
public static final BlockEntityType<RelayBlockEntity> RELAY = null;
@ObjectHolder("cable")
public static final BlockEntityType<CableBlockEntity> CABLE = null;
@ObjectHolder("1k_storage_block")
public static final BlockEntityType<StorageBlockEntity> ONE_K_STORAGE_BLOCK = null;
@ObjectHolder("4k_storage_block")
public static final BlockEntityType<StorageBlockEntity> FOUR_K_STORAGE_BLOCK = null;
@ObjectHolder("16k_storage_block")
public static final BlockEntityType<StorageBlockEntity> SIXTEEN_K_STORAGE_BLOCK = null;
@ObjectHolder("64k_storage_block")
public static final BlockEntityType<StorageBlockEntity> SIXTY_FOUR_K_STORAGE_BLOCK = null;
@ObjectHolder("creative_storage_block")
public static final BlockEntityType<StorageBlockEntity> CREATIVE_STORAGE_BLOCK = null;
@ObjectHolder("64k_fluid_storage_block")
public static final BlockEntityType<FluidStorageBlockEntity> SIXTY_FOUR_K_FLUID_STORAGE_BLOCK = null;
@ObjectHolder("256k_fluid_storage_block")
public static final BlockEntityType<FluidStorageBlockEntity> TWO_HUNDRED_FIFTY_SIX_K_FLUID_STORAGE_BLOCK = null;
@ObjectHolder("1024k_fluid_storage_block")
public static final BlockEntityType<FluidStorageBlockEntity> THOUSAND_TWENTY_FOUR_K_FLUID_STORAGE_BLOCK = null;
@ObjectHolder("4096k_fluid_storage_block")
public static final BlockEntityType<FluidStorageBlockEntity> FOUR_THOUSAND_NINETY_SIX_K_FLUID_STORAGE_BLOCK = null;
@ObjectHolder("creative_fluid_storage_block")
public static final BlockEntityType<FluidStorageBlockEntity> CREATIVE_FLUID_STORAGE_BLOCK = null;
@ObjectHolder("security_manager")
public static final BlockEntityType<SecurityManagerBlockEntity> SECURITY_MANAGER = null;
@ObjectHolder("interface")
public static final BlockEntityType<InterfaceBlockEntity> INTERFACE = null;
@ObjectHolder("fluid_interface")
public static final BlockEntityType<FluidInterfaceBlockEntity> FLUID_INTERFACE = null;
@ObjectHolder("wireless_transmitter")
public static final BlockEntityType<WirelessTransmitterBlockEntity> WIRELESS_TRANSMITTER = null;
@ObjectHolder("storage_monitor")
public static final BlockEntityType<StorageMonitorBlockEntity> STORAGE_MONITOR = null;
@ObjectHolder("constructor")
public static final BlockEntityType<ConstructorBlockEntity> CONSTRUCTOR = null;
@ObjectHolder("destructor")
public static final BlockEntityType<DestructorBlockEntity> DESTRUCTOR = null;
@ObjectHolder("disk_manipulator")
public static final BlockEntityType<DiskManipulatorBlockEntity> DISK_MANIPULATOR = null;
@ObjectHolder("portable_grid")
public static final BlockEntityType<PortableGridBlockEntity> PORTABLE_GRID = null;
@ObjectHolder("creative_portable_grid")
public static final BlockEntityType<PortableGridBlockEntity> CREATIVE_PORTABLE_GRID = null;
@ObjectHolder("crafter")
public static final BlockEntityType<CrafterBlockEntity> CRAFTER = null;
@ObjectHolder("crafter_manager")
public static final BlockEntityType<CrafterManagerBlockEntity> CRAFTER_MANAGER = null;
@ObjectHolder("crafting_monitor")
public static final BlockEntityType<CraftingMonitorBlockEntity> CRAFTING_MONITOR = null;
public static final DeferredRegister<BlockEntityType<?>> REGISTRY = DeferredRegister.create(ForgeRegistries.BLOCK_ENTITY_TYPES, RS.ID);
public static final RegistryObject<BlockEntityType<ControllerBlockEntity>> CONTROLLER =
REGISTRY.register("controller", () -> registerSynchronizationParameters(ControllerBlockEntity.SPEC, BlockEntityType.Builder.of((pos, state) -> new ControllerBlockEntity(NetworkType.NORMAL, pos, state), RSBlocks.CONTROLLER.getBlocks()).build(null)));
public static final RegistryObject<BlockEntityType<ControllerBlockEntity>> CREATIVE_CONTROLLER =
REGISTRY.register("creative_controller", () -> registerSynchronizationParameters(ControllerBlockEntity.SPEC, BlockEntityType.Builder.of((pos, state) -> new ControllerBlockEntity(NetworkType.CREATIVE, pos, state), RSBlocks.CREATIVE_CONTROLLER.getBlocks()).build(null)));
public static final RegistryObject<BlockEntityType<DetectorBlockEntity>> DETECTOR =
REGISTRY.register("detector", () -> registerSynchronizationParameters(DetectorBlockEntity.SPEC, BlockEntityType.Builder.of(DetectorBlockEntity::new, RSBlocks.DETECTOR.getBlocks()).build(null)));
public static final RegistryObject<BlockEntityType<DiskDriveBlockEntity>> DISK_DRIVE =
REGISTRY.register("disk_drive", () -> registerSynchronizationParameters(DiskDriveBlockEntity.SPEC, BlockEntityType.Builder.of(DiskDriveBlockEntity::new, RSBlocks.DISK_DRIVE.get()).build(null)));
public static final RegistryObject<BlockEntityType<ExporterBlockEntity>> EXPORTER =
REGISTRY.register("exporter", () -> registerSynchronizationParameters(ExporterBlockEntity.SPEC, BlockEntityType.Builder.of(ExporterBlockEntity::new, RSBlocks.EXPORTER.get()).build(null)));
public static final RegistryObject<BlockEntityType<ExternalStorageBlockEntity>> EXTERNAL_STORAGE =
REGISTRY.register("external_storage", () -> registerSynchronizationParameters(ExternalStorageBlockEntity.SPEC, BlockEntityType.Builder.of(ExternalStorageBlockEntity::new, RSBlocks.EXTERNAL_STORAGE.get()).build(null)));
public static final RegistryObject<BlockEntityType<GridBlockEntity>> GRID =
REGISTRY.register("grid", () -> registerSynchronizationParameters(GridBlockEntity.SPEC, BlockEntityType.Builder.of((pos, state) -> new GridBlockEntity(GridType.NORMAL, pos, state), RSBlocks.GRID.getBlocks()).build(null)));
public static final RegistryObject<BlockEntityType<GridBlockEntity>> CRAFTING_GRID =
REGISTRY.register("crafting_grid", () -> registerSynchronizationParameters(GridBlockEntity.SPEC, BlockEntityType.Builder.of((pos, state) -> new GridBlockEntity(GridType.CRAFTING, pos, state), RSBlocks.CRAFTING_GRID.getBlocks()).build(null)));
public static final RegistryObject<BlockEntityType<GridBlockEntity>> PATTERN_GRID =
REGISTRY.register("pattern_grid", () -> registerSynchronizationParameters(GridBlockEntity.SPEC, BlockEntityType.Builder.of((pos, state) -> new GridBlockEntity(GridType.PATTERN, pos, state), RSBlocks.PATTERN_GRID.getBlocks()).build(null)));
public static final RegistryObject<BlockEntityType<GridBlockEntity>> FLUID_GRID =
REGISTRY.register("fluid_grid", () -> registerSynchronizationParameters(GridBlockEntity.SPEC, BlockEntityType.Builder.of((pos, state) -> new GridBlockEntity(GridType.FLUID, pos, state), RSBlocks.FLUID_GRID.getBlocks()).build(null)));
public static final RegistryObject<BlockEntityType<ImporterBlockEntity>> IMPORTER =
REGISTRY.register("importer", () -> registerSynchronizationParameters(ImporterBlockEntity.SPEC, BlockEntityType.Builder.of(ImporterBlockEntity::new, RSBlocks.IMPORTER.get()).build(null)));
public static final RegistryObject<BlockEntityType<NetworkTransmitterBlockEntity>> NETWORK_TRANSMITTER =
REGISTRY.register("network_transmitter", () -> registerSynchronizationParameters(NetworkTransmitterBlockEntity.SPEC, BlockEntityType.Builder.of(NetworkTransmitterBlockEntity::new, RSBlocks.NETWORK_TRANSMITTER.getBlocks()).build(null)));
public static final RegistryObject<BlockEntityType<NetworkReceiverBlockEntity>> NETWORK_RECEIVER =
REGISTRY.register("network_receiver", () -> registerSynchronizationParameters(NetworkReceiverBlockEntity.SPEC, BlockEntityType.Builder.of(NetworkReceiverBlockEntity::new, RSBlocks.NETWORK_RECEIVER.getBlocks()).build(null)));
public static final RegistryObject<BlockEntityType<RelayBlockEntity>> RELAY =
REGISTRY.register("relay", () -> registerSynchronizationParameters(RelayBlockEntity.SPEC, BlockEntityType.Builder.of(RelayBlockEntity::new, RSBlocks.RELAY.getBlocks()).build(null)));
public static final RegistryObject<BlockEntityType<CableBlockEntity>> CABLE =
REGISTRY.register("cable", () -> registerSynchronizationParameters(CableBlockEntity.SPEC, BlockEntityType.Builder.of(CableBlockEntity::new, RSBlocks.CABLE.get()).build(null)));
public static final RegistryObject<BlockEntityType<StorageBlockEntity>> ONE_K_STORAGE_BLOCK =
REGISTRY.register("1k_storage_block", () -> registerSynchronizationParameters(StorageBlockEntity.SPEC, BlockEntityType.Builder.of((pos, state) -> new StorageBlockEntity(ItemStorageType.ONE_K, pos, state), RSBlocks.STORAGE_BLOCKS.get(ItemStorageType.ONE_K).get()).build(null)));
public static final RegistryObject<BlockEntityType<StorageBlockEntity>> FOUR_K_STORAGE_BLOCK =
REGISTRY.register("4k_storage_block", () -> registerSynchronizationParameters(StorageBlockEntity.SPEC, BlockEntityType.Builder.of((pos, state) -> new StorageBlockEntity(ItemStorageType.FOUR_K, pos, state), RSBlocks.STORAGE_BLOCKS.get(ItemStorageType.FOUR_K).get()).build(null)));
public static final RegistryObject<BlockEntityType<StorageBlockEntity>> SIXTEEN_K_STORAGE_BLOCK =
REGISTRY.register("16k_storage_block", () -> registerSynchronizationParameters(StorageBlockEntity.SPEC, BlockEntityType.Builder.of((pos, state) -> new StorageBlockEntity(ItemStorageType.SIXTEEN_K, pos, state), RSBlocks.STORAGE_BLOCKS.get(ItemStorageType.SIXTEEN_K).get()).build(null)));
public static final RegistryObject<BlockEntityType<StorageBlockEntity>> SIXTY_FOUR_K_STORAGE_BLOCK =
REGISTRY.register("64k_storage_block", () -> registerSynchronizationParameters(StorageBlockEntity.SPEC, BlockEntityType.Builder.of((pos, state) -> new StorageBlockEntity(ItemStorageType.SIXTY_FOUR_K, pos, state), RSBlocks.STORAGE_BLOCKS.get(ItemStorageType.SIXTY_FOUR_K).get()).build(null)));
public static final RegistryObject<BlockEntityType<StorageBlockEntity>> CREATIVE_STORAGE_BLOCK =
REGISTRY.register("creative_storage_block", () -> registerSynchronizationParameters(StorageBlockEntity.SPEC, BlockEntityType.Builder.of((pos, state) -> new StorageBlockEntity(ItemStorageType.CREATIVE, pos, state), RSBlocks.STORAGE_BLOCKS.get(ItemStorageType.CREATIVE).get()).build(null)));
public static final RegistryObject<BlockEntityType<FluidStorageBlockEntity>> SIXTY_FOUR_K_FLUID_STORAGE_BLOCK =
REGISTRY.register("64k_fluid_storage_block", () -> registerSynchronizationParameters(FluidStorageBlockEntity.SPEC, BlockEntityType.Builder.of((pos, state) -> new FluidStorageBlockEntity(FluidStorageType.SIXTY_FOUR_K, pos, state), RSBlocks.FLUID_STORAGE_BLOCKS.get(FluidStorageType.SIXTY_FOUR_K).get()).build(null)));
public static final RegistryObject<BlockEntityType<FluidStorageBlockEntity>> TWO_HUNDRED_FIFTY_SIX_K_FLUID_STORAGE_BLOCK =
REGISTRY.register("256k_fluid_storage_block", () -> registerSynchronizationParameters(FluidStorageBlockEntity.SPEC, BlockEntityType.Builder.of((pos, state) -> new FluidStorageBlockEntity(FluidStorageType.TWO_HUNDRED_FIFTY_SIX_K, pos, state), RSBlocks.FLUID_STORAGE_BLOCKS.get(FluidStorageType.TWO_HUNDRED_FIFTY_SIX_K).get()).build(null)));
public static final RegistryObject<BlockEntityType<FluidStorageBlockEntity>> THOUSAND_TWENTY_FOUR_K_FLUID_STORAGE_BLOCK =
REGISTRY.register("1024k_fluid_storage_block", () -> registerSynchronizationParameters(FluidStorageBlockEntity.SPEC, BlockEntityType.Builder.of((pos, state) -> new FluidStorageBlockEntity(FluidStorageType.THOUSAND_TWENTY_FOUR_K, pos, state), RSBlocks.FLUID_STORAGE_BLOCKS.get(FluidStorageType.THOUSAND_TWENTY_FOUR_K).get()).build(null)));
public static final RegistryObject<BlockEntityType<FluidStorageBlockEntity>> FOUR_THOUSAND_NINETY_SIX_K_FLUID_STORAGE_BLOCK =
REGISTRY.register("4096k_fluid_storage_block", () -> registerSynchronizationParameters(FluidStorageBlockEntity.SPEC, BlockEntityType.Builder.of((pos, state) -> new FluidStorageBlockEntity(FluidStorageType.FOUR_THOUSAND_NINETY_SIX_K, pos, state), RSBlocks.FLUID_STORAGE_BLOCKS.get(FluidStorageType.FOUR_THOUSAND_NINETY_SIX_K).get()).build(null)));
public static final RegistryObject<BlockEntityType<FluidStorageBlockEntity>> CREATIVE_FLUID_STORAGE_BLOCK =
REGISTRY.register("creative_fluid_storage_block", () -> registerSynchronizationParameters(FluidStorageBlockEntity.SPEC, BlockEntityType.Builder.of((pos, state) -> new FluidStorageBlockEntity(FluidStorageType.CREATIVE, pos, state), RSBlocks.FLUID_STORAGE_BLOCKS.get(FluidStorageType.CREATIVE).get()).build(null)));
public static final RegistryObject<BlockEntityType<SecurityManagerBlockEntity>> SECURITY_MANAGER =
REGISTRY.register("security_manager", () -> registerSynchronizationParameters(SecurityManagerBlockEntity.SPEC, BlockEntityType.Builder.of(SecurityManagerBlockEntity::new, RSBlocks.SECURITY_MANAGER.getBlocks()).build(null)));
public static final RegistryObject<BlockEntityType<InterfaceBlockEntity>> INTERFACE =
REGISTRY.register("interface", () -> registerSynchronizationParameters(InterfaceBlockEntity.SPEC, BlockEntityType.Builder.of(InterfaceBlockEntity::new, RSBlocks.INTERFACE.get()).build(null)));
public static final RegistryObject<BlockEntityType<FluidInterfaceBlockEntity>> FLUID_INTERFACE =
REGISTRY.register("fluid_interface", () -> registerSynchronizationParameters(FluidInterfaceBlockEntity.SPEC, BlockEntityType.Builder.of(FluidInterfaceBlockEntity::new, RSBlocks.FLUID_INTERFACE.get()).build(null)));
public static final RegistryObject<BlockEntityType<WirelessTransmitterBlockEntity>> WIRELESS_TRANSMITTER =
REGISTRY.register("wireless_transmitter", () -> registerSynchronizationParameters(WirelessTransmitterBlockEntity.SPEC, BlockEntityType.Builder.of(WirelessTransmitterBlockEntity::new, RSBlocks.WIRELESS_TRANSMITTER.getBlocks()).build(null)));
public static final RegistryObject<BlockEntityType<StorageMonitorBlockEntity>> STORAGE_MONITOR =
REGISTRY.register("storage_monitor", () -> registerSynchronizationParameters(StorageMonitorBlockEntity.SPEC, BlockEntityType.Builder.of(StorageMonitorBlockEntity::new, RSBlocks.STORAGE_MONITOR.get()).build(null)));
public static final RegistryObject<BlockEntityType<ConstructorBlockEntity>> CONSTRUCTOR =
REGISTRY.register("constructor", () -> registerSynchronizationParameters(ConstructorBlockEntity.SPEC, BlockEntityType.Builder.of(ConstructorBlockEntity::new, RSBlocks.CONSTRUCTOR.get()).build(null)));
public static final RegistryObject<BlockEntityType<DestructorBlockEntity>> DESTRUCTOR =
REGISTRY.register("destructor", () -> registerSynchronizationParameters(DestructorBlockEntity.SPEC, BlockEntityType.Builder.of(DestructorBlockEntity::new, RSBlocks.DESTRUCTOR.get()).build(null)));
public static final RegistryObject<BlockEntityType<DiskManipulatorBlockEntity>> DISK_MANIPULATOR =
REGISTRY.register("disk_manipulator", () -> registerSynchronizationParameters(DiskManipulatorBlockEntity.SPEC, BlockEntityType.Builder.of(DiskManipulatorBlockEntity::new, RSBlocks.DISK_MANIPULATOR.getBlocks()).build(null)));
public static final RegistryObject<BlockEntityType<PortableGridBlockEntity>> PORTABLE_GRID =
REGISTRY.register("portable_grid", () -> registerSynchronizationParameters(PortableGridBlockEntity.SPEC, BlockEntityType.Builder.of((pos, state) -> new PortableGridBlockEntity(PortableGridBlockItem.Type.NORMAL, pos, state), RSBlocks.PORTABLE_GRID.get()).build(null)));
public static final RegistryObject<BlockEntityType<PortableGridBlockEntity>> CREATIVE_PORTABLE_GRID =
REGISTRY.register("creative_portable_grid", () -> registerSynchronizationParameters(PortableGridBlockEntity.SPEC, BlockEntityType.Builder.of((pos, state) -> new PortableGridBlockEntity(PortableGridBlockItem.Type.CREATIVE, pos, state), RSBlocks.CREATIVE_PORTABLE_GRID.get()).build(null)));
public static final RegistryObject<BlockEntityType<CrafterBlockEntity>> CRAFTER =
REGISTRY.register("crafter", () -> registerSynchronizationParameters(CrafterBlockEntity.SPEC, BlockEntityType.Builder.of(CrafterBlockEntity::new, RSBlocks.CRAFTER.getBlocks()).build(null)));
public static final RegistryObject<BlockEntityType<CrafterManagerBlockEntity>> CRAFTER_MANAGER =
REGISTRY.register("crafter_manager", () -> registerSynchronizationParameters(CrafterManagerBlockEntity.SPEC, BlockEntityType.Builder.of(CrafterManagerBlockEntity::new, RSBlocks.CRAFTER_MANAGER.getBlocks()).build(null)));
public static final RegistryObject<BlockEntityType<CraftingMonitorBlockEntity>> CRAFTING_MONITOR =
REGISTRY.register("crafting_monitor", () -> registerSynchronizationParameters(CraftingMonitorBlockEntity.SPEC, BlockEntityType.Builder.of(CraftingMonitorBlockEntity::new, RSBlocks.CRAFTING_MONITOR.getBlocks()).build(null)));
private static <T extends BlockEntity> BlockEntityType<T> registerSynchronizationParameters(BlockEntitySynchronizationSpec spec, BlockEntityType<T> t) {
spec.getParameters().forEach(BlockEntitySynchronizationManager::registerParameter);
return t;
}
private RSBlockEntities() {
}

View File

@@ -1,59 +1,41 @@
package com.refinedmods.refinedstorage;
import com.refinedmods.refinedstorage.blockentity.*;
import com.refinedmods.refinedstorage.container.*;
import com.refinedmods.refinedstorage.container.factory.*;
import net.minecraft.world.inventory.MenuType;
import net.minecraftforge.registries.ObjectHolder;
import net.minecraftforge.common.extensions.IForgeMenuType;
import net.minecraftforge.registries.DeferredRegister;
import net.minecraftforge.registries.ForgeRegistries;
import net.minecraftforge.registries.RegistryObject;
@ObjectHolder(RS.ID)
public final class RSContainerMenus {
@ObjectHolder("controller")
public static final MenuType<ControllerContainerMenu> CONTROLLER = null;
@ObjectHolder("grid")
public static final MenuType<GridContainerMenu> GRID = null;
@ObjectHolder("detector")
public static final MenuType<DetectorContainerMenu> DETECTOR = null;
@ObjectHolder("exporter")
public static final MenuType<ExporterContainerMenu> EXPORTER = null;
@ObjectHolder("external_storage")
public static final MenuType<ExternalStorageContainerMenu> EXTERNAL_STORAGE = null;
@ObjectHolder("filter")
public static final MenuType<FilterContainerMenu> FILTER = null;
@ObjectHolder("importer")
public static final MenuType<ImporterContainerMenu> IMPORTER = null;
@ObjectHolder("network_transmitter")
public static final MenuType<NetworkTransmitterContainerMenu> NETWORK_TRANSMITTER = null;
@ObjectHolder("relay")
public static final MenuType<RelayContainerMenu> RELAY = null;
@ObjectHolder("disk_drive")
public static final MenuType<DiskDriveContainerMenu> DISK_DRIVE = null;
@ObjectHolder("storage_block")
public static final MenuType<StorageContainerMenu> STORAGE_BLOCK = null;
@ObjectHolder("fluid_storage_block")
public static final MenuType<FluidStorageContainerMenu> FLUID_STORAGE_BLOCK = null;
@ObjectHolder("security_manager")
public static final MenuType<SecurityManagerContainerMenu> SECURITY_MANAGER = null;
@ObjectHolder("interface")
public static final MenuType<InterfaceContainerMenu> INTERFACE = null;
@ObjectHolder("fluid_interface")
public static final MenuType<FluidInterfaceContainerMenu> FLUID_INTERFACE = null;
@ObjectHolder("wireless_transmitter")
public static final MenuType<WirelessTransmitterContainerMenu> WIRELESS_TRANSMITTER = null;
@ObjectHolder("storage_monitor")
public static final MenuType<StorageMonitorContainerMenu> STORAGE_MONITOR = null;
@ObjectHolder("constructor")
public static final MenuType<ConstructorContainerMenu> CONSTRUCTOR = null;
@ObjectHolder("destructor")
public static final MenuType<DestructorContainerMenu> DESTRUCTOR = null;
@ObjectHolder("disk_manipulator")
public static final MenuType<DiskManipulatorContainerMenu> DISK_MANIPULATOR = null;
@ObjectHolder("crafter")
public static final MenuType<CrafterContainerMenu> CRAFTER = null;
@ObjectHolder("crafter_manager")
public static final MenuType<CrafterManagerContainerMenu> CRAFTER_MANAGER = null;
@ObjectHolder("crafting_monitor")
public static final MenuType<CraftingMonitorContainerMenu> CRAFTING_MONITOR = null;
@ObjectHolder("wireless_crafting_monitor")
public static final MenuType<CraftingMonitorContainerMenu> WIRELESS_CRAFTING_MONITOR = null;
public static final DeferredRegister<MenuType<?>> REGISTRY = DeferredRegister.create(ForgeRegistries.MENU_TYPES, RS.ID);
public static final RegistryObject<MenuType<ControllerContainerMenu>> CONTROLLER = REGISTRY.register("controller", () -> IForgeMenuType.create(((windowId, inv, data) -> new ControllerContainerMenu(null, inv.player, windowId))));
public static final RegistryObject<MenuType<GridContainerMenu>> GRID = REGISTRY.register("grid", () -> IForgeMenuType.create(new GridContainerFactory()));
public static final RegistryObject<MenuType<DetectorContainerMenu>> DETECTOR = REGISTRY.register("detector", () -> IForgeMenuType.create(new BlockEntityContainerFactory<DetectorContainerMenu, DetectorBlockEntity>((windowId, inv, blockEntity) -> new DetectorContainerMenu(blockEntity, inv.player, windowId))));
public static final RegistryObject<MenuType<ExporterContainerMenu>> EXPORTER = REGISTRY.register("exporter", () -> IForgeMenuType.create(new BlockEntityContainerFactory<ExporterContainerMenu, ExporterBlockEntity>((windowId, inv, blockEntity) -> new ExporterContainerMenu(blockEntity, inv.player, windowId))));
public static final RegistryObject<MenuType<ExternalStorageContainerMenu>> EXTERNAL_STORAGE = REGISTRY.register("external_storage", () -> IForgeMenuType.create(new BlockEntityContainerFactory<ExternalStorageContainerMenu, ExternalStorageBlockEntity>((windowId, inv, blockEntity) -> new ExternalStorageContainerMenu(blockEntity, inv.player, windowId))));
public static final RegistryObject<MenuType<FilterContainerMenu>> FILTER = REGISTRY.register("filter", () -> IForgeMenuType.create((windowId, inv, data) -> new FilterContainerMenu(inv.player, inv.getSelected(), windowId)));
public static final RegistryObject<MenuType<ImporterContainerMenu>> IMPORTER = REGISTRY.register("importer", () -> IForgeMenuType.create(new BlockEntityContainerFactory<ImporterContainerMenu, ImporterBlockEntity>((windowId, inv, blockEntity) -> new ImporterContainerMenu(blockEntity, inv.player, windowId))));
public static final RegistryObject<MenuType<NetworkTransmitterContainerMenu>> NETWORK_TRANSMITTER = REGISTRY.register("network_transmitter", () -> IForgeMenuType.create(new BlockEntityContainerFactory<NetworkTransmitterContainerMenu, NetworkTransmitterBlockEntity>((windowId, inv, blockEntity) -> new NetworkTransmitterContainerMenu(blockEntity, inv.player, windowId))));
public static final RegistryObject<MenuType<RelayContainerMenu>> RELAY = REGISTRY.register("relay", () -> IForgeMenuType.create(new BlockEntityContainerFactory<RelayContainerMenu, RelayBlockEntity>((windowId, inv, blockEntity) -> new RelayContainerMenu(blockEntity, inv.player, windowId))));
public static final RegistryObject<MenuType<DiskDriveContainerMenu>> DISK_DRIVE = REGISTRY.register("disk_drive", () -> IForgeMenuType.create(new BlockEntityContainerFactory<DiskDriveContainerMenu, DiskDriveBlockEntity>((windowId, inv, blockEntity) -> new DiskDriveContainerMenu(blockEntity, inv.player, windowId))));
public static final RegistryObject<MenuType<StorageContainerMenu>> STORAGE_BLOCK = REGISTRY.register("storage_block", () -> IForgeMenuType.create(new BlockEntityContainerFactory<StorageContainerMenu, StorageBlockEntity>((windowId, inv, blockEntity) -> new StorageContainerMenu(blockEntity, inv.player, windowId))));
public static final RegistryObject<MenuType<FluidStorageContainerMenu>> FLUID_STORAGE_BLOCK = REGISTRY.register("fluid_storage_block", () -> IForgeMenuType.create(new BlockEntityContainerFactory<FluidStorageContainerMenu, FluidStorageBlockEntity>((windowId, inv, blockEntity) -> new FluidStorageContainerMenu(blockEntity, inv.player, windowId))));
public static final RegistryObject<MenuType<SecurityManagerContainerMenu>> SECURITY_MANAGER = REGISTRY.register("security_manager", () -> IForgeMenuType.create(new BlockEntityContainerFactory<SecurityManagerContainerMenu, SecurityManagerBlockEntity>((windowId, inv, blockEntity) -> new SecurityManagerContainerMenu(blockEntity, inv.player, windowId))));
public static final RegistryObject<MenuType<InterfaceContainerMenu>> INTERFACE = REGISTRY.register("interface", () -> IForgeMenuType.create(new BlockEntityContainerFactory<InterfaceContainerMenu, InterfaceBlockEntity>((windowId, inv, blockEntity) -> new InterfaceContainerMenu(blockEntity, inv.player, windowId))));
public static final RegistryObject<MenuType<FluidInterfaceContainerMenu>> FLUID_INTERFACE = REGISTRY.register("fluid_interface", () -> IForgeMenuType.create(new BlockEntityContainerFactory<FluidInterfaceContainerMenu, FluidInterfaceBlockEntity>((windowId, inv, blockEntity) -> new FluidInterfaceContainerMenu(blockEntity, inv.player, windowId))));
public static final RegistryObject<MenuType<WirelessTransmitterContainerMenu>> WIRELESS_TRANSMITTER = REGISTRY.register("wireless_transmitter", () -> IForgeMenuType.create(new BlockEntityContainerFactory<WirelessTransmitterContainerMenu, WirelessTransmitterBlockEntity>((windowId, inv, blockEntity) -> new WirelessTransmitterContainerMenu(blockEntity, inv.player, windowId))));
public static final RegistryObject<MenuType<StorageMonitorContainerMenu>> STORAGE_MONITOR = REGISTRY.register("storage_monitor", () -> IForgeMenuType.create(new BlockEntityContainerFactory<StorageMonitorContainerMenu, StorageMonitorBlockEntity>((windowId, inv, blockEntity) -> new StorageMonitorContainerMenu(blockEntity, inv.player, windowId))));
public static final RegistryObject<MenuType<ConstructorContainerMenu>> CONSTRUCTOR = REGISTRY.register("constructor", () -> IForgeMenuType.create(new BlockEntityContainerFactory<ConstructorContainerMenu, ConstructorBlockEntity>((windowId, inv, blockEntity) -> new ConstructorContainerMenu(blockEntity, inv.player, windowId))));
public static final RegistryObject<MenuType<DestructorContainerMenu>> DESTRUCTOR = REGISTRY.register("destructor", () -> IForgeMenuType.create(new BlockEntityContainerFactory<DestructorContainerMenu, DestructorBlockEntity>((windowId, inv, blockEntity) -> new DestructorContainerMenu(blockEntity, inv.player, windowId))));
public static final RegistryObject<MenuType<DiskManipulatorContainerMenu>> DISK_MANIPULATOR = REGISTRY.register("disk_manipulator", () -> IForgeMenuType.create(new BlockEntityContainerFactory<DiskManipulatorContainerMenu, DiskManipulatorBlockEntity>((windowId, inv, blockEntity) -> new DiskManipulatorContainerMenu(blockEntity, inv.player, windowId))));
public static final RegistryObject<MenuType<CrafterContainerMenu>> CRAFTER = REGISTRY.register("crafter", () -> IForgeMenuType.create(new BlockEntityContainerFactory<CrafterContainerMenu, CrafterBlockEntity>((windowId, inv, blockEntity) -> new CrafterContainerMenu(blockEntity, inv.player, windowId))));
public static final RegistryObject<MenuType<CrafterManagerContainerMenu>> CRAFTER_MANAGER = REGISTRY.register("crafter_manager", () -> IForgeMenuType.create(new CrafterManagerContainerFactory()));
public static final RegistryObject<MenuType<CraftingMonitorContainerMenu>> CRAFTING_MONITOR = REGISTRY.register("crafting_monitor", () -> IForgeMenuType.create(new CraftingMonitorContainerFactory()));
public static final RegistryObject<MenuType<CraftingMonitorContainerMenu>> WIRELESS_CRAFTING_MONITOR = REGISTRY.register("wireless_crafting_monitor", () -> IForgeMenuType.create(new WirelessCraftingMonitorContainerFactory()));
private RSContainerMenus() {
}

View File

@@ -7,7 +7,8 @@ import com.refinedmods.refinedstorage.item.*;
import com.refinedmods.refinedstorage.item.blockitem.*;
import com.refinedmods.refinedstorage.util.BlockUtils;
import com.refinedmods.refinedstorage.util.ColorMap;
import net.minecraft.network.chat.TranslatableComponent;
import net.minecraft.network.chat.Component;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.tags.ItemTags;
import net.minecraft.tags.TagKey;
@@ -167,13 +168,13 @@ public final class RSItems {
LATE_REGISTRATION.add(() -> {
RSBlocks.CONTROLLER.forEach((color, block) -> {
if (color != ColorMap.DEFAULT_COLOR) {
CONTROLLER.put(color, ITEMS.register(RSBlocks.CONTROLLER.get(color).getId().getPath(), () -> new ControllerBlockItem(RSBlocks.CONTROLLER.get(color).get(), color, new TranslatableComponent(RSBlocks.CONTROLLER.get(ColorMap.DEFAULT_COLOR).get().getDescriptionId()))));
CONTROLLER.put(color, ITEMS.register(RSBlocks.CONTROLLER.get(color).getId().getPath(), () -> new ControllerBlockItem(RSBlocks.CONTROLLER.get(color).get(), color, Component.translatable(RSBlocks.CONTROLLER.get(ColorMap.DEFAULT_COLOR).get().getDescriptionId()))));
}
});
RSBlocks.CREATIVE_CONTROLLER.forEach((color, block) -> {
if (color != ColorMap.DEFAULT_COLOR) {
CREATIVE_CONTROLLER.put(color, ITEMS.register(RSBlocks.CREATIVE_CONTROLLER.get(color).getId().getPath(), () -> new ControllerBlockItem(RSBlocks.CREATIVE_CONTROLLER.get(color).get(), color, new TranslatableComponent(RSBlocks.CREATIVE_CONTROLLER.get(ColorMap.DEFAULT_COLOR).get().getDescriptionId()))));
CREATIVE_CONTROLLER.put(color, ITEMS.register(RSBlocks.CREATIVE_CONTROLLER.get(color).getId().getPath(), () -> new ControllerBlockItem(RSBlocks.CREATIVE_CONTROLLER.get(color).get(), color, Component.translatable(RSBlocks.CREATIVE_CONTROLLER.get(ColorMap.DEFAULT_COLOR).get().getDescriptionId()))));
}
});
});

View File

@@ -0,0 +1,21 @@
package com.refinedmods.refinedstorage;
import com.refinedmods.refinedstorage.recipe.CoverRecipe;
import com.refinedmods.refinedstorage.recipe.HollowCoverRecipe;
import com.refinedmods.refinedstorage.recipe.UpgradeWithEnchantedBookRecipeSerializer;
import net.minecraft.core.Registry;
import net.minecraft.world.item.crafting.RecipeSerializer;
import net.minecraftforge.registries.DeferredRegister;
public final class RSRecipeSerializers {
public static final DeferredRegister<RecipeSerializer<?>> REGISTRY = DeferredRegister.create(Registry.RECIPE_SERIALIZER_REGISTRY, RS.ID);
static {
REGISTRY.register("upgrade_with_enchanted_book", UpgradeWithEnchantedBookRecipeSerializer::new);
REGISTRY.register("cover_recipe", () -> CoverRecipe.SERIALIZER);
REGISTRY.register("hollow_cover_recipe", () -> HollowCoverRecipe.SERIALIZER);
}
private RSRecipeSerializers() {
}
}

View File

@@ -268,6 +268,11 @@ public class CraftingPattern implements ICraftingPattern {
public static class DummyCraftingContainer extends CraftingContainer {
public DummyCraftingContainer() {
super(new AbstractContainerMenu(null, 0) {
@Override
public ItemStack quickMoveStack(Player p_38941_, int p_38942_) {
return ItemStack.EMPTY;
}
@Override
public boolean stillValid(Player player) {
return true;

View File

@@ -5,7 +5,7 @@ import com.refinedmods.refinedstorage.api.autocrafting.ICraftingPatternContainer
import com.refinedmods.refinedstorage.apiimpl.network.node.GridNetworkNode;
import com.refinedmods.refinedstorage.item.PatternItem;
import net.minecraft.core.NonNullList;
import net.minecraft.network.chat.TranslatableComponent;
import net.minecraft.network.chat.Component;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.tags.TagKey;
import net.minecraft.world.inventory.CraftingContainer;
@@ -48,7 +48,7 @@ public class CraftingPatternFactory {
}
if (outputs.isEmpty() && fluidOutputs.isEmpty()) {
throw new CraftingPatternFactoryException(new TranslatableComponent("misc.refinedstorage.pattern.error.processing_no_outputs"));
throw new CraftingPatternFactoryException(Component.translatable("misc.refinedstorage.pattern.error.processing_no_outputs"));
}
} else {
CraftingContainer craftingContainer = new CraftingPattern.DummyCraftingContainer();
@@ -72,10 +72,10 @@ public class CraftingPatternFactory {
modifyCraftingInputsToUseAlternatives(recipe, inputs);
}
} else {
throw new CraftingPatternFactoryException(new TranslatableComponent("misc.refinedstorage.pattern.error.no_output"));
throw new CraftingPatternFactoryException(Component.translatable("misc.refinedstorage.pattern.error.no_output"));
}
} else {
throw new CraftingPatternFactoryException(new TranslatableComponent("misc.refinedstorage.pattern.error.recipe_does_not_exist"));
throw new CraftingPatternFactoryException(Component.translatable("misc.refinedstorage.pattern.error.recipe_does_not_exist"));
}
}
} catch (CraftingPatternFactoryException e) {
@@ -116,7 +116,7 @@ public class CraftingPatternFactory {
for (ResourceLocation declaredAllowedTag : declaredAllowedTags) {
if (!tagsOfItem.contains(declaredAllowedTag)) {
throw new CraftingPatternFactoryException(
new TranslatableComponent(
Component.translatable(
"misc.refinedstorage.pattern.error.tag_no_longer_applicable",
declaredAllowedTag.toString(),
input.getHoverName()
@@ -162,7 +162,7 @@ public class CraftingPatternFactory {
for (ResourceLocation declaredAllowedTag : declaredAllowedTags) {
if (!tagsOfFluid.contains(declaredAllowedTag)) {
throw new CraftingPatternFactoryException(
new TranslatableComponent(
Component.translatable(
"misc.refinedstorage.pattern.error.tag_no_longer_applicable",
declaredAllowedTag.toString(),
input.getDisplayName()

View File

@@ -8,7 +8,6 @@ import com.refinedmods.refinedstorage.render.Styles;
import com.refinedmods.refinedstorage.util.PacketBufferUtils;
import net.minecraft.network.FriendlyByteBuf;
import net.minecraft.network.chat.Component;
import net.minecraft.network.chat.TranslatableComponent;
import net.minecraft.resources.ResourceLocation;
import javax.annotation.Nullable;
@@ -48,7 +47,7 @@ public class ErrorCraftingMonitorElement implements ICraftingMonitorElement {
@Override
public List<Component> getTooltip() {
List<Component> items = new ArrayList<>(base.getTooltip());
items.add(new TranslatableComponent(message).setStyle(Styles.RED));
items.add(Component.translatable(message).setStyle(Styles.RED));
return items;
}

View File

@@ -118,7 +118,7 @@ public class FluidCraftingMonitorElement implements ICraftingMonitorElement {
@Nullable
@Override
public List<Component> getTooltip() {
return Collections.singletonList(stack.getFluid().getAttributes().getDisplayName(stack));
return Collections.singletonList(stack.getDisplayName());
}
@Override

View File

@@ -9,23 +9,23 @@ import net.minecraftforge.eventbus.api.SubscribeEvent;
public class NetworkListener {
@SubscribeEvent
public void onLevelTick(TickEvent.WorldTickEvent e) {
if (!e.world.isClientSide() && e.phase == TickEvent.Phase.END) {
e.world.getProfiler().push("network ticking");
public void onLevelTick(TickEvent.LevelTickEvent e) {
if (!e.level.isClientSide() && e.phase == TickEvent.Phase.END) {
e.level.getProfiler().push("network ticking");
for (INetwork network : API.instance().getNetworkManager((ServerLevel) e.world).all()) {
for (INetwork network : API.instance().getNetworkManager((ServerLevel) e.level).all()) {
network.update();
}
e.world.getProfiler().pop();
e.level.getProfiler().pop();
e.world.getProfiler().push("network node ticking");
e.level.getProfiler().push("network node ticking");
for (INetworkNode node : API.instance().getNetworkNodeManager((ServerLevel) e.world).all()) {
for (INetworkNode node : API.instance().getNetworkNodeManager((ServerLevel) e.level).all()) {
node.update();
}
e.world.getProfiler().pop();
e.level.getProfiler().pop();
}
}
}

View File

@@ -3,28 +3,28 @@ package com.refinedmods.refinedstorage.apiimpl.network;
import com.refinedmods.refinedstorage.api.network.node.INetworkNode;
import com.refinedmods.refinedstorage.api.network.security.Permission;
import com.refinedmods.refinedstorage.api.util.Action;
import com.refinedmods.refinedstorage.util.LevelUtils;
import com.refinedmods.refinedstorage.util.NetworkUtils;
import com.refinedmods.refinedstorage.util.PlayerUtils;
import com.refinedmods.refinedstorage.util.LevelUtils;
import net.minecraft.core.BlockPos;
import net.minecraft.core.Direction;
import net.minecraft.server.level.ServerPlayer;
import net.minecraft.world.entity.player.Player;
import net.minecraft.world.level.LevelAccessor;
import net.minecraftforge.event.world.BlockEvent;
import net.minecraftforge.event.level.BlockEvent;
import net.minecraftforge.eventbus.api.SubscribeEvent;
public class NetworkNodeListener {
@SubscribeEvent
public void onBlockPlace(BlockEvent.EntityPlaceEvent e) {
if (!e.getWorld().isClientSide() && e.getEntity() instanceof Player) {
if (!e.getLevel().isClientSide() && e.getEntity() instanceof Player) {
Player player = (Player) e.getEntity();
INetworkNode placed = NetworkUtils.getNodeFromBlockEntity(e.getWorld().getBlockEntity(e.getPos()));
INetworkNode placed = NetworkUtils.getNodeFromBlockEntity(e.getLevel().getBlockEntity(e.getPos()));
if (placed != null) {
for (Direction facing : Direction.values()) {
INetworkNode node = NetworkUtils.getNodeFromBlockEntity(e.getWorld().getBlockEntity(e.getBlockSnapshot().getPos().relative(facing)));
INetworkNode node = NetworkUtils.getNodeFromBlockEntity(e.getLevel().getBlockEntity(e.getBlockSnapshot().getPos().relative(facing)));
if (node != null && node.getNetwork() != null && !node.getNetwork().getSecurityManager().hasPermission(Permission.BUILD, player)) {
LevelUtils.sendNoPermissionMessage(player);
@@ -38,7 +38,7 @@ public class NetworkNodeListener {
}
}
discoverNode(e.getWorld(), e.getPos());
discoverNode(e.getLevel(), e.getPos());
placed.setOwner(player.getGameProfile().getId());
}
@@ -59,8 +59,8 @@ public class NetworkNodeListener {
@SubscribeEvent
public void onBlockBreak(BlockEvent.BreakEvent e) {
if (!e.getWorld().isClientSide()) {
INetworkNode node = NetworkUtils.getNodeFromBlockEntity(e.getWorld().getBlockEntity(e.getPos()));
if (!e.getLevel().isClientSide()) {
INetworkNode node = NetworkUtils.getNodeFromBlockEntity(e.getLevel().getBlockEntity(e.getPos()));
if (node != null && node.getNetwork() != null && !node.getNetwork().getSecurityManager().hasPermission(Permission.BUILD, e.getPlayer())) {
LevelUtils.sendNoPermissionMessage(e.getPlayer());

View File

@@ -43,7 +43,7 @@ public class GridManager implements IGridManager {
return;
}
NetworkHooks.openGui(player, new GridMenuProvider(grid.getLeft(), grid.getRight()), buf -> {
NetworkHooks.openScreen(player, new GridMenuProvider(grid.getLeft(), grid.getRight()), buf -> {
buf.writeResourceLocation(id);
buf.writeBoolean(pos != null);

View File

@@ -6,7 +6,8 @@ import com.refinedmods.refinedstorage.api.network.grid.IGridTab;
import com.refinedmods.refinedstorage.api.render.IElementDrawer;
import com.refinedmods.refinedstorage.api.util.IFilter;
import net.minecraft.client.gui.screens.Screen;
import net.minecraft.network.chat.TextComponent;
import net.minecraft.network.chat.Component;
import net.minecraft.network.chat.MutableComponent;
import net.minecraft.world.item.ItemStack;
import net.minecraftforge.fluids.FluidStack;
@@ -17,7 +18,7 @@ import java.util.List;
public class GridTab implements IGridTab {
private final List<IFilter> filters;
@Nullable
private final TextComponent name;
private final MutableComponent name;
@Nonnull
private final ItemStack icon;
@Nullable
@@ -25,7 +26,7 @@ public class GridTab implements IGridTab {
public GridTab(List<IFilter> filters, String name, @Nonnull ItemStack icon, @Nullable FluidStack fluidIcon) {
this.filters = filters;
this.name = name.trim().isEmpty() ? null : new TextComponent(name);
this.name = name.trim().isEmpty() ? null : Component.literal(name);
this.icon = icon;
this.fluidIcon = fluidIcon;
}

View File

@@ -15,8 +15,8 @@ import com.refinedmods.refinedstorage.util.StackUtils;
import net.minecraft.server.level.ServerPlayer;
import net.minecraft.world.Containers;
import net.minecraft.world.item.ItemStack;
import net.minecraftforge.fluids.FluidAttributes;
import net.minecraftforge.fluids.FluidStack;
import net.minecraftforge.fluids.FluidType;
import net.minecraftforge.fluids.capability.CapabilityFluidHandler;
import net.minecraftforge.fluids.capability.IFluidHandler;
import org.apache.commons.lang3.tuple.Pair;
@@ -36,14 +36,14 @@ public class FluidGridHandler implements IFluidGridHandler {
public void onExtract(ServerPlayer player, UUID id, boolean shift) {
FluidStack stack = network.getFluidStorageCache().getList().get(id);
if (stack == null || stack.getAmount() < FluidAttributes.BUCKET_VOLUME || !network.getSecurityManager().hasPermission(Permission.EXTRACT, player) || !network.canRun()) {
if (stack == null || stack.getAmount() < FluidType.BUCKET_VOLUME || !network.getSecurityManager().hasPermission(Permission.EXTRACT, player) || !network.canRun()) {
return;
}
NetworkUtils.extractBucketFromPlayerInventoryOrNetwork(player, network, bucket -> bucket.getCapability(CapabilityFluidHandler.FLUID_HANDLER_ITEM_CAPABILITY, null).ifPresent(fluidHandler -> {
network.getFluidStorageTracker().changed(player, stack.copy());
FluidStack extracted = network.extractFluid(stack, FluidAttributes.BUCKET_VOLUME, Action.PERFORM);
FluidStack extracted = network.extractFluid(stack, FluidType.BUCKET_VOLUME, Action.PERFORM);
fluidHandler.fill(extracted, IFluidHandler.FluidAction.EXECUTE);

View File

@@ -133,7 +133,7 @@ public class ItemGridHandler implements IItemGridHandler {
int itemSize = item.getCount();
// We copy here because some mods change the NBT tag of an item after getting the stack limit
int maxItemSize = item.getItem().getItemStackLimit(item.copy());
int maxItemSize = item.getItem().getMaxStackSize(item.copy());
boolean single = (flags & EXTRACT_SINGLE) == EXTRACT_SINGLE;

View File

@@ -10,8 +10,8 @@ import com.refinedmods.refinedstorage.util.StackUtils;
import net.minecraft.server.level.ServerPlayer;
import net.minecraft.world.Containers;
import net.minecraft.world.item.ItemStack;
import net.minecraftforge.fluids.FluidAttributes;
import net.minecraftforge.fluids.FluidStack;
import net.minecraftforge.fluids.FluidType;
import net.minecraftforge.fluids.capability.CapabilityFluidHandler;
import net.minecraftforge.fluids.capability.IFluidHandler;
import org.apache.commons.lang3.tuple.Pair;
@@ -34,7 +34,7 @@ public class PortableFluidGridHandler implements IFluidGridHandler {
FluidStack stack = portableGrid.getFluidCache().getList().get(id);
if (stack == null || stack.getAmount() < FluidAttributes.BUCKET_VOLUME) {
if (stack == null || stack.getAmount() < FluidType.BUCKET_VOLUME) {
return;
}
@@ -56,7 +56,7 @@ public class PortableFluidGridHandler implements IFluidGridHandler {
bucket.getCapability(CapabilityFluidHandler.FLUID_HANDLER_ITEM_CAPABILITY, null).ifPresent(fluidHandler -> {
portableGrid.getFluidStorageTracker().changed(player, stack.copy());
fluidHandler.fill(portableGrid.getFluidStorage().extract(stack, FluidAttributes.BUCKET_VOLUME, IComparer.COMPARE_NBT, Action.PERFORM), IFluidHandler.FluidAction.EXECUTE);
fluidHandler.fill(portableGrid.getFluidStorage().extract(stack, FluidType.BUCKET_VOLUME, IComparer.COMPARE_NBT, Action.PERFORM), IFluidHandler.FluidAction.EXECUTE);
if (shift) {
if (!player.getInventory().add(fluidHandler.getContainer().copy())) {

View File

@@ -52,7 +52,7 @@ public class PortableItemGridHandler implements IItemGridHandler {
int itemSize = item.getCount();
// We copy here because some mods change the NBT tag of an item after getting the stack limit
int maxItemSize = item.getItem().getItemStackLimit(item.copy());
int maxItemSize = item.getItem().getMaxStackSize(item.copy());
boolean single = (flags & EXTRACT_SINGLE) == EXTRACT_SINGLE;

View File

@@ -8,7 +8,7 @@ import com.refinedmods.refinedstorage.api.network.item.INetworkItemManager;
import com.refinedmods.refinedstorage.api.network.item.INetworkItemProvider;
import com.refinedmods.refinedstorage.api.network.node.INetworkNode;
import com.refinedmods.refinedstorage.inventory.player.PlayerSlot;
import net.minecraft.network.chat.TranslatableComponent;
import net.minecraft.network.chat.Component;
import net.minecraft.world.entity.player.Player;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.phys.Vec3;
@@ -50,7 +50,7 @@ public class NetworkItemManager implements INetworkItemManager {
}
if (!inRange) {
player.sendMessage(new TranslatableComponent("misc.refinedstorage.network_item.out_of_range"), player.getUUID());
player.sendSystemMessage(Component.translatable("misc.refinedstorage.network_item.out_of_range"));
return;
}

View File

@@ -11,7 +11,7 @@ import com.refinedmods.refinedstorage.container.factory.CraftingMonitorMenuProvi
import com.refinedmods.refinedstorage.inventory.player.PlayerSlot;
import com.refinedmods.refinedstorage.item.WirelessCraftingMonitorItem;
import com.refinedmods.refinedstorage.util.LevelUtils;
import net.minecraft.network.chat.TranslatableComponent;
import net.minecraft.network.chat.Component;
import net.minecraft.server.level.ServerPlayer;
import net.minecraft.world.entity.player.Player;
import net.minecraft.world.item.ItemStack;
@@ -59,9 +59,11 @@ public class WirelessCraftingMonitorNetworkItem implements INetworkItem {
WirelessCraftingMonitor wirelessCraftingMonitor = new WirelessCraftingMonitor(stack, player.getServer(), slot);
NetworkHooks.openGui(
NetworkHooks.openScreen(
(ServerPlayer) player,
new CraftingMonitorMenuProvider(RSContainerMenus.WIRELESS_CRAFTING_MONITOR, wirelessCraftingMonitor, null), slot::writePlayerSlot);
new CraftingMonitorMenuProvider(RSContainerMenus.WIRELESS_CRAFTING_MONITOR.get(), wirelessCraftingMonitor, null),
slot::writePlayerSlot
);
drainEnergy(RS.SERVER_CONFIG.getWirelessCraftingMonitor().getOpenUsage());
@@ -86,6 +88,6 @@ public class WirelessCraftingMonitorNetworkItem implements INetworkItem {
}
private void sendOutOfEnergyMessage() {
player.sendMessage(new TranslatableComponent("misc.refinedstorage.network_item.out_of_energy", new TranslatableComponent(stack.getItem().getDescriptionId())), player.getUUID());
player.sendSystemMessage(Component.translatable("misc.refinedstorage.network_item.out_of_energy", Component.translatable(stack.getItem().getDescriptionId())));
}
}

View File

@@ -10,7 +10,7 @@ import com.refinedmods.refinedstorage.apiimpl.network.grid.factory.WirelessFluid
import com.refinedmods.refinedstorage.inventory.player.PlayerSlot;
import com.refinedmods.refinedstorage.item.WirelessFluidGridItem;
import com.refinedmods.refinedstorage.util.LevelUtils;
import net.minecraft.network.chat.TranslatableComponent;
import net.minecraft.network.chat.Component;
import net.minecraft.server.level.ServerPlayer;
import net.minecraft.world.entity.player.Player;
import net.minecraft.world.item.ItemStack;
@@ -79,6 +79,6 @@ public class WirelessFluidGridNetworkItem implements INetworkItem {
}
private void sendOutOfEnergyMessage() {
player.sendMessage(new TranslatableComponent("misc.refinedstorage.network_item.out_of_energy", new TranslatableComponent(stack.getItem().getDescriptionId())), player.getUUID());
player.sendSystemMessage(Component.translatable("misc.refinedstorage.network_item.out_of_energy", Component.translatable(stack.getItem().getDescriptionId())));
}
}

View File

@@ -10,7 +10,7 @@ import com.refinedmods.refinedstorage.apiimpl.network.grid.factory.WirelessGridG
import com.refinedmods.refinedstorage.inventory.player.PlayerSlot;
import com.refinedmods.refinedstorage.item.WirelessGridItem;
import com.refinedmods.refinedstorage.util.LevelUtils;
import net.minecraft.network.chat.TranslatableComponent;
import net.minecraft.network.chat.Component;
import net.minecraft.server.level.ServerPlayer;
import net.minecraft.world.entity.player.Player;
import net.minecraft.world.item.ItemStack;
@@ -79,6 +79,6 @@ public class WirelessGridNetworkItem implements INetworkItem {
}
private void sendOutOfEnergyMessage() {
player.sendMessage(new TranslatableComponent("misc.refinedstorage.network_item.out_of_energy", new TranslatableComponent(stack.getItem().getDescriptionId())), player.getUUID());
player.sendSystemMessage(Component.translatable("misc.refinedstorage.network_item.out_of_energy", Component.translatable(stack.getItem().getDescriptionId())));
}
}

View File

@@ -35,8 +35,8 @@ import net.minecraft.world.level.Level;
import net.minecraft.world.phys.BlockHitResult;
import net.minecraft.world.phys.Vec3;
import net.minecraftforge.common.ForgeHooks;
import net.minecraftforge.fluids.FluidAttributes;
import net.minecraftforge.fluids.FluidStack;
import net.minecraftforge.fluids.FluidType;
import net.minecraftforge.fluids.FluidUtil;
import net.minecraftforge.fluids.capability.IFluidHandler;
import net.minecraftforge.items.IItemHandler;
@@ -100,12 +100,12 @@ public class ConstructorNetworkNode extends NetworkNode implements IComparable,
private void extractAndPlaceFluid(FluidStack stack) {
BlockPos front = pos.relative(getDirection());
if (network.extractFluid(stack, FluidAttributes.BUCKET_VOLUME, compare, Action.SIMULATE).getAmount() < FluidAttributes.BUCKET_VOLUME) {
if (network.extractFluid(stack, FluidType.BUCKET_VOLUME, compare, Action.SIMULATE).getAmount() < FluidType.BUCKET_VOLUME) {
if (upgrades.hasUpgrade(UpgradeItem.Type.CRAFTING)) {
network.getCraftingManager().request(this, stack, FluidAttributes.BUCKET_VOLUME);
network.getCraftingManager().request(this, stack, FluidType.BUCKET_VOLUME);
}
} else if (!level.getBlockState(front).getFluidState().isSource()) {
FluidUtil.tryPlaceFluid(LevelUtils.getFakePlayer((ServerLevel) level, getOwner()), level, InteractionHand.MAIN_HAND, front, new NetworkFluidHandler(StackUtils.copy(stack, FluidAttributes.BUCKET_VOLUME)), stack);
FluidUtil.tryPlaceFluid(LevelUtils.getFakePlayer((ServerLevel) level, getOwner()), level, InteractionHand.MAIN_HAND, front, new NetworkFluidHandler(StackUtils.copy(stack, FluidType.BUCKET_VOLUME)), stack);
}
}

View File

@@ -12,13 +12,12 @@ import com.refinedmods.refinedstorage.inventory.item.UpgradeItemHandler;
import com.refinedmods.refinedstorage.inventory.item.validator.PatternItemValidator;
import com.refinedmods.refinedstorage.inventory.listener.NetworkNodeInventoryListener;
import com.refinedmods.refinedstorage.item.UpgradeItem;
import com.refinedmods.refinedstorage.util.StackUtils;
import com.refinedmods.refinedstorage.util.LevelUtils;
import com.refinedmods.refinedstorage.util.StackUtils;
import net.minecraft.core.BlockPos;
import net.minecraft.core.Direction;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.network.chat.Component;
import net.minecraft.network.chat.TranslatableComponent;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.server.level.ServerLevel;
import net.minecraft.world.Nameable;
@@ -40,7 +39,7 @@ import java.util.UUID;
public class CrafterNetworkNode extends NetworkNode implements ICraftingPatternContainer {
public static final ResourceLocation ID = new ResourceLocation(RS.ID, "crafter");
private static final Component DEFAULT_NAME = new TranslatableComponent("gui.refinedstorage.crafter");
private static final Component DEFAULT_NAME = Component.translatable("gui.refinedstorage.crafter");
private static final String NBT_DISPLAY_NAME = "DisplayName";
private static final String NBT_UUID = "CrafterUuid";
private static final String NBT_MODE = "Mode";
@@ -50,7 +49,8 @@ public class CrafterNetworkNode extends NetworkNode implements ICraftingPatternC
private final UpgradeItemHandler upgrades = (UpgradeItemHandler) new UpgradeItemHandler(4, UpgradeItem.Type.SPEED)
.addListener(new NetworkNodeInventoryListener(this));
// Used to prevent infinite recursion on getRootContainer() when there's e.g. two crafters facing each other.
private boolean visited = false; private final BaseItemHandler patternsInventory = new BaseItemHandler(9) {
private boolean visited = false;
private final BaseItemHandler patternsInventory = new BaseItemHandler(9) {
@Override
public int getSlotLimit(int slot) {
return 1;
@@ -86,6 +86,7 @@ public class CrafterNetworkNode extends NetworkNode implements ICraftingPatternC
private Component displayName;
@Nullable
private UUID uuid = null;
public CrafterNetworkNode(Level level, BlockPos pos) {
super(level, pos);
}
@@ -309,7 +310,7 @@ public class CrafterNetworkNode extends NetworkNode implements ICraftingPatternC
}
if (facing != null) {
return new TranslatableComponent(level.getBlockState(facing.getBlockPos()).getBlock().getDescriptionId());
return Component.translatable(level.getBlockState(facing.getBlockPos()).getBlock().getDescriptionId());
}
return DEFAULT_NAME;
@@ -448,6 +449,4 @@ public class CrafterNetworkNode extends NetworkNode implements ICraftingPatternC
}
}

View File

@@ -13,7 +13,6 @@ import com.refinedmods.refinedstorage.blockentity.data.BlockEntitySynchronizatio
import net.minecraft.core.BlockPos;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.network.chat.Component;
import net.minecraft.network.chat.TranslatableComponent;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.server.level.ServerPlayer;
import net.minecraft.world.entity.player.Player;
@@ -51,7 +50,7 @@ public class CraftingMonitorNetworkNode extends NetworkNode implements ICrafting
@Override
public Component getTitle() {
return new TranslatableComponent("gui.refinedstorage.crafting_monitor");
return Component.translatable("gui.refinedstorage.crafting_monitor");
}
@Override

View File

@@ -37,9 +37,9 @@ import net.minecraft.world.phys.AABB;
import net.minecraft.world.phys.BlockHitResult;
import net.minecraft.world.phys.Vec3;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.event.world.BlockEvent;
import net.minecraftforge.fluids.FluidAttributes;
import net.minecraftforge.event.level.BlockEvent;
import net.minecraftforge.fluids.FluidStack;
import net.minecraftforge.fluids.FluidType;
import net.minecraftforge.fluids.IFluidBlock;
import net.minecraftforge.fluids.capability.IFluidHandler;
import net.minecraftforge.items.IItemHandler;
@@ -61,12 +61,14 @@ public class DestructorNetworkNode extends NetworkNode implements IComparable, I
private final BaseItemHandler itemFilters = new BaseItemHandler(9).addListener(new NetworkNodeInventoryListener(this));
private final FluidInventory fluidFilters = new FluidInventory(9).addListener(new NetworkNodeFluidInventoryListener(this));
private final CoverManager coverManager;
private int compare = IComparer.COMPARE_NBT; private final UpgradeItemHandler upgrades = (UpgradeItemHandler) new UpgradeItemHandler(4, UpgradeItem.Type.SPEED, UpgradeItem.Type.SILK_TOUCH, UpgradeItem.Type.FORTUNE_1, UpgradeItem.Type.FORTUNE_2, UpgradeItem.Type.FORTUNE_3)
private int compare = IComparer.COMPARE_NBT;
private final UpgradeItemHandler upgrades = (UpgradeItemHandler) new UpgradeItemHandler(4, UpgradeItem.Type.SPEED, UpgradeItem.Type.SILK_TOUCH, UpgradeItem.Type.FORTUNE_1, UpgradeItem.Type.FORTUNE_2, UpgradeItem.Type.FORTUNE_3)
.addListener(new NetworkNodeInventoryListener(this))
.addListener((handler, slot, reading) -> tool = createTool());
private int mode = IWhitelistBlacklist.BLACKLIST;
private int type = IType.ITEMS;
private boolean pickupItem = false;
public DestructorNetworkNode(Level level, BlockPos pos) {
super(level, pos);
this.coverManager = new CoverManager(this);
@@ -92,7 +94,9 @@ public class DestructorNetworkNode extends NetworkNode implements IComparable, I
breakFluid();
}
}
} private ItemStack tool = createTool();
}
private ItemStack tool = createTool();
private void pickupItems() {
BlockPos front = pos.relative(getDirection());
@@ -178,7 +182,7 @@ public class DestructorNetworkNode extends NetworkNode implements IComparable, I
if (frontBlockState.getValue(LiquidBlock.LEVEL) == 0) {
Fluid fluid = ((LiquidBlock) frontBlock).getFluid();
FluidStack stack = new FluidStack(fluid, FluidAttributes.BUCKET_VOLUME);
FluidStack stack = new FluidStack(fluid, FluidType.BUCKET_VOLUME);
if (IWhitelistBlacklist.acceptsFluid(fluidFilters, mode, compare, stack) &&
network.insertFluid(stack, stack.getAmount(), Action.SIMULATE).isEmpty()) {
@@ -358,8 +362,4 @@ public class DestructorNetworkNode extends NetworkNode implements IComparable, I
}
}

View File

@@ -15,15 +15,15 @@ import com.refinedmods.refinedstorage.inventory.item.UpgradeItemHandler;
import com.refinedmods.refinedstorage.inventory.listener.NetworkNodeFluidInventoryListener;
import com.refinedmods.refinedstorage.inventory.listener.NetworkNodeInventoryListener;
import com.refinedmods.refinedstorage.item.UpgradeItem;
import com.refinedmods.refinedstorage.util.StackUtils;
import com.refinedmods.refinedstorage.util.LevelUtils;
import com.refinedmods.refinedstorage.util.StackUtils;
import net.minecraft.core.BlockPos;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.level.Level;
import net.minecraftforge.fluids.FluidAttributes;
import net.minecraftforge.fluids.FluidStack;
import net.minecraftforge.fluids.FluidType;
import net.minecraftforge.fluids.capability.IFluidHandler;
import net.minecraftforge.items.IItemHandler;
import net.minecraftforge.items.IItemHandlerModifiable;
@@ -39,7 +39,8 @@ public class ExporterNetworkNode extends NetworkNode implements IComparable, ITy
private final BaseItemHandler itemFilters = new BaseItemHandler(9).addListener(new NetworkNodeInventoryListener(this));
private final FluidInventory fluidFilters = new FluidInventory(9).addListener(new NetworkNodeFluidInventoryListener(this));
private final CoverManager coverManager;
private int compare = IComparer.COMPARE_NBT; private final UpgradeItemHandler upgrades = (UpgradeItemHandler) new UpgradeItemHandler(4, UpgradeItem.Type.SPEED, UpgradeItem.Type.CRAFTING, UpgradeItem.Type.STACK, UpgradeItem.Type.REGULATOR)
private int compare = IComparer.COMPARE_NBT;
private final UpgradeItemHandler upgrades = (UpgradeItemHandler) new UpgradeItemHandler(4, UpgradeItem.Type.SPEED, UpgradeItem.Type.CRAFTING, UpgradeItem.Type.STACK, UpgradeItem.Type.REGULATOR)
.addListener(new NetworkNodeInventoryListener(this))
.addListener((handler, slot, reading) -> {
if (!reading && !getUpgrades().hasUpgrade(UpgradeItem.Type.REGULATOR)) {
@@ -57,8 +58,8 @@ public class ExporterNetworkNode extends NetworkNode implements IComparable, ITy
for (int i = 0; i < fluidFilters.getSlots(); ++i) {
FluidStack filteredFluid = fluidFilters.getFluid(i);
if (!filteredFluid.isEmpty() && filteredFluid.getAmount() != FluidAttributes.BUCKET_VOLUME) {
filteredFluid.setAmount(FluidAttributes.BUCKET_VOLUME);
if (!filteredFluid.isEmpty() && filteredFluid.getAmount() != FluidType.BUCKET_VOLUME) {
filteredFluid.setAmount(FluidType.BUCKET_VOLUME);
changed = true;
}
}
@@ -173,7 +174,7 @@ public class ExporterNetworkNode extends NetworkNode implements IComparable, ITy
FluidStack stack = fluids[filterSlot];
if (stack != null) {
int toExtract = FluidAttributes.BUCKET_VOLUME * upgrades.getStackInteractCount();
int toExtract = FluidType.BUCKET_VOLUME * upgrades.getStackInteractCount();
FluidStack stackInStorage = network.getFluidStorageCache().getList().get(stack, compare);
@@ -332,6 +333,4 @@ public class ExporterNetworkNode extends NetworkNode implements IComparable, ITy
}
}

View File

@@ -28,7 +28,7 @@ import net.minecraft.core.BlockPos;
import net.minecraft.core.Direction;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.network.chat.Component;
import net.minecraft.network.chat.TranslatableComponent;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.level.Level;
@@ -248,7 +248,7 @@ public class ExternalStorageNetworkNode extends NetworkNode implements IStorageP
@Override
public Component getTitle() {
return new TranslatableComponent("gui.refinedstorage:external_storage");
return Component.translatable("gui.refinedstorage:external_storage");
}
@Override

View File

@@ -23,7 +23,7 @@ import net.minecraft.resources.ResourceLocation;
import net.minecraft.server.level.ServerLevel;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.level.Level;
import net.minecraftforge.fluids.FluidAttributes;
import net.minecraftforge.fluids.FluidType;
import net.minecraftforge.fluids.FluidStack;
import net.minecraftforge.fluids.capability.IFluidHandler;
import net.minecraftforge.fluids.capability.templates.FluidTank;
@@ -85,7 +85,7 @@ public class FluidInterfaceNetworkNode extends NetworkNode {
}
if (ticks % upgrades.getSpeed() == 0) {
FluidStack drained = tankIn.drain(FluidAttributes.BUCKET_VOLUME * upgrades.getStackInteractCount(), IFluidHandler.FluidAction.EXECUTE);
FluidStack drained = tankIn.drain(FluidType.BUCKET_VOLUME * upgrades.getStackInteractCount(), IFluidHandler.FluidAction.EXECUTE);
// Drain in tank
if (!drained.isEmpty()) {

View File

@@ -17,6 +17,9 @@ import com.refinedmods.refinedstorage.apiimpl.storage.cache.listener.FluidGridSt
import com.refinedmods.refinedstorage.apiimpl.storage.cache.listener.ItemGridStorageCacheListener;
import com.refinedmods.refinedstorage.block.GridBlock;
import com.refinedmods.refinedstorage.block.NetworkNodeBlock;
import com.refinedmods.refinedstorage.blockentity.config.IType;
import com.refinedmods.refinedstorage.blockentity.data.BlockEntitySynchronizationManager;
import com.refinedmods.refinedstorage.blockentity.grid.GridBlockEntity;
import com.refinedmods.refinedstorage.inventory.fluid.FluidInventory;
import com.refinedmods.refinedstorage.inventory.item.BaseItemHandler;
import com.refinedmods.refinedstorage.inventory.item.FilterItemHandler;
@@ -24,14 +27,10 @@ import com.refinedmods.refinedstorage.inventory.item.validator.ItemValidator;
import com.refinedmods.refinedstorage.inventory.listener.NetworkNodeFluidInventoryListener;
import com.refinedmods.refinedstorage.inventory.listener.NetworkNodeInventoryListener;
import com.refinedmods.refinedstorage.item.PatternItem;
import com.refinedmods.refinedstorage.blockentity.config.IType;
import com.refinedmods.refinedstorage.blockentity.data.BlockEntitySynchronizationManager;
import com.refinedmods.refinedstorage.blockentity.grid.GridBlockEntity;
import com.refinedmods.refinedstorage.util.StackUtils;
import net.minecraft.core.BlockPos;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.network.chat.Component;
import net.minecraft.network.chat.TranslatableComponent;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.server.level.ServerPlayer;
import net.minecraft.world.Container;
@@ -46,8 +45,8 @@ import net.minecraft.world.item.crafting.RecipeType;
import net.minecraft.world.level.Level;
import net.minecraft.world.level.block.entity.BlockEntity;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraftforge.fluids.FluidAttributes;
import net.minecraftforge.fluids.FluidStack;
import net.minecraftforge.fluids.FluidType;
import net.minecraftforge.items.IItemHandler;
import net.minecraftforge.items.IItemHandlerModifiable;
import net.minecraftforge.items.wrapper.CombinedInvWrapper;
@@ -94,6 +93,11 @@ public class GridNetworkNode extends NetworkNode implements INetworkAwareGrid, I
return false;
}
@Override
public ItemStack quickMoveStack(Player p_38941_, int p_38942_) {
return ItemStack.EMPTY;
}
@Override
public void slotsChanged(Container inventory) {
if (!level.isClientSide) {
@@ -101,7 +105,7 @@ public class GridNetworkNode extends NetworkNode implements INetworkAwareGrid, I
}
}
};
private final FluidInventory processingMatrixFluids = new FluidInventory(PROCESSING_MATRIX_SIZE * 2, FluidAttributes.BUCKET_VOLUME * 64)
private final FluidInventory processingMatrixFluids = new FluidInventory(PROCESSING_MATRIX_SIZE * 2, FluidType.BUCKET_VOLUME * 64)
.addListener(new NetworkNodeFluidInventoryListener(this))
.addListener((handler, slot, reading) -> {
if (!reading && slot < PROCESSING_MATRIX_SIZE) {
@@ -179,6 +183,7 @@ public class GridNetworkNode extends NetworkNode implements INetworkAwareGrid, I
private boolean exactPattern = true;
private boolean processingPattern = false;
private int processingType = IType.ITEMS;
public GridNetworkNode(Level level, BlockPos pos, GridType type) {
super(level, pos);
@@ -293,13 +298,13 @@ public class GridNetworkNode extends NetworkNode implements INetworkAwareGrid, I
public Component getTitle() {
switch (type) {
case CRAFTING:
return new TranslatableComponent("gui.refinedstorage.crafting_grid");
return Component.translatable("gui.refinedstorage.crafting_grid");
case PATTERN:
return new TranslatableComponent("gui.refinedstorage.pattern_grid");
return Component.translatable("gui.refinedstorage.pattern_grid");
case FLUID:
return new TranslatableComponent("gui.refinedstorage.fluid_grid");
return Component.translatable("gui.refinedstorage.fluid_grid");
default:
return new TranslatableComponent("gui.refinedstorage.grid");
return Component.translatable("gui.refinedstorage.grid");
}
}
@@ -775,10 +780,4 @@ public class GridNetworkNode extends NetworkNode implements INetworkAwareGrid, I
}
}

View File

@@ -5,27 +5,27 @@ import com.refinedmods.refinedstorage.api.network.node.ICoverable;
import com.refinedmods.refinedstorage.api.util.Action;
import com.refinedmods.refinedstorage.api.util.IComparer;
import com.refinedmods.refinedstorage.apiimpl.network.node.cover.CoverManager;
import com.refinedmods.refinedstorage.blockentity.DiskDriveBlockEntity;
import com.refinedmods.refinedstorage.blockentity.ImporterBlockEntity;
import com.refinedmods.refinedstorage.blockentity.config.IComparable;
import com.refinedmods.refinedstorage.blockentity.config.IType;
import com.refinedmods.refinedstorage.blockentity.config.IWhitelistBlacklist;
import com.refinedmods.refinedstorage.inventory.fluid.FluidInventory;
import com.refinedmods.refinedstorage.inventory.item.BaseItemHandler;
import com.refinedmods.refinedstorage.inventory.item.UpgradeItemHandler;
import com.refinedmods.refinedstorage.inventory.listener.NetworkNodeFluidInventoryListener;
import com.refinedmods.refinedstorage.inventory.listener.NetworkNodeInventoryListener;
import com.refinedmods.refinedstorage.item.UpgradeItem;
import com.refinedmods.refinedstorage.blockentity.DiskDriveBlockEntity;
import com.refinedmods.refinedstorage.blockentity.ImporterBlockEntity;
import com.refinedmods.refinedstorage.blockentity.config.IComparable;
import com.refinedmods.refinedstorage.blockentity.config.IType;
import com.refinedmods.refinedstorage.blockentity.config.IWhitelistBlacklist;
import com.refinedmods.refinedstorage.util.StackUtils;
import com.refinedmods.refinedstorage.util.LevelUtils;
import com.refinedmods.refinedstorage.util.StackUtils;
import net.minecraft.core.BlockPos;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.level.Level;
import net.minecraft.world.level.block.entity.BlockEntity;
import net.minecraftforge.fluids.FluidAttributes;
import net.minecraftforge.fluids.FluidStack;
import net.minecraftforge.fluids.FluidType;
import net.minecraftforge.fluids.capability.IFluidHandler;
import net.minecraftforge.items.IItemHandler;
import net.minecraftforge.items.IItemHandlerModifiable;
@@ -103,12 +103,12 @@ public class ImporterNetworkNode extends NetworkNode implements IComparable, IWh
IFluidHandler handler = LevelUtils.getFluidHandler(getFacingBlockEntity(), getDirection().getOpposite());
if (handler != null) {
FluidStack stack = handler.drain(FluidAttributes.BUCKET_VOLUME, IFluidHandler.FluidAction.SIMULATE);
FluidStack stack = handler.drain(FluidType.BUCKET_VOLUME, IFluidHandler.FluidAction.SIMULATE);
if (!stack.isEmpty() &&
IWhitelistBlacklist.acceptsFluid(fluidFilters, mode, compare, stack) &&
network.insertFluid(stack, stack.getAmount(), Action.SIMULATE).isEmpty()) {
FluidStack toDrain = handler.drain(FluidAttributes.BUCKET_VOLUME * upgrades.getStackInteractCount(), IFluidHandler.FluidAction.SIMULATE);
FluidStack toDrain = handler.drain(FluidType.BUCKET_VOLUME * upgrades.getStackInteractCount(), IFluidHandler.FluidAction.SIMULATE);
if (!toDrain.isEmpty()) {
FluidStack remainder = network.insertFluidTracked(toDrain, toDrain.getAmount());

View File

@@ -24,7 +24,7 @@ import net.minecraft.world.InteractionResult;
import net.minecraft.world.entity.player.Player;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.level.Level;
import net.minecraftforge.fluids.FluidAttributes;
import net.minecraftforge.fluids.FluidType;
import net.minecraftforge.fluids.FluidStack;
import net.minecraftforge.fluids.capability.CapabilityFluidHandler;
import net.minecraftforge.fluids.capability.IFluidHandler;
@@ -50,7 +50,7 @@ public class StorageMonitorNetworkNode extends NetworkNode implements IComparabl
}
});
private final FluidInventory fluidFilter = new FluidInventory(1, FluidAttributes.BUCKET_VOLUME)
private final FluidInventory fluidFilter = new FluidInventory(1, FluidType.BUCKET_VOLUME)
.addListener((handler, slot, reading) -> {
if (!reading) {
LevelUtils.updateBlock(level, pos);
@@ -212,7 +212,7 @@ public class StorageMonitorNetworkNode extends NetworkNode implements IComparabl
}
FluidStack stack = network.getFluidStorageCache().getList().get(filter);
if (stack == null || stack.getAmount() < FluidAttributes.BUCKET_VOLUME) {
if (stack == null || stack.getAmount() < FluidType.BUCKET_VOLUME) {
return;
}
@@ -221,7 +221,7 @@ public class StorageMonitorNetworkNode extends NetworkNode implements IComparabl
NetworkUtils.extractBucketFromPlayerInventoryOrNetwork(player, network, bucket -> bucket.getCapability(CapabilityFluidHandler.FLUID_HANDLER_ITEM_CAPABILITY, null).ifPresent(fluidHandler -> {
network.getFluidStorageTracker().changed(player, stack.copy());
fluidHandler.fill(network.extractFluid(stack, FluidAttributes.BUCKET_VOLUME, Action.PERFORM), IFluidHandler.FluidAction.EXECUTE);
fluidHandler.fill(network.extractFluid(stack, FluidType.BUCKET_VOLUME, Action.PERFORM), IFluidHandler.FluidAction.EXECUTE);
if (!player.getInventory().add(fluidHandler.getContainer().copy())) {
Containers.dropItemStack(player.getCommandSenderWorld(), player.getX(), player.getY(), player.getZ(), fluidHandler.getContainer());

View File

@@ -29,7 +29,7 @@ import net.minecraft.resources.ResourceLocation;
import net.minecraft.server.level.ServerLevel;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.level.Level;
import net.minecraftforge.fluids.FluidAttributes;
import net.minecraftforge.fluids.FluidType;
import net.minecraftforge.fluids.FluidStack;
import net.minecraftforge.items.IItemHandler;
import net.minecraftforge.items.IItemHandlerModifiable;
@@ -104,7 +104,7 @@ public class DiskManipulatorNetworkNode extends NetworkNode implements IComparab
int count = super.getStackInteractCount();
if (type == IType.FLUIDS) {
count *= FluidAttributes.BUCKET_VOLUME;
count *= FluidType.BUCKET_VOLUME;
}
return count;

View File

@@ -26,7 +26,7 @@ import com.refinedmods.refinedstorage.util.AccessTypeUtils;
import net.minecraft.core.BlockPos;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.network.chat.Component;
import net.minecraft.network.chat.TranslatableComponent;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.server.level.ServerLevel;
import net.minecraft.world.entity.player.Player;
@@ -247,7 +247,7 @@ public class FluidStorageNetworkNode extends NetworkNode implements IStorageScre
@Override
public Component getTitle() {
return new TranslatableComponent("block.refinedstorage." + type.getName() + "_fluid_storage_block");
return Component.translatable("block.refinedstorage." + type.getName() + "_fluid_storage_block");
}
@Override

View File

@@ -27,7 +27,7 @@ import com.refinedmods.refinedstorage.util.StackUtils;
import net.minecraft.core.BlockPos;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.network.chat.Component;
import net.minecraft.network.chat.TranslatableComponent;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.server.level.ServerLevel;
import net.minecraft.world.entity.player.Player;
@@ -246,7 +246,7 @@ public class StorageNetworkNode extends NetworkNode implements IStorageScreen, I
@Override
public Component getTitle() {
return new TranslatableComponent("block.refinedstorage." + type.getName() + "_storage_block");
return Component.translatable("block.refinedstorage." + type.getName() + "_storage_block");
}
@Override

View File

@@ -2,7 +2,7 @@ package com.refinedmods.refinedstorage.apiimpl.util;
import com.refinedmods.refinedstorage.api.util.IQuantityFormatter;
import com.refinedmods.refinedstorage.apiimpl.API;
import net.minecraftforge.fluids.FluidAttributes;
import net.minecraftforge.fluids.FluidType;
import java.math.RoundingMode;
import java.text.DecimalFormat;
@@ -60,12 +60,12 @@ public class QuantityFormatter implements IQuantityFormatter {
@Override
public String formatInBucketForm(int qty) {
return bucketFormatter.format((float) qty / (float) FluidAttributes.BUCKET_VOLUME) + " B";
return bucketFormatter.format((float) qty / (float) FluidType.BUCKET_VOLUME) + " B";
}
@Override
public String formatInBucketFormWithOnlyTrailingDigitsIfZero(int qty) {
float amountRaw = ((float) qty / (float) FluidAttributes.BUCKET_VOLUME);
float amountRaw = ((float) qty / (float) FluidType.BUCKET_VOLUME);
int amount = (int) amountRaw;
if (amount >= 1) {

View File

@@ -10,7 +10,8 @@ import com.refinedmods.refinedstorage.util.CollisionUtils;
import com.refinedmods.refinedstorage.util.NetworkUtils;
import net.minecraft.core.BlockPos;
import net.minecraft.core.Direction;
import net.minecraft.network.chat.TranslatableComponent;
import net.minecraft.network.chat.Component;
import net.minecraft.server.level.ServerPlayer;
import net.minecraft.world.InteractionHand;
import net.minecraft.world.InteractionResult;
@@ -92,10 +93,10 @@ public class ConstructorBlock extends CableBlock {
@SuppressWarnings("deprecation")
public InteractionResult use(BlockState state, Level level, BlockPos pos, Player player, InteractionHand hand, BlockHitResult hit) {
if (!level.isClientSide && CollisionUtils.isInBounds(getHeadShape(state), pos, hit.getLocation())) {
return NetworkUtils.attemptModify(level, pos, player, () -> NetworkHooks.openGui(
return NetworkUtils.attemptModify(level, pos, player, () -> NetworkHooks.openScreen(
(ServerPlayer) player,
new BlockEntityMenuProvider<ConstructorBlockEntity>(
new TranslatableComponent("gui.refinedstorage.constructor"),
Component.translatable("gui.refinedstorage.constructor"),
(blockEntity, windowId, inventory, p) -> new ConstructorContainerMenu(blockEntity, player, windowId),
pos
),

View File

@@ -5,14 +5,13 @@ import com.refinedmods.refinedstorage.api.network.INetwork;
import com.refinedmods.refinedstorage.api.network.NetworkType;
import com.refinedmods.refinedstorage.apiimpl.API;
import com.refinedmods.refinedstorage.apiimpl.network.Network;
import com.refinedmods.refinedstorage.container.ControllerContainerMenu;
import com.refinedmods.refinedstorage.blockentity.ControllerBlockEntity;
import com.refinedmods.refinedstorage.container.ControllerContainerMenu;
import com.refinedmods.refinedstorage.util.BlockUtils;
import com.refinedmods.refinedstorage.util.ColorMap;
import com.refinedmods.refinedstorage.util.NetworkUtils;
import net.minecraft.core.BlockPos;
import net.minecraft.network.chat.Component;
import net.minecraft.network.chat.TranslatableComponent;
import net.minecraft.server.level.ServerLevel;
import net.minecraft.server.level.ServerPlayer;
import net.minecraft.util.StringRepresentable;
@@ -106,12 +105,12 @@ public class ControllerBlock extends BaseBlock implements EntityBlock {
}
if (!level.isClientSide) {
return NetworkUtils.attemptModify(level, pos, player, () -> NetworkHooks.openGui(
return NetworkUtils.attemptModify(level, pos, player, () -> NetworkHooks.openScreen(
(ServerPlayer) player,
new MenuProvider() {
@Override
public Component getDisplayName() {
return new TranslatableComponent("gui.refinedstorage." + (ControllerBlock.this.getType() == NetworkType.CREATIVE ? "creative_" : "") + "controller");
return Component.translatable("gui.refinedstorage." + (ControllerBlock.this.getType() == NetworkType.CREATIVE ? "creative_" : "") + "controller");
}
@Override

View File

@@ -55,7 +55,7 @@ public class CrafterBlock extends ColoredNetworkBlock {
}
if (!level.isClientSide) {
return NetworkUtils.attempt(level, pos, player, () -> NetworkHooks.openGui(
return NetworkUtils.attempt(level, pos, player, () -> NetworkHooks.openScreen(
(ServerPlayer) player,
new BlockEntityMenuProvider<CrafterBlockEntity>(
((CrafterBlockEntity) level.getBlockEntity(pos)).getNode().getName(),

View File

@@ -41,7 +41,7 @@ public class CrafterManagerBlock extends ColoredNetworkBlock {
}
if (!level.isClientSide) {
return NetworkUtils.attempt(level, pos, player, () -> NetworkHooks.openGui(
return NetworkUtils.attempt(level, pos, player, () -> NetworkHooks.openScreen(
(ServerPlayer) player,
new CrafterManagerMenuProvider((CrafterManagerBlockEntity) level.getBlockEntity(pos)),
buf -> CrafterManagerMenuProvider.writeToBuffer(buf, level, pos)

View File

@@ -44,9 +44,9 @@ public class CraftingMonitorBlock extends ColoredNetworkBlock {
if (!level.isClientSide) {
CraftingMonitorBlockEntity blockEntity = (CraftingMonitorBlockEntity) level.getBlockEntity(pos);
return NetworkUtils.attempt(level, pos, player, () -> NetworkHooks.openGui(
return NetworkUtils.attempt(level, pos, player, () -> NetworkHooks.openScreen(
(ServerPlayer) player,
new CraftingMonitorMenuProvider(RSContainerMenus.CRAFTING_MONITOR, blockEntity.getNode(), blockEntity),
new CraftingMonitorMenuProvider(RSContainerMenus.CRAFTING_MONITOR.get(), blockEntity.getNode(), blockEntity),
pos
), Permission.MODIFY, Permission.AUTOCRAFTING);
}

View File

@@ -10,7 +10,8 @@ import com.refinedmods.refinedstorage.util.CollisionUtils;
import com.refinedmods.refinedstorage.util.NetworkUtils;
import net.minecraft.core.BlockPos;
import net.minecraft.core.Direction;
import net.minecraft.network.chat.TranslatableComponent;
import net.minecraft.network.chat.Component;
import net.minecraft.server.level.ServerPlayer;
import net.minecraft.world.InteractionHand;
import net.minecraft.world.InteractionResult;
@@ -92,10 +93,10 @@ public class DestructorBlock extends CableBlock {
@SuppressWarnings("deprecation")
public InteractionResult use(BlockState state, Level level, BlockPos pos, Player player, InteractionHand handIn, BlockHitResult hit) {
if (!level.isClientSide && CollisionUtils.isInBounds(getHeadShape(state), pos, hit.getLocation())) {
return NetworkUtils.attemptModify(level, pos, player, () -> NetworkHooks.openGui(
return NetworkUtils.attemptModify(level, pos, player, () -> NetworkHooks.openScreen(
(ServerPlayer) player,
new BlockEntityMenuProvider<DestructorBlockEntity>(
new TranslatableComponent("gui.refinedstorage.destructor"),
Component.translatable("gui.refinedstorage.destructor"),
(blockEntity, windowId, inventory, p) -> new DestructorContainerMenu(blockEntity, player, windowId),
pos
),

View File

@@ -9,7 +9,8 @@ import com.refinedmods.refinedstorage.util.ColorMap;
import com.refinedmods.refinedstorage.util.NetworkUtils;
import net.minecraft.core.BlockPos;
import net.minecraft.core.Direction;
import net.minecraft.network.chat.TranslatableComponent;
import net.minecraft.network.chat.Component;
import net.minecraft.server.level.ServerPlayer;
import net.minecraft.world.InteractionHand;
import net.minecraft.world.InteractionResult;
@@ -78,10 +79,10 @@ public class DetectorBlock extends ColoredNetworkBlock {
}
if (!level.isClientSide) {
return NetworkUtils.attemptModify(level, pos, player, () -> NetworkHooks.openGui(
return NetworkUtils.attemptModify(level, pos, player, () -> NetworkHooks.openScreen(
(ServerPlayer) player,
new BlockEntityMenuProvider<DetectorBlockEntity>(
new TranslatableComponent("gui.refinedstorage.detector"),
Component.translatable("gui.refinedstorage.detector"),
(blockEntity, windowId, inventory, p) -> new DetectorContainerMenu(blockEntity, player, windowId),
pos
),

View File

@@ -6,7 +6,8 @@ import com.refinedmods.refinedstorage.blockentity.DiskDriveBlockEntity;
import com.refinedmods.refinedstorage.util.BlockUtils;
import com.refinedmods.refinedstorage.util.NetworkUtils;
import net.minecraft.core.BlockPos;
import net.minecraft.network.chat.TranslatableComponent;
import net.minecraft.network.chat.Component;
import net.minecraft.server.level.ServerPlayer;
import net.minecraft.world.InteractionHand;
import net.minecraft.world.InteractionResult;
@@ -36,10 +37,10 @@ public class DiskDriveBlock extends NetworkNodeBlock {
@SuppressWarnings("deprecation")
public InteractionResult use(BlockState state, Level level, BlockPos pos, Player player, InteractionHand hand, BlockHitResult rayTraceResult) {
if (!level.isClientSide) {
return NetworkUtils.attemptModify(level, pos, player, () -> NetworkHooks.openGui(
return NetworkUtils.attemptModify(level, pos, player, () -> NetworkHooks.openScreen(
(ServerPlayer) player,
new BlockEntityMenuProvider<DiskDriveBlockEntity>(
new TranslatableComponent("gui.refinedstorage.disk_drive"),
Component.translatable("gui.refinedstorage.disk_drive"),
(blockEntity, windowId, inventory, p) -> new DiskDriveContainerMenu(blockEntity, p, windowId),
pos
),

View File

@@ -7,7 +7,8 @@ import com.refinedmods.refinedstorage.blockentity.DiskManipulatorBlockEntity;
import com.refinedmods.refinedstorage.util.BlockUtils;
import com.refinedmods.refinedstorage.util.NetworkUtils;
import net.minecraft.core.BlockPos;
import net.minecraft.network.chat.TranslatableComponent;
import net.minecraft.network.chat.Component;
import net.minecraft.server.level.ServerPlayer;
import net.minecraft.world.InteractionHand;
import net.minecraft.world.InteractionResult;
@@ -37,10 +38,10 @@ public class DiskManipulatorBlock extends ColoredNetworkBlock {
}
if (!level.isClientSide) {
return NetworkUtils.attemptModify(level, pos, player, () -> NetworkHooks.openGui(
return NetworkUtils.attemptModify(level, pos, player, () -> NetworkHooks.openScreen(
(ServerPlayer) player,
new BlockEntityMenuProvider<DiskManipulatorBlockEntity>(
new TranslatableComponent("gui.refinedstorage.disk_manipulator"),
Component.translatable("gui.refinedstorage.disk_manipulator"),
(blockEntity, windowId, inventory, p) -> new DiskManipulatorContainerMenu(blockEntity, p, windowId),
pos
),

View File

@@ -10,7 +10,8 @@ import com.refinedmods.refinedstorage.util.CollisionUtils;
import com.refinedmods.refinedstorage.util.NetworkUtils;
import net.minecraft.core.BlockPos;
import net.minecraft.core.Direction;
import net.minecraft.network.chat.TranslatableComponent;
import net.minecraft.network.chat.Component;
import net.minecraft.server.level.ServerPlayer;
import net.minecraft.world.InteractionHand;
import net.minecraft.world.InteractionResult;
@@ -116,10 +117,10 @@ public class ExporterBlock extends CableBlock {
@SuppressWarnings("deprecation")
public InteractionResult use(BlockState state, Level level, BlockPos pos, Player player, InteractionHand hand, BlockHitResult hit) {
if (!level.isClientSide && CollisionUtils.isInBounds(getLineShape(state), pos, hit.getLocation())) {
return NetworkUtils.attemptModify(level, pos, player, () -> NetworkHooks.openGui(
return NetworkUtils.attemptModify(level, pos, player, () -> NetworkHooks.openScreen(
(ServerPlayer) player,
new BlockEntityMenuProvider<ExporterBlockEntity>(
new TranslatableComponent("gui.refinedstorage.exporter"),
Component.translatable("gui.refinedstorage.exporter"),
(blockEntity, windowId, inventory, p) -> new ExporterContainerMenu(blockEntity, player, windowId),
pos
),

View File

@@ -13,7 +13,8 @@ import com.refinedmods.refinedstorage.util.CollisionUtils;
import com.refinedmods.refinedstorage.util.NetworkUtils;
import net.minecraft.core.BlockPos;
import net.minecraft.core.Direction;
import net.minecraft.network.chat.TranslatableComponent;
import net.minecraft.network.chat.Component;
import net.minecraft.server.level.ServerPlayer;
import net.minecraft.world.InteractionHand;
import net.minecraft.world.InteractionResult;
@@ -96,10 +97,10 @@ public class ExternalStorageBlock extends CableBlock {
@SuppressWarnings("deprecation")
public InteractionResult use(BlockState state, Level level, BlockPos pos, Player player, InteractionHand hand, BlockHitResult hit) {
if (!level.isClientSide && CollisionUtils.isInBounds(getHeadShape(state), pos, hit.getLocation())) {
return NetworkUtils.attemptModify(level, pos, player, () -> NetworkHooks.openGui(
return NetworkUtils.attemptModify(level, pos, player, () -> NetworkHooks.openScreen(
(ServerPlayer) player,
new BlockEntityMenuProvider<ExternalStorageBlockEntity>(
new TranslatableComponent("gui.refinedstorage.external_storage"),
Component.translatable("gui.refinedstorage.external_storage"),
(blockEntity, windowId, inventory, p) -> new ExternalStorageContainerMenu(blockEntity, player, windowId),
pos
),

View File

@@ -7,7 +7,8 @@ import com.refinedmods.refinedstorage.blockentity.FluidInterfaceBlockEntity;
import com.refinedmods.refinedstorage.util.BlockUtils;
import com.refinedmods.refinedstorage.util.NetworkUtils;
import net.minecraft.core.BlockPos;
import net.minecraft.network.chat.TranslatableComponent;
import net.minecraft.network.chat.Component;
import net.minecraft.server.level.ServerPlayer;
import net.minecraft.world.InteractionHand;
import net.minecraft.world.InteractionResult;
@@ -32,10 +33,10 @@ public class FluidInterfaceBlock extends NetworkNodeBlock {
@SuppressWarnings("deprecation")
public InteractionResult use(BlockState state, Level level, BlockPos pos, Player player, InteractionHand handIn, BlockHitResult hit) {
if (!level.isClientSide) {
return NetworkUtils.attempt(level, pos, player, () -> NetworkHooks.openGui(
return NetworkUtils.attempt(level, pos, player, () -> NetworkHooks.openScreen(
(ServerPlayer) player,
new BlockEntityMenuProvider<FluidInterfaceBlockEntity>(
new TranslatableComponent("gui.refinedstorage.fluid_interface"),
Component.translatable("gui.refinedstorage.fluid_interface"),
(blockEntity, windowId, inventory, p) -> new FluidInterfaceContainerMenu(blockEntity, player, windowId),
pos
),

View File

@@ -58,7 +58,7 @@ public class FluidStorageBlock extends NetworkNodeBlock {
@SuppressWarnings("deprecation")
public InteractionResult use(BlockState state, Level level, BlockPos pos, Player player, InteractionHand handIn, BlockHitResult hit) {
if (!level.isClientSide) {
return NetworkUtils.attemptModify(level, pos, player, () -> NetworkHooks.openGui((ServerPlayer) player, new BlockEntityMenuProvider<FluidStorageBlockEntity>(
return NetworkUtils.attemptModify(level, pos, player, () -> NetworkHooks.openScreen((ServerPlayer) player, new BlockEntityMenuProvider<FluidStorageBlockEntity>(
((FluidStorageBlockEntity) level.getBlockEntity(pos)).getNode().getTitle(),
(blockEntity, windowId, inventory, p) -> new FluidStorageContainerMenu(blockEntity, player, windowId),
pos

View File

@@ -10,7 +10,8 @@ import com.refinedmods.refinedstorage.util.CollisionUtils;
import com.refinedmods.refinedstorage.util.NetworkUtils;
import net.minecraft.core.BlockPos;
import net.minecraft.core.Direction;
import net.minecraft.network.chat.TranslatableComponent;
import net.minecraft.network.chat.Component;
import net.minecraft.server.level.ServerPlayer;
import net.minecraft.world.InteractionHand;
import net.minecraft.world.InteractionResult;
@@ -115,10 +116,10 @@ public class ImporterBlock extends CableBlock {
@SuppressWarnings("deprecation")
public InteractionResult use(BlockState state, Level level, BlockPos pos, Player player, InteractionHand hand, BlockHitResult hit) {
if (!level.isClientSide && CollisionUtils.isInBounds(getLineShape(state), pos, hit.getLocation())) {
return NetworkUtils.attemptModify(level, pos, player, () -> NetworkHooks.openGui(
return NetworkUtils.attemptModify(level, pos, player, () -> NetworkHooks.openScreen(
(ServerPlayer) player,
new BlockEntityMenuProvider<ImporterBlockEntity>(
new TranslatableComponent("gui.refinedstorage.importer"),
Component.translatable("gui.refinedstorage.importer"),
(blockEntity, windowId, inventory, p) -> new ImporterContainerMenu(blockEntity, player, windowId),
pos
),

View File

@@ -7,7 +7,8 @@ import com.refinedmods.refinedstorage.blockentity.InterfaceBlockEntity;
import com.refinedmods.refinedstorage.util.BlockUtils;
import com.refinedmods.refinedstorage.util.NetworkUtils;
import net.minecraft.core.BlockPos;
import net.minecraft.network.chat.TranslatableComponent;
import net.minecraft.network.chat.Component;
import net.minecraft.server.level.ServerPlayer;
import net.minecraft.world.InteractionHand;
import net.minecraft.world.InteractionResult;
@@ -32,10 +33,10 @@ public class InterfaceBlock extends NetworkNodeBlock {
@SuppressWarnings("deprecation")
public InteractionResult use(BlockState state, Level level, BlockPos pos, Player player, InteractionHand handIn, BlockHitResult hit) {
if (!level.isClientSide) {
return NetworkUtils.attempt(level, pos, player, () -> NetworkHooks.openGui(
return NetworkUtils.attempt(level, pos, player, () -> NetworkHooks.openScreen(
(ServerPlayer) player,
new BlockEntityMenuProvider<InterfaceBlockEntity>(
new TranslatableComponent("gui.refinedstorage.interface"),
Component.translatable("gui.refinedstorage.interface"),
(blockEntity, windowId, inventory, p) -> new InterfaceContainerMenu(blockEntity, player, windowId),
pos
),

View File

@@ -1,13 +1,13 @@
package com.refinedmods.refinedstorage.block;
import com.refinedmods.refinedstorage.RSBlocks;
import com.refinedmods.refinedstorage.blockentity.NetworkTransmitterBlockEntity;
import com.refinedmods.refinedstorage.container.NetworkTransmitterContainerMenu;
import com.refinedmods.refinedstorage.container.factory.BlockEntityMenuProvider;
import com.refinedmods.refinedstorage.blockentity.NetworkTransmitterBlockEntity;
import com.refinedmods.refinedstorage.util.BlockUtils;
import com.refinedmods.refinedstorage.util.NetworkUtils;
import net.minecraft.core.BlockPos;
import net.minecraft.network.chat.TranslatableComponent;
import net.minecraft.network.chat.Component;
import net.minecraft.server.level.ServerPlayer;
import net.minecraft.world.InteractionHand;
import net.minecraft.world.InteractionResult;
@@ -37,10 +37,10 @@ public class NetworkTransmitterBlock extends ColoredNetworkBlock {
}
if (!level.isClientSide) {
return NetworkUtils.attemptModify(level, pos, player, () -> NetworkHooks.openGui(
return NetworkUtils.attemptModify(level, pos, player, () -> NetworkHooks.openScreen(
(ServerPlayer) player,
new BlockEntityMenuProvider<NetworkTransmitterBlockEntity>(
new TranslatableComponent("gui.refinedstorage.network_transmitter"),
Component.translatable("gui.refinedstorage.network_transmitter"),
(blockEntity, windowId, inventory, p) -> new NetworkTransmitterContainerMenu(blockEntity, player, windowId),
pos
),

View File

@@ -7,7 +7,8 @@ import com.refinedmods.refinedstorage.blockentity.RelayBlockEntity;
import com.refinedmods.refinedstorage.util.BlockUtils;
import com.refinedmods.refinedstorage.util.NetworkUtils;
import net.minecraft.core.BlockPos;
import net.minecraft.network.chat.TranslatableComponent;
import net.minecraft.network.chat.Component;
import net.minecraft.server.level.ServerPlayer;
import net.minecraft.world.InteractionHand;
import net.minecraft.world.InteractionResult;
@@ -37,10 +38,10 @@ public class RelayBlock extends ColoredNetworkBlock {
}
if (!level.isClientSide) {
return NetworkUtils.attemptModify(level, pos, player, () -> NetworkHooks.openGui(
return NetworkUtils.attemptModify(level, pos, player, () -> NetworkHooks.openScreen(
(ServerPlayer) player,
new BlockEntityMenuProvider<RelayBlockEntity>(
new TranslatableComponent("gui.refinedstorage.relay"),
Component.translatable("gui.refinedstorage.relay"),
(blockEntity, windowId, inventory, p) -> new RelayContainerMenu(blockEntity, player, windowId),
pos
),

View File

@@ -8,7 +8,8 @@ import com.refinedmods.refinedstorage.blockentity.SecurityManagerBlockEntity;
import com.refinedmods.refinedstorage.util.BlockUtils;
import com.refinedmods.refinedstorage.util.NetworkUtils;
import net.minecraft.core.BlockPos;
import net.minecraft.network.chat.TranslatableComponent;
import net.minecraft.network.chat.Component;
import net.minecraft.server.level.ServerPlayer;
import net.minecraft.world.InteractionHand;
import net.minecraft.world.InteractionResult;
@@ -38,10 +39,10 @@ public class SecurityManagerBlock extends ColoredNetworkBlock {
}
if (!level.isClientSide) {
Runnable action = () -> NetworkHooks.openGui(
Runnable action = () -> NetworkHooks.openScreen(
(ServerPlayer) player,
new BlockEntityMenuProvider<SecurityManagerBlockEntity>(
new TranslatableComponent("gui.refinedstorage.security_manager"),
Component.translatable("gui.refinedstorage.security_manager"),
(blockEntity, windowId, inventory, p) -> new SecurityManagerContainerMenu(blockEntity, player, windowId),
pos
),

View File

@@ -60,7 +60,7 @@ public class StorageBlock extends NetworkNodeBlock {
@SuppressWarnings("deprecation")
public InteractionResult use(BlockState state, Level level, BlockPos pos, Player player, InteractionHand handIn, BlockHitResult hit) {
if (!level.isClientSide) {
return NetworkUtils.attemptModify(level, pos, player, () -> NetworkHooks.openGui((ServerPlayer) player, new BlockEntityMenuProvider<StorageBlockEntity>(
return NetworkUtils.attemptModify(level, pos, player, () -> NetworkHooks.openScreen((ServerPlayer) player, new BlockEntityMenuProvider<StorageBlockEntity>(
((StorageBlockEntity) level.getBlockEntity(pos)).getNode().getTitle(),
(blockEntity, windowId, inventory, p) -> new StorageContainerMenu(blockEntity, player, windowId),
pos

View File

@@ -8,7 +8,8 @@ import com.refinedmods.refinedstorage.util.BlockUtils;
import com.refinedmods.refinedstorage.util.LevelUtils;
import com.refinedmods.refinedstorage.util.NetworkUtils;
import net.minecraft.core.BlockPos;
import net.minecraft.network.chat.TranslatableComponent;
import net.minecraft.network.chat.Component;
import net.minecraft.server.level.ServerPlayer;
import net.minecraft.world.InteractionHand;
import net.minecraft.world.InteractionResult;
@@ -43,10 +44,10 @@ public class StorageMonitorBlock extends NetworkNodeBlock {
ItemStack held = player.getItemInHand(handIn);
if (player.isCrouching()) {
return NetworkUtils.attemptModify(level, pos, player, () -> NetworkHooks.openGui(
return NetworkUtils.attemptModify(level, pos, player, () -> NetworkHooks.openScreen(
(ServerPlayer) player,
new BlockEntityMenuProvider<StorageMonitorBlockEntity>(
new TranslatableComponent("gui.refinedstorage.storage_monitor"),
Component.translatable("gui.refinedstorage.storage_monitor"),
(blockEntity, windowId, inventory, p) -> new StorageMonitorContainerMenu(blockEntity, player, windowId),
pos
),

View File

@@ -7,7 +7,8 @@ import com.refinedmods.refinedstorage.blockentity.WirelessTransmitterBlockEntity
import com.refinedmods.refinedstorage.util.BlockUtils;
import com.refinedmods.refinedstorage.util.NetworkUtils;
import net.minecraft.core.BlockPos;
import net.minecraft.network.chat.TranslatableComponent;
import net.minecraft.network.chat.Component;
import net.minecraft.server.level.ServerPlayer;
import net.minecraft.world.InteractionHand;
import net.minecraft.world.InteractionResult;
@@ -79,10 +80,10 @@ public class WirelessTransmitterBlock extends ColoredNetworkBlock {
}
if (!level.isClientSide) {
return NetworkUtils.attemptModify(level, pos, player, () -> NetworkHooks.openGui(
return NetworkUtils.attemptModify(level, pos, player, () -> NetworkHooks.openScreen(
(ServerPlayer) player,
new BlockEntityMenuProvider<WirelessTransmitterBlockEntity>(
new TranslatableComponent("gui.refinedstorage.wireless_transmitter"),
Component.translatable("gui.refinedstorage.wireless_transmitter"),
(blockEntity, windowId, inventory, p) -> new WirelessTransmitterContainerMenu(blockEntity, player, windowId),
pos
),

View File

@@ -1,6 +1,7 @@
package com.refinedmods.refinedstorage.blockentity;
import com.refinedmods.refinedstorage.blockentity.data.BlockEntitySynchronizationManager;
import com.refinedmods.refinedstorage.blockentity.data.BlockEntitySynchronizationSpec;
import net.minecraft.core.BlockPos;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.network.Connection;
@@ -10,12 +11,12 @@ import net.minecraft.world.level.block.entity.BlockEntityType;
import net.minecraft.world.level.block.state.BlockState;
public abstract class BaseBlockEntity extends BlockEntity {
protected final BlockEntitySynchronizationManager dataManager = new BlockEntitySynchronizationManager(this);
private final BlockEntitySynchronizationManager dataManager;
private boolean unloaded;
public BaseBlockEntity(BlockEntityType<?> type, BlockPos pos, BlockState state) {
protected BaseBlockEntity(BlockEntityType<?> type, BlockPos pos, BlockState state, BlockEntitySynchronizationSpec syncSpec) {
super(type, pos, state);
this.dataManager = new BlockEntitySynchronizationManager(this, syncSpec);
}
public BlockEntitySynchronizationManager getDataManager() {

View File

@@ -4,14 +4,14 @@ import com.refinedmods.refinedstorage.RSBlockEntities;
import com.refinedmods.refinedstorage.apiimpl.network.node.CableNetworkNode;
import com.refinedmods.refinedstorage.apiimpl.network.node.cover.CoverManager;
import com.refinedmods.refinedstorage.blockentity.data.BlockEntitySynchronizationParameter;
import com.refinedmods.refinedstorage.blockentity.data.BlockEntitySynchronizationSpec;
import com.refinedmods.refinedstorage.util.LevelUtils;
import net.minecraft.core.BlockPos;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.network.syncher.EntityDataSerializers;
import net.minecraft.world.level.Level;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraftforge.client.model.data.IModelData;
import net.minecraftforge.client.model.data.ModelDataMap;
import net.minecraftforge.client.model.data.ModelData;
import javax.annotation.Nonnull;
@@ -19,9 +19,13 @@ public class CableBlockEntity extends NetworkNodeBlockEntity<CableNetworkNode> {
public static final BlockEntitySynchronizationParameter<CompoundTag, CableBlockEntity> COVER_MANAGER = new BlockEntitySynchronizationParameter<>(EntityDataSerializers.COMPOUND_TAG, new CompoundTag(), t -> t.getNode().getCoverManager().writeToNbt(), (t, v) -> t.getNode().getCoverManager().readFromNbt(v), (initial, p) -> {
});
public static BlockEntitySynchronizationSpec SPEC = BlockEntitySynchronizationSpec.builder()
.addWatchedParameter(REDSTONE_MODE)
.addWatchedParameter(COVER_MANAGER)
.build();
public CableBlockEntity(BlockPos pos, BlockState state) {
super(RSBlockEntities.CABLE, pos, state);
dataManager.addWatchedParameter(COVER_MANAGER);
super(RSBlockEntities.CABLE.get(), pos, state, SPEC);
}
@Override
@@ -32,8 +36,8 @@ public class CableBlockEntity extends NetworkNodeBlockEntity<CableNetworkNode> {
@Nonnull
@Override
public IModelData getModelData() {
return new ModelDataMap.Builder().withInitial(CoverManager.PROPERTY, this.getNode().getCoverManager()).build();
public ModelData getModelData() {
return ModelData.builder().with(CoverManager.PROPERTY, this.getNode().getCoverManager()).build();
}
@Override

View File

@@ -6,14 +6,14 @@ import com.refinedmods.refinedstorage.apiimpl.network.node.cover.CoverManager;
import com.refinedmods.refinedstorage.blockentity.config.IComparable;
import com.refinedmods.refinedstorage.blockentity.config.IType;
import com.refinedmods.refinedstorage.blockentity.data.BlockEntitySynchronizationParameter;
import com.refinedmods.refinedstorage.blockentity.data.BlockEntitySynchronizationSpec;
import com.refinedmods.refinedstorage.util.LevelUtils;
import net.minecraft.core.BlockPos;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.network.syncher.EntityDataSerializers;
import net.minecraft.world.level.Level;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraftforge.client.model.data.IModelData;
import net.minecraftforge.client.model.data.ModelDataMap;
import net.minecraftforge.client.model.data.ModelData;
import javax.annotation.Nonnull;
@@ -31,13 +31,16 @@ public class ConstructorBlockEntity extends NetworkNodeBlockEntity<ConstructorNe
(initial, p) -> {
});
public ConstructorBlockEntity(BlockPos pos, BlockState state) {
super(RSBlockEntities.CONSTRUCTOR, pos, state);
public static BlockEntitySynchronizationSpec SPEC = BlockEntitySynchronizationSpec.builder()
.addWatchedParameter(REDSTONE_MODE)
.addWatchedParameter(COMPARE)
.addWatchedParameter(TYPE)
.addWatchedParameter(DROP)
.addWatchedParameter(COVER_MANAGER)
.build();
dataManager.addWatchedParameter(COMPARE);
dataManager.addWatchedParameter(TYPE);
dataManager.addWatchedParameter(DROP);
dataManager.addWatchedParameter(COVER_MANAGER);
public ConstructorBlockEntity(BlockPos pos, BlockState state) {
super(RSBlockEntities.CONSTRUCTOR.get(), pos, state, SPEC);
}
@Override
@@ -48,8 +51,8 @@ public class ConstructorBlockEntity extends NetworkNodeBlockEntity<ConstructorNe
@Nonnull
@Override
public IModelData getModelData() {
return new ModelDataMap.Builder().withInitial(CoverManager.PROPERTY, this.getNode().getCoverManager()).build();
public ModelData getModelData() {
return ModelData.builder().with(CoverManager.PROPERTY, this.getNode().getCoverManager()).build();
}
@Override

View File

@@ -12,6 +12,7 @@ import com.refinedmods.refinedstorage.apiimpl.network.node.RootNetworkNode;
import com.refinedmods.refinedstorage.blockentity.config.IRedstoneConfigurable;
import com.refinedmods.refinedstorage.blockentity.config.RedstoneMode;
import com.refinedmods.refinedstorage.blockentity.data.BlockEntitySynchronizationParameter;
import com.refinedmods.refinedstorage.blockentity.data.BlockEntitySynchronizationSpec;
import com.refinedmods.refinedstorage.blockentity.data.RSSerializers;
import com.refinedmods.refinedstorage.capability.NetworkNodeProxyCapability;
import net.minecraft.core.BlockPos;
@@ -37,6 +38,14 @@ public class ControllerBlockEntity extends BaseBlockEntity implements INetworkNo
public static final BlockEntitySynchronizationParameter<Integer, ControllerBlockEntity> ENERGY_CAPACITY = new BlockEntitySynchronizationParameter<>(EntityDataSerializers.INT, 0, t -> t.getNetwork().getEnergyStorage().getMaxEnergyStored());
public static final BlockEntitySynchronizationParameter<List<ClientNode>, ControllerBlockEntity> NODES = new BlockEntitySynchronizationParameter<>(RSSerializers.CLIENT_NODE_SERIALIZER, new ArrayList<>(), ControllerBlockEntity::collectClientNodes);
public static BlockEntitySynchronizationSpec SPEC = BlockEntitySynchronizationSpec.builder()
.addWatchedParameter(REDSTONE_MODE)
.addWatchedParameter(ENERGY_USAGE)
.addWatchedParameter(ENERGY_STORED)
.addParameter(ENERGY_CAPACITY)
.addParameter(NODES)
.build();
private final LazyOptional<INetworkNodeProxy<RootNetworkNode>> networkNodeProxyCap = LazyOptional.of(() -> this);
private final NetworkType type;
private INetwork removedNetwork;
@@ -44,14 +53,7 @@ public class ControllerBlockEntity extends BaseBlockEntity implements INetworkNo
private final LazyOptional<IEnergyStorage> energyProxyCap = LazyOptional.of(() -> getNetwork().getEnergyStorage());
public ControllerBlockEntity(NetworkType type, BlockPos pos, BlockState state) {
super(type == NetworkType.CREATIVE ? RSBlockEntities.CREATIVE_CONTROLLER : RSBlockEntities.CONTROLLER, pos, state);
dataManager.addWatchedParameter(REDSTONE_MODE);
dataManager.addWatchedParameter(ENERGY_USAGE);
dataManager.addWatchedParameter(ENERGY_STORED);
dataManager.addParameter(ENERGY_CAPACITY);
dataManager.addParameter(NODES);
super(type == NetworkType.CREATIVE ? RSBlockEntities.CREATIVE_CONTROLLER.get() : RSBlockEntities.CONTROLLER.get(), pos, state, SPEC);
this.type = type;
}

View File

@@ -2,8 +2,9 @@ package com.refinedmods.refinedstorage.blockentity;
import com.refinedmods.refinedstorage.RSBlockEntities;
import com.refinedmods.refinedstorage.apiimpl.network.node.CrafterNetworkNode;
import com.refinedmods.refinedstorage.screen.CrafterBlockEntitySynchronizationClientListener;
import com.refinedmods.refinedstorage.blockentity.data.BlockEntitySynchronizationParameter;
import com.refinedmods.refinedstorage.blockentity.data.BlockEntitySynchronizationSpec;
import com.refinedmods.refinedstorage.screen.CrafterBlockEntitySynchronizationClientListener;
import net.minecraft.core.BlockPos;
import net.minecraft.core.Direction;
import net.minecraft.network.syncher.EntityDataSerializers;
@@ -21,13 +22,16 @@ public class CrafterBlockEntity extends NetworkNodeBlockEntity<CrafterNetworkNod
public static final BlockEntitySynchronizationParameter<Integer, CrafterBlockEntity> MODE = new BlockEntitySynchronizationParameter<>(EntityDataSerializers.INT, CrafterNetworkNode.CrafterMode.IGNORE.ordinal(), t -> t.getNode().getMode().ordinal(), (t, v) -> t.getNode().setMode(CrafterNetworkNode.CrafterMode.getById(v)));
private static final BlockEntitySynchronizationParameter<Boolean, CrafterBlockEntity> HAS_ROOT = new BlockEntitySynchronizationParameter<>(EntityDataSerializers.BOOLEAN, false, t -> t.getNode().getRootContainerNotSelf().isPresent(), null, (t, v) -> new CrafterBlockEntitySynchronizationClientListener().onChanged(t, v));
public static BlockEntitySynchronizationSpec SPEC = BlockEntitySynchronizationSpec.builder()
.addWatchedParameter(REDSTONE_MODE)
.addWatchedParameter(MODE)
.addParameter(HAS_ROOT)
.build();
private final LazyOptional<IItemHandler> patternsCapability = LazyOptional.of(() -> getNode().getPatternInventory());
public CrafterBlockEntity(BlockPos pos, BlockState state) {
super(RSBlockEntities.CRAFTER, pos, state);
dataManager.addWatchedParameter(MODE);
dataManager.addParameter(HAS_ROOT);
super(RSBlockEntities.CRAFTER.get(), pos, state, SPEC);
}
@Override

View File

@@ -3,38 +3,41 @@ package com.refinedmods.refinedstorage.blockentity;
import com.refinedmods.refinedstorage.RSBlockEntities;
import com.refinedmods.refinedstorage.api.network.grid.IGrid;
import com.refinedmods.refinedstorage.apiimpl.network.node.CrafterManagerNetworkNode;
import com.refinedmods.refinedstorage.blockentity.data.BlockEntitySynchronizationParameter;
import com.refinedmods.refinedstorage.blockentity.data.BlockEntitySynchronizationSpec;
import com.refinedmods.refinedstorage.screen.BaseScreen;
import com.refinedmods.refinedstorage.screen.CrafterManagerScreen;
import com.refinedmods.refinedstorage.blockentity.data.BlockEntitySynchronizationParameter;
import net.minecraft.core.BlockPos;
import net.minecraft.network.syncher.EntityDataSerializers;
import net.minecraft.world.level.Level;
import net.minecraft.world.level.block.state.BlockState;
public class CrafterManagerBlockEntity extends NetworkNodeBlockEntity<CrafterManagerNetworkNode> {
public CrafterManagerBlockEntity(BlockPos pos, BlockState state) {
super(RSBlockEntities.CRAFTER_MANAGER, pos, state);
dataManager.addWatchedParameter(SIZE);
dataManager.addWatchedParameter(SEARCH_BOX_MODE);
} public static final BlockEntitySynchronizationParameter<Integer, CrafterManagerBlockEntity> SIZE = new BlockEntitySynchronizationParameter<>(EntityDataSerializers.INT, IGrid.SIZE_STRETCH, t -> t.getNode().getSize(), (t, v) -> {
public static final BlockEntitySynchronizationParameter<Integer, CrafterManagerBlockEntity> SEARCH_BOX_MODE = new BlockEntitySynchronizationParameter<>(EntityDataSerializers.INT, 0, t -> t.getNode().getSearchBoxMode(), (t, v) -> {
if (IGrid.isValidSearchBoxMode(v)) {
t.getNode().setSearchBoxMode(v);
t.getNode().markDirty();
}
}, (initial, p) -> BaseScreen.executeLater(CrafterManagerScreen.class, crafterManager -> crafterManager.getSearchField().setMode(p)));
public static final BlockEntitySynchronizationParameter<Integer, CrafterManagerBlockEntity> SIZE = new BlockEntitySynchronizationParameter<>(EntityDataSerializers.INT, IGrid.SIZE_STRETCH, t -> t.getNode().getSize(), (t, v) -> {
if (IGrid.isValidSize(v)) {
t.getNode().setSize(v);
t.getNode().markDirty();
}
}, (initial, p) -> BaseScreen.executeLater(CrafterManagerScreen.class, BaseScreen::init));
public static BlockEntitySynchronizationSpec SPEC = BlockEntitySynchronizationSpec.builder()
.addWatchedParameter(REDSTONE_MODE)
.addWatchedParameter(SIZE)
.addWatchedParameter(SEARCH_BOX_MODE)
.build();
public CrafterManagerBlockEntity(BlockPos pos, BlockState state) {
super(RSBlockEntities.CRAFTER_MANAGER.get(), pos, state, SPEC);
}
@Override
public CrafterManagerNetworkNode createNode(Level level, BlockPos pos) {
return new CrafterManagerNetworkNode(level, pos);
} public static final BlockEntitySynchronizationParameter<Integer, CrafterManagerBlockEntity> SEARCH_BOX_MODE = new BlockEntitySynchronizationParameter<>(EntityDataSerializers.INT, 0, t -> t.getNode().getSearchBoxMode(), (t, v) -> {
if (IGrid.isValidSearchBoxMode(v)) {
t.getNode().setSearchBoxMode(v);
t.getNode().markDirty();
}
}, (initial, p) -> BaseScreen.executeLater(CrafterManagerScreen.class, crafterManager -> crafterManager.getSearchField().setMode(p)));
}
}

View File

@@ -7,14 +7,14 @@ import com.refinedmods.refinedstorage.blockentity.config.IComparable;
import com.refinedmods.refinedstorage.blockentity.config.IType;
import com.refinedmods.refinedstorage.blockentity.config.IWhitelistBlacklist;
import com.refinedmods.refinedstorage.blockentity.data.BlockEntitySynchronizationParameter;
import com.refinedmods.refinedstorage.blockentity.data.BlockEntitySynchronizationSpec;
import com.refinedmods.refinedstorage.util.LevelUtils;
import net.minecraft.core.BlockPos;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.network.syncher.EntityDataSerializers;
import net.minecraft.world.level.Level;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraftforge.client.model.data.IModelData;
import net.minecraftforge.client.model.data.ModelDataMap;
import net.minecraftforge.client.model.data.ModelData;
import javax.annotation.Nonnull;
@@ -33,14 +33,17 @@ public class DestructorBlockEntity extends NetworkNodeBlockEntity<DestructorNetw
(initial, p) -> {
});
public DestructorBlockEntity(BlockPos pos, BlockState state) {
super(RSBlockEntities.DESTRUCTOR, pos, state);
public static BlockEntitySynchronizationSpec SPEC = BlockEntitySynchronizationSpec.builder()
.addWatchedParameter(REDSTONE_MODE)
.addWatchedParameter(COMPARE)
.addWatchedParameter(WHITELIST_BLACKLIST)
.addWatchedParameter(TYPE)
.addWatchedParameter(PICKUP)
.addWatchedParameter(COVER_MANAGER)
.build();
dataManager.addWatchedParameter(COMPARE);
dataManager.addWatchedParameter(WHITELIST_BLACKLIST);
dataManager.addWatchedParameter(TYPE);
dataManager.addWatchedParameter(PICKUP);
dataManager.addWatchedParameter(COVER_MANAGER);
public DestructorBlockEntity(BlockPos pos, BlockState state) {
super(RSBlockEntities.DESTRUCTOR.get(), pos, state, SPEC);
}
@Override
@@ -51,8 +54,8 @@ public class DestructorBlockEntity extends NetworkNodeBlockEntity<DestructorNetw
@Nonnull
@Override
public IModelData getModelData() {
return new ModelDataMap.Builder().withInitial(CoverManager.PROPERTY, this.getNode().getCoverManager()).build();
public ModelData getModelData() {
return ModelData.builder().with(CoverManager.PROPERTY, this.getNode().getCoverManager()).build();
}
@Override

Some files were not shown because too many files have changed in this diff Show More