1
mirror of https://github.com/StarWishsama/Slimefun4.git synced 2024-09-20 03:35:51 +00:00

Merge branch 'master' into breaking-changes/class-relocation

This commit is contained in:
Daniel Walsh 2021-09-01 21:03:22 +01:00 committed by GitHub
commit d64f2bba3f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
16 changed files with 47 additions and 20 deletions

View File

@ -21,7 +21,7 @@ jobs:
uses: actions/checkout@v2.3.4 uses: actions/checkout@v2.3.4
- name: Set up Java JDK 11 - name: Set up Java JDK 11
uses: actions/setup-java@v2.1.0 uses: actions/setup-java@v2.3.0
with: with:
distribution: 'adopt' distribution: 'adopt'
java-version: '11' java-version: '11'

View File

@ -9,6 +9,7 @@ on:
- 'pom.xml' - 'pom.xml'
pull_request: pull_request:
paths: paths:
- '.github/workflows/**'
- 'src/**' - 'src/**'
- 'pom.xml' - 'pom.xml'
@ -23,7 +24,7 @@ jobs:
uses: actions/checkout@v2 uses: actions/checkout@v2
- name: Set up JDK 1.8 - name: Set up JDK 1.8
uses: actions/setup-java@v2.1.0 uses: actions/setup-java@v2.3.0
with: with:
distribution: 'adopt' distribution: 'adopt'
java-version: '8' java-version: '8'

View File

@ -27,7 +27,7 @@ jobs:
api: '🔧 API' api: '🔧 API'
compatibility: '🤝 Compatibility' compatibility: '🤝 Compatibility'
- uses: thollander/actions-comment-pull-request@1.0.1 - uses: thollander/actions-comment-pull-request@1.0.2
name: Leave a comment about the applied label name: Leave a comment about the applied label
if: ${{ steps.labeller.outputs.applied != 0 }} if: ${{ steps.labeller.outputs.applied != 0 }}
with: with:
@ -36,7 +36,7 @@ jobs:
Your Pull Request was automatically labelled as: "${{ steps.labeller.outputs.applied }}" Your Pull Request was automatically labelled as: "${{ steps.labeller.outputs.applied }}"
Thank you for contributing to this project! ❤️ Thank you for contributing to this project! ❤️
- uses: thollander/actions-comment-pull-request@1.0.1 - uses: thollander/actions-comment-pull-request@1.0.2
name: Leave a comment about our branch naming convention name: Leave a comment about our branch naming convention
if: ${{ steps.labeller.outputs.applied == 0 }} if: ${{ steps.labeller.outputs.applied == 0 }}
with: with:

View File

@ -24,7 +24,7 @@ jobs:
ref: 'stable' ref: 'stable'
- name: Merge latest commits into 'stable' - name: Merge latest commits into 'stable'
uses: devmasx/merge-branch@v1.3.1 uses: devmasx/merge-branch@1.4.0
with: with:
type: now type: now
from_branch: 'master' from_branch: 'master'

View File

@ -21,7 +21,7 @@ jobs:
fetch-depth: 0 fetch-depth: 0
- name: Set up JDK 11 - name: Set up JDK 11
uses: actions/setup-java@v2.1.0 uses: actions/setup-java@v2.3.0
with: with:
distribution: 'adopt' distribution: 'adopt'
java-version: '11' java-version: '11'

View File

@ -18,6 +18,6 @@ jobs:
- name: Checkout repository - name: Checkout repository
uses: actions/checkout@v2 uses: actions/checkout@v2
- name: YAML Linter - name: YAML Linter
uses: ibiqlik/action-yamllint@v3.0.2 uses: ibiqlik/action-yamllint@v3.0.4
with: with:
config_file: '.github/configs/yaml-linter.yml' config_file: '.github/configs/yaml-linter.yml'

View File

@ -39,6 +39,7 @@
* Copper wire can no longer be placed down * Copper wire can no longer be placed down
* Slimefun chains can no longer be placed down * Slimefun chains can no longer be placed down
* (API) FlexCategories can now also appear in non-survival Slimefun guides * (API) FlexCategories can now also appear in non-survival Slimefun guides
* Display items from Ancient Altars should no longer despawn so easily/fast
#### Fixes #### Fixes
* Fixed #3164 * Fixed #3164
@ -47,6 +48,7 @@
* Fixed #2677 * Fixed #2677
* Fixed Auto-Disenchanter exploit using mcMMO's "super ability" tools * Fixed Auto-Disenchanter exploit using mcMMO's "super ability" tools
* Fixed #3190 * Fixed #3190
* Fixed #3203
## Release Candidate 26 (20 Jul 2021) ## Release Candidate 26 (20 Jul 2021)
https://thebusybiscuit.github.io/builds/TheBusyBiscuit/Slimefun4/stable/#26 https://thebusybiscuit.github.io/builds/TheBusyBiscuit/Slimefun4/stable/#26

View File

