Adds a new ore, and fixes to poss ball

This commit is contained in:
zontreck 2023-12-20 22:24:26 -07:00
parent 46142e36aa
commit 26e3ef9ce1
74 changed files with 462 additions and 73 deletions

View file

@ -76,13 +76,34 @@ public class ModBlocks {
public static final RegistryObject<Item> STABLE_SINGULARITY_I = CreativeModeTabs.addToOTEModTab(ITEMS.register("stable_singularity", ()->new BlockItem(STABLE_SINGULARITY.get(), new Item.Properties())));
public static final RegistryObject<Block> ILUSIUM_ORE_BLOCK = BLOCKS.register("ilusium_ore_block", () -> new Block(BlockBehaviour.Properties.copy(ModBlocks.ETERNIUM_ORE_BLOCK.get()).noOcclusion()));
public static final RegistryObject<Item> ILUSIUM_ORE_BLOCK_I = CreativeModeTabs.addToOTEModTab(ITEMS.register("ilusium_ore_block", () -> new BlockItem(ILUSIUM_ORE_BLOCK.get(), new Item.Properties())));
public static final RegistryObject<Block> DEEPSLATE_ILUSIUM_ORE_BLOCK = BLOCKS.register("deepslate_ilusium_ore_block", () -> new Block(BlockBehaviour.Properties.copy(ILUSIUM_ORE_BLOCK.get()).noOcclusion()));
public static final RegistryObject<Item> DEEPSLATE_ILUSIUM_ORE_BLOCK_I = CreativeModeTabs.addToOTEModTab(ITEMS.register("deepslate_ilusium_ore_block", () -> new BlockItem(DEEPSLATE_ILUSIUM_ORE_BLOCK.get(), new Item.Properties())));
public static final RegistryObject<Block> ILUSIUM_BLOCK = BLOCKS.register("ilusium_block", () -> new Block(BlockBehaviour.Properties.copy(ModBlocks.ETERNIUM_BLOCK.get()).noOcclusion().strength(5, 20).requiresCorrectToolForDrops()));
public static final RegistryObject<Item> ILUSIUM_BLOCK_I = CreativeModeTabs.addToOTEModTab(ITEMS.register("ilusium_block", () -> new BlockItem(ILUSIUM_BLOCK.get(), new Item.Properties())));
public static final RegistryObject<Block> LIMINAL_TILES = BLOCKS.register("liminal_tiles", ()-> new Block(BlockBehaviour.Properties.copy(Blocks.BEDROCK)));
public static final RegistryObject<Item> LIMINAL_TILES_I = CreativeModeTabs.addToOTEModTab(ITEMS.register("liminal_tiles", ()->new BlockItem(LIMINAL_TILES.get(), new Item.Properties())));
public static final RegistryObject<Block> BLACK = BLOCKS.register("black", ()->new Block(BlockBehaviour.Properties.copy(Blocks.BEDROCK)));
public static final RegistryObject<Item> BLOCK_I = CreativeModeTabs.addToOTEModTab(ITEMS.register("black", ()->new FoiledBlockItem(BLACK.get(), new Item.Properties().stacksTo(128))));
public static final RegistryObject<Item> BLACK_I = CreativeModeTabs.addToOTEModTab(ITEMS.register("black", ()->new FoiledBlockItem(BLACK.get(), new Item.Properties().stacksTo(128))));
public static final RegistryObject<Block> LIMINAL_TILE_STAIRS = BLOCKS.register("liminal_tile_stairs", ()->new StairBlock(LIMINAL_TILES.get()::defaultBlockState, BlockBehaviour.Properties.copy(Blocks.BEDROCK).destroyTime(1000).strength(1000)));

View file

@ -55,6 +55,11 @@ public class ModItems {
public static final RegistryObject<Item> POSS_BALL = CreativeModeTabs.addToOTEModTab(ITEMS.register("poss_ball", () -> new PossBallItem(new Item.Properties())));
public static final RegistryObject<Item> ILUSIUM_ORE = CreativeModeTabs.addToOTEModTab(ITEMS.register("ilusium_ore", () -> new Item(new Item.Properties().fireResistant())));
public static final RegistryObject<Item> ILUSIUM_ROD = CreativeModeTabs.addToOTEModTab(ITEMS.register("ilusium_rod", () -> new Item(new Item.Properties().fireResistant())));
public static final RegistryObject<Item> ILUSIUM_DUST = CreativeModeTabs.addToOTEModTab(ITEMS.register("ilusium_dust", () -> new Item(new Item.Properties().fireResistant())));
public static final RegistryObject<Item> ILUSIUM_INGOT = CreativeModeTabs.addToOTEModTab(ITEMS.register("ilusium_ingot", () -> new Item(new Item.Properties().fireResistant())));
//public static final RegistryObject<Item> POSSUM_SPAWN_EGG = ITEMS.register("possum_spawn_egg", () -> new ForgeSpawnEggItem(ModEntityTypes.POSSUM, 0x938686, 0xc68787, new Item.Properties())));

View file

@ -24,10 +24,12 @@ import net.minecraft.world.phys.EntityHitResult;
import net.minecraft.world.phys.HitResult;
import java.util.Optional;
import java.util.UUID;
public class ThrownPossBall extends ThrowableItemProjectile
{
boolean captured = false;
LivingEntity shooter;
public ThrownPossBall(EntityType<? extends ThrownPossBall> entity, Level level)
{
super(entity, level);
@ -35,6 +37,8 @@ public class ThrownPossBall extends ThrowableItemProjectile
public ThrownPossBall(Level level, LivingEntity shooter)
{
super(EntityType.SNOWBALL, shooter, level);
this.shooter = shooter;
}
public ThrownPossBall(Level pLevel, double pX, double pY, double pZ)
@ -91,7 +95,7 @@ public class ThrownPossBall extends ThrowableItemProjectile
cont.commitLore();
le.kill();
le.remove(RemovalReason.DISCARDED);
}
}
}
@ -114,7 +118,11 @@ public class ThrownPossBall extends ThrowableItemProjectile
if(captured)
{
// Spawn poss ball item with the entity NBT
ItemEntity entity = new ItemEntity(level(), position().x, position().y, position().z, item, 0, 0, 0);
ItemEntity entity;
if(shooter != null)
entity = new ItemEntity(level(), shooter.position().x, shooter.position().y, shooter.position().z, item, 0, 0, 0);
else
entity = new ItemEntity(level(), shooter.position().x, shooter.position().y, shooter.position().z, item, 0, 0, 0);
level().addFreshEntity(entity);
} else {
// Spawn the real entity
@ -122,6 +130,7 @@ public class ThrownPossBall extends ThrowableItemProjectile
if(entity.isPresent())
{
Entity xEntity = entity.get();
xEntity.setUUID(UUID.randomUUID());
xEntity.setPos(position());
level().addFreshEntity(xEntity);
}
@ -133,9 +142,16 @@ public class ThrownPossBall extends ThrowableItemProjectile
if(item.getDamageValue() == 0)
{
item.setTag(new CompoundTag());
}else {
tag.remove("entity");
}
ItemEntity x = new ItemEntity(level(), position().x, position().y, position().z, item, 0, 0, 0);
ItemEntity x;
if(shooter!=null)
x = new ItemEntity(level(), shooter.position().x, shooter.position().y, shooter.position().z, item, 0, 0, 0);
else
x = new ItemEntity(level(), position().x, position().y, position().z, item, 0, 0, 0);
level().addFreshEntity(x);
}
} else {
@ -144,7 +160,20 @@ public class ThrownPossBall extends ThrowableItemProjectile
int damage = item.getDamageValue();
damage++;
item.setDamageValue(damage);
ItemEntity entity = new ItemEntity(level(), position().x, position().y, position().z, item, 0, 0, 0);
// Ensure no entity tag!
tag.remove("entity");
if(item.getDamageValue() >= item.getMaxDamage())
return;
ItemEntity entity;
if(shooter!= null)
entity = new ItemEntity(level(),shooter.position().x, shooter.position().y, shooter.position().z, item, 0, 0, 0);
else
entity = new ItemEntity(level(), position().x, position().y, position().z, item, 0, 0, 0);
level().addFreshEntity(entity);
}

