Compare commits

..

No commits in common. "master" and "webedit-1" have entirely different histories.

23 changed files with 33 additions and 346 deletions

View File

@ -1,19 +1,5 @@
# Changelog
**1.0.4**
* Fix Crash When Sneak-Using Dye On A Block
**1.0.3**
* Fix Gravity Crash
**1.0.2**
* Attempt To Fix Structure Generation Crash
**1.0.1**
* Add Advancements
* Industrial Laser Can Smelt Nether Gold Ore
* Rework Network Chip Recipe
**1.0.8**
* Update Textures

View File

@ -10,7 +10,7 @@ org.gradle.jvmargs = -Xmx1G
fabric_loader_version = 0.9.2+build.206
# Mod Properties
mod_version = 1.0.4
mod_version = 1.0.0
maven_group = com.thebrokenrail
# Dependencies

View File

@ -106,17 +106,15 @@ public class PhaseShifterBlock extends EnergyBlock {
UseBlockCallback.EVENT.register((player, world, hand, hit) -> {
if (!player.isSpectator() && player.shouldCancelInteraction()) {
BlockState state = world.getBlockState(hit.getBlockPos());
if (state.getBlock() == PhaseShifterBlock.this) {
ItemStack stack = player.getStackInHand(hand);
if (stack.getItem() instanceof DyeItem) {
DyeColor newColor = ((DyeItem) stack.getItem()).getColor();
if (state.get(PhaseShifterBlock.COLOR) != newColor) {
world.setBlockState(hit.getBlockPos(), state.with(PhaseShifterBlock.COLOR, newColor));
if (!player.isCreative()) {
stack.decrement(1);
}
return ActionResult.SUCCESS;
ItemStack stack = player.getStackInHand(hand);
if (stack.getItem() instanceof DyeItem) {
DyeColor newColor = ((DyeItem) stack.getItem()).getColor();
if (state.get(PhaseShifterBlock.COLOR) != newColor) {
world.setBlockState(hit.getBlockPos(), state.with(PhaseShifterBlock.COLOR, newColor));
if (!player.isCreative()) {
stack.decrement(1);
}
return ActionResult.SUCCESS;
}
}
}

View File

@ -19,23 +19,17 @@ class StructureGeneratorPiece extends StructurePiece {
private final StructureGeneratorBlock block;
private final BlockRotation rotation;
private final BlockPos pos;
private boolean placed;
private StructureGeneratorPiece(StructureGeneratorBlock block, BlockRotation rotation, BlockPos pos, boolean placed) {
StructureGeneratorPiece(StructureGeneratorBlock block, BlockRotation rotation, BlockPos pos) {
super(block.piece, 0);
this.block = block;
this.rotation = rotation;
this.pos = pos;
this.placed = placed;
boundingBox = BlockBox.create(pos.getX(), pos.getY(), pos.getZ(), pos.getX() + 1, pos.getY() + 1, pos.getZ() + 1);
}
StructureGeneratorPiece(StructureGeneratorBlock block, BlockRotation rotation, BlockPos pos) {
this(block, rotation, pos, false);
}
StructureGeneratorPiece(StructureGeneratorBlock block, CompoundTag tag) {
this(block, BlockRotation.valueOf(tag.getString("Rot")), new BlockPos(tag.getInt("X"), tag.getInt("Y"), tag.getInt("Z")), tag.getBoolean("Placed"));
this(block, BlockRotation.valueOf(tag.getString("Rot")), new BlockPos(tag.getInt("X"), tag.getInt("Y"), tag.getInt("Z")));
}
@Override
@ -44,24 +38,19 @@ class StructureGeneratorPiece extends StructurePiece {
tag.putInt("X", pos.getX());
tag.putInt("Y", pos.getY());
tag.putInt("Z", pos.getZ());
tag.putBoolean("Placed", placed);
}
@Override
public boolean generate(StructureWorldAccess world, StructureAccessor structureAccessor, ChunkGenerator chunkGenerator, Random random, BlockBox boundingBox, ChunkPos chunkPos, BlockPos blockPos) {
if (!placed) {
BlockState state = block.getDefaultState().rotate(rotation);
BlockState state = block.getDefaultState().rotate(rotation);
world.setBlockState(pos, state, 3);
BlockEntity entity = world.getBlockEntity(pos);
if (entity instanceof StructureGeneratorBlockEntity) {
((StructureGeneratorBlockEntity) entity).setSeed(random.nextLong());
}
block.schedule(world, pos);
placed = true;
world.setBlockState(pos, state, 3);
BlockEntity entity = world.getBlockEntity(pos);
if (entity instanceof StructureGeneratorBlockEntity) {
((StructureGeneratorBlockEntity) entity).setSeed(random.nextLong());
}
block.schedule(world, pos);
return true;
}
}

View File

@ -5,7 +5,6 @@ import com.thebrokenrail.energonrelics.block.forcefield.util.BeamBlock;
import com.thebrokenrail.energonrelics.block.portal.PortalCooldownEntity;
import com.thebrokenrail.energonrelics.config.HardcodedConfig;
import net.minecraft.block.Block;
import net.minecraft.block.BlockState;
import net.minecraft.entity.Entity;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.server.MinecraftServer;
@ -27,8 +26,6 @@ import java.util.function.Predicate;
public abstract class MixinEntity implements PortalCooldownEntity {
@Unique
private int energyPortalCooldown = 0;
@Unique
private boolean touchingBeam = false;
@Shadow
public abstract Box getBoundingBox();
@ -56,8 +53,7 @@ public abstract class MixinEntity implements PortalCooldownEntity {
for (int q = k; q < l; ++q) {
for (int r = m; r < n; ++r) {
pos.set(p, q, r);
BlockState state = getEntityWorld().getBlockState(pos);
if (state.getCollisionShape(getEntityWorld(), pos).isEmpty() && test.test(state.getBlock())) {
if (test.test(getEntityWorld().getBlockState(pos).getBlock())) {
getEntityWorld().getProfiler().pop();
return true;
}
@ -75,7 +71,7 @@ public abstract class MixinEntity implements PortalCooldownEntity {
@Inject(at = @At("HEAD"), method = "hasNoGravity", cancellable = true)
public void hasNoGravity(CallbackInfoReturnable<Boolean> info) {
if (!saving && touchingBeam) {
if (!saving && isTouching(block -> block instanceof BeamBlock)) {
info.setReturnValue(true);
}
}
@ -96,13 +92,8 @@ public abstract class MixinEntity implements PortalCooldownEntity {
energyPortalCooldown = tag.getInt(EnergonRelics.NAMESPACE + ":EnergyPortalCooldown");
}
@Inject(at = @At("HEAD"), method = "tick")
public void tickHead(CallbackInfo info) {
touchingBeam = isTouching(block -> block instanceof BeamBlock);
}
@Inject(at = @At("RETURN"), method = "tick")
public void tickReturn(CallbackInfo info) {
public void tick(CallbackInfo info) {
energyPortalCooldown--;
}

View File

@ -34,9 +34,7 @@ public class IndustrialLaserRegistry {
return new ItemStack(ingot, count);
});
if (storage != null) {
map.put(storage, random -> new ItemStack(ingot, HardcodedConfig.INDUSTRIAL_LASER_INGOTS_FROM_STORAGE));
}
map.put(storage, random -> new ItemStack(ingot, HardcodedConfig.INDUSTRIAL_LASER_INGOTS_FROM_STORAGE));
}
/**
@ -64,7 +62,6 @@ public class IndustrialLaserRegistry {
add(Blocks.COAL_ORE, Items.COAL, Blocks.COAL_BLOCK);
add(Blocks.IRON_ORE, Items.IRON_INGOT, Blocks.IRON_BLOCK);
add(Blocks.GOLD_ORE, Items.GOLD_INGOT, Blocks.GOLD_BLOCK);
add(Blocks.NETHER_GOLD_ORE, Items.GOLD_INGOT, null);
add(Blocks.DIAMOND_ORE, Items.DIAMOND, Blocks.DIAMOND_BLOCK);
add(Blocks.EMERALD_ORE, Items.EMERALD, Blocks.EMERALD_BLOCK);
add(EnergonRelics.Blocks.VERIDIUM_ORE, EnergonRelics.Items.VERIDIUM_INGOT, EnergonRelics.Blocks.VERIDIUM_BLOCK);

View File

@ -1,7 +1,7 @@
{
"parent": "minecraft:block/block",
"textures": {
"0": "minecraft:block/gold_block",
"0": "energonrelics:block/gold_block",
"1": "energonrelics:block/lightning_rod_base",
"particle": "#1"
},

View File

@ -2,7 +2,7 @@
"credit": "Made by Azazelthedemonlord",
"textures": {
"0": "energonrelics:block/lightning_rod",
"particle": "minecraft:block/gold_block"
"particle": "energonrelics:block/gold_block"
},
"elements": [
{

View File

@ -3,7 +3,7 @@
"textures": {
"0": "energonrelics:block/lightning_rod",
"1": "energonrelics:block/lightning_rod_base",
"particle": "minecraft:block/gold_block"
"particle": "energonrelics:block/gold_block"
},
"elements": [
{

Binary file not shown.

After

Width:  |  Height:  |  Size: 416 B

View File

@ -65,21 +65,5 @@
"block.energonrelics.phase_shifter": "Phase Shifter",
"text.energonrelics.phase_shifter_extra": "Phased Items: %s",
"category.rei.energonrelics.information.structure_generation.title": "Structures",
"category.rei.energonrelics.information.structure_generation.research_complex": "Found In The Research Complex Underground Structure",
"advancements.energonrelics.root.title": "EnergonRelics",
"advancements.energonrelics.root.description": "A Simple Technology Mod",
"advancements.energonrelics.find_circuit_board.title": "Mysterious Machines",
"advancements.energonrelics.find_circuit_board.description": "Find a Circuit Board",
"advancements.energonrelics.craft_solar_panel.title": "Power of The Sun",
"advancements.energonrelics.craft_solar_panel.description": "Craft a Solar Panel",
"advancements.energonrelics.craft_network_chip.title": "Invisible Wires",
"advancements.energonrelics.craft_network_chip.description": "Craft a Network Chip",
"advancements.energonrelics.smelt_veridium_ore.title": "Hidden Power",
"advancements.energonrelics.smelt_veridium_ore.description": "Smelt Veridium Ore",
"advancements.energonrelics.craft_switch.title": "Logical Constellations",
"advancements.energonrelics.craft_switch.description": "Craft a Switch",
"advancements.energonrelics.craft_multimeter.title": "Measuring Madness",
"advancements.energonrelics.craft_multimeter.description": "Craft a Multimeter",
"advancements.energonrelics.craft_reactor_core.title": "Artificial Star",
"advancements.energonrelics.craft_reactor_core.description": "Craft a Reactor Core"
"category.rei.energonrelics.information.structure_generation.research_complex": "Found In The Research Complex Underground Structure"
}

View File

@ -1,7 +1,7 @@
{
"parent": "minecraft:block/block",
"textures": {
"1": "minecraft:block/blackstone",
"1": "energonrelics:block/lightning_rod_base",
"particle": "#1"
},
"elements": [

Binary file not shown.

After

Width:  |  Height:  |  Size: 282 B

View File

@ -1,26 +0,0 @@
{
"display": {
"icon": {
"item": "energonrelics:multimeter"
},
"title": {
"translate": "advancements.energonrelics.craft_multimeter.title"
},
"description": {
"translate": "advancements.energonrelics.craft_multimeter.description"
}
},
"parent": "energonrelics:craft_network_chip",
"criteria": {
"chest_boat": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{
"item": "energonrelics:multimeter"
}
]
}
}
}
}

View File

@ -1,26 +0,0 @@
{
"display": {
"icon": {
"item": "energonrelics:network_chip"
},
"title": {
"translate": "advancements.energonrelics.craft_network_chip.title"
},
"description": {
"translate": "advancements.energonrelics.craft_network_chip.description"
}
},
"parent": "energonrelics:find_circuit_board",
"criteria": {
"chest_boat": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{
"item": "energonrelics:network_chip"
}
]
}
}
}
}

View File

@ -1,30 +0,0 @@
{
"display": {
"icon": {
"item": "energonrelics:reactor_core"
},
"title": {
"translate": "advancements.energonrelics.craft_reactor_core.title"
},
"description": {
"translate": "advancements.energonrelics.craft_reactor_core.description"
},
"frame": "goal"
},
"parent": "energonrelics:smelt_veridium_ore",
"rewards": {
"experience": 100
},
"criteria": {
"chest_boat": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{
"item": "energonrelics:reactor_core"
}
]
}
}
}
}

View File

@ -1,26 +0,0 @@
{
"display": {
"icon": {
"item": "energonrelics:solar_panel"
},
"title": {
"translate": "advancements.energonrelics.craft_solar_panel.title"
},
"description": {
"translate": "advancements.energonrelics.craft_solar_panel.description"
}
},
"parent": "energonrelics:find_circuit_board",
"criteria": {
"chest_boat": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{
"item": "energonrelics:solar_panel"
}
]
}
}
}
}

View File

@ -1,26 +0,0 @@
{
"display": {
"icon": {
"item": "energonrelics:switch"
},
"title": {
"translate": "advancements.energonrelics.craft_switch.title"
},
"description": {
"translate": "advancements.energonrelics.craft_switch.description"
}
},
"parent": "energonrelics:craft_network_chip",
"criteria": {
"chest_boat": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{
"item": "energonrelics:switch"
}
]
}
}
}
}

View File

@ -1,57 +0,0 @@
{
"display": {
"icon": {
"item": "energonrelics:circuit_board"
},
"title": {
"translate": "advancements.energonrelics.find_circuit_board.title"
},
"description": {
"translate": "advancements.energonrelics.find_circuit_board.description"
},
"frame": "challenge"
},
"parent": "energonrelics:root",
"rewards": {
"experience": 100,
"recipes": [
"energonrelics:active_battery_controller",
"energonrelics:battery_core",
"energonrelics:block_breaker",
"energonrelics:defensive_laser_core",
"energonrelics:defensive_laser",
"energonrelics:duplicate_network_chip",
"energonrelics:energon_light",
"energonrelics:energy_projector",
"energonrelics:forcefield_projector",
"energonrelics:holographic_sky",
"energonrelics:industrial_laser_projector",
"energonrelics:infuser",
"energonrelics:lightning_rod_base",
"energonrelics:multimeter",
"energonrelics:network_chip",
"energonrelics:passive_battery_controller",
"energonrelics:phase_shifter",
"energonrelics:reactor_controller",
"energonrelics:reactor_core",
"energonrelics:reactor_input",
"energonrelics:solar_panel",
"energonrelics:switch",
"energonrelics:thermal_casing",
"energonrelics:thermal_glass",
"energonrelics:tractor_beam_projector"
]
},
"criteria": {
"chest_boat": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{
"item": "energonrelics:circuit_board"
}
]
}
}
}
}

View File

@ -1,30 +0,0 @@
{
"display": {
"icon": {
"item": "energonrelics:network_chip"
},
"title": {
"translate": "advancements.energonrelics.root.title"
},
"description": {
"translate": "advancements.energonrelics.root.description"
},
"background": "minecraft:textures/block/blackstone.png",
"show_toast": false,
"announce_to_chat": false
},
"rewards": {
"recipes": [
"energonrelics:veridium_block",
"energonrelics:veridium_ingot_from_blasting",
"energonrelics:veridium_ingot_from_veridium_block",
"energonrelics:veridium_ingot",
"energonrelics:veridium_powder"
]
},
"criteria": {
"tick": {
"trigger": "minecraft:tick"
}
}
}

View File

@ -1,26 +0,0 @@
{
"display": {
"icon": {
"item": "energonrelics:veridium_ingot"
},
"title": {
"translate": "advancements.energonrelics.smelt_veridium_ore.title"
},
"description": {
"translate": "advancements.energonrelics.smelt_veridium_ore.description"
}
},
"parent": "energonrelics:find_circuit_board",
"criteria": {
"chest_boat": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{
"item": "energonrelics:veridium_ingot"
}
]
}
}
}
}

View File

@ -1,18 +1,13 @@
{
"type": "minecraft:crafting_shaped",
"pattern": [
" I ",
"I#I",
" I "
],
"key": {
"I": {
"item": "minecraft:iron_nugget"
"type": "minecraft:crafting_shapeless",
"ingredients": [
{
"item": "minecraft:iron_ingot"
},
"#": {
{
"item": "energonrelics:circuit_board"
}
},
],
"result": {
"item": "energonrelics:network_chip",
"count": 1

View File

@ -1,6 +0,0 @@
{
"replace": false,
"values": [
"energonrelics:veridium_block"
]
}