@ -382,7 +382,7 @@
<dependency> <dependency>
<groupId>org.mockito</groupId> <groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId> <artifactId>mockito-core</artifactId>
<version>3.11.2</version> <version>3.12.4</version>
<scope>test</scope> <scope>test</scope>
</dependency> </dependency>
<dependency> <dependency>
@ -405,7 +405,7 @@
<dependency> <dependency>
<groupId>com.sk89q.worldedit</groupId> <groupId>com.sk89q.worldedit</groupId>
<artifactId>worldedit-core</artifactId> <artifactId>worldedit-core</artifactId>
<version>7.2.5</version> <version>7.2.6</version>
<scope>provided</scope> <scope>provided</scope>
<exclusions> <exclusions>
@ -419,7 +419,7 @@
<dependency> <dependency>
<groupId>com.sk89q.worldedit</groupId> <groupId>com.sk89q.worldedit</groupId>
<artifactId>worldedit-bukkit</artifactId> <artifactId>worldedit-bukkit</artifactId>
<version>7.2.5</version> <version>7.2.6</version>
<scope>provided</scope> <scope>provided</scope>
<exclusions> <exclusions>
@ -433,7 +433,7 @@
<dependency> <dependency>
<groupId>com.gmail.nossr50.mcMMO</groupId> <groupId>com.gmail.nossr50.mcMMO</groupId>
<artifactId>mcMMO</artifactId> <artifactId>mcMMO</artifactId>
<version>2.1.200</version> <version>2.1.201</version>
<scope>provided</scope> <scope>provided</scope>
<exclusions> <exclusions>

View File

@ -636,8 +636,8 @@ public class SurvivalSlimefunGuide implements SlimefunGuideImplementation {
return item; return item;
} }
String lore = hasPermission(p, slimefunItem) ? "&fNeeds to be unlocked elsewhere" : "&fNo Permission"; String lore = hasPermission(p, slimefunItem) ? "&fNeeds to be unlocked in " + slimefunItem.getCategory().getDisplayName(p) : "&fNo Permission";
return slimefunItem.canUse(p, false) ? item : new CustomItemStack(Material.BARRIER, ItemUtils.getItemName(item), "&4&l" + Slimefun.getLocalization().getMessage(p, "guide.locked"), "", lore); return slimefunItem.canUse(p, false) ? item : new CustomItem(Material.BARRIER, ItemUtils.getItemName(item), "&4&l" + SlimefunPlugin.getLocalization().getMessage(p, "guide.locked"), "", lore);
} else { } else {
return item; return item;
} }

View File