View file

@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "otemod:block/deepslate_ilusium_ore_block"
}
}
}

View file

@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "otemod:block/ilusium_block"
}
}
}

View file

@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "otemod:block/ilusium_ore_block"
}
}
}

View file

@ -34,6 +34,10 @@
"item.otemod.vault_fragment_center": "Vault Fragment",
"item.otemod.raw_vault_steel_ore": "Raw Vault Steel",
"item.otemod.poss_ball": "Pulse Operated Storage System",
"item.otemod.ilusium_ingot": "Ilusium Ingot",
"item.otemod.ilusium_rod": "Ilusium Rod",
"item.otemod.ilusium_dust": "Ilusium Dust",
"item.otemod.ilusium_ore": "Raw Ilusium Ore",
"block.otemod.eternium_ore_block": "Eternium Ore",
@ -51,6 +55,9 @@
"block.otemod.black": "The Void",
"block.otemod.liminal_tile_stairs": "Pool Stairs",
"block.otemod.liminal_tile_slab": "Pool Slab",
"block.otemod.ilusium_ore_block": "Ilusium Ore Block",
"block.otemod.deepslate_ilusium_ore_block": "Deepslate Ilusium Ore Block",
"block.otemod.ilusium_block": "Block of Ilusium",
"enchantment.otemod.mob_egging": "Mob Egging",

