diff --git a/.idea/icon.png b/.idea/icon.png index 63aabf0ae..61de5f066 100644 Binary files a/.idea/icon.png and b/.idea/icon.png differ diff --git a/README.md b/README.md index ce6b55320..7091f49f9 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -

Logo

+

Logo

Create
Patreon Supported Versions diff --git a/gradle.properties b/gradle.properties index 75b89dd1b..50be71712 100644 --- a/gradle.properties +++ b/gradle.properties @@ -23,7 +23,7 @@ use_parchment = true # dependency versions registrate_version = MC1.19-1.1.5 flywheel_minecraft_version = 1.19.2 -flywheel_version = 0.6.10-20 +flywheel_version = 0.6.10-21 jei_minecraft_version = 1.19.2 jei_version = 11.6.0.1024 curios_minecraft_version = 1.19.2 diff --git a/src/main/java/com/simibubi/create/content/contraptions/pulley/PulleyBlockEntity.java b/src/main/java/com/simibubi/create/content/contraptions/pulley/PulleyBlockEntity.java index 2c425dd01..28bf7924d 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/pulley/PulleyBlockEntity.java +++ b/src/main/java/com/simibubi/create/content/contraptions/pulley/PulleyBlockEntity.java @@ -18,6 +18,7 @@ import com.simibubi.create.foundation.advancement.AllAdvancements; import com.simibubi.create.foundation.blockEntity.behaviour.BlockEntityBehaviour; import com.simibubi.create.foundation.blockEntity.behaviour.CenteredSideValueBoxTransform; import com.simibubi.create.foundation.blockEntity.behaviour.ValueBoxTransform; +import com.simibubi.create.foundation.utility.Iterate; import com.simibubi.create.foundation.utility.NBTHelper; import com.simibubi.create.infrastructure.config.AllConfigs; @@ -194,28 +195,42 @@ public class PulleyBlockEntity extends LinearActuatorBlockEntity implements Thre if (offset > 0) { BlockPos magnetPos = worldPosition.below((int) offset); FluidState ifluidstate = level.getFluidState(magnetPos); - level.destroyBlock(magnetPos, level.getBlockState(magnetPos) - .getCollisionShape(level, magnetPos) - .isEmpty()); - level.setBlock(magnetPos, AllBlocks.PULLEY_MAGNET.getDefaultState() - .setValue(BlockStateProperties.WATERLOGGED, - Boolean.valueOf(ifluidstate.getType() == Fluids.WATER)), - 66); + if (level.getBlockState(magnetPos) + .getDestroySpeed(level, magnetPos) != -1) { + + level.destroyBlock(magnetPos, level.getBlockState(magnetPos) + .getCollisionShape(level, magnetPos) + .isEmpty()); + level.setBlock(magnetPos, AllBlocks.PULLEY_MAGNET.getDefaultState() + .setValue(BlockStateProperties.WATERLOGGED, + Boolean.valueOf(ifluidstate.getType() == Fluids.WATER)), + 66); + } } boolean[] waterlog = new boolean[(int) offset]; - for (int i = 1; i <= ((int) offset) - 1; i++) { - BlockPos ropePos = worldPosition.below(i); - FluidState ifluidstate = level.getFluidState(ropePos); - waterlog[i] = ifluidstate.getType() == Fluids.WATER; - level.destroyBlock(ropePos, level.getBlockState(ropePos) - .getCollisionShape(level, ropePos) - .isEmpty()); + for (boolean destroyPass : Iterate.trueAndFalse) { + for (int i = 1; i <= ((int) offset) - 1; i++) { + BlockPos ropePos = worldPosition.below(i); + if (level.getBlockState(ropePos) + .getDestroySpeed(level, ropePos) == -1) + continue; + + if (destroyPass) { + FluidState ifluidstate = level.getFluidState(ropePos); + waterlog[i] = ifluidstate.getType() == Fluids.WATER; + level.destroyBlock(ropePos, level.getBlockState(ropePos) + .getCollisionShape(level, ropePos) + .isEmpty()); + continue; + } + + level.setBlock(worldPosition.below(i), AllBlocks.ROPE.getDefaultState() + .setValue(BlockStateProperties.WATERLOGGED, waterlog[i]), 66); + } } - for (int i = 1; i <= ((int) offset) - 1; i++) - level.setBlock(worldPosition.below(i), AllBlocks.ROPE.getDefaultState() - .setValue(BlockStateProperties.WATERLOGGED, waterlog[i]), 66); + } if (movedContraption != null && mirrorParent == null) diff --git a/src/main/java/com/simibubi/create/content/fluids/OpenEndedPipe.java b/src/main/java/com/simibubi/create/content/fluids/OpenEndedPipe.java index ba9e3b3ff..dbece7c69 100644 --- a/src/main/java/com/simibubi/create/content/fluids/OpenEndedPipe.java +++ b/src/main/java/com/simibubi/create/content/fluids/OpenEndedPipe.java @@ -37,6 +37,7 @@ import net.minecraft.world.level.block.CampfireBlock; import net.minecraft.world.level.block.LiquidBlock; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.block.state.properties.BlockStateProperties; +import net.minecraft.world.level.material.FlowingFluid; import net.minecraft.world.level.material.FluidState; import net.minecraft.world.level.material.Fluids; import net.minecraft.world.phys.AABB; @@ -188,6 +189,8 @@ public class OpenEndedPipe extends FlowSource { return false; if (fluid.isEmpty()) return false; + if (!(fluid.getFluid() instanceof FlowingFluid)) + return false; if (!FluidHelper.hasBlockState(fluid.getFluid())) return true; diff --git a/src/main/java/com/simibubi/create/content/kinetics/belt/BeltBlock.java b/src/main/java/com/simibubi/create/content/kinetics/belt/BeltBlock.java index 131dfe93f..2f0474a8c 100644 --- a/src/main/java/com/simibubi/create/content/kinetics/belt/BeltBlock.java +++ b/src/main/java/com/simibubi/create/content/kinetics/belt/BeltBlock.java @@ -60,6 +60,7 @@ import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.block.RenderShape; import net.minecraft.world.level.block.Rotation; +import net.minecraft.world.level.block.SoundType; import net.minecraft.world.level.block.entity.BlockEntity; import net.minecraft.world.level.block.entity.BlockEntityType; import net.minecraft.world.level.block.state.BlockState; @@ -304,12 +305,24 @@ public class BeltBlock extends HorizontalKineticBlock if (AllBlocks.BRASS_CASING.isIn(heldItem)) { withBlockEntityDo(world, pos, be -> be.setCasingType(CasingType.BRASS)); updateCoverProperty(world, pos, world.getBlockState(pos)); + + SoundType soundType = AllBlocks.BRASS_CASING.getDefaultState() + .getSoundType(world, pos, player); + world.playSound(null, pos, soundType.getPlaceSound(), SoundSource.BLOCKS, + (soundType.getVolume() + 1.0F) / 2.0F, soundType.getPitch() * 0.8F); + return InteractionResult.SUCCESS; } if (AllBlocks.ANDESITE_CASING.isIn(heldItem)) { withBlockEntityDo(world, pos, be -> be.setCasingType(CasingType.ANDESITE)); updateCoverProperty(world, pos, world.getBlockState(pos)); + + SoundType soundType = AllBlocks.ANDESITE_CASING.getDefaultState() + .getSoundType(world, pos, player); + world.playSound(null, pos, soundType.getPlaceSound(), SoundSource.BLOCKS, + (soundType.getVolume() + 1.0F) / 2.0F, soundType.getPitch() * 0.8F); + return InteractionResult.SUCCESS; } diff --git a/src/main/java/com/simibubi/create/content/kinetics/belt/BeltBlockEntity.java b/src/main/java/com/simibubi/create/content/kinetics/belt/BeltBlockEntity.java index 73e2c955d..1bd8d9628 100644 --- a/src/main/java/com/simibubi/create/content/kinetics/belt/BeltBlockEntity.java +++ b/src/main/java/com/simibubi/create/content/kinetics/belt/BeltBlockEntity.java @@ -187,6 +187,8 @@ public class BeltBlockEntity extends KineticBlockEntity { public LazyOptional getCapability(Capability cap, Direction side) { if (!isItemHandlerCap(cap)) return super.getCapability(cap, side); + if (!BeltBlock.canTransportObjects(getBlockState())) + return super.getCapability(cap, side); if (!isRemoved() && !itemHandler.isPresent()) initializeItemHandler(); return itemHandler.cast(); @@ -488,6 +490,8 @@ public class BeltBlockEntity extends KineticBlockEntity { ItemStack inserted = transportedStack.stack; ItemStack empty = ItemStack.EMPTY; + if (!BeltBlock.canTransportObjects(getBlockState())) + return inserted; if (nextBeltController == null) return inserted; BeltInventory nextInventory = nextBeltController.getInventory(); diff --git a/src/main/java/com/simibubi/create/content/kinetics/deployer/DeployerHandler.java b/src/main/java/com/simibubi/create/content/kinetics/deployer/DeployerHandler.java index 3d71d6ec7..5c46120f6 100644 --- a/src/main/java/com/simibubi/create/content/kinetics/deployer/DeployerHandler.java +++ b/src/main/java/com/simibubi/create/content/kinetics/deployer/DeployerHandler.java @@ -300,8 +300,8 @@ public class DeployerHandler { return; if (useItem == DENY) return; - if (item instanceof BlockItem && !(item instanceof CartAssemblerBlockItem) - && !clickedState.canBeReplaced(new BlockPlaceContext(itemusecontext))) + if (item instanceof CartAssemblerBlockItem + && clickedState.canBeReplaced(new BlockPlaceContext(itemusecontext))) return; // Reposition fire placement for convenience diff --git a/src/main/java/com/simibubi/create/content/kinetics/deployer/DeployerMovementBehaviour.java b/src/main/java/com/simibubi/create/content/kinetics/deployer/DeployerMovementBehaviour.java index 8e5c17140..4ced96591 100644 --- a/src/main/java/com/simibubi/create/content/kinetics/deployer/DeployerMovementBehaviour.java +++ b/src/main/java/com/simibubi/create/content/kinetics/deployer/DeployerMovementBehaviour.java @@ -73,6 +73,7 @@ public class DeployerMovementBehaviour implements MovementBehaviour { return; activate(context, pos, player, mode); + checkForTrackPlacementAdvancement(context, player); tryDisposeOfExcess(context); context.stall = player.blockBreakingProgress != null; } @@ -80,9 +81,13 @@ public class DeployerMovementBehaviour implements MovementBehaviour { public void activate(MovementContext context, BlockPos pos, DeployerFakePlayer player, Mode mode) { Level world = context.world; + player.placedTracks = false; + FilterItemStack filter = context.getFilterFromBE(); - if (AllItems.SCHEMATIC.isIn(filter.item())) + if (AllItems.SCHEMATIC.isIn(filter.item())) { activateAsSchematicPrinter(context, pos, player, world, filter.item()); + return; + } Vec3 facingVec = Vec3.atLowerCornerOf(context.state.getValue(DeployerBlock.FACING) .getNormal()); @@ -101,13 +106,14 @@ public class DeployerMovementBehaviour implements MovementBehaviour { player.setYRot(AbstractContraptionEntity.yawFromVector(facingVec)); player.setXRot(xRot); - player.placedTracks = false; DeployerHandler.activate(player, vec, pos, facingVec, mode); + } + protected void checkForTrackPlacementAdvancement(MovementContext context, DeployerFakePlayer player) { if ((context.contraption instanceof MountedContraption || context.contraption instanceof CarriageContraption) && player.placedTracks && context.blockEntityData != null && context.blockEntityData.contains("Owner")) - AllAdvancements.SELF_DEPLOYING.awardTo(world.getPlayerByUUID(context.blockEntityData.getUUID("Owner"))); + AllAdvancements.SELF_DEPLOYING.awardTo(context.world.getPlayerByUUID(context.blockEntityData.getUUID("Owner"))); } protected void activateAsSchematicPrinter(MovementContext context, BlockPos pos, DeployerFakePlayer player, @@ -141,7 +147,7 @@ public class DeployerMovementBehaviour implements MovementBehaviour { if (!context.contraption.hasUniversalCreativeCrate) { IItemHandler itemHandler = context.contraption.getSharedInventory(); for (ItemRequirement.StackRequirement required : requiredItems) { - ItemStack stack= ItemHelper + ItemStack stack = ItemHelper .extract(itemHandler, required::matches, ExtractionCountMode.EXACTLY, required.stack.getCount(), true); if (stack.isEmpty()) @@ -155,8 +161,11 @@ public class DeployerMovementBehaviour implements MovementBehaviour { CompoundTag data = BlockHelper.prepareBlockEntityData(blockState, schematicWorld.getBlockEntity(pos)); BlockSnapshot blocksnapshot = BlockSnapshot.create(world.dimension(), world, pos); BlockHelper.placeSchematicBlock(world, blockState, pos, contextStack, data); + if (ForgeEventFactory.onBlockPlace(player, blocksnapshot, Direction.UP)) blocksnapshot.restore(true, false); + else if (AllBlocks.TRACK.has(blockState)) + player.placedTracks = true; } @Override diff --git a/src/main/java/com/simibubi/create/content/kinetics/mechanicalArm/AllArmInteractionPointTypes.java b/src/main/java/com/simibubi/create/content/kinetics/mechanicalArm/AllArmInteractionPointTypes.java index 5504479d8..d03c2ab7d 100644 --- a/src/main/java/com/simibubi/create/content/kinetics/mechanicalArm/AllArmInteractionPointTypes.java +++ b/src/main/java/com/simibubi/create/content/kinetics/mechanicalArm/AllArmInteractionPointTypes.java @@ -10,6 +10,7 @@ import org.apache.commons.lang3.mutable.MutableBoolean; import com.simibubi.create.AllBlocks; import com.simibubi.create.Create; import com.simibubi.create.content.kinetics.base.KineticBlockEntity; +import com.simibubi.create.content.kinetics.belt.BeltBlock; import com.simibubi.create.content.kinetics.belt.BeltBlockEntity; import com.simibubi.create.content.kinetics.belt.BeltHelper; import com.simibubi.create.content.kinetics.belt.behaviour.TransportedItemStackHandlerBehaviour; @@ -114,7 +115,7 @@ public class AllArmInteractionPointTypes { @Override public boolean canCreatePoint(Level level, BlockPos pos, BlockState state) { return AllBlocks.BELT.has(state) && !(level.getBlockState(pos.above()) - .getBlock() instanceof BeltTunnelBlock); + .getBlock() instanceof BeltTunnelBlock) && BeltBlock.canTransportObjects(state); } @Override diff --git a/src/main/java/com/simibubi/create/content/kinetics/waterwheel/LargeWaterWheelBlock.java b/src/main/java/com/simibubi/create/content/kinetics/waterwheel/LargeWaterWheelBlock.java index 1d8ecc2c6..e04b3969a 100644 --- a/src/main/java/com/simibubi/create/content/kinetics/waterwheel/LargeWaterWheelBlock.java +++ b/src/main/java/com/simibubi/create/content/kinetics/waterwheel/LargeWaterWheelBlock.java @@ -18,6 +18,7 @@ import net.minecraft.world.InteractionResult; import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.context.BlockPlaceContext; import net.minecraft.world.item.context.UseOnContext; +import net.minecraft.world.level.BlockGetter; import net.minecraft.world.level.Level; import net.minecraft.world.level.LevelAccessor; import net.minecraft.world.level.LevelReader; @@ -168,5 +169,10 @@ public class LargeWaterWheelBlock extends RotatedPillarKineticBlock implements I public static Couple getSpeedRange() { return Couple.create(4, 4); } + + @Override + public boolean isFlammable(BlockState state, BlockGetter level, BlockPos pos, Direction direction) { + return false; + } } diff --git a/src/main/java/com/simibubi/create/content/kinetics/waterwheel/WaterWheelBlock.java b/src/main/java/com/simibubi/create/content/kinetics/waterwheel/WaterWheelBlock.java index adb7e6423..6a520c7e3 100644 --- a/src/main/java/com/simibubi/create/content/kinetics/waterwheel/WaterWheelBlock.java +++ b/src/main/java/com/simibubi/create/content/kinetics/waterwheel/WaterWheelBlock.java @@ -18,6 +18,7 @@ import net.minecraft.world.InteractionHand; import net.minecraft.world.InteractionResult; import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.context.BlockPlaceContext; +import net.minecraft.world.level.BlockGetter; import net.minecraft.world.level.Level; import net.minecraft.world.level.LevelAccessor; import net.minecraft.world.level.LevelReader; @@ -129,5 +130,10 @@ public class WaterWheelBlock extends DirectionalKineticBlock implements IBE getSpeedRange() { return Couple.create(8, 8); } + + @Override + public boolean isFlammable(BlockState state, BlockGetter level, BlockPos pos, Direction direction) { + return false; + } } diff --git a/src/main/java/com/simibubi/create/content/schematics/client/SchematicHandler.java b/src/main/java/com/simibubi/create/content/schematics/client/SchematicHandler.java index b40d1d389..7402de458 100644 --- a/src/main/java/com/simibubi/create/content/schematics/client/SchematicHandler.java +++ b/src/main/java/com/simibubi/create/content/schematics/client/SchematicHandler.java @@ -112,8 +112,10 @@ public class SchematicHandler implements IGuiOverlay { if (!active || !stack.getTag() .getString("File") - .equals(displayedSchematic)) + .equals(displayedSchematic)) { + renderers.forEach(r -> r.setActive(false)); init(player, stack); + } if (!active) return; diff --git a/src/main/java/com/simibubi/create/content/trains/display/FlapDisplayBlockEntity.java b/src/main/java/com/simibubi/create/content/trains/display/FlapDisplayBlockEntity.java index 06813e48e..dc014511c 100644 --- a/src/main/java/com/simibubi/create/content/trains/display/FlapDisplayBlockEntity.java +++ b/src/main/java/com/simibubi/create/content/trains/display/FlapDisplayBlockEntity.java @@ -111,7 +111,7 @@ public class FlapDisplayBlockEntity extends KineticBlockEntity { if ((!level.isClientSide || !isRunning) && !isVirtual()) return; int activeFlaps = 0; - boolean instant = getSpeed() > 128; + boolean instant = Math.abs(getSpeed()) > 128; for (FlapDisplayLayout line : lines) for (FlapDisplaySection section : line.getSections()) activeFlaps += section.tick(instant); diff --git a/src/main/java/com/simibubi/create/foundation/mixin/BlockItemMixin.java b/src/main/java/com/simibubi/create/foundation/mixin/BlockItemMixin.java new file mode 100644 index 000000000..a9c6d514b --- /dev/null +++ b/src/main/java/com/simibubi/create/foundation/mixin/BlockItemMixin.java @@ -0,0 +1,29 @@ +package com.simibubi.create.foundation.mixin; + +import com.simibubi.create.content.kinetics.deployer.DeployerFakePlayer; + +import com.simibubi.create.foundation.mixin.accessor.UseOnContextAccessor; + +import net.minecraft.world.InteractionResult; +import net.minecraft.world.item.BlockItem; + +import net.minecraft.world.item.context.BlockPlaceContext; + +import net.minecraft.world.level.block.Blocks; +import net.minecraft.world.level.block.state.BlockState; + +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.injection.At; +import org.spongepowered.asm.mixin.injection.Inject; +import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; + +@Mixin(BlockItem.class) +public class BlockItemMixin { + @Inject(method = "place", at = @At("HEAD"), cancellable = true) + private void create$fixDeployerPlacement(BlockPlaceContext pContext, CallbackInfoReturnable cir) { + BlockState state = pContext.getLevel().getBlockState(((UseOnContextAccessor) pContext).create$getHitResult().getBlockPos()); + if (state != Blocks.AIR.defaultBlockState() && pContext.getPlayer() instanceof DeployerFakePlayer) { + cir.setReturnValue(InteractionResult.PASS); + } + } +} diff --git a/src/main/java/com/simibubi/create/foundation/mixin/accessor/UseOnContextAccessor.java b/src/main/java/com/simibubi/create/foundation/mixin/accessor/UseOnContextAccessor.java new file mode 100644 index 000000000..87f2929e0 --- /dev/null +++ b/src/main/java/com/simibubi/create/foundation/mixin/accessor/UseOnContextAccessor.java @@ -0,0 +1,14 @@ +package com.simibubi.create.foundation.mixin.accessor; + +import net.minecraft.world.item.context.UseOnContext; + +import net.minecraft.world.phys.BlockHitResult; + +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.gen.Invoker; + +@Mixin(UseOnContext.class) +public interface UseOnContextAccessor { + @Invoker("getHitResult") + BlockHitResult create$getHitResult(); +} diff --git a/src/main/java/com/simibubi/create/infrastructure/debugInfo/DebugInformation.java b/src/main/java/com/simibubi/create/infrastructure/debugInfo/DebugInformation.java index 8e0f216d4..cd76ea32e 100644 --- a/src/main/java/com/simibubi/create/infrastructure/debugInfo/DebugInformation.java +++ b/src/main/java/com/simibubi/create/infrastructure/debugInfo/DebugInformation.java @@ -78,7 +78,7 @@ public class DebugInformation { .put("Flywheel Backend", () -> Backend.getBackendType().toString()) .put("OpenGL Renderer", GlUtil::getRenderer) .put("OpenGL Version", GlUtil::getOpenGLVersion) - .put("Graphics Mode", () -> Minecraft.getInstance().options.graphicsMode().toString()) + .put("Graphics Mode", () -> Minecraft.getInstance().options.graphicsMode().get().getKey()) .buildTo(DebugInformation::registerClientInfo); }); diff --git a/src/main/java/com/simibubi/create/infrastructure/gui/CreateMainMenuScreen.java b/src/main/java/com/simibubi/create/infrastructure/gui/CreateMainMenuScreen.java index dbd8fa9f4..4268d09f2 100644 --- a/src/main/java/com/simibubi/create/infrastructure/gui/CreateMainMenuScreen.java +++ b/src/main/java/com/simibubi/create/infrastructure/gui/CreateMainMenuScreen.java @@ -108,6 +108,8 @@ public class CreateMainMenuScreen extends AbstractSimiScreen { .render(ms); ms.popPose(); } + + RenderSystem.enableBlend(); ms.pushPose(); ms.translate(width / 2 - 32, 32, -10); diff --git a/src/main/resources/META-INF/mods.toml b/src/main/resources/META-INF/mods.toml index c7beb95a1..cd2ef7994 100644 --- a/src/main/resources/META-INF/mods.toml +++ b/src/main/resources/META-INF/mods.toml @@ -5,12 +5,12 @@ license="MIT" [[mods]] modId="create" -# The Implementation-Version property in the jar's MANIFEST.MF file will be used as the mod version at runtime +# The Implementation-Version property in the jar's MANIFEST.MF file will be used as the mod version at runtime version="${file.jarVersion}" displayName="Create" #updateJSONURL="" displayURL="https://www.curseforge.com/minecraft/mc-mods/create" -logoFile="logo.png" +logoFile="icon.png" #credits="" authors="simibubi" description=''' diff --git a/src/main/resources/assets/create/textures/gui/logo.png b/src/main/resources/assets/create/textures/gui/logo.png index d3460172c..a3242f42f 100644 Binary files a/src/main/resources/assets/create/textures/gui/logo.png and b/src/main/resources/assets/create/textures/gui/logo.png differ diff --git a/src/main/resources/create.mixins.json b/src/main/resources/create.mixins.json index 4382bc142..f306d0df6 100644 --- a/src/main/resources/create.mixins.json +++ b/src/main/resources/create.mixins.json @@ -6,6 +6,7 @@ "compatibilityLevel": "JAVA_17", "refmap": "create.refmap.json", "mixins": [ + "BlockItemMixin", "ClientboundMapItemDataPacketMixin", "ContraptionDriverInteractMixin", "CustomItemUseEffectsMixin", @@ -22,7 +23,8 @@ "accessor.LivingEntityAccessor", "accessor.NbtAccounterAccessor", "accessor.ServerLevelAccessor", - "accessor.SystemReportAccessor" + "accessor.SystemReportAccessor", + "accessor.UseOnContextAccessor" ], "client": [ "accessor.AgeableListModelAccessor", diff --git a/src/main/resources/icon.png b/src/main/resources/icon.png new file mode 100644 index 000000000..b9226b681 Binary files /dev/null and b/src/main/resources/icon.png differ diff --git a/src/main/resources/logo.png b/src/main/resources/logo.png deleted file mode 100644 index 612f3f8c4..000000000 Binary files a/src/main/resources/logo.png and /dev/null differ