@ -38,6 +38,10 @@ public class FarmerAndroid extends ProgrammableAndroid {
BlockData data = block.getBlockData(); BlockData data = block.getBlockData();
ItemStack drop = null; ItemStack drop = null;
if (!block.getWorld().getWorldBorder().isInside(block.getLocation())) {
return;
}
if (data instanceof Ageable && ((Ageable) data).getAge() >= ((Ageable) data).getMaximumAge()) { if (data instanceof Ageable && ((Ageable) data).getAge() >= ((Ageable) data).getMaximumAge()) {
drop = getDropFromCrop(blockType); drop = getDropFromCrop(blockType);
} }

View File

@ -88,7 +88,6 @@ public class MinerAndroid extends ProgrammableAndroid {
// We only want to break non-Slimefun blocks // We only want to break non-Slimefun blocks
if (!BlockStorage.hasBlockInfo(block)) { if (!BlockStorage.hasBlockInfo(block)) {
block.getWorld().playEffect(block.getLocation(), Effect.STEP_SOUND, block.getType());
breakBlock(menu, drops, block); breakBlock(menu, drops, block);
} }
} }
@ -113,7 +112,6 @@ public class MinerAndroid extends ProgrammableAndroid {
// We only want to break non-Slimefun blocks // We only want to break non-Slimefun blocks
if (!BlockStorage.hasBlockInfo(block)) { if (!BlockStorage.hasBlockInfo(block)) {
block.getWorld().playEffect(block.getLocation(), Effect.STEP_SOUND, block.getType());
breakBlock(menu, drops, block); breakBlock(menu, drops, block);
move(b, face, block); move(b, face, block);
} }
@ -127,6 +125,13 @@ public class MinerAndroid extends ProgrammableAndroid {
@ParametersAreNonnullByDefault @ParametersAreNonnullByDefault
private void breakBlock(BlockMenu menu, Collection<ItemStack> drops, Block block) { private void breakBlock(BlockMenu menu, Collection<ItemStack> drops, Block block) {
if (!block.getWorld().getWorldBorder().isInside(block.getLocation())) {
return;
}
block.getWorld().playEffect(block.getLocation(), Effect.STEP_SOUND, block.getType());
// Push our drops to the inventory // Push our drops to the inventory
for (ItemStack drop : drops) { for (ItemStack drop : drops) {
menu.pushItem(drop, getOutputSlots()); menu.pushItem(drop, getOutputSlots());

View File

@ -890,6 +890,11 @@ public class ProgrammableAndroid extends SlimefunItem implements InventoryBlock,
@ParametersAreNonnullByDefault @ParametersAreNonnullByDefault
protected void move(Block b, BlockFace face, Block block) { protected void move(Block b, BlockFace face, Block block) {
if (block.getY() > 0 && block.getY() < block.getWorld().getMaxHeight() && block.isEmpty()) { if (block.getY() > 0 && block.getY() < block.getWorld().getMaxHeight() && block.isEmpty()) {
if (!block.getWorld().getWorldBorder().isInside(block.getLocation())) {
return;
}
BlockData blockData = Material.PLAYER_HEAD.createBlockData(data -> { BlockData blockData = Material.PLAYER_HEAD.createBlockData(data -> {
if (data instanceof Rotatable) { if (data instanceof Rotatable) {
Rotatable rotatable = ((Rotatable) data); Rotatable rotatable = ((Rotatable) data);

View File

@ -46,6 +46,10 @@ public class WoodcutterAndroid extends ProgrammableAndroid {
protected boolean chopTree(Block b, BlockMenu menu, BlockFace face) { protected boolean chopTree(Block b, BlockMenu menu, BlockFace face) {
Block target = b.getRelative(face); Block target = b.getRelative(face);
if (!target.getWorld().getWorldBorder().isInside(target.getLocation())) {
return true;
}
if (Tag.LOGS.isTagged(target.getType())) { if (Tag.LOGS.isTagged(target.getType())) {
List<Block> list = Vein.find(target, MAX_REACH, block -> Tag.LOGS.isTagged(block.getType())); List<Block> list = Vein.find(target, MAX_REACH, block -> Tag.LOGS.isTagged(block.getType()));

View File

@ -82,6 +82,12 @@ public final class SlimefunUtils {
*/ */
public static void markAsNoPickup(@Nonnull Item item, @Nonnull String context) { public static void markAsNoPickup(@Nonnull Item item, @Nonnull String context) {
item.setMetadata(NO_PICKUP_METADATA, new FixedMetadataValue(Slimefun.instance(), context)); item.setMetadata(NO_PICKUP_METADATA, new FixedMetadataValue(Slimefun.instance(), context));
/*
* Max the pickup delay - This makes it so no Player can pick up items ever without need for an event.
* It is also an indication used by third-party plugins to know if it's a custom item.
* Fixes #3203
*/
item.setPickupDelay(Short.MAX_VALUE);
} }
/** /**

View File

@ -37,9 +37,9 @@ slimefun:
- 'Tuez ce monstre afin' - 'Tuez ce monstre afin'
- 'd''obtenir cet objet' - 'd''obtenir cet objet'
gold_pan: gold_pan:
name: 'Poêle en or' name: 'Tamis'
lore: lore:
- 'Utilisez une casserole d''or pour' - 'Utilisez un tamis pour'
- 'obtenir cet objet' - 'obtenir cet objet'
compressor: compressor:
name: 'Compresseur' name: 'Compresseur'

View File

@ -31,7 +31,7 @@ slimefun:
elemental_staff: Sceptres élémentaires elemental_staff: Sceptres élémentaires
grind_stone: Meule grind_stone: Meule
cactus_armor: Combinaison en cactus cactus_armor: Combinaison en cactus
gold_pan: Orpailleur gold_pan: Tamis
magical_book_cover: Reliure de livre magique magical_book_cover: Reliure de livre magique
slimefun_metals: Nouveaux métaux slimefun_metals: Nouveaux métaux
ore_crusher: Doublage de minerai ore_crusher: Doublage de minerai
@ -93,7 +93,7 @@ slimefun:
composter: Composte composter: Composte
farmer_shoes: Chaussure du fermier farmer_shoes: Chaussure du fermier
explosive_tools: Outils explosifs explosive_tools: Outils explosifs
automated_panning_machine: Orpailleur automatique automated_panning_machine: Tamiseur automatique
boots_of_the_stomper: Bottes du Stomper boots_of_the_stomper: Bottes du Stomper
pickaxe_of_the_seeker: Pioche du chercheur pickaxe_of_the_seeker: Pioche du chercheur
backpacks: Sac-à-dos backpacks: Sac-à-dos
@ -232,7 +232,7 @@ slimefun:
lightning_rune: Rune de foudre lightning_rune: Rune de foudre
totem_of_undying: Totem d'invulnérabilité totem_of_undying: Totem d'invulnérabilité
charging_bench: Station de recharge charging_bench: Station de recharge
nether_gold_pan: Orpailleur du Nether nether_gold_pan: Tamis du Nether
electric_press: Presse électrique electric_press: Presse électrique
magnesium_generator: Puissance du magnésium magnesium_generator: Puissance du magnésium
kelp_cookie: Algues délicieuses kelp_cookie: Algues délicieuses