View file

@ -0,0 +1,6 @@
{
"parent": "block/cube_all",
"textures": {
"all": "otemod:block/deepslate_ilusium_ore_block"
}
}

View file

@ -0,0 +1,6 @@
{
"parent": "block/cube_all",
"textures": {
"all": "otemod:block/ilusium_block"
}
}

View file

@ -0,0 +1,6 @@
{
"parent": "block/cube_all",
"textures": {
"all": "otemod:block/ilusium_ore_block"
}
}

View file

@ -0,0 +1,3 @@
{
"parent": "otemod:block/deepslate_ilusium_ore_block"
}

View file

@ -0,0 +1,3 @@
{
"parent": "otemod:block/ilusium_block"
}

View file

@ -0,0 +1,6 @@
{
"parent": "item/generated",
"textures": {
"layer0": "otemod:item/ilusium_dust"
}
}

View file

@ -0,0 +1,6 @@
{
"parent": "item/generated",
"textures": {
"layer0": "otemod:item/ilusium_ingot"
}
}

View file

@ -0,0 +1,6 @@
{
"parent": "item/generated",
"textures": {
"layer0": "otemod:item/ilusium_ore"
}
}

View file

@ -0,0 +1,3 @@
{
"parent": "otemod:block/ilusium_ore_block"
}

View file

