Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 5 additions & 6 deletions build.gradle
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
plugins {
id 'fabric-loom' version '0.11-SNAPSHOT'
id 'fabric-loom' version '1.0-SNAPSHOT'
id 'maven-publish'
}

Expand All @@ -12,6 +12,8 @@ group = project.maven_group

repositories {
mavenCentral()
mavenLocal()
maven { url = 'https://server.bbkr.space/artifactory/libs-release/' }
}

dependencies {
Expand All @@ -28,11 +30,8 @@ dependencies {
include "io.github.vampirestudios:artifice:${project.artifice_version}"

// Jankson
//modImplementation "io.github.cottonmc:Jankson-Fabric:${project.jankson_version}"
//include "io.github.cottonmc:Jankson-Fabric:${project.jankson_version}"

modImplementation "blue.endless:jankson:${project.jankson_version}"
include "blue.endless:jankson:${project.jankson_version}"
modImplementation "io.github.cottonmc:Jankson-Fabric:${project.jankson_version}"
include "io.github.cottonmc:Jankson-Fabric:${project.jankson_version}"
}

processResources {
Expand Down
4 changes: 2 additions & 2 deletions gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ org.gradle.jvmargs=-Xmx1G
fabric_version=0.69.1+1.19.3

# check on bintray at https://bintray.com/natanfudge/libs/artifice
artifice_version=0.32.0+1.19.3
artifice_version=0.31.0+build.2-1.19.3

# check on cotton maven at http://server.bbkr.space:8081/artifactory/libs-release/io/github/cottonmc/Jankson-Fabric/
jankson_version=j1.2.1
jankson_version=5.0.0+j1.2.1
2 changes: 1 addition & 1 deletion gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-6.5.1-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-7.5.1-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
28 changes: 11 additions & 17 deletions src/main/java/com/shnupbups/extrapieces/ExtraPieces.java
Original file line number Diff line number Diff line change
Expand Up @@ -8,13 +8,12 @@
import com.shnupbups.extrapieces.register.ModBlocks;
import com.shnupbups.extrapieces.register.ModConfigs;
import io.github.vampirestudios.artifice.api.Artifice;
import io.github.vampirestudios.artifice.api.ArtificeResourcePack;
import net.fabricmc.api.ModInitializer;
import net.fabricmc.fabric.api.event.lifecycle.v1.ServerLifecycleEvents;
import net.fabricmc.loader.api.FabricLoader;
import net.minecraft.util.Identifier;
import net.minecraft.registry.Registry;
import net.minecraft.registry.Registries;
import net.minecraft.registry.Registry;
import net.minecraft.util.Identifier;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;

Expand All @@ -26,8 +25,6 @@ public class ExtraPieces implements ModInitializer {
public static final String piece_pack_version = "2.9.0";
public static final Logger logger = LogManager.getFormatterLogger(mod_name);

public static ArtificeResourcePack datapack;

public static File configDir;
public static File ppDir;

Expand Down Expand Up @@ -75,16 +72,6 @@ public static boolean isWoodmillInstalled() {
return FabricLoader.getInstance().isModLoaded("woodmill");
}

public static void dump() {
if (ModConfigs.dumpData) {
try {
datapack.dumpResources(FabricLoader.getInstance().getConfigDirectory().getParent() + "/dump");
} catch (Exception e) {
ExtraPieces.debugLog("BIG OOF: " + e.getMessage());
}
}
}

@Override
public void onInitialize() {
ModConfigs.init();
Expand All @@ -94,14 +81,21 @@ public void onInitialize() {
api.onInitialize();
});
ModConfigs.initPiecePacks();
datapack = Artifice.registerData(getID("ep_data"), ArtificeResourcePack.ofData(ModBlocks::init));
Artifice.registerDataPack(getID("ep_data"), serverResourcePackBuilder -> {
ModBlocks.init(serverResourcePackBuilder);
try {
serverResourcePackBuilder.dump(FabricLoader.getInstance().getConfigDir().getParent() + "/dump", "data", ModConfigs.dumpData && ModBlocks.finished);
} catch (Exception e) {
ExtraPieces.debugLog("BIG OOF: " + e.getMessage());
}
});
Registry.register(Registries.ITEM, getID("debug_item"), new DebugItem());

ServerLifecycleEvents.SERVER_STARTED.register(server -> {
if (ModBlocks.setBuilders.size() != PieceSets.registry.size()) {
for (PieceSet.Builder psb : ModBlocks.setBuilders.values()) {
if (!psb.isBuilt())
System.out.println("Piece Set " + psb.toString() + " could not be built, make sure the base and any vanilla pieces actually exist!");
System.out.println("Piece Set " + psb + " could not be built, make sure the base and any vanilla pieces actually exist!");
}
}
});
Expand Down
15 changes: 5 additions & 10 deletions src/main/java/com/shnupbups/extrapieces/ExtraPiecesClient.java
Original file line number Diff line number Diff line change
Expand Up @@ -3,21 +3,16 @@
import com.shnupbups.extrapieces.register.ModModels;
import com.shnupbups.extrapieces.register.ModRenderLayers;
import io.github.vampirestudios.artifice.api.Artifice;
import io.github.vampirestudios.artifice.api.ArtificeResourcePack;
import net.fabricmc.api.ClientModInitializer;

public class ExtraPiecesClient implements ClientModInitializer {

@Override
public void onInitializeClient() {
//try {
Artifice.registerAssets(ExtraPieces.getID("ep_assets"), ArtificeResourcePack.ofAssets(assets -> {
ModModels.init(assets);
assets.setDescription("Assets necessary for Extra Pieces.");
}))/*.dumpResources(FabricLoader.getInstance().getConfigDirectory().getParent()+"/dump")*/;
/*} catch(Exception e) {
ExtraPieces.log("BIG OOF: "+e.getMessage());
}*/

Artifice.registerAssetPack(ExtraPieces.getID("ep_assets"), register -> {
ModModels.init(register);
register.setDescription("Assets necessary for Extra Pieces.");
});
ModRenderLayers.init();
}
}
10 changes: 0 additions & 10 deletions src/main/java/com/shnupbups/extrapieces/blocks/PieceBlockItem.java
Original file line number Diff line number Diff line change
@@ -1,17 +1,12 @@
package com.shnupbups.extrapieces.blocks;

import com.shnupbups.extrapieces.register.ModItemGroups;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
import net.minecraft.item.BlockItem;
import net.minecraft.item.Item;
import net.minecraft.item.ItemGroup;
import net.minecraft.item.ItemGroups;
import net.minecraft.item.ItemStack;
import net.minecraft.text.Text;

import net.minecraft.util.Language;
import org.jetbrains.annotations.NotNull;

public class PieceBlockItem extends BlockItem {

Expand All @@ -32,9 +27,4 @@ public Text getName(ItemStack stack) {
if (Language.getInstance().hasTranslation(this.getTranslationKey(stack))) return super.getName(stack);
return Text.translatable((getPieceBlock().getType().getTranslationKey()), Text.translatable((getPieceBlock().getSet().getTranslationKey())));
}

@Override
protected boolean isIn(@NotNull ItemGroup group) {
return group.equals(ModItemGroups.getItemGroup(this.getPieceBlock().getType())) || group.equals(ItemGroups.SEARCH) || super.isIn(group);
}
}
62 changes: 21 additions & 41 deletions src/main/java/com/shnupbups/extrapieces/core/PieceType.java
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
import io.github.vampirestudios.artifice.api.builder.assets.BlockStateBuilder;
import io.github.vampirestudios.artifice.api.builder.assets.ModelBuilder;
import io.github.vampirestudios.artifice.api.builder.data.LootTableBuilder;
import net.minecraft.block.Block;
import net.minecraft.item.Item;
import net.minecraft.network.PacketByteBuf;
import net.minecraft.util.Identifier;
Expand All @@ -20,7 +21,6 @@
import java.util.function.Consumer;

public abstract class PieceType {

private final Identifier id;

public PieceType(String id) {
Expand Down Expand Up @@ -114,30 +114,17 @@ public int getStonecuttingCount() {
}

public void addLootTable(ArtificeResourcePack.ServerResourcePackBuilder data, PieceBlock pb) {
LootTableBuilder loot = new LootTableBuilder();
TypedJsonObject cond = new TypedJsonObject();
loot.type(new Identifier("block"));
loot.pool(new LootTableBuilder.Pool()
.rolls(1)
.entry(new LootTableBuilder.Pool.Entry()
.type(new Identifier("item"))
.name(Registries.BLOCK.getId(pb.getBlock())))
.condition(new Identifier("survives_explosion"), cond));
LootTableBuilder loot = new LootTableBuilder()
.type(new Identifier("block"))
.pool(new LootTableBuilder.Pool()
.rolls(1)
.entry(new LootTableBuilder.Pool.Entry()
.type(new Identifier("item"))
.name(Registries.BLOCK.getId(pb.getBlock()))
.condition(new Identifier("survives_explosion"), new TypedJsonObject())
)
);
data.addLootTable(ExtraPieces.prependToPath(Registries.BLOCK.getId(pb.getBlock()), "blocks/"), loot);


// data.addLootTable(ExtraPieces.prependToPath(Registries.BLOCK.getId(pb.getBlock()), "blocks/"), loot -> {
// loot.type(new Identifier("block"));
// loot.pool(pool -> {
// pool.rolls(1);
// pool.entry(entry -> {
// entry.type(new Identifier("item"));
// entry.name(Registries.BLOCK.getId(pb.getBlock()));
// });
// pool.condition(new Identifier("survives_explosion"), cond -> {
// });
// });
// });
}


Expand All @@ -157,35 +144,28 @@ public void addBlockModels(ArtificeResourcePack.ClientResourcePackBuilder pack,
}

public void addItemModel(ArtificeResourcePack.ClientResourcePackBuilder pack, PieceBlock pb) {
ModelBuilder model = new ModelBuilder();
model.parent(ExtraPieces.prependToPath(Registries.BLOCK.getId(pb.getBlock()), "block/"));
ModelBuilder model = new ModelBuilder()
.parent(ExtraPieces.prependToPath(Registries.BLOCK.getId(pb.getBlock()), "block/"));
pack.addItemModel(Registries.BLOCK.getId(pb.getBlock()), model);
}

public void addBlockModel(ArtificeResourcePack.ClientResourcePackBuilder pack, PieceBlock pb, String append) {
ModelBuilder model = new ModelBuilder();
model.parent(ExtraPieces.prependToPath(ExtraPieces.appendToPath(this.getId(), "_" + append), "block/dummy_"));
model.texture("particle", pb.getSet().getMainTexture());
model.texture("main", pb.getSet().getMainTexture());
model.texture("top", pb.getSet().getTopTexture());
model.texture("bottom", pb.getSet().getBottomTexture());
ModelBuilder model = new ModelBuilder()
.parent(ExtraPieces.prependToPath(ExtraPieces.appendToPath(this.getId(), "_" + append), "block/dummy_"))
.texture("particle", pb.getSet().getMainTexture())
.texture("main", pb.getSet().getMainTexture())
.texture("top", pb.getSet().getTopTexture())
.texture("bottom", pb.getSet().getBottomTexture());
pack.addBlockModel(ExtraPieces.appendToPath(Registries.BLOCK.getId(pb.getBlock()), "_" + append), model);
}

public void addBlockstate(ArtificeResourcePack.ClientResourcePackBuilder pack, PieceBlock pb) {
BlockStateBuilder state = new BlockStateBuilder();
state.variant("", new BlockStateBuilder.Variant().model(ExtraPieces.prependToPath(Registries.BLOCK.getId(pb.getBlock()), "block/")));
BlockStateBuilder state = new BlockStateBuilder()
.variant("", new BlockStateBuilder.Variant().model(ExtraPieces.prependToPath(Registries.BLOCK.getId(pb.getBlock()), "block/")));
pack.addBlockState(Registries.BLOCK.getId(pb.getBlock()), state);

}

// pack.addBlockState(Registries.BLOCK.getId(pb.getBlock()), state -> {
// state.variant("", var -> {
// var.model(ExtraPieces.prependToPath(Registries.BLOCK.getId(pb.getBlock()), "block/"));
// });
// });
// }

public PieceBlockItem getBlockItem(PieceBlock pb) {
return new PieceBlockItem(pb, new Item.Settings());
}
Expand Down
37 changes: 9 additions & 28 deletions src/main/java/com/shnupbups/extrapieces/pieces/ColumnPiece.java
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,8 @@
import com.shnupbups.extrapieces.core.PieceType;
import io.github.vampirestudios.artifice.api.ArtificeResourcePack;
import io.github.vampirestudios.artifice.api.builder.assets.BlockStateBuilder;
import net.minecraft.block.Block;
import net.minecraft.util.math.Direction;
import net.minecraft.registry.Registry;
import net.minecraft.registry.Registries;
import net.minecraft.util.math.Direction;

public class ColumnPiece extends PieceType {
public ColumnPiece() {
Expand All @@ -22,35 +20,18 @@ public ColumnPieceBlock getNew(PieceSet set) {

public void addBlockstate(ArtificeResourcePack.ClientResourcePackBuilder pack, PieceBlock pb) {
BlockStateBuilder state = new BlockStateBuilder();
for (Direction.Axis a : Direction.Axis.values()){
if (a != Direction.Axis.Y){
state.variant("axis=" + a.asString(),new BlockStateBuilder.Variant()
.uvlock(true)
.model(getModelPath(pb)).rotationX(90));
for (Direction.Axis a : Direction.Axis.values()) {
BlockStateBuilder.Variant variant = new BlockStateBuilder.Variant();
variant.uvlock(true);
variant.model(getModelPath(pb));
if (a != Direction.Axis.Y) {
variant.rotationX(90);
if (a == Direction.Axis.X) {
state.variant("axis=" + a.asString(), new BlockStateBuilder.Variant()
.uvlock(true)
.model(getModelPath(pb)).rotationY(90));
variant.rotationY(90);
}
}
state.variant("axis=" + a.asString(), variant);
}
pack.addBlockState(Registries.BLOCK.getId(pb.getBlock()), state);
}

//
// pack.addBlockState(Registries.BLOCK.getId(pb.getBlock()), state -> {
// for (Direction.Axis a : Direction.Axis.values()) {
// state.variant("axis=" + a.asString(), var -> {
// var.uvlock(true);
// var.model(getModelPath(pb));
// if (a != Direction.Axis.Y) {
// var.rotationX(90);
// if (a == Direction.Axis.X) {
// var.rotationY(90);
// }
// }
// });
// }
// });
// }
}
36 changes: 15 additions & 21 deletions src/main/java/com/shnupbups/extrapieces/pieces/CornerPiece.java
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,9 @@
import com.shnupbups.extrapieces.core.PieceTypes;
import com.shnupbups.extrapieces.recipe.ShapedPieceRecipe;
import io.github.vampirestudios.artifice.api.ArtificeResourcePack;
import net.minecraft.util.math.Direction;
import net.minecraft.registry.Registry;
import io.github.vampirestudios.artifice.api.builder.assets.BlockStateBuilder;
import net.minecraft.registry.Registries;
import net.minecraft.util.math.Direction;

import java.util.ArrayList;

Expand All @@ -29,26 +29,20 @@ public ArrayList<ShapedPieceRecipe> getShapedRecipes() {
}

public void addBlockstate(ArtificeResourcePack.ClientResourcePackBuilder pack, PieceBlock pb) {
pack.addBlockState(Registries.BLOCK.getId(pb.getBlock()), state -> {
for (Direction d : Direction.values()) {
if (d != Direction.UP && d != Direction.DOWN) {
state.variant("facing=" + d.asString(), var -> {
var.model(getModelPath(pb));
var.uvlock(true);
switch (d) {
case SOUTH:
var.rotationY(180);
break;
case EAST:
var.rotationY(90);
break;
case WEST:
var.rotationY(270);
break;
}
});
BlockStateBuilder builder = new BlockStateBuilder();
for (Direction d : Direction.values()) {
if (d != Direction.UP && d != Direction.DOWN) {
BlockStateBuilder.Variant variant = new BlockStateBuilder.Variant();
variant.model(getModelPath(pb));
variant.uvlock(true);
switch (d) {
case SOUTH -> variant.rotationY(180);
case EAST -> variant.rotationY(90);
case WEST -> variant.rotationY(270);
}
builder.variant("facing=" + d.asString(), variant);
}
});
}
pack.addBlockState(Registries.BLOCK.getId(pb.getBlock()), builder);
}
}
Loading