forked from BRNSystems/Server_storage
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();
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user