@ -0,0 +1,6 @@
{
"parent": "item/generated",
"textures": {
"layer0": "otemod:item/ilusium_rod"
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 605 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 394 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 621 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 229 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 210 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 348 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 324 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 195 B

View file

@ -1,5 +1,4 @@
{
"values": [
"otemod:cobalt_ore"
]
}

View file

@ -2,6 +2,7 @@
"values": [
"#forge:ores/cobalt",
"#forge:ores/eternium",
"#forge:ores/vaultsteel"
"#forge:ores/vaultsteel",
"#forge:ores/ilusium"
]
}

View file

@ -1,5 +0,0 @@
{
"values": [
"otemod:cobalt_ore"
]
}

View file

@ -0,0 +1,6 @@
{
"values": [
"otemod:ilusium_ore_block",
"otemod:deepslate_ilusium_ore_block"
]
}

View file

@ -1,5 +1,4 @@
{
"values": [
"otemod:cobalt_ore"
]
}

View file

@ -1,5 +1,6 @@
{
"values": [
"#forge:storage_blocks/eternium"
"#forge:storage_blocks/eternium",
"#forge:storage_blocks/ilusium"
]
}

View file

@ -0,0 +1,5 @@
{
"values": [
"otemod:ilusium_block"
]
}

View file

@ -0,0 +1,6 @@
{
"values": [
"#forge:dusts/eternium",
"#forge:dusts/ilusium"
]
}

View file

@ -0,0 +1,5 @@
{
"values": [
"otemod:eternium_dust"
]
}

View file

@ -0,0 +1,5 @@
{
"values": [
"otemod:ilusium_dust"
]
}

View file

@ -1,7 +1,7 @@
{
"values": [
"#forge:ingots/cobalt",
"#forge:ingots/eternium",
"#forge:ingots/vaultsteel"
"#forge:ingots/vaultsteel",
"#forge:ingots/ilusium"
]
}

View file

@ -1,5 +0,0 @@
{
"values": [
"otemod:cobalt_ingot"
]
}

View file

@ -0,0 +1,5 @@
{
"values": [
"otemod:ilusium_ingot"
]
}

View file

@ -1,5 +1,4 @@
{
"values": [
"#forge:nuggets/cobalt"
]
}

View file

@ -1,5 +0,0 @@
{
"values": [
"otemod:cobalt_nugget"
]
}

View file

@ -1,5 +1,4 @@
{
"values": [
"otemod:cobalt_ore"
]
}

View file

@ -1,7 +1,7 @@
{
"values": [
"#forge:ores/cobalt",
"#forge:ores/eternium",
"#forge:ores/vaultsteel"
"#forge:ores/vaultsteel",
"#forge:ores/ilusium"
]
}

View file

@ -1,5 +0,0 @@
{
"values": [
"otemod:cobalt_ore"
]
}

View file

@ -1,5 +1,7 @@
{
"values": [
"otemod:eternium_ore"
"otemod:eternium_ore",
"otemod:eternium_ore_block",
"otemod:deepslate_eternium_ore_block"
]
}

View file

@ -0,0 +1,7 @@
{
"values": [
"otemod:ilusium_ore",
"otemod:ilusium_ore_block",
"otemod:deepslate_ilusium_ore_block"
]
}

View file

@ -1,5 +1,7 @@
{
"values": [
"otemod:raw_vault_steel_ore"
"otemod:raw_vault_steel_ore",
"otemod:vault_steel_ore_block",
"otemod:nether_vault_steel_ore_block"
]
}

View file

@ -1,5 +1,4 @@
{
"values": [
"otemod:cobalt_ore"
]
}

View file

@ -1,6 +1,7 @@
{
"values": [
"#forge:raw_materials/cobalt",
"#forge:raw_materials/eternium"
"#forge:raw_materials/eternium",
"#forge:raw_materials/ilusium",
"#forge:raw_materials/vaultsteel"
]
}

View file

@ -1,5 +0,0 @@
{
"values": [
"otemod:raw_cobalt"
]
}

View file

@ -0,0 +1,5 @@
{
"values": [
"otemod:ilusium_ore"
]
}

View file

@ -0,0 +1,5 @@
{
"values": [
"otemod:raw_vault_steel_ore"
]
}

View file

@ -1,5 +1,6 @@
{
"values": [
"#forge:rods/eternium"
"#forge:rods/eternium",
"#forge:rods/ilusium"
]
}

View file

@ -0,0 +1,5 @@
{
"values": [
"otemod:ilusium_rod"
]
}

View file

@ -1,5 +1,6 @@
{
"values": [
"#forge:storage_blocks/eternium"
"#forge:storage_blocks/eternium",
"#forge:storage_blocks/ilusium"
]
}

View file

@ -0,0 +1,5 @@
{
"values": [
"otemod:ilusium_block"
]
}

View file

@ -9,6 +9,10 @@
"otemod:magical_scrubber",
"otemod:vault_steel_ore_block",
"otemod:eternium_block"
"otemod:eternium_block",
"otemod:ilusium_ore_block",
"otemod:deepslate_ilusium_ore_block",
"otemod:ilusium_block"
]
}

View file

@ -4,7 +4,6 @@
"otemod:aurora_door",
"otemod:item_scrubber",
"otemod:magical_scrubber",
"otemod:vault_steel_ore_block",
"otemod:eternium_block"
"otemod:vault_steel_ore_block"
]
}

View file

@ -1,6 +1,10 @@
{
"values": [
"otemod:eternium_ore_block",
"otemod:deepslate_eternium_ore_block"
"otemod:deepslate_eternium_ore_block",
"otemod:ilusium_ore_block",
"otemod:deepslate_ilusium_ore_block",
"otemod:ilusium_block",
"otemod:eternium_block"
]
}

View file

@ -1,6 +1,7 @@
{
"values": [
"otemod:aurora_block",
"otemod:aurora_door"
"otemod:aurora_door",
"otemod:ilusium_block"
]
}

View file

@ -0,0 +1,50 @@
{
"type": "minecraft:block",
"pools": [
{
"name": "main",
"rolls": 1.0,
"bonus_rolls": 0.0,
"entries": [
{
"type": "minecraft:alternatives",
"children": [
{
"type": "minecraft:item",
"conditions": [
{
"condition": "minecraft:match_tool",
"predicate": {
"enchantments": [
{
"enchantment": "minecraft:silk_touch",
"levels": {
"min": 1
}
}
]
}
}
],
"name": "otemod:deepslate_ilusium_ore_block"
},
{
"type": "minecraft:item",
"functions": [
{
"function": "minecraft:apply_bonus",
"enchantment": "minecraft:fortune",
"formula": "minecraft:ore_drops"
},
{
"function": "minecraft:explosion_decay"
}
],
"name": "otemod:ilusium_ore"
}
]
}
]
}
]
}

View file

