Skip to content

Commit

Permalink
Demonstrate BWM: Legacy integration
Browse files Browse the repository at this point in the history
  • Loading branch information
ThexXTURBOXx committed Jun 25, 2024
1 parent e4472e5 commit e2d792b
Show file tree
Hide file tree
Showing 9 changed files with 100 additions and 2 deletions.
8 changes: 7 additions & 1 deletion build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,12 @@ repositories {
// Loom adds the essential maven repositories to download Minecraft and libraries from automatically.
// See https://docs.gradle.org/current/userguide/declaring_repositories.html
// for more information about repositories.
maven {
url "https://cursemaven.com"
content {
includeGroup "curse.maven"
}
}
}

loom {
Expand All @@ -42,7 +48,7 @@ dependencies {

// Fabric API. This is technically optional, but you probably want it anyway.
modImplementation "net.fabricmc.fabric-api:fabric-api:${project.fabric_version}"

modImplementation "curse.maven:balkons-weaponmod-legacy-1033985:5472591"
}

processResources {
Expand Down
6 changes: 6 additions & 0 deletions src/client/java/com/seacroak/bronze/BronzeModClient.java
Original file line number Diff line number Diff line change
@@ -1,15 +1,21 @@
package com.seacroak.bronze;

import ckathode.weaponmod.BalkonsWeaponMod;
import com.seacroak.bronze.integration.client.BWMLegacyClient;
import com.seacroak.bronze.registry.MainRegistry;
import net.fabricmc.api.ClientModInitializer;
import net.fabricmc.fabric.api.blockrenderlayer.v1.BlockRenderLayerMap;
import net.fabricmc.loader.api.FabricLoader;
import net.minecraft.client.render.RenderLayer;

public class BronzeModClient implements ClientModInitializer {
@Override
public void onInitializeClient() {

BlockRenderLayerMap.INSTANCE.putBlock(MainRegistry.BRONZE_TRAPDOOR, RenderLayer.getCutoutMipped());
if (FabricLoader.getInstance().isModLoaded(BalkonsWeaponMod.MOD_ID)) {
BWMLegacyClient.init();
}

}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
package com.seacroak.bronze.integration.client;

import ckathode.weaponmod.item.WMItemProperties;
import com.seacroak.bronze.integration.BWMLegacy;
import net.minecraft.client.item.ModelPredicateProviderRegistry;

public class BWMLegacyClient {

public static void init() {
ModelPredicateProviderRegistry.register(BWMLegacy.BRONZE_BOOMERANG.asItem(),
WMItemProperties.BOOMERANG_READY_GETTER_ID, WMItemProperties.BOOMERANG_READY_GETTER);
}

}
46 changes: 46 additions & 0 deletions src/main/java/com/seacroak/bronze/integration/BWMLegacy.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
package com.seacroak.bronze.integration;

import ckathode.weaponmod.entity.projectile.ICustomProjectileMaterials;
import ckathode.weaponmod.entity.projectile.MaterialRegistry;
import ckathode.weaponmod.item.IItemWeapon;
import ckathode.weaponmod.item.ItemMelee;
import ckathode.weaponmod.item.MeleeCompBoomerang;
import com.seacroak.bronze.material.BronzeToolMaterial;
import net.minecraft.item.ItemStack;
import net.minecraft.registry.Registries;
import net.minecraft.registry.Registry;

import static com.seacroak.bronze.util.GenericUtils.ID;

public class BWMLegacy {

public static final int BRONZE_ID = 6;

public static final ItemMelee BRONZE_BOOMERANG = Registry.register(Registries.ITEM, ID("bronze_boomerang"),
new ItemMelee(new MeleeCompBoomerang(BronzeToolMaterial.INSTANCE)));

public static void init() {
MaterialRegistry.registerCustomProjectileMaterial(new ICustomProjectileMaterials() {
@Override
public int[] getAllMaterialIDs() {
return new int[]{BRONZE_ID};
}

@Override
public int getMaterialID(ItemStack itemStack) {
if (itemStack != null && itemStack.getItem() instanceof IItemWeapon weapon && weapon.getMeleeComponent() != null) {
if (weapon.getMeleeComponent().weaponMaterial == BronzeToolMaterial.INSTANCE) return BRONZE_ID;
}
return -1;
}

@Override
public float[] getColorFromMaterialID(int i) {
if (i == BRONZE_ID)
return new float[]{0.86f, 0.65f, 0.25f};
return null;
}
});
}

}
7 changes: 6 additions & 1 deletion src/main/java/com/seacroak/bronze/registry/MainRegistry.java
Original file line number Diff line number Diff line change
@@ -1,12 +1,15 @@
package com.seacroak.bronze.registry;

import ckathode.weaponmod.BalkonsWeaponMod;
import com.seacroak.bronze.block.*;
import com.seacroak.bronze.integration.BWMLegacy;
import com.seacroak.bronze.item.*;
import com.seacroak.bronze.material.BronzeArmorMaterial;
import com.seacroak.bronze.material.BronzeToolMaterial;
import com.seacroak.bronze.util.RegistryHelper;
import net.fabricmc.fabric.api.biome.v1.BiomeModifications;
import net.fabricmc.fabric.api.biome.v1.BiomeSelectors;
import net.fabricmc.loader.api.FabricLoader;
import net.minecraft.block.Block;
import net.minecraft.item.*;
import net.minecraft.registry.Registries;
Expand Down Expand Up @@ -64,7 +67,9 @@ public static void init() {
BRONZE_LOGGER.info("Initializing Main Registry");
/* Add Tin Ore to WorldGen */
BiomeModifications.addFeature(BiomeSelectors.foundInOverworld(), GenerationStep.Feature.UNDERGROUND_ORES, TIN_ORE_PLACED_KEY);

if (FabricLoader.getInstance().isModLoaded(BalkonsWeaponMod.MOD_ID)) {
BWMLegacy.init();
}
}

/* Registration Functions */
Expand Down
1 change: 1 addition & 0 deletions src/main/resources/assets/bronze/lang/en_us.json
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@
"item.bronze.bronze_hoe": "Bronze Hoe",
"item.bronze.bronze_horse_armor": "Bronze Horse Armor",
"item.bronze.bronze_sickle": "Sickle",
"item.bronze.bronze_boomerang": "Bronze Boomerang",
"block.bronze.bronze_door_block": "Bronze Door",
"block.bronze.bronze_trapdoor_block": "Bronze Trapdoor",
"advancement.bronze.got_tin_ingot.title": "Tin There, Done That",
Expand Down
14 changes: 14 additions & 0 deletions src/main/resources/assets/bronze/models/item/bronze_boomerang.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
{
"parent": "item/handheld",
"textures": {
"layer0": "bronze:item/bronze_boomerang"
},
"overrides": [
{
"predicate": {
"weaponmod:boomerang-ready": 1
},
"model": "bronze:item/bronze_boomerang_ready"
}
]
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"parent": "weaponmod:item/handheld_block",
"textures": {
"layer0": "bronze:item/bronze_boomerang"
}
}
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit e2d792b

Please sign in to comment.