Create the block itself
This commit is contained in:
22
src/main/java/systems/brn/server_storage/ServerStorage.java
Normal file
22
src/main/java/systems/brn/server_storage/ServerStorage.java
Normal file
@@ -0,0 +1,22 @@
|
||||
package systems.brn.server_storage;
|
||||
|
||||
import eu.pb4.polymer.resourcepack.api.PolymerResourcePackUtils;
|
||||
import net.fabricmc.api.ModInitializer;
|
||||
import systems.brn.server_storage.blocks.StorageBlock;
|
||||
|
||||
public class ServerStorage implements ModInitializer {
|
||||
public static final String MODID = "serverstorage";
|
||||
public static final String MODELID = "storage";
|
||||
|
||||
@Override
|
||||
public void onInitialize()
|
||||
{
|
||||
|
||||
PolymerResourcePackUtils.addModAssets(MODID);
|
||||
PolymerResourcePackUtils.markAsRequired();
|
||||
|
||||
StorageBlock.register();
|
||||
|
||||
}
|
||||
public static StorageBlock JUMP_VADER_BLOCK;
|
||||
}
|
@@ -0,0 +1,39 @@
|
||||
package systems.brn.server_storage.blocks;
|
||||
|
||||
import eu.pb4.polymer.blocks.api.BlockModelType;
|
||||
import eu.pb4.polymer.blocks.api.PolymerBlockModel;
|
||||
import eu.pb4.polymer.blocks.api.PolymerBlockResourceUtils;
|
||||
import eu.pb4.polymer.blocks.api.PolymerTexturedBlock;
|
||||
import net.minecraft.block.AbstractBlock;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.block.BlockState;
|
||||
import net.minecraft.block.Blocks;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.registry.Registries;
|
||||
import net.minecraft.registry.Registry;
|
||||
import net.minecraft.util.Identifier;
|
||||
import systems.brn.server_storage.ServerStorage;
|
||||
import systems.brn.server_storage.items.StorageBlockItem;
|
||||
|
||||
public class StorageBlock extends Block implements PolymerTexturedBlock {
|
||||
|
||||
private final BlockState polymerBlockState;
|
||||
|
||||
public StorageBlock(Settings settings, BlockModelType type, String modelId) {
|
||||
super(settings);
|
||||
this.polymerBlockState = PolymerBlockResourceUtils.requestBlock(type, PolymerBlockModel.of(new Identifier(ServerStorage.MODID, modelId)));
|
||||
}
|
||||
|
||||
@Override
|
||||
public BlockState getPolymerBlockState(BlockState state) {
|
||||
return this.polymerBlockState;
|
||||
}
|
||||
|
||||
public static void register() {
|
||||
var modId = new Identifier(ServerStorage.MODID, ServerStorage.MODELID);
|
||||
var block = Registry.register(Registries.BLOCK, modId,
|
||||
new StorageBlock(AbstractBlock.Settings.copy(Blocks.WHITE_WOOL), BlockModelType.FULL_BLOCK, ServerStorage.MODELID));
|
||||
|
||||
Registry.register(Registries.ITEM, modId, new StorageBlockItem(new Item.Settings(), block, ServerStorage.MODELID));
|
||||
}
|
||||
}
|
@@ -0,0 +1,33 @@
|
||||
package systems.brn.server_storage.items;
|
||||
|
||||
import eu.pb4.polymer.core.api.item.PolymerItem;
|
||||
import eu.pb4.polymer.resourcepack.api.PolymerModelData;
|
||||
import eu.pb4.polymer.resourcepack.api.PolymerResourcePackUtils;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.item.BlockItem;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.Items;
|
||||
import net.minecraft.server.network.ServerPlayerEntity;
|
||||
import net.minecraft.util.Identifier;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import systems.brn.server_storage.ServerStorage;
|
||||
|
||||
public class StorageBlockItem extends BlockItem implements PolymerItem {
|
||||
private final PolymerModelData polymerModel;
|
||||
|
||||
public StorageBlockItem(Settings settings, Block block, String modelId) {
|
||||
super(block, settings);
|
||||
this.polymerModel = PolymerResourcePackUtils.requestModel(Items.BARRIER, new Identifier(ServerStorage.MODID, modelId));
|
||||
}
|
||||
|
||||
@Override
|
||||
public Item getPolymerItem(ItemStack itemStack, @Nullable ServerPlayerEntity player) {
|
||||
return this.polymerModel.item();
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getPolymerCustomModelData(ItemStack itemStack, @Nullable ServerPlayerEntity player) {
|
||||
return this.polymerModel.value();
|
||||
}
|
||||
}
|
BIN
src/main/resources/assets/icon.png
Normal file
BIN
src/main/resources/assets/icon.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 293 B |
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"variants": {
|
||||
"": {
|
||||
"model": "serverstorage:block/storage"
|
||||
}
|
||||
}
|
||||
}
|
3
src/main/resources/assets/serverstorage/lang/en_us.json
Normal file
3
src/main/resources/assets/serverstorage/lang/en_us.json
Normal file
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"block.serverstorage.storage": "Chest storage controller"
|
||||
}
|
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"parent": "storage:block/storage"
|
||||
}
|
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"parent": "block/cube_all",
|
||||
"textures": {
|
||||
"all": "serverstorage:block/storage"
|
||||
}
|
||||
}
|
Binary file not shown.
After Width: | Height: | Size: 293 B |
27
src/main/resources/fabric.mod.json
Normal file
27
src/main/resources/fabric.mod.json
Normal file
@@ -0,0 +1,27 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"id": "server_storage",
|
||||
"version": "${version}",
|
||||
"name": "Server storage",
|
||||
"description": "",
|
||||
"authors": [],
|
||||
"contact": {
|
||||
"repo": "https://git.brn.systems/BRNSystems/Server storageatencryptor"
|
||||
},
|
||||
"license": "MIT",
|
||||
"icon": "assets/icon.png",
|
||||
"environment": "*",
|
||||
"entrypoints": {
|
||||
"main": [
|
||||
"systems.brn.server_storage.ServerStorage"
|
||||
]
|
||||
},
|
||||
"mixins": [
|
||||
"server_storage.mixins.json"
|
||||
],
|
||||
"depends": {
|
||||
"fabricloader": ">=${loader_version}",
|
||||
"fabric": "*",
|
||||
"minecraft": "${minecraft_version}"
|
||||
}
|
||||
}
|
11
src/main/resources/server_storage.mixins.json
Normal file
11
src/main/resources/server_storage.mixins.json
Normal file
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"required": true,
|
||||
"minVersion": "0.8",
|
||||
"package": "systems.brn.server_storage.mixin",
|
||||
"compatibilityLevel": "JAVA_21",
|
||||
"mixins": [
|
||||
],
|
||||
"injectors": {
|
||||
"defaultRequire": 1
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user