@ -0,0 +1,20 @@
{
"type": "minecraft:block",
"pools": [
{
"rolls": 1,
"entries": [
{
"type": "minecraft:item",
"name": "otemod:ilusium_block"
}
],
"conditions": [
{
"condition": "minecraft:survives_explosion"
}
]
}
]
}

View file

@ -0,0 +1,50 @@
{
"type": "minecraft:block",
"pools": [
{
"name": "main",
"rolls": 1.0,
"bonus_rolls": 0.0,
"entries": [
{
"type": "minecraft:alternatives",
"children": [
{
"type": "minecraft:item",
"conditions": [
{
"condition": "minecraft:match_tool",
"predicate": {
"enchantments": [
{
"enchantment": "minecraft:silk_touch",
"levels": {
"min": 1
}
}
]
}
}
],
"name": "otemod:ilusium_ore_block"
},
{
"type": "minecraft:item",
"functions": [
{
"function": "minecraft:apply_bonus",
"enchantment": "minecraft:fortune",
"formula": "minecraft:ore_drops"
},
{
"function": "minecraft:explosion_decay"
}
],
"name": "otemod:ilusium_ore"
}
]
}
]
}
]
}

View file

@ -7,6 +7,6 @@
},
"output": {
"item": "mekanism:dust_sulfur",
"count": 4
"count": 4
}
}

View file

@ -0,0 +1,17 @@
{
"type": "minecraft:crafting_shaped",
"pattern": [
"CCC",
"CCC",
"CCC"
],
"key": {
"C": {
"item": "otemod:ilusium_ingot"
}
},
"result": {
"item": "otemod:ilusium_block",
"count": 1
}
}

View file

@ -2,11 +2,11 @@
"type": "minecraft:crafting_shapeless",
"ingredients": [
{
"item": "otemod:raw_cobalt_ore"
"tag": "forge:storage_blocks/ilusium"
}
],
"result": {
"item": "otemod:raw_cobalt",
"item": "otemod:ilusium_ingot",
"count": 9
}
}

View file

@ -0,0 +1,11 @@
{
"type": "minecraft:smelting",
"ingredient": [
{
"tag": "forge:ores/ilusium"
}
],
"result": "otemod:ilusium_ingot",
"experience": 3,
"cookingtime": 600
}

View file

@ -0,0 +1,17 @@
{
"type": "minecraft:crafting_shaped",
"pattern": [
" C",
" C ",
"C "
],
"key": {
"C": {
"item": "otemod:ilusium_ingot"
}
},
"result": {
"item": "otemod:ilusium_rod",
"count": 1
}
}

View file

@ -1,16 +0,0 @@
{
"type": "minecraft:crafting_shaped",
"pattern": [
"###",
"###",
"###"
],
"key": {
"#": {
"tag": "forge:raw_materials/cobalt"
}
},
"result": {
"item": "otemod:raw_cobalt_ore"
}
}

View file

@ -0,0 +1,27 @@
{
"type": "minecraft:ore",
"config": {
"size": 4,
"discard_chance_on_air_exposure": 0.25,
"targets": [
{
"target": {
"predicate_type": "minecraft:tag_match",
"tag": "minecraft:stone_ore_replaceables"
},
"state": {
"Name": "otemod:ilusium_ore_block"
}
},
{
"target": {
"predicate_type": "minecraft:tag_match",
"tag": "minecraft:deepslate_ore_replaceables"
},
"state": {
"Name": "minecraft:deepslate_ilusium_ore_block"
}
}
]
}
}

View file

@ -2,7 +2,7 @@
"type": "minecraft:ore",
"config": {
"size": 4,
"discard_chance_on_air_exposure": 0,
"discard_chance_on_air_exposure": 0.5,
"targets": [
{
"target": {

View file

@ -19,6 +19,9 @@
"absolute": 25
}
}
},
{
"type": "minecraft:biome"
}
]
}

View file

@ -0,0 +1,27 @@
{
"feature": "otemod:ilusium_oregen_overworld",
"placement": [
{
"type": "minecraft:count",
"count": 4
},
{
"type": "minecraft:in_square"
},
{
"type": "minecraft:height_range",
"height": {
"type": "minecraft:trapezoid",
"min_inclusive": {
"absolute": -64
},
"max_inclusive": {
"absolute": 32
}
}
},
{
"type": "minecraft:biome"
}
]
}

View file

@ -16,9 +16,12 @@
"absolute": -63
},
"max_inclusive": {
"absolute": -50
"absolute": -55
}
}
},
{
"type": "minecraft:biome"
}
]
}